[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Jul 2008
    Beiträge
    76

    Question Logische mit SST und TRNTBL

    Hallo,

    folgende Aufgabenstellung konnte ich bisher nicht lösen.

    Bei einem Alpha Feld soll eine Stelle separiert werden, damit nach diesem Feld sortiert werden kann. Alles kein Problem.
    0019.00 !!! A NOTITB
    0020.00 !!! A KENNZ I SST(NOTITB 50 1)

    Es soll aber bei diesem Feld nicht nach Gross-/Kleinschreibung sortiert werden, sondern ein grosses 'X' soll bei einem kleinen 'x' stehen. Sämtliche versuche dies über TRNTBL zu lösen schlugen schon bei der Umwandlung fehl.
    -------
    !!! A NOTITB I TRNTBL(QUSRSYS/Q273)
    !!! A KENNZ I SST(NOTITB 50 1)
    * CPD7948 30 1 Message . . . . : Key, select, or omit field name not found in logical file.
    * CPD7996 30 1 Message . . . . : CONCAT, TRNTBL, or SST field not allowed on SST keyword.
    -------
    !!! A NOTITB
    !!! A KENNZ I SST(NOTITB 50 1)
    !!! A TRNTBL(QUSRSYS/Q273)
    * CPD7701 20 1 Message . . . . : Indicated keyword not allowed with SST keyword.

    Kennt jemand eine Lösung?

    Gruss
    Franco

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.207
    Per DDS ist das nicht mehr zu lösen.
    Aber SQL erlaubt eben auch folgendes:

    create index myindex (f1, f2, upper(substr(f3, 50, 1)) as fx) on mytable

    Da Indizes von RPGLE wie normale LF's verwendet werden können, müsste das gehen.
    Dienstleistungen? Die gibt es hier: http://www.fuerchau.de
    Das Excel-AddIn: https://www.ftsolutions.de/index.php/downloads
    BI? Da war doch noch was: http://www.ftsolutions.de

  3. #3
    Registriert seit
    Jan 2012
    Beiträge
    1.102
    Ich denke, mit DDS müsste es auch noch gehen.

    In der Source der LF muss eine Zeile eingetragen werden, in der eine (eigene) Umsetztabelle angegeben wird (bei uns heißt die Umsetztabelle U_GKSORT (GKSORT steht für "Groß/Klein-Sort")

    A ALTSEQ(U_GKSORT)

    In dieser Umsetztabelle haben wir alle Zeichen nach unseren Sortwünschen eingetragen:

    Code:
                                 Sortierfolge anzeigen                        
                                                                              
     Tabelle:   U_GKSORT       Bibliothek:   UNITOOL                          
     CCSID-Wert:   65535                                                      
                                                                              
     Folge  Zeich.       Folge  Zeich.       Folge  Zeich.       Folge  Zeich.
     0010                0160     é          0310     /          0460     É 
     0020     â          0170     ê          0320     Â          0470     Ê 
     0030     {          0180     ë          0330     [          0480     Ë 
     0040     à          0190     è          0340     À          0490     È 
     0050     á          0200     í          0350     Á          0500     Í 
     0060     ã          0210     î          0360     Ã          0510     Î 
     0070     å          0220     ï          0370     Å          0520     Ï 
     0080     ç          0230     ì          0380     Ç          0530     Ì 
     0090     ñ          0240     ~          0390     Ñ          0540     ` 
     0100     .          0250     $          0400     ,          0550     : 
     0110     <          0260     *          0410     %          0560     # 
     0120     (          0270     )          0420     _          0570     § 
     0130     +          0280     ;          0430     >          0580     ' 
     0140     !          0290     ^          0440     ?          0590     = 
     0150     &          0300     -          0450     ø          0600     "  
    
     0610     Ø          0690     g          0760     N          0840     T   
     0620     a          0690     G          0770     o          0850     u   
     0620     A          0700     h          0770     O          0850     U   
     0630     Ä          0700     H          0780     ö          0860     Ü   
     0630     ä          0710     i          0780     Ö          0860     ü   
     0640     b          0710     I          0790     p          0870     v   
     0640     B          0720     j          0790     P          0870     V   
     0650     c          0720     J          0800     q          0880     w   
     0650     C          0730     k          0800     Q          0880     W   
     0660     d          0730     K          0810     r          0890     x   
     0660     D          0740     l          0810     R          0890     X   
     0670     e          0740     L          0820     s          0900     y   
     0670     E          0750     m          0820     S          0900     Y   
     0680     f          0750     M          0830     ß          0910     z   
    
     0680     F          0760     n          0840     t          0910     Z   
     0920     €          1070     ¼          1220     ª          1370     ÷ 
     0930     µ          1080     ½          1230     º          1380     æ 
     0940     ¡          1090     ¾          1240     *          1390     ¸ 
     0950     ¿          1100     ¬          1250     ô          1400     Æ 
     0960     Ð          1110     |          1260     ¦          1410     ² 
     0970     Ý          1120     ¯          1270     ò          1420     Ô 
     0980     Þ          1130     ¨          1280     ó          1430     \ 
     0990     ®          1140     ´          1290     õ          1440     Ò 
     1000     ¢          1150     ×          1300     ý          1450     Ó 
     1010     £          1160     «          1310     ¹          1460     Õ 
     1020     ¥          1170     »          1320     û          1470     0 
     1030     ·          1180     ð          1330     }          1480     1 
     1040     ©          1190     þ          1340     ù          1490     2 
     1050     @          1200     ±          1350     ú          1500     3 
     1060     ¶          1210     °          1360     ÿ          1510     4 
    
     1520     5                                                               
     1530     6                                                               
     1540     7                                                               
     1550     8                                                               
     1560     9                                                               
     1570     ³                                                               
     1580     Û                                                               
     1590     ]                                                               
     1600     Ù                                                               
     1610     Ú                                                               
     1620
    Aber ich würde SQL für die bessere Lösung halten.

    Dieter

Similar Threads

  1. Logische Dateien umhängen
    By FNeurieser in forum IBM i Hauptforum
    Antworten: 7
    Letzter Beitrag: 04-12-15, 11:44
  2. Artikel: CRTDUPOBJ und logische Dateien
    By NEWSolutions Redaktion in forum NEWSolutions artikel
    Antworten: 0
    Letzter Beitrag: 04-12-13, 18:52
  3. Logische datei erstellen
    By KingofKning in forum NEWSboard Programmierung
    Antworten: 5
    Letzter Beitrag: 28-11-13, 09:01
  4. Berechtigung physische versus logische Datei
    By Andreas Huyer in forum IBM i Hauptforum
    Antworten: 3
    Letzter Beitrag: 18-01-02, 08:15

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • You may not post attachments
  • You may not edit your posts
  •