Vor Jahren gab es hier mal ein GETIPADR
QCLSRC GETIPADR
PHP-Code:
PGM PARM(&DEVD)
DCL VAR(&RCV) TYPE(*CHAR) LEN(893) /**/
DCL VAR(&RCVLEN) TYPE(*CHAR) LEN(4) /**/
DCL VAR(&RCVLEND) TYPE(*DEC) LEN(9) /**/
DCL VAR(&ERR) TYPE(*CHAR) LEN(100) /**/
DCL VAR(&DEVD) TYPE(*CHAR) LEN(10) /**/
DCL VAR(&FRMDEV) TYPE(*CHAR) LEN(8) +
VALUE('DEVD0600') /**/
DCL VAR(&IP) TYPE(*CHAR) LEN(15) /**/
IF COND(&DEVD *EQ '*') THEN(DO)
RTVJOBA JOB(&DEVD)
ENDDO
CHGVAR VAR(&RCVLEND) VALUE(893)
CHGVAR VAR(%BIN(&RCVLEN)) VALUE(&RCVLEND)
CALL PGM(QDCRDEVD) PARM(&RCV &RCVLEN &FRMDEV +
&DEVD &ERR)
CHGVAR VAR(&IP) VALUE(%SST(&RCV 878 15))
SNDPGMMSG MSG(&IP)
ENDPGM
QCMDSRC GETIPADR
PHP-Code:
CMD PROMPT('GET IP ADDRESS')
PARM KWD(JOBNAME) TYPE(*CHAR) LEN(10) DFT(*) +
MIN(0) PROMPT('JOB - NAME')
QRPGLESRC GETIP
PHP-Code:
H DFTACTGRP(*NO) BNDDIR('QC2LE')
D GetIpAdr PR 20a
D Device 10a CONST
*
D I_Net_Adr S 16a
*
D SDS
D sds_zeit80 282 289 0 Datum für GRPPDP
D Device 244 253
*---------------------------------------------------------
* Retrieve IP Address
C Eval I_Net_Adr = GetIpAdr(Device)
C Eval I_Net_Adr = %trim(I_Net_Adr)
C I_Net_Adr Dsply
C Eval *Inlr = *On
* RtvIpAdr - Subprocedure To Get IP Address
*---------------------------------------------------------
P GetIpAdr B Export
D GetIpAdr PI 20A
D Inp_Device 10A Const
D Apierr DS
D Bytprv 1 4B 0 Inz(216)
D Bytavl 5 8B 0 Inz
D Errorid 9 15A Inz
D Reserved 16 16A Inz
D ErrorDesc 17 216A Inz
D Net_Address S 20A INZ
D Format S 8A Inz('DEVD0600')
D Rcvar S 5000A Inz
D Varlen S 4B 0 Inz(5000)
C Eval Device = Inp_Device
C Call 'QDCRDEVD'
C Parm Rcvar
C Parm Varlen
C Parm Format
C Parm Device
C Parm Apierr
C If BytAvl = 0
C Eval Net_Address = %Subst(Rcvar:877:16)
C Endif
C Return Net_Address
P GetIpAdr E
Gruß
Ronald
Bookmarks