Jobs which do not contain any TWSz JCL VARIABLES in their JCL may be set to OJCV error status in the TWSZ CURRENT PLAN.
Resolving The Problem
When TWSz JCL VARIABLE SUBSTITUTION is active (that is when the OPCOPTS keyword VARSUB() is set to ANY value other than NO), the TWSz WSA subtask fetches the CALENDAR and JCL VARIABLE TABLE associated with EACH job before beginning to scan that job's JCL for variables to substitute.
This "pre-fetch" is done for performance reasons, and if a given job has no CALENDAR or JCL VARIABLE TABLE explicitly associated via the APPLICATION DESCRIPTION, RUNCYCLE PERIOD, or in the JCL via TWSz JCL DIRECTIVEs, then the DEFAULT CALENDAR and DEFAULT VARIABLE TABLE are fetched.
If a variable table *is* specified, but the specified table cannot be found, or a variable included in the JCL does not exist in that table, then the code fetches the DEFAULT table, as above.
The default CALENDAR is specified in multiple places.... in the BATCHOPT init statement used when creating the OCCURRENCE in the LTP and CP, in the ISPF dialogs option 0.2 for occurrences added via MCP, and in the INIT and INITFOPTS initialization statements which control processing by PIF programs and PIF/DIALOG SERVERS. If no DEFAULT value is specified, the default name of the calendar is "DEFAULT".
The DEFAULT VARIABLE TABLE is specified in the CONTROLLER OPCOPTS GTABLE() parameter. If the GTABLE option is not coded, the default variable table name is GLOBAL
Whatever the CALENDAR and VARIABLE TABLE names are for a given operation in the CURRENT PLAN, if the calendar and vartable with those names do not exist, the job will be set to OJCV when the operation is STARTED by the CONTROLLER.
Make certain that the CALENDAR names associated with each application, and specified in the BATCHOPT CALENDAR() keyword, and the JCL VARIABLE TABLEs associated with each application, and specified in the OPCOPTS GTABLE() parameter, exist.
If any operation is set to OJCV ERROR status because the required calendar or variable table cannot be found, there will be a message in the CONTROLLER EQQMLOG specifying the exact source of the problem.
17 June 2018