ADCNS

Purpose

Use the ADCNS statement when defining conditional dependencies for an operation.

Format


1  ADCNS?  ACTION (
2.1! ADD
2.1 SETDEFAULT
1 )  CONDDEPCONDID (
2.1 owning condition ID
1 )?  CONDDEPCSEL (
2.1! C
2.1 S
2.1 A
2.1 R
1 )?  CONDDEPPREADID (
2.1 predecessor application ID
1 )  CONDDEPPREWSID (
2.1 predecessor workstation
1 )  CONDDEPPREOPNO (
2.1 predecessor operation number
1 )  CONDDEPPROCSTEP (
2.1 step name
1 )  CONDDEPSTEPNAME (
2.1 procedure invocation step name
1 )?  CONDDEPDEPTYPE (
2.1! I
2.1 E
1 )  CONDDEPTYPE (
2.1 ST
2.1 RC
1 )  CONDDEPLOG (
2.1 EQ
2.1 GE
2.1 GT
2.1 LE
2.1 LT
2.1 NE
2.1 RG
1 )?  CONDDEPVALST (
2.1 status
1 )?  CONDDEPVALRC1 (
2.1 return code
1 )?  CONDDEPVALRC2 (
2.1 second boundary return code
1 )

Restrictions

You cannot use ACTION(SETDEFAULT) to set default values for the following keywords:
  • CONDDEPCONDID
  • CONDDEPPREADID
  • CONDDEPPREWSID
  • CONDDEPPREOPNO
  • CONDDEPDEPTYPE
  • CONDDEPTYPE
  • CONDDEPLOG

Parameters

ACTION (SETDEFAULT | ADD)
If you specify SETDEFAULT, all the other values that you set in the ADCNS statement become the default values for all the ADCNS statements that follow. The application description database is not updated. The parameters that you do not set, are assigned their standard defaults.

If you specify ADD or use it by default, the statement can result in an update of the database.

CONDDEPCONDID(owning condition ID)
Owning condition identifier. Valid values are from 1 to 999.
CONDDEPCSEL(C | S | A | R)
Specifies on which basis a matching predecessor is selected. Can be one of the following values:
C
Closest preceding. The matching predecessor is the one with the nearest preceding input arrival time. This is the default.
S
Same scheduled date. The matching predecessor is the one with the nearest input arrival time within the same day of the operation (occurrence) under consideration. A matching predecessor is first searched before the IA time of the operation. Then, if not found, it is searched after the IA time of the operation.
A
Within an absolute interval. The matching predecessor is the one with the closest input arrival time in the specified interval. The interval boundaries are specified by a time and a number of days before or after the IA time of the operation (occurrence). The interval can be timed entirely before, entirely after, or across the IA time of the operation (occurrence).

If you select this option, the ADCIV statement must follow ADCNS with the specification of the interval boundaries.

R
Within a relative interval. The matching predecessor is the one with the closest input arrival time in the specified interval. The interval boundaries are calculated using an offset expressed in hours and minutes before or after the IA time of the operation (occurrence). The interval can be timed entirely before, entirely after, or across the IA time of the operation (occurrence).

If you select this option, the ADCIV statement must follow ADCNS with the specification of the interval boundaries.

CONDDEPPREADID(predecessor application ID)
If the predecessor operation is in a different application from the one being built, or is in a different occurrence of the same application, you must identify the application ID with this keyword. If you use DBCS characters, you must enter them as a quoted string started by a shift-out and ended by a shift-in.
CONDDEPPREWSID(predecessor workstation)
The four-character workstation name of a predecessor operation to this operation.
CONDDEPPREOPNO(predecessor operation number)
The operation number of a predecessor operation to this operation.
CONDDEPPROCSTEP(step name)
Use it to define a step level dependency. If the step is not in a procedure, this parameter identifies the job step name, otherwise it identifies the step name in the JCL procedure. It must correspond to the name of an EXEC PGM= statement.
CONDDEPSTEPNAME(procedure invocation step name)
Use it in conjunction with CONDDEPPROCSTEP when defining a step level dependency, only if the step is in a procedure, to identify the name of a step that invokes an in-stream or cataloged procedure. It must correspond to the name of an EXEC PROC= statement.
CONDDEPDEPTYPE(E | I)
Depending on the dependency type (internal or external), specify one of the following values:
E
External predecessor.
I
Internal predecessor.
CONDDEPTYPE(RC | ST)
Depending on the type of check that you require on the predecessor, specify one of the following values:
ST
To check the predecessor status. It does not apply to step dependencies.
RC
To check the predecessor return code.
CONDDEPLOG(GE | GT | LE | LT | NE | RG | EQ)
Depending on the type of check that you require on the predecessor, specify one of the following logical operators:
EQ
Equal to.
GE
Greater than or equal to. Valid only for RC as CONDDEPTYPE value.
GT
Greater than. Valid only for RC as CONDDEPTYPE value.
LE
Less than or equal to. Valid only for RC as CONDDEPTYPE value.
LT
Less than. Valid only for RC as CONDDEPTYPE value.
NE
Not equal to. Use it to specify conditions on final statuses only.
RG
Range.
CONDDEPVALST(status)
Status. Valid only for ST as CONDDEPTYPE value.
CONDDEPVALRC1(return code)
Return code value. Valid only for RC as CONDDEPTYPE value.
CONDDEPVALRC2(second boundary return code)
Return code value, as second boundary in a range expressed by the RG logical operator.

