PDA

View Full Version : API QSYRUSRI



tarkusch
20-11-13, 15:54
Hallo,

wollte den zugeordneten Drucker in Rpg-Free ermitteln und bin auf dieses Api gestossen.


Im Programm habe ich folgende Zeilen eingefügt


F************************************************* ********
/COPY QSYSINC/QRPGLESRC,QUSEC
/COPY QSYSINC/QRPGLESRC,QSYRUSRI
D GetUsrInf PR ExtPgm('QSYRUSRI')
D RcvVar Likeds(QSYI0200)
D RcvVarLen 10i 0
D Format 8 const
D UserPrf 10 const
D Error Likeds(QUSEC)
:
:
QUSBPRV = 0;
callp GetUsrInf(QSYI0200:
%Size(QSYI0200):
'USRI0200':
'*CURRENT':
QUSEC);
TEXT = 'Group profile is ' + QSYGP01;



Ich bekomme aber die beim Compelieren folgende Fehlermeldung:

*RNF7542 30 1 Parameter kann nicht nach Referenz übergeben werden, wenn er
beim Aufruf geändert werden kann.
*RNF7031 QSYI0100 DS(94) 000080D
QSYI0200 DS(104) 000125D 004500 014700 014800
*RNF7031 QSYI0300 DS(694) 000192D


Wie muss QSYI0200 eigentlich definiert sein?
Gibt es eigentlich vielleicht einen einfacheren Weg die Drucker-Outq im Rpg-Programm zu ermitteln.


Dank im Voraus

Tarki

Fuerchau
20-11-13, 16:03
RcvVarLen hat kein "CONST" und ist somit per Reference zu übergeben.
%SIZE() als 2. Parameter geht da nicht.
Setze einfach CONST hinter die Parameterdefinition.

Pikachu
20-11-13, 16:05
Da fehlt noch ein "const" bei RcvVarLen (https://www-304.ibm.com/support/docview.wss?uid=nas8N1015883).

Fuerchau
20-11-13, 16:06
RTVJOBA ist das CLP-Kommando dazu.
Allerdings kann durch Überschreibungen, Direktangaben in der PRTF die Ausgabe ganz woanders landen.

tarkusch
20-11-13, 16:17
Danke für die rasche Antwort, aber in der Datenstruktur QSYI0200 habe ich die Drucker Ausgabewarteschlange nicht gefunden.
Bin ich da mit diesem Api auf den falschen Dampfer?

Gruß
Tarki

Fuerchau
20-11-13, 17:53
Die steht im USRI0300:
http://pic.dhe.ibm.com/infocenter/iseries/v7r1m0/topic/apis/qsyrusri.htm?resultof=%22%51%53%59%52%55%53%52%49% 22%20%22%71%73%79%72%75%73%72%69%22%20#HDRSRIRA1