[NEWSboard IBMi Forum]
  1. #1
    Registriert seit
    Mar 2017
    Beiträge
    12

    Post Cobol Makro in RPG4 umschreiben

    Hallo,

    ich möchte ein Cobol Makro in RPG4 umschreiben. Dabei bin ich auf ein Problem gestoßen, was mir auch die Kollegen nicht beantworten konnten:

    Folgendes soll Umgeschrieben werden:

    Code:
     01 USER-AREA                              PIC  X(32000).         
    
    
     01  ABC-USER-AREA  REDEFINES USER-AREA.    
    
    
           02         DDA-REC.                                              
          
            03         DDA-SEQUENZ-AREA.                                   
                 05        DDA-SDADIUB.                                      
                                     
                     06        FILLER          PIC  X(01).                          
                    
                     06        DDAPFMA      PIC  9(03).
    Kann mir hier vielleicht jemand dazu helfen?

    Das unter der 01er Stufe von ABC-USER-AREA wird eine DS.. das weis ich, aber ich bin ein wenig Aufgeschmissen, was nun das 32.000 Alphanumerische Feld angeht.

    Liebe Grüße
    Andrea

  2. #2
    Registriert seit
    Aug 2006
    Beiträge
    2.077
    Ich will ja nix sagen, aber Dein Redefine hat nur 4 Stellen. Da fehlt doch noch entweder ein occurs oder sonst was. So gibt das nichts. (Schon in Cobol nicht)

    GG 4481

  3. #3
    Registriert seit
    Feb 2001
    Beiträge
    20.236
    Gehen tut sowas schon, auch in COBOL, da man nicht alles redefinieren muss.
    RPGLE:

    dcl-ds DDA_SDADIUB qualified template;
    filler char(1);
    DDAPFMA zoned(3, 0);
    endds;

    dcl-ds DDA_SEQUENZ_AREA quliefied template;
    DDA_SDADIUB likeds(DDA_SDADIUB);
    endds;

    Nun, den DDA-REC spare ichmir auf.

    dcl-ds USER_AREA qualified char(32000);
    ABC_USER_AREA likeds(DDA_SEQUENZ_AREA);
    endds;

    Die Ansprache der Felder ist dann etwas komplizierter:
    USER_AREA.ABC_USER_AREA.DDA_SDADIUB.DDAPFMA

    Nun kann man sich das aber auch etwas einfacher machen (alte Syntax):
    d USER_AREA ds
    d AreaData 32000

    d UserAreaPtr s * inz(USER_AREA)

    d DDA_SDADIUB ds qualified based(UserAreaPtr)
    d filler 1
    d DDAPFMA S 3 0
    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

  4. #4
    Registriert seit
    Aug 2006
    Beiträge
    2.077
    Ich habe nicht gesagt das das nicht geht, sondern das das nichts gibt.

    Macht ja keinen Sinn ein Feld mit 32.000 Stellen zu definieren und dann nur 4 zu benutzen.
    Ich hätte dann der Ordnunghalber ein Filler mit Pic X(31996) erwartet.

    Aber egal irgendeinen Sinn mag es haben.

  5. #5
    Registriert seit
    Mar 2017
    Beiträge
    12
    Danke schön!

    @KingofKning Danke für die Anmerkung Es ist nur ein Ausschnitt der Ganzen Sache.. Wäre einfach zu viel Code geworden und es ging mir nur um den Abschnitt, wie ich den Rest dann mit drunter häng weis ich

  6. #6
    Registriert seit
    Nov 2003
    Beiträge
    2.306
    Probier's mal so:

    PHP-Code:
    D                 DS                                          
    DUSERAREA                    32000A                           
    DABCUSERAREA                          OVERLAY
    (USERAREA)       
    DDDAREC                               OVERLAY(ABCUSERAREA)    
    DDDASEQUENZAREA                       OVERLAY(DDAREC)         
    DDDASDAIUB                            OVERLAY(DDASEQUENZAREA
    DFILLER                          1A   OVERLAY(DDASDAIUB)      
    DDDAPFMA                         3S 0 OVERLAY(DDASDAIUB:*NEXT

Similar Threads

  1. Client Solution Makro
    By malzusrex in forum IBM i Hauptforum
    Antworten: 13
    Letzter Beitrag: 14-12-16, 17:26
  2. AS400 Schriftfarbe per Excel Makro auslesen
    By petzi-mg in forum NEWSboard Windows
    Antworten: 3
    Letzter Beitrag: 22-05-15, 07:10
  3. Frage zu Makro unter AS 400
    By elloco240866 in forum NEWSboard Programmierung
    Antworten: 4
    Letzter Beitrag: 28-12-13, 06:30
  4. mit word-makro daten aus as/400 holen
    By karin-vogelmann in forum NEWSboard Windows
    Antworten: 0
    Letzter Beitrag: 06-06-03, 15:26
  5. CA Session per Makro beenden
    By Pachlina in forum IBM i Hauptforum
    Antworten: 4
    Letzter Beitrag: 17-01-01, 11:16

Berechtigungen

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