When reading SYSIN statements, Panvalet checks for commands to execute and it does this by checking positions 1 & 2 of the input records.
If it encounters a record with a ++ or -- , it acts on that record as though it is a Panvalet command and will attempt to execute it.
So how to add a member to a Panvalet library that contain ++ or -- or // in columns 1 & 2 without having to change it to a $+ or $- or $/.
Use the ++ADD command with the DLM parameter for any members containing statements with ++ or -- in columns 1 & 2:
++ADD newmem,type,DLM=dc
dc
Select two characters that are not currently in positions 1 & 2 of the member being added as the delimiter characters. Panvalet will now read the input as data until it reads the two character delimiter.
Example 1: Add 3 JCL members named JCL001, JCL002, and JCL003 from a PDS to Panvalet. When reading members directly from a PDS library or sequential file, you do not need to change the 1st character of any JCL statements to $.
//STEP01 EXEC PGM=PAN#1,REGION=4M
//SYSPRINT DD SYSOUT=*
//PANDD1 DD DISP=SHR,DSN=YOUR.PANVALET.LIBRARY
//PDSIN DD DISP=SHR,DSN=INPUT.PDS.FILE
//SYSIN DD *
++OPTION INPUT,PDSIN
++ADD JCL001,JCL,DLM=??
??
++ADD PARM1,DATA
++ADD JCL002,JCL,DLM=??
??
++ADD JCL003,JCL,DLM=$$
$$
++ADD PARM2,DATA
/*
//
Example 2: Add an instream JCL to Panvalet as member name SV1DLM. You must change the 1st character to a $, otherwise JES will take it as JCL to be executed.
//STEP01 EXEC PGM=PAN#1,REGION=4M
//SYSPRINT DD SYSOUT=*
//PANDD1 DD DISP=SHR,DSN=YOUR.PANVALET.LIBRARY
//SYSIN DD *
++ADD SV1DLM,JCL,DLM=##
$/JOBCARD1 JOB (00000000),'NAME',CLASS=K,MSGCLASS=X,MSGLEVEL=(1,1)
$/STEP01 EXEC PGM=PAN#2,REGION=4M
$/SYSPRINT DD SYSOUT=*
$/PANDD1 DD DISP=SHR,DSN=YOUR.PANVALET.LIBRARY
$/SYSIN DD *
++PRINT 0-UP
$*
$/
##
/*
//
Note: Must apply PTF SO00056 first before using ++ADD with a DLM parm.