-
Also das mit den API's ist mir persönlich nun mal nicht so ganz unbekannt .
Ich habe mir früher mal die Mühe gemacht, MI-Code zu verstehen (daher biete ich ja auf meiner Seite auch einen MI-Compiler an, der in MI geschrieben ist).
Um zu verstehen, was RPG da so treibt, kannst du ein Programm (nur RPG, nicht ILERPG) mit CRTRPGPGM ... OPTION(*SRCDBG) GENOPT(*LIST) umwandeln.
In der MI-Ausgabe kannst du dann mal nach EXFMT suchen und analysieren, was der Compiler da so treibt.
Zuerst werden da ein paar Hilfsvariablen gefüllt und anschliessend per CALLI (entspricht EXSR) eine Unterroutine gefüllt.
In dieser Unterrouten siehst du dann die einzelnen CPY-Befehle:
CPYBLA .BUFFER(0001:0001),*IN30
CPYBLA .BUFFER(0002:0001),DAFIRM
:
Für die Leseroutine ist das dann analog generiert.
Die Felddefinitionen werden vom Compiler in der Reihenfolge ihrer Verwendung definert. Suche mal in der Liste nach "ZFLDSTRT":
DCL DD DSHENX CHAR (0010) INIT((0010)' ')
DCL DD DSHENR PKD (08,0) INIT(P'0')
DCL DD DSSTAP CHAR (0001) INIT((0001)' ')
DCL DD DSMATC CHAR (0010) INIT((0010)' ')
DCL DD DSNAME CHAR (0030) INIT((0030)' ')
DCL DD DSBRAN CHAR (0030) INIT((0030)' ')
DCL DD DSSTRA CHAR (0030) INIT((0030)' ')
:
:
Nur Strukturen, also DS, sind tatsächlich korrekt in der Folge definiert und auch als solche erkennbar.
DCL DD EXFIWK CHAR(0170) /*ZDATAS*/
INIT /*ZDSINITS*/
DCL DD DAFIRM CHAR (0001) DEF(EXFIWK) POS(0001)
/*ZDSDEF*/
INIT( <0001! >)
DCL DD DAWKNR CHAR (0003) DEF(EXFIWK) POS(0002)
/*ZDSDEF*/
INIT((0003)<0001! >)
DCL DD DAFINA CHAR (0030) DEF(EXFIWK) POS(0005)
/*ZDSDEF*/
INIT((0030)<0001! >)
DCL DD DAWKNA CHAR (0030) DEF(EXFIWK) POS(0035)
/*ZDSDEF*/
Ich hoffe, du kannst nun meiner Argumentation folgen.
Similar Threads
-
By mk in forum IBM i Hauptforum
Antworten: 9
Letzter Beitrag: 21-12-06, 08:56
-
By Xanas in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 28-08-06, 12:21
-
By cheffe1008 in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 16-05-06, 07:45
-
By steven_r in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 08-05-06, 11:01
-
By JonnyRico in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 25-04-06, 10: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