PL/I items

The following table shows how the Rational® Asset Analyzer scanner handles certain PL/I items. These results do not apply if you are using compiler-based scanning.

In PL/I source Result in report
Inline PL/I in JCL Treated as JCL
PL/I macros Not expanded 1
PACKAGE and DEFAULT Ignored
Data type of a data item that is not declared Assumed to be CHAR(1)
File variables used in READ or WRITE statements Data store and data record information is not generated.
OR and NOT operators The scanner assumes that the standard characters are used and does not allow substitution. 2
Precompiler statements (except %INCLUDE) Ignored
PL/I keywords used as data item names Many 3 are treated as reserved words and appear under "Programs with syntax errors."  However, Rational Asset Analyzer can analyze these PL/I keywords that are used for procedure names or label names.
  1. The scanner supports macros that are like statements:
    MACROX P1(A) P2(B); 

    It also supports macros that are like function calls:

    A=MACROY(B,C);
  2. PL/I has operators that have code page dependencies, such as | (the "or" operator), || (the "concat" operator), and the caret (the "not" operator) symbols. You can use the following compiler options in PL/I for MVS™ and VM and VisualAge® PL/I:
    • (OR) to specify valid characters for the OR symbol
    • (NOT) to specify valid characters for the NOT symbol
  3. The table below lists PL/I keywords that are handled as reserved words.

The scanner assumes the following values for these PL/I compiler options:

Compiler option Assumed value
MARGINS 2 - 72
OR  '|'
NOT 0x5F

This table shows PL/I keywords that are handled as reserved words. The abbreviated forms shown in parentheses () are also handled as reserved words.

  • ALIGNED
  • ALLOCATE (ALLOC)
  • ANYCONDITION (ANYCOND)
  • ASSEMBLER (ASM)
  • ATTENTION (ATTN)
  • AUTOMATIC (AUTO)
  • BASED
  • BINARY (BIN)
  • BIT
  • BUILTIN
  • BY
  • CALL
  • CHARGRAPHIC (CHARG)
  • CLOSE
  • COBOL
  • COMPLEX (CPLX)
  • CONDITION (COND)
  • DECIMAL (DEC)
  • DECLARE (DCL)
  • DEFAULT (DFT)
  • DEFINED (DEF)
  • DELAY
  • DELETE
  • DIMENSION (DIM)
  • DO
  • DOWNTHRU
  • ELSE
  • ENVIRONMENT (ENV)
  • EVENT
  • EXIT
  • EXPORTS
  • EXTERNAL (EXT)
  • FETCH
  • FINISH
  • FIXED
  • FIXEDOVERFLOW (FOFL)
  • FLOAT
  • FLUSH
  • FORMAT
  • FORTRAN
  • FREE
  • GENERIC
  • GET
  • GOTO
  • GRAPHIC
  • IF
  • IGNORE
  • INITIAL (INIT)
  • INTER
  • INTERNAL (INT)
  • INTO
  • ITERATE
  • IRREDUCIBLE (IRRED)
  • KEYFROM
  • KEYTO
  • LIKE
  • LOCATE
  • NOCHARGRAPHIC (NOCHARG)
  • NOCHECK
  • NOCONVERSION (NOCONV)
  • NOEXECOPS
  • NOFIXEDOVERFLOW (NOFOFL)
  • NOLOCK
  • NOMAP
  • NOMAPIN
  • NOMAPOUT
  • NONVARYING (NONVAR)
  • NOOVERFLOW (NOOFL)
  • NOSIZE
  • NOSTRINGRANGE (NOSTRG)
  • NOSTRINGSIZE (NOSTRZ)
  • NOSUBSCRIPTRANGE (NOSUBRG)
  • NOUNDERFLOW (NOUFL)
  • NOZERODIVIDE (NOZDIV)
  • OFFSET
  • OPEN
  • OPTIONS
  • ORDER
  • OTHERWISE (OTHER)
  • OVERFLOW (OFL)
  • PACKAGE
  • PENDING
  • PICTURE (PIC)
  • POINTER (PTR)
  • PRECISION
  • PRIORITY
  • PROCEDURE (PROC)
  • PUT
  • RANGE
  • READ
  • REAL
  • RECURSIVE
  • REDUCIBLE (RED)
  • REENTRANT
  • REFER
  • RELEASE
  • REORDER
  • REPEAT
  • RESERVES
  • RESIGNAL
  • RETURN
  • RETURNS
  • REWRITE
  • SELECT
  • SET
  • SIGNED
  • SNAP
  • STATIC
  • STRINGRANGE (STRG)
  • STRINGSIZE (STRZ)
  • SUBSCRIPTRANGE (SUBRG)
  • TASK
  • THEN
  • TRANSMIT
  • UNALIGNED (UNAL)
  • UNDEFINEDFILE (UNDF)
  • UNDERFLOW (UFL)
  • UNLOCK
  • UNTIL
  • UPTHRU
  • VARYINGZ (VARZ)
  • WAIT
  • WHEN
  • WHILE
  • WRITE
  • ZERODIVIDE (ZDIV)
  • SQL [Only with SQL option]
  • CICS® [Only with CICS option]
  • DLI [Only with IMS (EXEC DLL)option]
  • EXEC [Only with SQL, CICS or IMS (EXEC DLL) option]