Program Relationship Projections

Statement Format Relationships Entities
Main procedure   Program Has Program Entry Point ProgramEntry.Name=<source-name>

ProgramEntry.Main Entry Flag=true

Procedure specification
P name B EXPORT
Program Has Program Entry Point ProgramEntry.Name=<name>
CALL
CALL ‘name’
Program Calls Program Entry Point ProgramEntry.Name=<name>
CALL
CALL varname
Program Calls Program Entry Decision Decision attributes:
  • Name=<program-name>.<internal-name>
  • AKA=<program-name>.Calls.<varname>
  • Type=PROGRAMENTRY …
CALLB
CALLB ‘name’ …
Program Calls Bound Procedure Program Entry Point ProgramEntry.Name=<name>
CALLB
CALLB procptr
Program Calls Bound Procedure Decision Decision attributes:
  • Name=<program-name>.<internal-name>
  • AKA=<program-name>.CallsPrc.<procptr>
  • Type=PROGRAMENTRY …
CALLP
D name PR EXTPGM(‘ename’) 
C CALLP name
Program Calls Program Entry Point ProgramEntry.Name=<ename>
CALLP
D name PR EXTPGM (varname) 
C CALLP name
Program Calls Program Entry Decision Decision attributes:
  • Name=<program-name>.<internal-name>
  • AKA=<program-name>.Calls.<varname>
  • Type=PROGRAMENTRY …
CALLP
D name PR EXTPROC(‘ename’) 
C CALLP name 1)
Program Calls Bound Procedure Program Entry Point ProgramEntry.Name=<ename>
CALLP
D name PR EXTPROC(procptr) 
C CALLP name
Program Calls Bound Procedure Decision Decision attributes:
  • Name=<program-name>.<internal-name>
  • AKA=<program-name>.CallsPrc.<procptr>
  • Type=PROGRAMENTRY …
CALLP
D name PR C CALLP name 2)
Program Calls Bound Procedure Program Entry Point ProgramEntry.Name=<name>
File description (static)
F file-name
  external-file-name=<file-name>
File description (static)
F file-name EXTFILE(‘ExtFileName’)
  external-file-name=<ExtFileName>
File description (static)
F file-name EXTMBR(‘ExtMbrName’)
  external-file-name= <ExtMbrName>
File description (static)
F file-name EXTFILE(‘ExtFileName’) 
EXTMBR(‘ExtMbrName’)
  external-file-name= <ExtFileName>.<ExtMbrName>
File description (dynamic)
F file-name EXTFILE(varname)
  decision-var=<varname>
File description (dynamic)
F file-name EXTMBR(varname)
  decision-var=<varname>
File description (dynamic)
F file-name EXTFILE(varname) 
EXTMBR(varname2)
  decision-var=<varname>
File description (dynamic)
F file-name EXTFILE(varname) 
EXTMBR('ExtMbrName')
  decision-var=<varname>
CHAIN
F file-name (static-file-description) 3) 
C CHAIN record-name
Program Reads File File.Name=<program-name>.<file-name>

File.File Type=FILE

File.DD Name=<file-name>

CHAIN
F file-name (static-file-description) 3)
C CHAIN record-name
File Assigned To Data Store DataStore.Name=<external-file-name>

DataStore.DSNAME=<external-file-name>

CHAIN
F file-name (dynamic-file-description) 3)
C CHAIN record-name
Program Reads File Decision Decision attributes:
  • Name=<program-name>.<internal-name>
  • AKA=<program-name>.ReadsDataPort.<decision-var>
  • Type=DATAPORT …
DELETE
F file-name (static-file-description) 3)
C DELETE record-name
Program Deletes From File File.Name=<program-name>.<file-name>

File.File Type=FILE File.DD Name=<file-name>

DELETE
F file-name (static-file-description) 3
C DELETE record-name
File Assigned To Data Store DataStore.Name=<external-file-name>Data Store.DSNAME=<external-file-name>
DELETE
F file-name (dynamic-file-description) 3)
C DELETE record-name
Program Deletes From File Decision Decision attributes:
  • Name=<program-name>.<internal-name>
  • AKA=<program-name>.DeletesDataPort.<decision-var>
  • Type=DATAPORT …