Examples

This example defines a condition including two condition dependencies:

ADCNC CONDID(  3) CONDDEPNO(2) CONDCOUNT(1)
      CONDDESCR('WITH 2 COND.DEPS') 
ADCNS   CONDDEPCONDID( 3)    
        CONDDEPPREADID(APPL1)
        CONDDEPPREWSID(CPU1) 
        CONDDEPPREOPNO(2)    
        CONDDEPDEPTYPE(E)    
        CONDDEPTYPE(ST)      
        CONDDEPLOG(EQ)       
        CONDDEPVALST(X)      
        CONDDEPCSEL(A)
ADCIV   ADCIVADID(APPL1) 
        ADCIVCID(3) 
        ADCIVOPNO(2) 
        ADCIVTYPE(R)  
        ADCIVFWHE(B)
        ADCIVFHHH(026) 
        ADCIVFMM(30) 
        ADCIVTWHE(A) 
        ADCIVTHHH(032) 
        ADCIVTMM(00)
ADCNS   CONDDEPCONDID( 3)    
        CONDDEPPREADID(APPL1)
        CONDDEPPREWSID(CPU1) 
        CONDDEPPREOPNO(2)    
        CONDDEPPROCSTEP(STEP100)
        CONDDEPDEPTYPE(E)    
        CONDDEPTYPE(RC)
        CONDDEPLOG(RG)       
        CONDDEPVALRC1(4)
        CONDDEPVALRC2(8)      

The first dependency is to be resolved by finding the matching predecessor within an absolute interval, as defined by the value of CONDDEPCSEL. The details of the interval are defined by the ADCIV statement.

