PL 1 or PL I (Programming Language One) is part of the mainframe dependencies engine in AWS Blu Insights. It is handled among all other types of files, including Cobol for example. Below are listed the supported statements for dependencies detection.
XINCLUDE / -INC / ++INCLUDE / %INCLUDE
The call on -INC
implies dependencies on .CPY, .PLI, .PL1 or .INC files.
- XINCLUDE / -INC /++INCLUDE ‘FILE’
- XINCLUDE / -INC /++INCLUDE “FILE”
- XINCLUDE / -INC /++INCLUDE FILE
PROC
We expect to find dependencies of any extension.
- FILE: PROC
CALL
We expect to find dependencies of any extension.
- CALL FILE
It’s also possible to call a procedure with the same syntax
- CALL PROC
If the procedure is declared inside the file or inside an included file (via a %INCLUDE for example) it will create no dependency.
Also, if the called procedure is declared as a parameter of type entry (or an alias of entry), no dependency will be created, as the name of the procedure will be given dynamically.
A call to a procedure declared extern or generic will not be considered as a missing dependency.
-
DCL myExtProc Ext Entry(FORMAT);
- DCL myGenericProc Generic
Here myExtProc is declared as an external procedure and myGenericProc as a generic procedure, they will not appear in the dependencies.
EXEC CICS
DELETE / READ / WRITE / REWRITE FILE
We support several calls on DELETE / READ / WRITE / REWRITE _FILE_
, the call itself could be on multiple lines or not. We expect to find dependencies of any extension but .CBL, .COB and .CPY.
- EXEC CICS DELETE / READ / WRITE / REWRITE FILE(“FILE”) … END-EXEC
- EXEC CICS DELETE / READ / WRITE / REWRITE FILE(‘FILE’) … END-EXEC
- EXEC CICS DELETE / READ / WRITE / REWRITE FILE(FILE_VAR) … END-EXEC that implies dependencies on the values of
FILE_VAR
including its initial value and all the values set with aMOVE ... TO _FILE_VAR_
operation. The variable can be declared in the same file as the call or in one of its imported copybooks.
LINK / XCTL PROGRAM
We support several calls on LINK _PROGRAM_
, the call itself could be on multiple lines or not. We expect to find dependencies of any extension.
- EXEC CICS LINK / XCTL PROGRAM(“PROGRAM”) … END-EXEC that implies a dependency on a file named “PROGRAM”
- EXEC CICS LINK / XCTL PROGRAM(‘PROGRAM’) … END-EXEC that implies a dependency on a file named “PROGRAM”
- EXEC CICS LINK / XCTL PROGRAM(PROGRAM_VAR) … END-EXEC that implies dependencies on the values of
_PROGRAM_VAR_
including its initial value and all the values set with aMOVE ... TO PROGRAM_VAR
operation. The variable can be declared in the same file as the call or in one of its imported copybooks.
SEND / RECEIVE MAP and SEND / RECEIVE MAPSET
We support several calls on RECEIVE MAP
, the call itself could be on multiple lines or not. We expect to find dependencies of any extension but .CBL, .COB and .CPY :
EXEC CICS SEND / RECEIVE MAP / MAPSET(“_MAP_”) ... END-EXEC
that implies a dependency on a file named “MAP”EXEC CICS SEND /RECEIVE MAP / MAPSET('_MAP_') ... END-EXEC
that implies a dependency on a file named “MAP”EXEC CICS SEND /RECEIVE MAP / MAPSET(_MAP_VAR_) ... END-EXEC
that implies dependencies on the values ofMAP_VAR
including its initial value and all the values set with aMOVE ... TO MAP_VAR
operation. The variable can be declared in the same file as the call or in one of its imported copybooks.
EXEC CICS … TRANSID
EXEC CICS exec-cics-verb TRANSID(“transaction-name”) ... END-EXEC
implies a dependency on a “TRANSACTION” object named “transaction-name”EXEC CICS exec-cics-verb TRANSID('transaction-name'”) ... END-EXEC
implies a dependency on a “TRANSACTION” object named “transaction-name”EXEC CICS exec-cics-verb TRANSID(variable-name) ... END-EXEC
implies a dependency on all “TRANSACTION” objects referenced by the variable “variable-name”
“exec-cics-verb” can be one of the following
- START: start transaction
- RETURN: return transaction
EXEC SQL
We support several calls on EXEC SQL
, the call itself could be on multiple lines or not. We expect to find the dependencies of any extension. The dependencies are detected for the following operations in the request :
EXEC SQL ... FROM TABLE1, TABLE2 ... END-EXEC
whereTABLE1
andTABLE2
are files corresponding to SQL tables.TABLE2
is optional and if there are only two tables, commas aren’t needed.EXEC SQL ... INSERT INTO TABLE1 ... END-EXEC
whereTABLE1
is a file corresponding to a SQL table.EXEC SQL ... JOIN TABLE1 T1 ON ... END-EXEC
whereTABLE1
is a file corresponding to a SQL table and T1 is an optional alias forTABLE1
used in the rest of the request.EXEC SQL ... UPDATE TABLE1 SET ... END-EXEC
whereTABLE1
is a file corresponding to a SQL table.
EXEC SQL INCLUDE / SOURCE
The call on EXEC SQL INCLUDE
implies dependencies on .CPY, .PLI, .PL1 or .INC files.
EXEC SQL INCLUDE / SOURCE '_FILE_' ... END-EXEC
EXEC SQL INCLUDE/ SOURCE "_FILE_" ... END-EXEC
EXEC SQL INCLUDE/ SOURCE _FILE_ ... END-EXEC