[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Apr 2012
    Beiträge
    360

    Convert Datastruktur

    Hallo,

    bei uns werden DS beim Programmaufruf übergeben.
    Ich bin gerade dabei das ich diese DS durchsehe und prüfe ob das ein 5, 0 Feld ist.
    Diese würde ich dann referenzieren, damit ich im nächsten Schritt eine Erweiterung angehen kann.

    Meine Vorgehensweise ist, das ich im Rdi in den Gliederungen mir die Definitionen ansehen und mit OVERLAY dann die Datenstruktur überarbeite.
    Code:
    D  PAUG#                              OVERLAY(PARAMS: 1) LIKE(KDNNR)     
    D  PHAENR                             OVERLAY(PARAMS: *NEXT) LIKE(KDNNR) 
    D  PLART                         1A   OVERLAY(PARAMS: *NEXT)             
    D  PSORT                         1A   OVERLAY(PARAMS: *NEXT)             
    d  PSTAG                         8  0 OVERLAY(PARAMS: *NEXT)
    Geht das eigentlich einfacher auch?

    Die Datenstruktur mit eigenen Parametern ist leider bei uns nicht erwünscht:

    Lg


    Bsp einer DS:
    Code:
         D CallPRM         DS           256
         D  PAUG#                  1      5  0
         D  PHAENR                 6     10  0
         D  PLART                 11     11
         D  PSORT                 12     12
         d  PSTAG                 13     20  0
         D  PEING                 21     28  0
         D  PANZG                 50     50
         D  PEMAIL                51     51
         D  PAUSW                 52     52
         D  PNEUW                 53     53
         D  PCITR                 54     54
         D  PLORT                 55     55
         D  PZONE                 56     56
         D  PKZED                 57     57
         D  PHBZ                  58     78
         D  PSTAGB                79     86  0
         D  PLSMG                 87     91  0
         D  PLSkz                 92     92
         D  PLSwk                 93     93
         D  PKztg                 94     94                                         
         D  Pmrk                  95    104
         D  Ptcd                 105    110
         D  Ptypn                111    115  0
         D  Ptypb                116    134
         D  Pverz                135    135
         D  Pspela               136    136
         D  Pmde                 137    137
         D  Phold                138    138
         D  Plagd                139    142  0
         D  Pkzlw                143    143
         D  Pkzld                144    144
         D  Plagf                145    147  0
         D  Pagen                148    148
         D  POutq                151    160
         D  PImpNr               152    160                                      
         D  pkzmc                161    161
         D  Pmoch                162    178
         D  Pmoch01              162    162
         D  Pmoch02              163    163
         D  Pmoch03              164    164
         D  Pmoch04              165    165
         D  Pmoch05              166    166
         D  Pmoch06              167    167
         D  Pmoch07              168    168
         D  Pmoch08              169    169
         D  Pmoch09              170    170
         D  Pmoch10              171    171
         D  Pmoch11              172    172
         D  Pmoch12              173    173
         D  Pmoch13              174    174
         D  Pmoch14              175    175
         D  Pmoch15              176    176
         D  Pmoch16              177    177
         D  Pmoch17              178    178
         D  Pabrf                179    179
         D  Pfzgg                180    189
         D  Plplv                190    194  0
         D  Plplb                195    199  0
         D  Pbeh                 200    200
         D  Plad1                201    209  0
         D  Plad2                210    218  0
         D  Plad3                219    227  0
         D  Pzp8                 228    228

  2. #2
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Tut mir leid, da verstehe ich die Frage nicht.
    Ich kann jederzeit eine DS definieren und diese dann als Parameter übergeben.
    Da mache ich nichts mit Overlay.

    D MyParms DS
    D KDNR LIKE(...)
    D FLAG1 1A
    :
    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
    Apr 2012
    Beiträge
    360
    ja aber manchmal sind sie geschachtelt(Pmoch(Pmoch01 - Pmoch17), dh habe ich mich für das overlay entschieden.

  4. #4
    Registriert seit
    Feb 2001
    Beiträge
    20.241
    Das ist ja schrecklich...
    Dann musst du besser auf "qualified" umstellen.

    MyDs1 ds qualified
    f1 ...
    f2 ...

    MyDs2 ds qualified
    f1 ...
    f2 likeds(MyDs1)

    Adressiert wird per
    MyDs1.F1
    MyDs1.F2
    MyDs2.F1
    MyDs2.F2 <= gesamte DS
    MyDs2.F2.F1 <= Feld der Sub-DS

    Sómit wird das Ganze übersichtlich und sicherer als die Overlays, bei denen man sich gerne verrechnen kann.
    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

Similar Threads

  1. SQL Convert Date to Decimal
    By TheDevil in forum NEWSboard Programmierung
    Antworten: 3
    Letzter Beitrag: 27-03-14, 13:34
  2. convert from Operation-Console auf Twinax
    By PS in forum IBM i Hauptforum
    Antworten: 1
    Letzter Beitrag: 28-04-03, 10:34

Berechtigungen

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