This example shows the complete definition of application APPLBLADDEP1 inclusive of its conditional dependencies.
OPTIONS SUBSYS(TFFR) ACTION(REPLACE) DURUNIT(SECONDS)       
ADSTART ADID(APPLBLADDEP1) OWNER(RITABL) DESCR('BL ADDDEP') 
ADOP WSID(CPU1) OPNO(001) JOBN(JOBB)                        
ADCNC CONDID(10) CONDDEPNO(4) CONDCOUNT(1)                  
ADCNS CONDDEPCONDID(10) CONDDEPCSEL(A)                      
CONDDEPPREADID(APPLBLADCNSPRE) CONDDEPPREWSID(CPU1)         
CONDDEPPREOPNO(006) CONDDEPDEPTYPE(E)                       
CONDDEPTYPE(ST) CONDDEPLOG(EQ) CONDDEPVALST(C)              
ADCIV ADCIVADID(APPLBLADCNSPRE) ADCIVOPNO(6) ADCIVCID(10)   
ADCIVTYPE(A)                                                
ADCIVFWHE(A) ADCIVFHH(00) ADCIVFMM(19) ADCIVFD(7)           
ADCIVTWHE(A) ADCIVTHH(0) ADCIVTMM(20) ADCIVTD(7)            
ADCNS CONDDEPCONDID(10) CONDDEPCSEL(A)                      
CONDDEPPREADID(APPLBLADCNSPRE) CONDDEPPREWSID(CPU1)         
CONDDEPPREOPNO(005) CONDDEPDEPTYPE(E)                       
CONDDEPTYPE(ST) CONDDEPLOG(EQ) CONDDEPVALST(C)              
ADCIV ADCIVADID(APPLBLADCNSPRE) ADCIVOPNO(5) ADCIVCID(10)   
ADCIVTYPE(A)                                                
ADCIVFWHE(B) ADCIVFHH(10) ADCIVFMM(20) ADCIVFD(3)           
ADCIVTWHE(A) ADCIVTHH(23) ADCIVTMM(20) ADCIVTD(7)           
ADCNS CONDDEPCONDID(10) CONDDEPCSEL(R)                      
CONDDEPPREADID(APPLBLADCNSPRE) CONDDEPPREWSID(CPU1)         
CONDDEPPREOPNO(004) CONDDEPDEPTYPE(E)                       
CONDDEPTYPE(ST) CONDDEPLOG(EQ) CONDDEPVALST(C)              
ADCIV ADCIVADID(APPLBLADCNSPRE) ADCIVOPNO(4) ADCIVCID(10)   
ADCIVTYPE(R)                                                
ADCIVFWHE(B) ADCIVFHHH(0) ADCIVFMM(0)                       
ADCIVTWHE(A) ADCIVTHHH(0) ADCIVTMM(0)                        
ADCNS CONDDEPCONDID(10) CONDDEPCSEL(S)                       
CONDDEPPREADID(APPLBLADCNSPRE) CONDDEPPREWSID(CPU1)          
CONDDEPPREOPNO(003) CONDDEPDEPTYPE(E)                        
CONDDEPTYPE(ST) CONDDEPLOG(EQ) CONDDEPVALST(C)               
ADCNC CONDID(20) CONDDEPNO(4) CONDCOUNT(1)                   
ADCNS CONDDEPCONDID(20) CONDDEPCSEL(A)                       
CONDDEPPREADID(APPLBLADCNSPRE) CONDDEPPREWSID(CPU1)          
CONDDEPPREOPNO(006) CONDDEPDEPTYPE(E)                        
CONDDEPTYPE(ST) CONDDEPLOG(EQ) CONDDEPVALST(C)               
ADCIV ADCIVADID(APPLBLADCNSPRE) ADCIVOPNO(6) ADCIVCID(20)    
ADCIVTYPE(A)                                                 
ADCIVFWHE(A) ADCIVFHH(00) ADCIVFMM(19) ADCIVFD(7)            
ADCIVTWHE(A) ADCIVTHH(0) ADCIVTMM(20) ADCIVTD(7)             
ADCNS CONDDEPCONDID(20) CONDDEPCSEL(A)                       
CONDDEPPREADID(APPLBLADCNSPRE) CONDDEPPREWSID(CPU1)          
CONDDEPPREOPNO(005) CONDDEPDEPTYPE(E)                        
CONDDEPTYPE(ST) CONDDEPLOG(EQ) CONDDEPVALST(C)               
ADCIV ADCIVADID(APPLBLADCNSPRE) ADCIVOPNO(5) ADCIVCID(20)    
ADCIVTYPE(A)                                                 
ADCIVFWHE(B) ADCIVFHH(10) ADCIVFMM(20) ADCIVFD(3)            
ADCIVTWHE(A) ADCIVTHH(23) ADCIVTMM(20) ADCIVTD(7)            
ADCNS CONDDEPCONDID(20) CONDDEPCSEL(R)                       
CONDDEPPREADID(APPLBLADCNSPRE) CONDDEPPREWSID(CPU1)          
CONDDEPPREOPNO(004) CONDDEPDEPTYPE(E)                        
CONDDEPTYPE(ST) CONDDEPLOG(EQ) CONDDEPVALST(C)               
ADCIV ADCIVADID(APPLBLADCNSPRE) ADCIVOPNO(4) ADCIVCID(20)    
ADCIVTYPE(R)                                                 
ADCIVFWHE(B) ADCIVFHHH(0) ADCIVFMM(0)                        
ADCIVTWHE(A) ADCIVTHHH(0) ADCIVTMM(0)                        
ADCNS CONDDEPCONDID(20) CONDDEPCSEL(S)                       
CONDDEPPREADID(APPLBLADCNSPRE) CONDDEPPREWSID(CPU1)          
CONDDEPPREOPNO(003) CONDDEPDEPTYPE(E)                        
CONDDEPTYPE(ST) CONDDEPLOG(EQ) CONDDEPVALST(C)               
ADDEP PREADID(APPLBLADCNSPRE) PREOP(001) PREMAND(P)          
ADRUN NAME(RULE1) RULE(4) TYPE(R) IATIME(0400) DLTIME(2300)  
ADRULE EVERY DAY(DAY) YEAR