PDA

View Full Version : Power-Typ herausfinden im batch



Chris.jan
01-10-19, 12:10
Ich brauche Typ_Modellnummer per API.
QMODEL als Sysval habe ich ja schon und es gibt auch das altbekannte
QLZARCAPI, das leider nur in den joblog schreibt.
Gibts das irgendwie auch "normal"?
In der QSYS2 habe ich leider nichts brauchbares gefunden.

Chris.jan
01-10-19, 12:34
Also schön ist anders, aber wer's brauchen kann... bitte:


PGM
DCL VAR(&TEXT) TYPE(*CHAR) LEN(255)
DCL VAR(&TYP ) TYPE(*CHAR) LEN(8 )
CALL PGM(QLZARCAPI)
RCVMSG PGMQ(*SAME) MSGQ(*PGMQ) MSG(&TEXT)
CHGVAR VAR(&TYP) VALUE(%SST(&TEXT 69 5) *CAT +
%SST(&TEXT 75 3))
ENDPGM

B.Hauser
01-10-19, 15:51
Du willst den System-Wert QMODEL ermitteln?
Am einfachsten geht das mit SQL über die View System_Value_Info in der Bibliothek QSYS2:

Select System_Value_Name, Current_Character_Value
from QSYS2.System_Value_Info
Where System_Value_Name = 'QMODEL';

Birgitta

Chris.jan
01-10-19, 16:02
QMODEL hab ich ja schon, ich brauch den TYP, also 8286, 8284, 9009, ....
Im PGM hab ich nur gleich beides zusammen geholt.

Christian Bartels
02-10-19, 10:13
Alternativ könnte man noch den Befehl DSPHDWRSC TYPE(*PRC) OUTPUT(*OUTFILE) verwenden und die erzeugte Ausgabedatei anschließend einlesen. Der Vorteil gegenüber dem Programm QLZARCAPI liegt aus meiner Sicht darin, dass eine Ausgabedatei etwas "robuster" gegenüber Änderungen in zukünftigen Releases ist als das parsen eines Textes.

Mit freundlichen Grüßen,
Christian Bartels.

Fuerchau
02-10-19, 10:17
Ggf. sollte man sich die Messagebeschreibung noch mal ansehen. Da sind bestimmt auch Felder definiert. Somit liest man sich die MSGDATA aus und ist Textunabhängig.
Damit ist man dann auch sprachunabhängig.
Dass sich Messagefelder mal ändern habe ich bisher noch nicht erlebt, meisten sind nur welche dazu gekommen.

Chris.jan
02-10-19, 11:37
CPF9897 hat leider nur ein einziges Feld.