View Full Version : QDBRPLAY
ebschubert
13-04-10, 08:34
Guten Morgen :)
Im Zusammenhang mit dem
QjoRetrieveJournalEntries API
schlage ich mich gerade mit dem QDBRPLAY API rum.
Hat jemand Erfahrung mit diesem API - besonders was die Parameter betrifft?
Für Tipps wäre ich sehr dankbar :)
Ich würde dir da eher das Kommando APYJRNCHG empfehlen, das ist bestimmt einfacher.
Nicht jedes verfügbare API ist auch schon mal (außer von der IBM) verwendet worden :).
Ansonsten:
Durchbeißen!
andreaspr@aon.at
13-04-10, 08:47
Hi,
sicher hast du den Link schon entdeckt:
http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/apis/qdbrplay.htm
Was die Parameter betrifft habe ich bei folgenden API diese Parameterdefinitionen:
http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/apis/QMHRTVM.htm
D getmsgd PR ExtPgm('QMHRTVM')
D MsgInf 5000A
D len 9B 0 const
D Fmt 8A const
D MsgId 7A const
D MsgF 20A const
D RepData 1024A const options(*varsize)
D Replen 9B 0 const
D RepVal 10A const
D RetFmt 10A const
D Error 1024A
Vielleicht hilfts ja weiter, falls du wirklich über APIs gehen musst :)
lg Andreas
ebschubert
13-04-10, 10:08
Hi,
sicher hast du den Link schon entdeckt:
http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/apis/qdbrplay.htm
Was die Parameter betrifft habe ich bei folgenden API diese Parameterdefinitionen:
http://publib.boulder.ibm.com/infocenter/iseries/v5r3/index.jsp?topic=/apis/QMHRTVM.htm
D getmsgd PR ExtPgm('QMHRTVM')
D MsgInf 5000A
D len 9B 0 const
D Fmt 8A const
D MsgId 7A const
D MsgF 20A const
D RepData 1024A const options(*varsize)
D Replen 9B 0 const
D RepVal 10A const
D RetFmt 10A const
D Error 1024A Vielleicht hilfts ja weiter, falls du wirklich über APIs gehen musst :)
lg Andreas
@Fucherau - Einfach kann jeder ;)
... aber Spass beiseite... ich brauche QDBRPLAY weil ich die JRN direkt auslese
@andreaspr@aon.at
Den Linke kenne ich ... und weitere auch... aber die Erläuterungen dazu sind nicht besonders...
Und... was hat das mit QMHRTVM zu tun????
Grüsse
... wenn ich das richtig sehe, braucht man den QDBRPLAY eigentlich nur dann, wenn man Journaleinträge auf "Dateiebene" replizieren will.
D*B
@Fucherau - Einfach kann jeder ;)
... aber Spass beiseite... ich brauche QDBRPLAY weil ich die JRN direkt auslese
Grüsse
andreaspr@aon.at
13-04-10, 10:31
Und... was hat das mit QMHRTVM zu tun????
Da du keine genauen angaben gemacht hast, welche Art von Erfahrungen du für die Parameter meintest, bin ich davon ausgegangen, dass du eventuell die Definitionen der Parameter im Prototyp gemeint haben könntest, denn die Beschreibungen der Parameter selbst ist ja im Link beschrieben.
Deshalb meine Beschreibung wie sowas aussehen kann.
ebschubert
13-04-10, 10:31
... wenn ich das richtig sehe, braucht man den QDBRPLAY eigentlich nur dann, wenn man Journaleinträge auf "Dateiebene" replizieren will.
D*B
.... richtig...!!!! So ist es :)
ebschubert
13-04-10, 10:40
Da du keine genauen angaben gemacht hast, welche Art von Erfahrungen du für die Parameter meintest, bin ich davon ausgegangen, dass du eventuell die Definitionen der Parameter im Prototyp gemeint haben könntest, denn die Beschreibungen der Parameter selbst ist ja im Link beschrieben.
Deshalb meine Beschreibung wie sowas aussehen kann.
Um es konkret zu machen:
Habe den Aufruf von QDBRPLAY wie folgt definiert:
**-- Replay Database Operation: ---------------------------------------
D ReplayDb PR ExtPgm( 'QDBRPLAY')
D RplTplVar 32767a Const Options( *VarSize )
D RplTplVarLen 10i 0 Const
D RplTplName 8a Const
D RplDta 32767a Const Options( *VarSize )
D RplDtaLen 10i 0 Const
D RplExtPgm 32767a Const Options( *VarSize )
D RplError 32767a Options( *NoPass: *VarSize )
Der Templateparameter ist eine DS:
**-- QDBRPLAY - Input Template:
D DBRR0100 Ds
D Qualified
D JrnCde 1a
D EntTyp 2a
D ExtPgmNam 10a Inz( '*NONE' )
D ExtPgmLib 10a Inz
D DisablTrg 1a Inz( '0' )
D Reserv 10a
Der Rename exit program scratchpad-Parameter ist auch eine DS:
**-- Rename Exit Program Parameter:
D REPP Ds
D Qualified
D PrmLen 10i 0 Inz( %Size( REPP ) )
D LenObjNam 10i 0 Inz( 10 )
D LenObjLib 10i 0 Inz( 10 )
D ObjTyp 10i 0 Inz( 3 )
D ObjNam 258a
D ObjLib 258a
D Reserv 10a
Der AUfruf erfolgt mit:
c Callp(e) ReplayDB( DBRR0100
c : %Size( DBRR0100 )
c : 'DBRR0100'
c : JDEntDta
c : JDEntDtaLen
c : REPP
c : ApiError )
Nach dem Aufruf bekomme ich
CPF3C3B
Value for parameter &2 for API &1 not valid.
Da liegt mein Problem
... ist das immer noch die NES (never ending story) HA Software? Das ist wohl mit einer Forumsanfrage nicht wirklich zu erschlagen.
D*B
Warum reicht das Kommando APYJRNCHG da nicht aus ?
Man kann gezielt genau 1 Datei, Journalempfänger und sogar die einzelne Folgenummer benennen.
Schließlich musst du dir ja die Journaldaten auch vorher dann per API ermitteln um sie übergeben zu können.
Ausserdem sieht mir JrnCde und EntType nicht belegt aus, was aber angegeben werden muß.