-
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
-
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
-
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
-
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.
-
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
-
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
-
By malzusrex in forum IBM i Hauptforum
Antworten: 13
Letzter Beitrag: 14-12-16, 17:26
-
By petzi-mg in forum NEWSboard Windows
Antworten: 3
Letzter Beitrag: 22-05-15, 07:10
-
By elloco240866 in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 28-12-13, 06:30
-
By karin-vogelmann in forum NEWSboard Windows
Antworten: 0
Letzter Beitrag: 06-06-03, 15:26
-
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
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks