April 1998 Newsletter
IOFTech Maintenance Release8G Newsletters Doc FAQ Contact Home |
IOF Diagnostic Tools
|
------------------------------- IOF Option Menu --------------< VER7D.0 >- COMMAND ===> Product level: 7D.0 Date: 03/13/98 Time: 12.38 Select an option. To get a detailed option menu, follow the option with "?". blank - Your jobs G - Output Groups M - System Monitor I - Input jobs H - Held Groups INIT - Initiators R - Running jobs L - System Log APPC - APPC tasks/output O - Output jobs PR - Printers MAS - MAS system display J - All jobs menu D - Device Options CMDS - Global Commands P - IOF Profile NEW - What's New in IOF QT - Quick Trainer JOBNAMES ===> Enter 1 to 8 generic jobnames above SCOPE ===> ALL, ME or another user's USERID Enter HELP to see all valid SCOPE values DEST ===> Enter 1 to 8 destinations above SORT ===> INVNULL Enter HELP to see all valid SORT values |
The IOF load modules you are using reside in the following libraries: IOF in STEPLIB IOF.IOFT7D0.LOAD IOFSPF in STEPLIB IOF.IOFT7D0.LOAD IOFT7D0M LINK APF(Y) SYS1.TRISYS.LINKLIB IOFT7D0U LINK APF(Y) SYS1.TRISYS.LINKLIB IOFT7D0A LINK APF(Y) SYS1.TRISYS.LINKLIB IOFT7D0P LINK APF(Y) SYS1.TRISYS.LINKLIB Cpu Serial number is: 0001 Cpu Model number is: 7490 MVS Product name: SP5.3.0 MVS FMID value: HBB6601 IPL Date and Time: 1998.098 - 08:13:08 |
IOFWHERE is a CLIST which must reside in a clist library concatenated to SYSPROC. The 7D version of IOFWHERE invokes the release 7D IOF command.
IOF/CICS users must invoke IOF with the FINDMOD parameter to determine where IOF/CICS modules reside. From CICS enter:
IOF /FINDMOD or
IOF /FINDMOD(M) to locate the "main" module.
IOF /FINDMOD(A) to locate the "auxiliary" module.
IOF /FINDMOD(U) to locate the "user options" module.
IOF /FINDMOD(P) to locate the "panel" module.
**************** User Attributes Used for Group Assignment **************** Userid................. ISINRM UADS Attributes........ JCL Current RACF Group..... List of RACF Groups.... TRISYS Logon Procedure........ Terminal Name.......... User ASCB Type......... TSU User Account Number.... ACF2 UID String........ **************** User Not Assigned to this Group **************** Group....................................... STCGROUP Session attribute that excludes this user... ASCBTYPE **************** User Not Assigned to this Group **************** Group....................................... OPERATOR Session attribute that excludes this user... UADS **************** User Assigned to Group **************** Group...... ENDUSER ****** Start of Eligible ALLOW Macro table ***************************** Macro.... USRJOBS ALLOW 3,2,JOBS,JOBNAME,/U* Macro.... USRGRPS ALLOW 3,2,GROUPS,JOBNAME,/U* Macro.... OWNJOBS ALLOW 3,2,JOBS,OWNER,/U Macro.... OWNGRPS ALLOW 3,2,GROUPS,OWNER,/U Macro.... MAILGRPS ALLOW 3,2,GROUPS,MAILID,/U Macro.... CURJOBS ALLOW 3,2,JOBS,CURRENT,YES Macro.... CURGRPS ALLOW 3,2,GROUPS,CURRENT,YES Macro.... ALLJOBS ALLOW 1,0,JOBS,JOBNAME,* Macro.... ALLGRPS ALLOW 1,0,GROUPS,JOBNAME,* Macro.... ALLPRTS ALLOW 1,0,DEVICES,DEVCOMBO,+P+.* Macro.... LOGCMDAC ALLOW 3,0,JOBS,LOGCMD,YES ****** End of Eligible ALLOW Macro table ***************************** |
The userid, UADS attributes, logon procedure, terminal name and security system information is listed first in the trace data set. The values of attributes that are referenced on IOF GROUP, ALLOW or LIMIT macro are listed.
IOF initialization attempts to place the user in each IOF group. The trace shows the reason the user is not assigned to each group. In the example above, user ISINRM is not assigned to the STCGROUP because of ACBTYPE (this user is not a started task). ISINRM is not assigned to the OPERATOR group because of the UADS attribute.
ISINRM is assigned to the ENDUSER group, so the list of ALLOW and LIMIT macros that apply to the ENDUSER group are listed.
TRACE C line command for the job TRACE
The trace lists each IOF ALLOW and LIMIT macro that could control access to the job. If any LIMIT macro prevents access, checking terminates and access is denied. Otherwise all ALLOW macros are checked to determine if any grant access. SAF profile and class names are traced for security system calls along with return codes from the security system. A sample trace is shown below.
================ Start Validation for User Function ================ Function..... Cancel a job **************** ALLOW Macro Fails to Permit Requested Function ******** Macro.... USRJOBS ALLOW 3,2,JOBS,JOBNAME,/U* Reason... JOBNAME value for selected JOB is CALLRSET **************** ALLOW Macro Fails to Permit Requested Function ******** Macro.... OWNJOBS ALLOW 3,2,JOBS,OWNER,/U Reason... OWNER value for selected JOB is ISIJFW **************** ALLOW Macro Fails to Permit Requested Function ******** Macro.... CURJOBS ALLOW 3,2,JOBS,CURRENT,YES Reason... CURRENT value for selected JOB is C* **************** ALLOW Macro Fails to Permit Requested Function ******** Macro.... ALLJOBS ALLOW 1,0,JOBS,JOBNAME,* Reason... Access level not high enough to permit requested function **************** ALLOW Macro Fails to Permit Requested Function ******** Macro.... LOGCMDAC ALLOW 3,0,JOBS,LOGCMD,YES Reason... LOGCMD value for selected JOB is NO ++++++++++++++++ ACF Validation Call ++++++++++++++++ Resource......... TRISYS.ISIJFW.CALLRSET.JOB02026 Resource Class... JESSPOOL Access Level..... Alter Return Code...... 4 ======== Function and/or Operands Not Allowed for This User ======== Function....... Not Authorized Operands....... None specified |
Note that all IOF ALLOW and LIMIT macros are traced. Also note the JESSPOOL ACF validation call that is made. In this case the JESSPOOL class is inactive as shown by the return code 4.
No ALLOW macro permitted user ISINRM sufficient access to job CALLRSET which is owned by user ISIJFW. Therefore, the cancel is REFUSED.
TRACE R line command for the group TRACE
--------------------- Display of Current Variable Values --------------------- COMMAND ===> 3 1 SESSION environment attributes 2 SYSTEM environment attributes 3 GROUP attributes defined for your IOF Group 4 Miscellaneous attributes 5 Job Archival and Retrieval Attributes ( JAR ) 6 System Log Access Management Attributes ( SLAM ) 7 IOF APPC Servers and Alias Names Listing( APPC ) 8 Sysids (and alias) with Printers Attached( PRINTERS ) 9 IOF Logical Console Usage Attributes ( CONSOLE ) 10 IOF Logical Console Initial Commands ( CONSOLE ) 11 Print all variable values ENTER - Scan All Items n - Select Specific Item Q - Quit HELP |
Select a menu number from the list of variable types. For example, display GROUP variables by entering 3.
--------------------------- GROUP Variables Display -------------------------- COMMAND ===> Name--------Value-----From-----Option---Description------------------ GRPNAME ENDUSER SESSION B23ALLOW IOF Group name GRPPANEL OPTOPT SESSION B23ALLOW IOF Option Menu name GRPICMD INITCMD SESSION B23ALLOW Initial command GRPPAUSE 5 SESSION B23ALLOW Minimum pause GRPCMD31 NO SESSION B23ALLOW Command type 31 GRPCMD32 NO SESSION B23ALLOW Command type 32 GRPEXTND YES SESSION B23ALLOW EXTEND option GRPFINDD 0 SESSION B23ALLOW Findlim default GRPFINDM 0 SESSION B23ALLOW Findlim maximum GRPLOGTY SYSLOG SESSION B23ALLOW Default log type GRPSYSID NONE SESSION B23ALLOW Default log system id GRPDSCOP USER SESSION B23ALLOW Default scope GRPMSCOP USER SESSION B23ALLOW Maximum scope GRPDRCMD YES SESSION B23ALLOW DR command allowed GRPINP YES SESSION B23ALLOW GROUP INPCMD parm DOWN/UP - Scroll Display ENTER - Next END - Back to Menu |
DVAR displays several columns of information for each variable:
NAME The IOF variable name VALUE The current value of the variable FROM The pool from which the variable is fetched OPTION The IOF OPTION member in which the variable is set (All the GROUP variables shown are defined in the B23ALLOW option member) Description A description of the variable
--------------------- JES2 Remote Descriptor (RDT) Table ---------------------- COMMAND ===> Address Destid Node Remote Destid RDT Destid RDT Ent Name # # USERID FLG Type Bits ------------------------------------------------------------------ 1 04B87EB0 WESTPARK 0 255 U255 28 Un D 2 04B87F32 NAPLES 1 18 R18 C8 Nn.Rnn D 3 04B87F80 RALEIGH 9 0 90 Nn N 4 04B87ECA TRIANGLE 0 200 U200 28 Un D 5 04B87FCE TRITEST 1 0 90 Nn N 6 04B87FB4 TRITEST2 2 0 90 Nn N 7 04B87F9A TRITEST3 8 0 90 Nn N 8 04B87F18 TRIEEW 1 1 R1 C8 Nn.Rnn D 9 04B87EFE TRIFVS 1 2 R2 C8 Nn.Rnn D 10 04B87F66 TRIJFP 1 3 R3 C8 Nn.Rnn D 11 04B87EE4 TRIJFW 1 4 R4 C8 Nn.Rnn D 12 04B87F4C TRIJWO 1 4 R5 C8 Nn.Rnn D ------------------------------------------------------------------ |
If you are making modifications to IOF exits or source code,
knowledge of the diagnostic area format also will be useful to
you.
Line 2 contains the twelve bytes of data surrounding the PSW.
Lines 3 through 7 contain the PSW, instruction length, interrupt
code, translation exception address, and the 16 registers in
effect at the time of the abend. If the abend occurs inside an
SVC, there will be five additional lines containing another set
of PSW and registers that looks like lines 3 through 7.
The following list provides some of the more common csect codes
for user modifiable code:
The format of the IOF Diagnostic Area for release 7C is slightly
different from the format described above.
IOF Diagnostic Area
You may have to call IOF technical support if you experience an
abend situation. IOF normally produces a seven to twelve line
diagnostic area whenever it abends. This diagnostic information
displays at the terminal and for 7D is also copied into SYSLOG.
The diagnostic information displayed is often all that is
required by IOF Technical Support to diagnose a problem.
It is always helpful to have the IOF Diagnostic area available
when you call.
IOF 7DABEND DIAGNOSTIC AREA 97311.1423
1 0000 840C4000 041107E2 0411050C 000CFFFF *d......S........* <--- abend, coded PSW/R14 2 0010 05985DDC D01407FE 000090EC D00C0700 *.q) :.......:...* <--- PSW addr, 12 PSW bytes 3 0020 071C0000 85985DE2 00020001 00054F00 *....eq)S......|.* <--- PSW, lng, intcode, xadr 4 0030 00000000 05A6FE66 05A6FE28 05A6FE28 *.....w...w...w..* <--- R0 R3 Regs at time 5 0040 00000001 00000000 05A98250 05A982BC *.........zb&.zb.* <--- R4 R7 of abend. 6 0050 0598586C 8598BEFC 8598BDCE 05A6EE80 *.q.%eq..eq...w..* <--- R8 R11 7 0060 0598BD08 05A6F50C 8598C214 05985DE0 *.q...w5.eqB..q):* <--- R12-R15
Line 1 contains the abend code, the coded PSW and coded R14 at
the time of the abend. The PSW and R14 are coded so that they
can be used to determine where in IOF, the abend occurred without
the need of a link edit map. In the first example above, line 1
col 1 contains 840C4000 indicating an S0C4 abend occurred. The
coded PSW is 041107E2 which indicates that the PSW was in the
csect JESCTL at displacement 7E2 at the time of the abend. The
coded R14 is 0411050C which indicates that the contents of R14 is
an address that points into the csect JESCTL at displacement 50C.
JOBACESS 0704xxxx
JESCTL 0411xxxx
SELSETUP 0420xxxx
DSNQUAL 0206xxxx
where xxxx is the displacement inside the csect.
Email
IOFTech@Triangle-Systems.Com