Programs On Command See Output in Spool File: DMPCLPGM QPPGMDMP
Programs On Command See Output in Spool File: DMPCLPGM QPPGMDMP
PGM
DCL
VAR(&CHAR10) TYPE(*CHAR) LEN(10) VALUE(HISTORY)
DCL
VAR(&CHAR24) TYPE(*CHAR) LEN(24) VALUE(MISSIPI)
DCL
VAR(&DEC50) TYPE(*DEC) LEN(5 0) VALUE(198)
DCL
VAR(&DEC72) TYPE(*DEC) LEN(7 2) VALUE(3.14)
DCL
VAR(&LGL1) TYPE(*LGL) VALUE('0')
DMPCLPGM
CHGVAR
VAR(&CHAR10) VALUE('MY LIBRARY')
CHGVAR
VAR(&CHAR24) VALUE(THISIS24CHARS)
DMPCLPGM
RETURN
ENDPGM
RTVJOBA command
LOOP:
DCL
VAR(&COUNTER) TYPE(*DEC) LEN(1) VALUE(0)
DCL
VAR(&TCOUNT) TYPE(*CHAR) LEN(1) VALUE('0')
DCL
VAR(&USER) TYPE(*CHAR) LEN(10)
RTVJOBA USER(&USER)
IF (&COUNTER = 3) THEN(GOTO END)
ELSE
CHGVAR (&COUNTER) (&COUNTER + 1)
END:
DCL
VAR(&USER) TYPE(*CHAR) LEN(10)
DCL
VAR(&JOB) TYPE(*CHAR) LEN(10)
DCL
VAR(&SYS) TYPE(*CHAR) LEN(8)
RTVJOBA JOB(&JOB) USER(&USER)
RTVNETA SYSNAME(&SYS)
SNDPGMMSG ('HAI' *BCAT &USER *BCAT 'SIGNED ON AT ' *BCAT +
&JOB *BCAT 'ON' *BCAT &SYS)
RETURN
ENDPGM
PGM
DCL
VAR(&TIME) TYPE(*CHAR) LEN(8)
DCL
VAR(&USER) TYPE(*CHAR) LEN(10)
DCL
VAR(&HOURS) TYPE(*DEC) LEN(2)
RTVJOBA USER(&USER)
RTVSYSVAL SYSVAL(QTIME) RTNVAR(&TIME)
CHGVAR (&HOURS) (%SST(&TIME 1 2))
CHGVAR
VAR(&TIME) VALUE((%SST(&TIME 1 2)) *CAT ':' *CAT +
(%SST(&TIME 3 2)) *CAT ':' *CAT +
(%SST(&TIME 5 2)))
IF (&HOURS *GE 0 *AND &HOURS *LT 12) +
(SNDPGMMSG MSG('HI GOOD MORNING' *CAT &USER *CAT 'THE TIME IS ' +
*CAT &TIME))
ELSE IF (&HOURS *GE 12 *AND &HOURS *LT 17) +
(SNDPGMMSG MSG('HI GOOD AFTERNOON' *CAT &USER *CAT 'THE TIME IS ' +
*CAT &TIME))
ELSE IF (&HOURS *GE 17 *AND &HOURS *LT 20) +
(SNDPGMMSG MSG('HI GOOD EVENING' *CAT &USER *CAT 'THE TIME IS ' +
*CAT &TIME))
PROGRAM PARAMETRES EXAMPLES
COMMANDLINE PARMS
PGM
DCL
DCL
PARM(&CHAR3)
VAR(&CHAR3) TYPE(*CHAR) LEN(3)
VAR(&TEXT) TYPE(*CHAR) LEN(11) VALUE('THE +
PARMIS')
SNDPGMMSG (&TEXT *CAT &CHAR3)
ENDPGM
PGM
PARM(&LIB)
DCL
VAR(&LIB) TYPE(*CHAR) LEN(10)
DSPLIB
LIB(&LIB)
ENDPGM
PGM
PARM(&LIB)
DCL
VAR(&LIB) TYPE(*CHAR) LEN(10)
DCL
VAR(&JTP) TYPE(*CHAR) LEN(1)
RTVJOBA TYPE(&JTP)
IF
(&JTP = '1') DO
SBMJOB CMD(CALL PGM(SA1105HSH) PARM(&LIB))
SNDPGMMSG ('JOBSUBMITTED TO BATCH')
RETURN
ENDDO
DSPLIB
LIB(&LIB)
ENDPGM
END: ENDPGM
Mon Mssages :
PGM
PARM(&FILE)
DCL (&FILE) TYPE(*CHAR) LEN(10)
CHKOBJ
OBJ(HASHEEM/&FILE) OBJTYPE(*PGM)
SNDPGMMSG ('PROGRAM ENDED NORMALLY')
RETURN
ENDPGM
PGM
PARM(&FILE)
DCL (&FILE) TYPE(*CHAR) LEN(10)
CHKOBJ
OBJ(HASHEEM/&FILE) OBJTYPE(*PGM)
MONMSG
MSGID(CPF9801) EXEC(DO)
SNDPGMMSG MSG('CANT FIND +
FILE' *BCAT &FILE)
RETURN
ENDDO
SNDPGMMSG ('PROGRAM ENDED NORMALLY')
RETURN
ENDPGM
PGM
PARM(&LIB &FILE)
DCL (&FILE) TYPE(*CHAR) LEN(10)
DCL (&LIB) TYPE(*CHAR) LEN(10)
DCL (&MSG) TYPE(*CHAR) LEN(50)
MONMSG
MSGID(CPF0000) EXEC(GOTO CMDLBL(ERROR))
DSPFD
FILE(&LIB/&FILE)
DSPLIB
LIB(&LIB)
GOTO (ENDIT)
ERROR:
RCVMSG
MSGTYPE(*LAST) MSG(&MSG)
SNDPGMMSG (&MSG)
ENDIT:
RETURN
PGM
MONMSG
MSGID(CPF0000) EXEC(GOTO CMDLBL(END))
SNDPGMMSG MSG('THIS IS MESAGE 1') TOPGMQ(*EXT) +
MSGTYPE(*INFO)
SNDPGMMSG MSG('THIS IS MESAGE 2') TOPGMQ(*EXT) +
MSGTYPE(*INFO)
SNDPGMMSG MSG('THIS IS MESAGE 3') TOPGMQ(*EXT) +
MSGTYPE(*INFO)
SNDPGMMSG MSG('THIS IS MESAGE 4') TOPGMQ(*EXT) +
MSGTYPE(*INFO)
SNDPGMMSG MSGID(CPF9898) MSGF(QSYS/QCPFMSG) +
DCL
VAR(&TEMP4) TYPE(*CHAR) LEN(3)
MONMSG (CPF0000) EXEC(GOTO (ERROR))
*/
CVTDAT DATE(&DATE1) TOVAR(&DATE1) FROMFMT(*MDY) +
TOFMT(*JUL)
CVTDAT DATE(&DATE2) TOVAR(&DATE2) FROMFMT(*MDY) +
TOFMT(*JUL)
CHGVAR
VAR(&TEMP1) VALUE((%SST(&DATE1 4 3)))
CHGVAR
VAR(&TEMP2) VALUE((%SST(&DATE2 4 3)))
CHGVAR
VAR(&TEMP3) VALUE(&TEMP1 - &TEMP2)
CHGVAR
VAR(&TEMP4) VALUE(&TEMP3)
SNDPGMMSG ('DIFFERENCE BETWEEN TWO DATES IS ' *BCAT &TEMP4)
GOTO (END)
ERROR:
SNDPGMMSG ('INVALID DATES ')
END:
RETURN
/*
ENDPGM
PGM
0000.01 PGM
0000.02
DCL
VAR(&USR ) TYPE(*CHAR) LEN(10)
0000.03
DCL
VAR(&TIME ) TYPE(*CHAR) LEN(8)
0000.04
DCL
VAR(&HOURS) TYPE(*DEC) LEN(2)
0000.05
RTVJOBA USER(&USR)
0000.06
RTVSYSVAL SYSVAL(QTIME) RTNVAR(&TIME)
0000.07
CHGVAR VAR(&HOURS) VALUE(%SST(&TIME 1 2))
0000.19
CHGVAR VAR(&TIME) VALUE(%SST(&TIME 1 2) *CAT '-' *CAT +
0000.20
%SST(&TIME 3 2) *CAT '-' *CAT +
0000.21
%SST(&TIME 5 2))
0000.25
IF
COND(&HOURS *GE 0 *AND &HOURS *LT 12) THEN(DO)
0000.26
SNDPGMMSG MSG('HI GOOD Morning' *CAT &USR *cat +
0000.27
'the time is ' *cat &time )
0000.28
0000.29
ENDDO
0000.30
IF COND(&HOURS *GE 12 *AND &HOURS *LT 17) THEN(DO)
0000.31
SNDPGMMSG MSG('HI GOOD AFTERNOON' *CAT &USR *cat +
0000.32
'the time is ' *cat &time )
0000.33
ENDDO
0000.34
IF COND(&HOURS *GE 17 *AND &HOURS *LT 24) THEN(DO)
0000.35
SNDPGMMSG MSG('HI GOOD NOGHT ' *CAT &USR *cat +
0000.36
'the time is ' *cat &time )
0000.37
ENDDO
0000.38 ENDPGM
0001.00
DATE CONVERTER
PGM
DCL
VAR(&MYDATE) TYPE(*CHAR) LEN(6)
DCL
VAR(&TODATE) TYPE(*CHAR) LEN(10)
RTVSYSVAL SYSVAL(QDATE) RTNVAR(&MYDATE)
CVTDAT DATE(&MYDATE) TOVAR(&TODATE) TOFMT(*ISO) +
TOSEP('-')
SNDPGMMSG MSG('TODAY IS ' *CAT &TODATE )
END PGM
STRISDB