EXFMT
F file-name WORKSTN (static-file-description) 3)
C EXFMT record-name
Program Sends/Receives Screen Screen.Name= <external-file-name>.<record-name>
EXFMT
F file-name WORKSTN (dynamic-file-description) 3
C EXFMT record-name
Program Sends/Receives Screen Decision Decision attributes:
  • Name=<program-name>.<internal-name>
  • AKA=<program-name>.SendsReceives.<decision-var>
  • Type=MAP …
READ, READE, READP, READPE,
F file-name (static-file-description) 3)
C READ record-name
Program Reads File File.Name=<program-name>.<file-name>

File.File Type=FILE File.DD Name=<file-name>

READ, READE, READP, READPE,
F file-name (static-file-description) 3)
C READ record-name
File Assigned To Data Store DataStore.Name=<external-file-name>

DataStore.DSNAME=<external-file-name>

READ, READE, READP, READPE,
F file-name (dynamic-file-description) 3)
C READ record-name
Program Reads File Decision Decision attributes:
  • Name=<program-name>.<internal-name>
  • AKA=<program-name>.ReadsDataPort.<decision-var>
  • Type=DATAPORT …
READ, READE, READP, READPE,
F file-name WORKSTN (static-file-description) 3)
C READ record-name
Program Receives Screen Screen.Name= <external-file-name>.<record-name>
READ, READE, READP, READPE,
F file-name WORKSTN (dynamic-file-description) 3)
C READ record-name
Program Receives Screen Decision Decision attributes:
  • Name=<program-name>.<internal-name>
  • AKA=<program-name>.Receives.<decision-var>
  • Type=MAP …
WRITE
F file-name (static-file-description) 3)
C WRITE record-name
Program Inserts Into File File.Name=<program-name>.<file-name>

File.File Type=FILE

File.DD Name=<file-name>

WRITE
F file-name (static-file-description) 3)
C WRITE record-name
File Assigned To Data Store DataStore.Name=<external-file-name>Data Store.DSNAME=<external-file-name>
WRITE
F file-name (dynamic-file-description) 3)
C WRITE record-name
Program Inserts Into File Decision Decision attributes:
  • Name=<program-name>.<internal-name>
  • AKA=<program-name>.InsertsDataPort.<decision-var>
  • Type=DATAPORT …
WRITE
F file-name WORKSTN (static-file-description) 3)
C WRITE record-name
Program Sends Screen Screen.Name= <external-file-name>.<record-nam
WRITE
F file-name WRKSTN (dynamic-file-description) 3)
C WRITE record-name
Program Sends Screen Decision Decision attributes:
  • Name=<program-name>.<internal-name>
  • AKA=<program-name>.Sends.<decision-var>
  • Type=MAP …
UPDATE
F file-name (static-file-description) 3)
C UPDATE record-name
Program Updates File File.Name=<program-name>.<file-name>

File.File Type=FILE

File.DD Name=<file-name>

UPDATE
F file-name (static-file-description) 3)
C UPDATE record-name
File Assigned To Data Store DataStore.Name=<external-file-name>Data Store.DSNAME=<external-file-name>
UPDATE
F file-name (dynamic-file-description) 3)
C UPDATE record-name
Program Updates File Decision Decision attributes:
  • Name=<program-name>.<internal-name>
  • AKA=<program-name>.UpdatesDataPort.<decision-var>
  • Type=DATAPORT …
UPDATE
F file-name WORKSTN (static-file-description) 3)
C UPDATE record-name
Program Sends Screen Screen.Name= <external-file-name>.<record-name>
UPDATE
F file-name WORKSTN (dynamic-file-description) 3
C UPDATE record-name
Program Sends Screen Decision Decision attributes:
  • Name=<program-name>.<internal-name>
  • AKA=<program-name>.Sends.<decision-var>
  • Type=MAP …