Administration dialog z/OS
With the ProcMan zOS installation, an administration dialog is also installed. With this dialog, the ProcMan VSAM databases can be viewed and changed, as well as a syntax check of the Rules can be performed. For Rule syntax check, the included Edit macro "RULE" can be used.
In the installed CLIST / REXX library, execute the member PRCX with "EX" (execute).
Start dialog
EDIT SYSH.PROCMAN.VxRx.REXX Row 0000001 of 0000031
Command ===> Scroll ===> CSR
Name Prompt Size Created Changed ID
_________ CHCKOPCS 39 2016/08/30 2016/08/30 11:56:00 HORIZON
_________ HUKXQS01 54 2016/08/30 2016/08/30 11:56:00 HORIZON
_________ PMIIPARM 2 2016/10/27 2016/10/27 08:26:29 HORIZON
_________ PRCECHEK 724 2017/02/22 2017/03/02 15:35:42 HORIZON
_________ PRCEDATA 15 2017/02/22 2017/02/22 08:37:00 HORIZON
_________ PRCEEHOR 843 2017/02/22 2017/02/22 08:37:00 HORIZON
_________ PRCEJREF 21 2017/02/22 2017/02/22 08:37:00 HORIZON
_________ PRCERLOG 579 2017/02/22 2017/02/22 08:37:00 HORIZON
_________ PRCETEND 13 2017/02/22 2017/02/22 08:37:00 HORIZON
_________ PRCETEXT 12 2017/02/22 2017/02/22 08:37:00 HORIZON
_________ PRCEVINI 13 2017/02/22 2017/02/22 08:37:00 HORIZON
_________ PRCRULED
ex_______ PRCX 35 2017/02/22 2017/02/22 08:37:00 HORIZON
_________ PRCXCDIA 32 2017/02/22 2017/02/22 08:37:00 HORIZON
The following dialog appears:
-------------------------- ProcMan Rule Test dialog --------------------------
Please select ===>
S Syntax Check of Rule member USERID -MYUSER
C Display check tables System -SYSA
X End Time -10:36
Date -31/05/21
Program -REXX
Build -VxRx
Commands: END for end of the dialog.
Check Rules via dialog
Rule syntax checking, checks the correct spelling of Rule parameters, setting commas and setting semicolon at the end of the Rule. Furthermore, the Rules numbering is displayed with “ISPF NOTE” lines.
PRCPMAIN ----------------- ProcMan Rule Test dialog --------------------------
Please select ===> S
S Syntax Check of rule member USERID -USERID
For new rules (V5) only System -SYSA
C Display check tables Date -21/05/27
X End Time -15:02
Program -REXX
Build -V5R0
Commands: END for end of the dialog.
After entering “S”, the dialog for entering the library and the member is displayed.
--------------------------- ProcMan Rule Test dialog --------------------------
Please select ===> Scroll ===> CSR
Enter the library and the Rule member name.
Library: MY.RULE.LIBRARY Member: MYRULE
After entering library/member the content will shown with error messages.
After entering Rule library name and member name have been specified, the member will be displayed in ISPF-Editor.
E EDIT DATA.PRX.DATA.QS.RULES(A#BA#001) - 01.12 Columns 00001 00080
Command ===> CHECK Scroll ===> CSR
****** ********************************* Top of Data ****************************
000001 ========================================================================
000002 = AAAA N N AAAA L Y Y SSS EEEE =
000003 = A A NN N A A L Y Y S E =
000004 = A A N N N A A L Y SS EEE =
000005 = AAAA N NN AAAA L Y S E =
000006 = A A N N A A LLLLL Y SSS EEEE =
000007 ========================================================================
000008 define #log=true;
000009 --define #log_jcl=true;
000010 define #log_var='AUTO';
000011 define #cache_table='AUTO';
000012 define #cache_never=[];
000013 --------------------------------------------------
000014 -- Read all jcl statements and execute
000015 --------------------------------------------------
000016 FOREACH(JCLSTMT() as &VAR:JCLS);
000017 CALL USEJCLSTMT(&VAR:JCLS);
000018 --------------------------------------------------
000019 WILDCARD ?%;
000020 CALL
000021 FILTER
000022 STMT='JOB'
000023 EXEC
000024 SETFORM('FRM_JCK_JOB_BA')
000025 /* Jobname 1-3 */
000026 EXEC
000027 SETFIELD('JOBN1',SUBSTR(JOBNAME(),1,4))
000028 /* Jobname 4-8 */
000029 EXEC
000030 SETFIELD('JOBN2',SUBSTR(JOBNAME(),5,4))
000031 /* Account */
000032 EXEC
000033 SETFIELD('#PP01',SUBPARM('#PP01',1))
000034 /* Programers Name */
000035 EXEC
000036 SETFIELD('#PP02',PARM('#PP02'))
000037 FILTER
000038 FIELD='#PP02'
000039 EXEC
000040 SETATTR('must','N')
000041 /* Put job in the call list */
000042 EXEC
000043 SETFIELD('ONCALL','N');
000044 -
000045 CALL
000046 FILTER
000047 STMT='JOB',
000048 TEST=HOTYPE() EQ 'CHANGE',
000049 +----------------------------------------------------+
000050 ! Enter CHECK at command line to start syntax check. !
000051 +----------------------------------------------------+
After typing “CHECK” in command line the Rule member will be checked.
EDIT DATA.PRX.DATA.QS.RULES(A#BA#001) - 01.12 CHECK SUCCESSFUL, RC=0
Command ===> Scroll ===> CSR
****** ********************************* Top of Data ****************************
==MSG> MESSAGE SUMMARY. Rules=0560 Errors=0000 Warnings=0000 Total=0000
==MSG> Included rules. Rules=0391 Errors=0000 Warnings=0000 Total=0000
==MSG> Error Message
==MSG> -----------------------------------------------
000001 ========================================================================
000002 = AAAA N N AAAA L Y Y SSS EEEE =
000003 = A A NN N A A L Y Y S E =
000004 = A A N N N A A L Y SS EEE =
000005 = AAAA N NN AAAA L Y S E =
000006 = A A N N A A LLLLL Y SSS EEEE =
000007 ========================================================================
000008 define #log=true;
000009 --define #log_jcl=true;
000010 define #log_var='AUTO';
000011 define #cache_table='AUTO';
000012 define #cache_never=[];
000013 --------------------------------------------------
000014 -- Read all jcl statements and execute
000015 --------------------------------------------------
000016 FOREACH(JCLSTMT() as &VAR:JCLS);
=NOTE= Rule 1
000017 CALL USEJCLSTMT(&VAR:JCLS);
000018 --------------------------------------------------
000019 WILDCARD ?%;
=NOTE= Rule 2
000020 CALL
000021 FILTER
000022 STMT='JOB'
000023 EXEC
000024 SETFORM('FRM_JCK_JOB_BA')
000025 /* Jobname 1-3 */
000026 EXEC
000027 SETFIELD('JOBN1',SUBSTR(JOBNAME(),1,4))
000028 /* Jobname 4-8 */
000029 EXEC
000030 SETFIELD('JOBN2',SUBSTR(JOBNAME(),5,4))
000031 /* Account */
000032 EXEC
000033 SETFIELD('#PP01',SUBPARM('#PP01',1))
000034 /* Programers Name */
000035 EXEC
000036 SETFIELD('#PP02',PARM('#PP02'))
000037 FILTER
000038 FIELD='#PP02'
000039 EXEC
000040 SETATTR('must','N')
000041 /* Put job in the call list */
000042 EXEC
000043 SETFIELD('ONCALL','N');
000044 -
=NOTE= Rule 3
000045 CALL
000046 FILTER
ISREDDE2 DATA.PRX.DATA.QS.RULES(A#BA#004) - 01.08 ERRORS OCCURRED, RC=8
Command ===> Scroll ===> CSR
****** ********************************* Top of Data ****************************
==MSG> MESSAGE SUMMARY. Rules=0025 Errors=0001 Warnings=0000 Total=0001
==MSG> Error Message
==MSG> ----------------------------------------------------------------------
==MSG> Line 33 PRXE0051 UNKNOWN FUNCTION CALLED: SBSTR
000001 ========================================================================
000002 = Migration of Rule member with new rule syntax =
000003 ========================================================================
000004 ========================================================================
000005 = AAAA N N AAAA L Y Y SSS EEEE =
000006 = A A NN N A A L Y Y S E =
000007 = A A N N N A A L Y SS EEE =
000008 = AAAA N NN AAAA L Y S E =
000009 = A A N N A A LLLLL Y SSS EEEE =
000010 ========================================================================
000011 define #log=true;
000012 --define #log_jcl=true;
000013 define #log_var='AUTO';
000014 define #cache_table='AUTO';
000015 define #cache_never=[];
000016 --------------------------------------------------
000017 -- Read all jcl statements and execute
000018 --------------------------------------------------
000019 FOREACH(JCLSTMT() as &VAR:JCLS);
=NOTE= Rule 1
000020 CALL USEJCLSTMT(&VAR:JCLS);
000021 --------------------------------------------------
000022 WILDCARD ?%;
=NOTE= Rule 2
000023 CALL
000024 FILTER
000025 STMT='JOB'
000026 EXEC
000027 SETFORM('FRM_JCK_JOB_BA')
000028 /* Jobname 1-3 */
000029 EXEC
000030 SETFIELD('JOBN1',SUBSTR(JOBNAME(),1,3))
000031 /* Jobname 4-8 */
000032 EXEC
000033 SETFIELD('JOBN2',SBSTR(JOBNAME(),4,5))
==MSG> Line 33 PRXE0051 UNKNOWN FUNCTION CALLED: SBSTR
000034 /* Account */
000035 EXEC
000036 SETFIELD('#PP01',SUBPARM('#PP01',1))
000037 /* Programers Name */
000038 EXEC
000039 SETFIELD('#PP02',PARM('#PP02'))
000040 FILTER
000041 FIELD='#PP02'
000042 EXEC
000043 SETATTR('must','N')
000044 /* Put job in the call list */
Display check tables
If Rules using the table function, the corresponding data must be loaded into a VSAM file with a management job. The contents of this VSAM file can be displayed with the dialog.
PRCPMAIN ----------------- ProcMan Rule Test dialog --------------------------
Please select ===> C
S Syntax Check of rule member USERID -USERID
For new rules (V5) only System -SYSA
C Display check tables Date -21/05/27
X End Time -15:02
Program -REXX
Build -V5R0
Commands: END for end of the dialog.
After entering “C”, the dialog for entering the name of the VSAM dataset is displayed.
- PRCPDCH2 -------------------- ProcMan check table -----------------------------
Please select ===> Scroll ===> CSR
Commands: R Refresh CAN Quit
Enter name of Check VSAM Dataset
VSAM Dataset: HLQ.PC110.CHECK.VSAM '?' for all values!
After entering the file name and ENTER an overview of loaded tables is displayed.
------------------------- ProcMan Overview check table --------- Row 1 from 6
Please select ===> Scroll ===> CSR
Commands: CAN End without save END End without save
LineCmds: S Show content
*
EQ
Table Record Creation date/time
-------- ------ ------------------
S HOJJACCT 22 2017-12-08 09:12
HOSB93D1 1670 2017-12-08 09:12
HOSB93D2 57 2017-12-08 09:12
HOJB93D3 108 2017-12-08 09:12
HOSB93D4 57 2017-12-08 09:12
HOSB93D5 171 2017-12-08 09:12
******************************* Bottom of data ********************************
By entering “S” the data can be displayed in more detail
- ------------------------- ProcMan check table HOJJACCT --------- Row 2 from 24
Please select ===> Scroll ===> CSR
Commands: CAN END End without save 2 3 4 5 6 7 show other columns
UPDATE Switch on/off Update Modus
LineCmds: S Show content
Key: SVJJACCT Gen: 0 Search DTKEY: * EQ
* * *
EQ EQ EQ
Key Gen DTKEY DTDAT1 DTDAT2 DTDAT3
------------------------ ----------------- ----------------- ----------------
S HOJJACCT0FTP FTP TP FILETRANSFER
HOJJACCT0F00 F00 00 ADMINISTRATION
HOJJACCT0F01 F01 01 KANKENVERSICHERUNG
HOJJACCT0F02 F02 02 LEBENSVERSICHERUNG
HOJJACCT0F03 F03 03 FEUERVERSICHERUNG
HOJJACCT0F04 F04 04 MARKETING
HOJJACCT0F05 F05 05 SCHADENSGULIERUNG
HOJJACCT0F06 F06 06 FINANZBUCHHALTUNG
HOJJACCT0F07 F07 07 MIETE
HOJJACCT0F08 F08 08 DARLEHEN
HOJJACCT0F09 F09 09 ALLGEMEIN
HOJJACCT0F10 F10 10 TEXTMANAGEMENT
HOJJACCT0F11 F11 11 OPERATION
HOJJACCT0F12 F12 12 EINKAUF
HOJJACCT0F13 F13 13 DATAWAREHOUSE
HOJJACCT0F14 F14 14 REVISION
HOJJACCT0F15 F15 15 DRITTSYSTEME
HOJJACCT0F16 F16 16 ORGANISATION
HOJJACCT0F17 F17 17 UNFALLVERSICHERUNG
HOJJACCT0F43 F43 43 SACHVERSICHERUNG
HOJJACCT0F45 F45 45 SCHADENSREGEULIER
HOJJACCT0F83 F83 83 ADHOC
******************************* Bottom of data ********************************
Each data has the length of 50 bytes. There are 7 data fields. To see the data in full length, enter a “S” in front of the line.
------------------------- Detail record table HOJJACCT -----------------------
Command ===> Scroll ===> HALF
DTKEY HOJJACCT0FTP
DTGENER 0 0=full qualified 1=generic value
DTDAT1 FTP
DTDAT2 TP
DTDAT3 FILETRANSFER
DTDAT4
DTDAT5
DTDAT6
DTDAT7
DTDAT1 to DTDAT7 is not a clear header. With administration run new header, for each column can be set.
Last updated