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

    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
    1.782
    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
    17.537
    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: http://www.fuerchau.de/software/upload400.htm
    BI? Da war doch noch was: http://www.ftsolutions.de

  4. #4
    Registriert seit
    Aug 2006
    Beiträge
    1.782
    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
    2
    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.220
    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

Ähnliche Themen

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

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •