/**********************************************************************/ /* Example 1 */ PROC 0 SUBSYS() SET INSTMT=&STR(IS="%INC ''''MIS.PUBTK.SRC(START)'''';") SAS OPTIONS ( ' NONEWS SYSPARM="SYS=&SUBSYS" &INSTMT ' ) + SASAUTOS ('''SASMIS.GEN.MACROS''') + CONFIG ( ' ''MIS.GEN.SOURCE(CONFIG)'' ') /**********************************************************************/ /* Example 2 */ modified=0; /* In the PUBTRAK application, CHECK determines if */ /* the user modified any field and sets the */ /* value of MODIFIED accordingly */ link check; if modified then do; /* Assign appropriate values to the WHOTW and */ /* UPDTTW variables. */ whotw=symget('sysjobid'); updttw=today(); end; return; /**********************************************************************/ /* Example 3 */ /* Get the current command. */ cmd=upcase(word(1)); /* Execute any custom commands. */ if cmd='KEEP' then link keepvals; else if cmd = 'RETRIEVE' then link retvals; /**********************************************************************/ keepvals: /* Open a temporary data set containing all */ /* variables on the data set being edited with */ /* the FSEDIT procedure. */ pubskel=open('work.pubskel','U'); call set(pubskel); /* Get the second observation (the first is used */ /* for sending letters). */ rc=fetchobs(pubskel,2,'NOSET'); /* Push the current value of all variables */ /* into the observation. */ if update(pubskel) then do; end; /* We no longer want the DSID to be set, */ /* so close and then reopen the data set. */ rc=close(pubskel); pubskel=open('work.pubskel','U'); /* Again fetch the second observation ... */ rc=fetchobs(pubskel,2); /* ... for all variables. VAR is an SCL list */ /* that contains character elements, each of */ /* which names a variable to be duplicated */ i=0; do while(i