PL1 – PL I – Programming Language One

PL 1 or PL I (Programming Language One) is part of the mainframe dependencies engine in BluInsights. It is handled among all other type of files including Cobol for example. Below are listed the supported statements for dependencies detection.

 

XINCLUDE / -INC / ++INCLUDE /

The call on -INC implies dependencies on .CPY, .PLI or .PL1 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
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 a MOVE ... 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 a MOVE ... 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 of MAP_VAR including its initial value and all the values set with a MOVE ... TO MAP_VAR operation. The variable can be declared in the same file as the call or in one of its imported copybooks.
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 where TABLE1 and TABLE2 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 where TABLE1 is a file corresponding to a SQL table.
  • EXEC SQL ... JOIN TABLE1 T1 ON ... END-EXEC where TABLE1 is a file corresponding to a SQL table and T1 is an optional alias for TABLE1 used in the rest of the request.
  • EXEC SQL ... UPDATE TABLE1 SET ... END-EXEC where TABLE1 is a file corresponding to a SQL table.
EXEC SQL INCLUDE / SOURCE

The call on EXEC SQL INCLUDE implies dependencies on .CPY, .PLI or .PL1 files.

  • EXEC SQL INCLUDE / SOURCE '_FILE_' ... END-EXEC
  • EXEC SQL INCLUDE/ SOURCE "_FILE_" ... END-EXEC
  • EXEC SQL INCLUDE/ SOURCE _FILE_ ... END-EXEC