ISREDIT MACRO /* CONTROL LIST CONLIST SYMLIST /* SET PREFIX = &SUBSTR(1:4,&SYSUID.XXXX) */ IF &SYSPREF = THEN SET PREFIX = &SYSUID. ELSE SET PREFIX = &SYSPREF. /* TITLE: @SCRPTDU THE MEMBER CURRENTLY DISPLAYED IN EDIT /* CONTRIBUTED: F. DAVID MCRITCHIE 1986/02/04 /* USER CONTACT: F. DAVID MCRITCHIE /* CODE MAINT.: SYSTECH GROUP /* */ /* EXAMPLES: @SCRPTDU */ /**************************** */ /* BATCH OPTIONS */ /*@SCRPTDU BATCH VIEW */ /* *BATCH JOB SUBMITTED -- WHEN MESSAGE IS RECEIVED ENTER:* */ /*@SCRPTDU REFORMAT */ /**************************** */ /* THE DEFAULT FOR BOTH .CL AND .LL IS 60 */ /* THE FOLLOWING CODE WILL BE GENERATED BY DSMPROF4 TO FACILITATE*/ /* PROPER VIEWING. (NORMALLY DSMPROF4 IS IN USE) */ /* .LL 78;.SE PCLL = 78;.CM LOWERCASE */ /* .CL 78;.SE PCLL = 78;.CM ALL LOWERCASE */ /* .SE PROF4LL = 78;.SE PROF4CL = 78;.CM CAPITALS */ /*************************************************************** */ /** DOCUMENTED IS03.SHARE.TEXT(@SCRPTDU) */ /***************************************************************** */ ISREDIT (MEMBERX) = MEMBER ISREDIT (DSNX) = DATASET IF MANUAL = &MEMBERX THEN DO ISREDIT END EXIT CODE(1) END VIEWMEM: - ISREDIT (DCHG) = DATA_CHANGED IF &DCHG = YES THEN DO WRITE ******************************************************* WRITE * YOUR FILE HAS NOT BEEN SAVED AFTER MAKING CHANGES * WRITE * SPELLING CHECK REQUIRES ABILITY TO SCRIPT YOUR DATA.* WRITE * * WRITE * CANNOT SCRIPT UNLESS YOU HAVE SAVED YOUR DATA AFTER * WRITE * MAKING CHANGES. * WRITE * * WRITE * THE CLIST "@SAVE" CAN BE USED TO SAVE IF, * WRITE * AND ONLY IF, DATA CHANGED * WRITE ******************************************************* WRITE REPLY OR TYPE "CAN": TO TERMINATE REQUEST WRITE REPLY "SAVE" | "SAV" TO SAVE THEN BEGIN SCRIPT WRITE REPLY "CANCEL" | "CAN" IF YOU WANT TO TERMINATE REQUEST READ PARM1 IF &SUBSTR(1:3,&STR(&SYSCAPS(&PARM1.) )) = CAN THEN DO WRITE TERMINATED BY YOUR COMMAND ... "CAN". SET &ZEDSMSG = &STR(TERMINATED) SET &XEDLMSG = &STR(CHANGES DONE SINCE LAST SAVE -- + YOU HAVE REPLIED TO CANCEL @SCRIPT) SET &ZEDLMSG = &STR(&XEDLMSG.) ISPEXEC SETMSG MSG(ISRZ000) EXIT CODE(8) END IF &SUBSTR(1:3,&STR(&SYSCAPS(&PARM1.) )) = SAV THEN DO ISREDIT SAVE SET RC = &LASTCC. /* 0 - NORMAL SAVE, 4 - NEW MEMBER SAVED, 12 DATA NOT SAVED IF &RC. > 4 THEN DO WRITE ****************************************************** WRITE * UNABLE TO SAVE YOUR FILE RC = &RC. * WRITE ****************************************************** SET &ZEDSMSG = &STR(TERMINATED) SET &XEDLMSG = &STR(UNABLE TO SAVE CHANGES -- + PERHAPS A COMPRESS IS NEEDED) SET &ZEDLMSG = &STR(&XEDLMSG.) ISPEXEC SETMSG MSG(ISRZ000) EXIT CODE(8) END GOTO SAVED END SET &ZEDSMSG = &STR(CHANGED DATA) SET &XEDLMSG = &STR(CHANGES DONE SINCE LAST SAVE -- + @SCRPTDU TERMINATED FOR THIS READON...) SET &ZEDLMSG = &STR(&XEDLMSG.) ISPEXEC SETMSG MSG(ISRZ000) EXIT CODE(8) END SAVED: - SET R40 = R40 /* ISREDIT (MEMBERX) = MEMBER /* ISREDIT (DSNX) = DATASET SET MEMBERA = &MEMBERX. IF S = &SUBSTR(1:1,&MEMBERX.X) THEN DO IF &SUBSTR(6:8,&MEMBERX. ) = &STR( ) THEN DO IF &STR(&DSNX) = &STR(TECH.LIBR2.TEXT) THEN DO IF NUM = &DATATYPE(&SUBSTR(2:5,&MEMBERX.XXXXXXXX)) THEN DO IF X = X&SUBSTR(6:6,&MEMBERX. ) THEN DO SET MEMBER2 = A&SUBSTR(2:5,&MEMBERX. ) WRITE SUBSTITUTION "&MEMBER2." FOR "&MEMBERX." SET MEMBERA = &MEMBER2. END END END END END IF &STR(&MEMBERX.) ^= &STR() THEN SET DSNXX = &STR(&DSNX.)&LP.&MEMBERX.&RP. CONTROL LIST CONLIST SCRIPT '&DSNX(&MEMBERA)' - PRO('SCRIPT.&R40..MACLIB(DSMPROF4)') L('SCRIPT.&R40..MACLIB') - INDEX BIND(0 0) - CONT SPELLCHK SYSVAR(X NO H NO D NO) M(ID DELAY) - FILE('&PREFIX..DUDUDU.LIST(&MEMBERX)') $EDIT '&PREFIX..DUDUDU.LIST(&MEMBERX)' MACRO(@SCRPTD2) COPY '&PREFIX..DUDUDU.LIST(&MEMBERX)' '&DSNX(JUNKDU)' NONUM $EDIT '&DSNX(JUNKDU)' MACRO(@SCRPTD4) ISREDIT LABEL .ZLAST = .SCRP 0 SET &ZEDSMSG = &STR(JUNKDU CREATED) SET &ZEDLMSG = &STR(@SCRPTD3 CAN BE USED TO MERGE IN MEMBER JUNKDU) ISREDIT LINE_BEFORE 1 = NOTELINE "&ZEDLMSG." ISPEXEC SETMSG MSG(ISRZ000) ISREDIT LOC 0 EXIT CODE(1)