midrange.com code scratchpad |
Name:
EDTMSGD - Edit Message Detail
|
Scriptlanguage:
Plain Text
|
Tabwidth:
4
|
Date:
06/07/2013 07:27:54 pm
|
IP:
Logged
|
|
Description:
Published by Craig Pelkie at MCPressOnline (http://www.mcpressonline.com/tips-techniques/cl/techtalk-expanding-addmsgd.html). Problem was the code at that site was unreadable/unusable. I reworked the code, did a little renaming and modified the code to run on a 27 x 132 display so that it could handle longer second level text. The original code was limited to a text length of 1,200 characters - it can now handle up to 2,376 characters which is close enough to the maximum (3,000) to cover most situations. Nothing fancy just a CMD, DSPF and CLP to display the current message content and update it.
|
Code:
- EDTMSGD - Command Definition
-
- CMD PROMPT('Edit Message Description')
- PARM KWD(MSGID) TYPE(*NAME) LEN(7) MIN(1) PROMPT('Message ID')
-
- PARM KWD(MSGF) TYPE(QUAL1) MIN(1) PROMPT('Message + file name')
- QUAL1:
- QUAL TYPE(*NAME) LEN(10) EXPR(*YES)
- QUAL TYPE(*NAME) LEN(10) DFT(*LIBL) SPCVAL((*LIBL)) EXPR(*YES) +
- PROMPT('Library name')
-
-
- EDTMSGDCLP: CPP for EDTMSGD command
-
- PGM PARM(&MSGID &MSGFLIB)
- DCL VAR(&MSGID) TYPE(*CHAR) LEN(7)
- DCL VAR(&MSGDATA1) TYPE(*CHAR) LEN(80)
- DCL VAR(&MSGDATA2) TYPE(*CHAR) LEN(2376)
- DCL VAR(&MSGF) TYPE(*CHAR) LEN(10)
- DCL VAR(&LIB) TYPE(*CHAR) LEN(10)
- DCL VAR(&MSGFLIB) TYPE(*CHAR) LEN(20)
- DCL VAR(&NOTFOUND) TYPE(*LGL) LEN(1) VALUE('0')
- DCLF FILE(EDTMSGDDSP)
- CHGVAR VAR(&MSGF) VALUE(%SST(&MSGFLIB 1 10))
- CHGVAR VAR(&LIB) VALUE(%SST(&MSGFLIB 11 10))
- RTVMSG MSGID(&MSGID) MSGF(&LIB/&MSGF) MSG(&MSGDATA1) +
- SECLVL(&MSGDATA2)
- MONMSG MSGID(CPF0000) EXEC(CHGVAR VAR(&NOTFOUND) VALUE('1'))
- CHGVAR VAR(&XMIC) VALUE(&MSGID)
- CHGVAR VAR(&XFIRST) VALUE(&MSGDATA1)
- CHGVAR VAR(&XSEC) VALUE(&MSGDATA2)
- SNDRCVF RCDFMT(EDTMSGDR)
- IF COND(&IN03 *OR &IN12) THEN(RETURN)
- IF COND(&NOTFOUND) THEN(DO)
- ADDMSGD MSGID(&MSGID) MSGF(&LIB/&MSGF) MSG(&XFIRST) +
- SECLVL(&XSEC)
- MONMSG MSGID(CPF0000)
- RETURN
- ENDDO
- CHGMSGD MSGID(&MSGID) MSGF(&LIB/&MSGF) MSG(&XFIRST) SECLVL(&XSEC)
- MONMSG MSGID(CPF0000)
- ENDPGM
-
-
- EDTMSGDDSP: Display file used by EDTMSGDCLP
-
- A* 91/04/30 13:40:42 MALERN REL-R03M00 5728-PW1
- A DSPSIZ(27 132 *DS4)
- A PRINT
- A R EDTMSGDR
- A* 91/04/30 13:40:42 MALERN REL-R03M00 5728-PW1
- A TEXT('DISPLAY FORMAT FOR EDTMSGD')
- A CF03(03 'EXIT')
- A CF12(12 'CANCEL')
- A BLINK
- A 1 24'EDIT MESSAGE DESCRIPTION (EDTMSGD)'
- A DSPATR(HI)
- A 2 1'MESSAGE IDENTIFIER:'
- A XMIC 7A O 2 22TEXT('MIC NUMBER')
- A DSPATR(HI)
- A COLOR(WHT)
- A 4 1'FIRST LEVEL TEXT:'
- A XFIRST 80A B 5 1TEXT('FIRST LEVEL TEXT')
- A CHECK(LC)
- A 7 1'SECOND LEVEL TEXT:'
- A XSEC 2376A B 8 1TEXT('SECOND LEVEL TEXT')
- A CHECK(LC)
- A 27 2'F3=EXIT F12=CANCEL'
- A COLOR(BLU)
|
|
|