Wednesday, December 19, 2007

Edit macro to open the copybook by just clicking the copybook name in the program

This edit macro helps us to open the copybook in the program in view mode by just pressing the copybook name by placing the cursor in the copybook position.

/** REXX */
/*TRACE ?I*/
ADDRESS ISREDIT
'ISREDIT MACRO PROCESS'
'(C1,C2) = CURSOR'
FLAG = 'N'
"(LINEDATA) = LINE "C1
NAME = ' '
K = C2 - 1
NAME1 = ' '
DO UNTIL FLAG = 'Y'
IF SUBSTR(LINEDATA,K,1) = " ' " THEN
FLAG = 'Y'
ELSE
IF SUBSTR(LINEDATA,K,1) <> " ' " THEN
NAME1 = NAME1 !! SUBSTR(LINEDATA,K,1)
K = K - 1
END
NAME1 = REVERSE(NAME1)
FLAG = 'N'
DO UNTIL FLAG = 'Y'
IF SUBSTR(LINEDATA,C2,1) = " ' " THEN
FLAG = 'Y'
ELSE
IF SUBSTR(LINEDATA,C2,1) <> " ' " THEN
NAME = NAME !! SUBSTR(LINEDATA,C2,1)
C2 = C2 + 1
END
NAME = NAME1 !! NAME
UPPER NAME
PDS.1 = 'MANI.PEPUMAC.MAC'
PDS.2 = 'MANI.UEREFMAC.MAC'

SRCH_FND = 0
CALL SEARCH_PROCESS
EXIT

SEARCH_PROCESS:
DO J = 1 TO 2 UNTIL J = 3
PDSNAME = "'" !! PDS.J !! "'"
RP = OUTTRAP(MEM.)
ADDRESS TSO "LISTDS "PDSNAME" MEMBERS"
DO I = 7 TO MEM.0 UNTIL I = MEM.0
PARSE VAR MEM.I MEMNAME1 MEMNAME2
IF NAME = MEMNAME1 THEN
DO
SRCH_FND = 1
TEMPNAME = "'" !! PDS.J !! "(" !! MEMNAME1 !! ")'"
CALL OPEN_MEMBER
LEAVE J
END
END
ADDRESS TSO "FREE"
END
RETURN
OPEN_MEMBER:
ADDRESS ISPEXEC " VIEW DATASET ("TEMPNAME")"
ADDRESS TSO " FREE "
EXIT

No comments:

Post a Comment