-
Datenstruktur als Parameter bei einem Prototyp verwenden
Hallo zusammen,
ich möchte den InputBuffer eines gelesenen Datensatzes an ein Modul (Prototyp) übergeben, woraufhin dann dort Berechnungen gemacht werden.
Wie mache ich sowas am besten ?
Programm welches die Daten liest:
Code:
FMWKCREL1 IF E K DISK USROPN RENAME (FKCREMR: LogRec)
F PREFIX('B.')
D B DS LikeRec (LogRec) INZ
LogRec soll jetzt an den Prototyp übergeben werden / wie müsste das Prozedurinterface und die Prozedur nun definiert werden ?
Gruß
Bratmaxxe
-
Hallo,
ebenfalls mit like, value ist immer gut, bei neueren Releaseständen geht wohl auch likeds
D*B
 Zitat von Bratmaxxe
Hallo zusammen,
ich möchte den InputBuffer eines gelesenen Datensatzes an ein Modul (Prototyp) übergeben, woraufhin dann dort Berechnungen gemacht werden.
Wie mache ich sowas am besten ?
Programm welches die Daten liest:
Code:
FMWKCREL1 IF E K DISK USROPN RENAME (FKCREMR: LogRec)
F PREFIX('B.')
D B DS LikeRec (LogRec) INZ
LogRec soll jetzt an den Prototyp übergeben werden / wie müsste das Prozedurinterface und die Prozedur nun definiert werden ?
Gruß
Bratmaxxe
-
Hallo Herr Bender,
ich möchte aber ein "autarkes Modul" davon bauen. Mit LikeDs ginge es im gleichen Programm, wo auch die Datei deklariert ist.
Soweit bin ich derzeit:
Code:
Das Programm
FMWKCRELU IF E K DISK rename (FKCREZO:LogRec)
*
D/COPY PGMSRC/QRPGLESRC,MOD_GBUD_P
D L DS LikeRec(LogRec) INZ
D A DS LikeRec(LogRec) INZ
*
C REDKEY KLIST
C KFLD MANDANT 3
C KFLD KTR 4 0
C
C
C movel '100' mandant
C movel '0687' ktr
C movel *zeros x_gew 15 2
C movel *zeros x_gew2 15 2
C
C redkey setll mwkcrelu
C DOU %EOF(mwkcrelu)
C redkey reade mwkcrelu
C IF NOT %EOF(mwkcrelu)
C
C callp GET_BED_GEW(L:x_gew:x_gew2)
C
C ENDIF
C ENDDO
C
C*‚--------------------------------------------------------------------
C eval *inlr = *on
Code:
Der Prototyp
P GET_BED_GEW B EXPORT
D GET_BED_GEW PI
D PADS e ds ExtName(MWKCREL1)
D PAGEW 15 2
D PAREW 15 2
D*---------------------------------------------------------------------
*
C
*
C RETURN
D*---------------------------------------------------------------------
P GET_BED_GEW E
Bei der Umwandlung gibts einen Fehler, dass mehr Parameter übergeben werden, als die Prozedur es zulässt.
Wahrscheinlich beißen sich die LikeRec und die Deklaration des Parameters im Protoyp (ExtName(MWKCREL1) )
Wo liegt der Fehler ?
Gruß
Bratmaxxe
-
mal abgesehen davon, dass das das Procedure Interface ist...
die Deklarationsart PI, PR und DS stehen auf gleicher Stufe, das heißt, dass der Prototyp, das Interface, die Datenstruktur jeweils da fertig ist, wo eine neue Deklarationsart angegeben ist. Das heißt dein PI endet in der DS Zeile, die Procedure gibt also nix zurück und will auch nix haben, deshlab der Fehler.
Es geht also nicht ohne eine zugehörige Deklaration!
Was ich da mache ist folgendes:
Prototyp in Copy Strecke ablegen und dort eine Datenstruktur als Pseudtyp deklarieren auf die man dann Bezug nimmt (RPG ist halt eine Huddel Programmiersprache, die einen zu Workarounds zwingt) also so in etwa.
/IF NOT DEFINED (MYMOD_QRPGLEH)
/DEFINE MYMOD_QRPGLEH
/************************************************** *******************/
D MyProc PR EXTPROC('MYMOD_MyProc')
D MyDS like(myDSType)
D myDSType e DS extname(myFile)
d based(dummy)
d qualified
/ENDIF
 Zitat von Bratmaxxe
Code:
Der Prototyp
P GET_BED_GEW B EXPORT
D GET_BED_GEW PI
D PADS e ds ExtName(MWKCREL1)
D PAGEW 15 2
D PAREW 15 2
D*---------------------------------------------------------------------
*
C
*
C RETURN
D*---------------------------------------------------------------------
P GET_BED_GEW E
Bei der Umwandlung gibts einen Fehler, dass mehr Parameter übergeben werden, als die Prozedur es zulässt.
Wahrscheinlich beißen sich die LikeRec und die Deklaration des Parameters im Protoyp (ExtName(MWKCREL1) )
Wo liegt der Fehler ?
Gruß
Bratmaxxe
-
danke,
ich werd mein Glück mal so versuchen 
LG
Bratmaxxe
Similar Threads
-
By Luebbert in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 23-11-06, 13:22
-
By kr1s in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 08-09-06, 11:59
-
By JP in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 09-08-06, 08:35
-
By Bratmaxxe in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 24-07-06, 13:25
-
By muadeep in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 27-06-06, 11:31
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