z/OS Assembler - 1.2
Description
The extension provides support for applications written using z/OS Assembler Languages.
Download and installation instructions
The extension will be automatically downloaded and installed when any of the file types listed below are delivered in the source code. It can be managed through the Application → Extensions interface.
Supported file types
| Code type | Supported file extension | Required? |
|---|---|---|
| Assembler | *.asm |
✅ |
| Assembler Macros | *.asmacro, *.mlc |
✅ |
Technology support
The extension analyzes Assembler source code written in the HLASM fixed format (columns 1 to 71, continuation in column 72). The following Assembler and operating system releases are covered:
| Scope | Assembler / OS releases | Supported | Comment |
|---|---|---|---|
| HLASM on z/OS | HLASM R4–R6 on z/OS 1.1 to 3.2, including the z/Architecture instructions added by PTF up to z17 | ✅ | |
| HLASM on OS/390 and MVS/ESA | HLASM R1–R3 on MVS/ESA SP 4–5 and OS/390 1.x–2.10 | ✅ | Same language and OS macros as z/OS. |
| Assembler H V2 legacy source | MVS/XA and MVS/ESA SP 3 (1983–1992) | ✅ | HLASM accepts Assembler H V2 source unchanged. |
| DOS/VSE line | DOS/VS and DOS/VSE Assembler; HLASM on VSE/ESA, z/VSE 3.1–6.2 and VSEn 6.3 | ⚠️ | Programs, calls and SQL queries are analyzed, but VSE system macros (DTFxx, CDLOAD, GETVIS) and VSE JCL are not interpreted. |
| z/TPF (and TPF/ALCS) | Assembler code using TPF macros (ENTRC, FINDC and similar) | ❌ | TPF macros are not interpreted. |
Transactions
Transaction support is derived from metamodel concepts used to build CAST Imaging Blueprint and structural transaction flows. Entry Points start transactions; Exit Points include both output/boundary concepts and Data Entities manipulated by transactions.
| Role | Support | Breakdown |
|---|---|---|
| Entry Point | No direct concept type details | |
| Exit Point |
Unresolved Storage
Data Entities
|
Data version: 1.1.0-funcrel
ISO 5055 Structural Rules
Quality support is based on ISO 5055 structural rules available for the selected extension version.
| Reliability | Maintainability | Security | Performance Efficiency |
|---|---|---|---|
Data version: 1.1.0-funcrel
What results can you expect?
The Analysis Results pages give a small example of source code for each object and link listed in the Objects tables and the Links section below, where each link is illustrated and points to its example:
Calls between Assembler programs and to other programs
Links between Assembler Program objects and the programs they call. A call to an Assembler program of the same analysis is linked directly to that Assembler Program object. A call to any other program goes to a z/OS Assembler Call to Generic Program object, which Universal Linker then links to the program of that name: an Assembler program of another analysis unit, or a program written in another language such as COBOL or PL/I.
For example, the following file ASMMAIN.asm is analyzed with the Assembler program ASMUTIL, the COBOL program COBPGM1 and the PL/I program PLIPGM1. NOPGM is not part of the analysis:
*---------------------------------------------------------------------*
* ASMMAIN: entry program, calls one program of each kind *
* ASMUTIL Assembler -> called directly (same analysis) *
* COBPGM1 COBOL -> resolved cross-technology *
* PLIPGM1 PL/I -> resolved cross-technology *
* NOPGM not delivered -> unresolved *
*---------------------------------------------------------------------*
ASMMAIN CSECT
STM 14,12,12(13)
LR 12,15
USING ASMMAIN,12
CALL ASMUTIL
CALL COBPGM1
CALL PLIPGM1
CALL NOPGM
L 13,4(13)
LM 14,12,12(13)
BR 14
END
- ASMMAIN calls ASMUTIL directly, since ASMUTIL is an Assembler program of the same analysis.
- ASMMAIN calls the z/OS Assembler Call to Generic Program objects COBPGM1, PLIPGM1 and NOPGM. Universal Linker links COBPGM1 to the COBOL program and PLIPGM1 to the PL/I main procedure of that name. NOPGM stays unresolved.
In CAST Imaging, a z/OS Assembler Call to Generic Program object that is linked to a called program may be merged with that program, so ASMMAIN is shown as calling COBPGM1 and PLIPGM1 directly:

An unresolved z/OS Assembler Call to Generic Program object, such as NOPGM, is shown as its own object:

Calls from COBOL and PL/I programs to Assembler programs
Links from programs of other languages to Assembler Program objects. The analyzer of the calling program cannot resolve a call to an Assembler program, so it links the calling program to an object for the unresolved program: a COBOL program prototype for the Mainframe Analyzer, a PLI Missing Program for the PL/1 Analyzer. Universal Linker then links that object to the Assembler program of that name.
In the sample above, COBPGM1.cbl calls ASMUTIL with a CALL statement:
IDENTIFICATION DIVISION.
PROGRAM-ID. COBPGM1.
* CALLED BY ASMMAIN, CALLS THE ASSEMBLER PROGRAM ASMUTIL
PROCEDURE DIVISION.
CALL 'ASMUTIL'.
GOBACK.
and PLIPGM1.pli calls ASMUTIL, declared as an Assembler entry:
/* CALLED BY ASMMAIN, CALLS THE ASSEMBLER PROGRAM ASMUTIL */
PLIPGM1: PROCEDURE OPTIONS(MAIN);
DCL ASMUTIL ENTRY OPTIONS(ASM);
CALL ASMUTIL;
END PLIPGM1;
In the first image above, CAST Imaging merges the COBOL program prototype and the PLI Missing Program with ASMUTIL, so COBPGM1 and PLIPGM1 are shown as calling ASMUTIL directly.
Assembler programs loaded with EXEC CICS LOAD PROGRAM
The same applies to a program loaded with EXEC CICS LOAD PROGRAM. Here the COBOL program prototype ASMLOAD is shown between the COBOL program and the Assembler program:

The above result is produced from the following COBOL program COBCICS.cbl, analyzed with the Assembler program ASMLOAD:
IDENTIFICATION DIVISION.
PROGRAM-ID. COBCICS.
* CICS PROGRAM LOADING THE ASSEMBLER PROGRAM ASMLOAD
DATA DIVISION.
WORKING-STORAGE SECTION.
01 WS-PTR USAGE POINTER.
PROCEDURE DIVISION.
EXEC CICS LOAD PROGRAM('ASMLOAD') SET(WS-PTR) END-EXEC.
EXEC CICS RETURN END-EXEC.
SQL queries
Links between Assembler Program objects and SQL Query objects:
The above result is produced from the following code snippet (EXEC SQL statement) in the file SCLM501C.asm:
...
EXEC SQL X
SELECT X
ORDR_ID, X
COUNT(*) X
INTO X
:DL51C001, X
:DL51CF02 X
FROM LM_ELEC_PAYMNT_PLCY X
WHERE ( X
ORDR_ID = :DL51C001 X
) X
GROUP BY X
ORDR_ID
QDBXX5RE
...
Objects
z/OS Assembler objects
z/OS Assembler EXEC CICS command objects
Links
z/OS Assembler links
z/OS Assembler Program → z/OS Assembler Program (CALL)
Created when a program contains a CALL name, LOAD EP=name, LINK EP=name, XCTL EP=name, ATTACH EP=name, PROGRAM('name'), or EXEC CICS LINK, XCTL or LOAD PROGRAM(data area) statement naming an Assembler program of the same analysis (case-insensitive), or a COPY statement naming a program file. Example: LOAD EP=.
z/OS Assembler Program → z/OS Assembler Call to Generic Program (CALL)
Created when a program contains a CALL name, LOAD EP=name, LINK EP=name, XCTL EP=name, ATTACH EP=name, PROGRAM('name'), or EXEC CICS LINK, XCTL or LOAD PROGRAM(data area) statement naming a program that is not an Assembler program of the same analysis. Example: Calls to a program of another language or analysis unit.
z/OS Assembler Program → z/OS Assembler Macro (CALL)
Created when a statement of a program uses as operation code the name of a macro file of the same analysis (case-insensitive), or when a COPY statement of the program names a macro file. Example: Macro invocations.
z/OS Assembler Program → z/OS Assembler Copy Member (CALL)
Created when a program contains a COPY statement naming a copy member file of the same analysis (case-insensitive). A member found in two libraries is linked twice. Example: Copy members.
z/OS Assembler Program → z/OS Assembler SQL Query (CALL)
Created for each EXEC SQL block of a program, with or without END-EXEC. Example: With END-EXEC.
z/OS Assembler Macro → z/OS Assembler Program (CALL)
Created when a macro file contains a CALL name, LOAD EP=name, LINK EP=name, XCTL EP=name, ATTACH EP=name, PROGRAM('name'), or EXEC CICS LINK, XCTL or LOAD PROGRAM(data area) statement naming an Assembler program of the same analysis (case-insensitive), or a COPY statement naming a program file. Example: Calls from a macro.
z/OS Assembler Macro → z/OS Assembler Call to Generic Program (CALL)
Created when a macro file contains a CALL name, LOAD EP=name, LINK EP=name, XCTL EP=name, ATTACH EP=name, PROGRAM('name'), or EXEC CICS LINK, XCTL or LOAD PROGRAM(data area) statement naming a program that is not an Assembler program of the same analysis. Example: Calls from a macro.
z/OS Assembler Macro → z/OS Assembler Macro (CALL)
Created when a macro file contains a COPY statement naming a macro file of the same analysis (case-insensitive). Example: Calls from a macro.
z/OS Assembler Macro → z/OS Assembler Copy Member (CALL)
Created when a macro file contains a COPY statement naming a copy member file of the same analysis (case-insensitive). Example: COPY in a macro.
z/OS Assembler Copy Member → z/OS Assembler Program (CALL)
Created when a copy member used by a COPY statement contains a CALL name, LOAD EP=name, LINK EP=name, XCTL EP=name, ATTACH EP=name, PROGRAM('name'), or EXEC CICS LINK, XCTL or LOAD PROGRAM(data area) statement naming an Assembler program of the same analysis (case-insensitive), or a COPY statement naming a program file. Example: Links from the code of a copy member.
z/OS Assembler Copy Member → z/OS Assembler Call to Generic Program (CALL)
Created when a copy member used by a COPY statement contains a CALL name, LOAD EP=name, LINK EP=name, XCTL EP=name, ATTACH EP=name, PROGRAM('name'), or EXEC CICS LINK, XCTL or LOAD PROGRAM(data area) statement naming a program that is not an Assembler program of the same analysis. Example: Links from the code of a copy member.
z/OS Assembler Copy Member → z/OS Assembler Macro (CALL)
Created when a statement of a copy member used by a COPY statement has as operation code the name of a macro file of the same analysis (case-insensitive), or when its own COPY statement names a macro file. Example: Links from the code of a copy member.
z/OS Assembler Copy Member → z/OS Assembler Copy Member (CALL)
Created when a copy member used by a COPY statement contains a COPY statement naming another copy member file of the same analysis (case-insensitive), level by level. Example: Nested copy members.
z/OS Assembler Copy Member → z/OS Assembler SQL Query (CALL)
Created for each EXEC SQL block of a copy member used by a COPY statement, with or without END-EXEC. Example: Links from the code of a copy member.
z/OS Assembler links — Cross-technology
These links are not created by this extension itself: Universal Linker, one of its dependencies, creates them by matching the name of each called program, ignoring case, with the programs of the application.
z/OS Assembler Call to Generic Program → Cobol Program (CALL)
Created by Universal Linker when the called program has the name of a COBOL program analyzed by the Mainframe Analyzer extension. Example: Calls to COBOL, PL/I and other Assembler programs.
z/OS Assembler Call to Generic Program → PLI MainProcedure (CALL)
Created by Universal Linker when the called program has the name of a PL/I main procedure analyzed by the PL/1 extension. Example: Calls to COBOL, PL/I and other Assembler programs.
z/OS Assembler Call to Generic Program → z/OS Assembler Program (CALL)
Created by Universal Linker when the called program has the name of an Assembler program of another analysis unit. Example: Calls to COBOL, PL/I and other Assembler programs.
Cobol Program → z/OS Assembler Program (CALL)
Created by Universal Linker when a COBOL program that the Mainframe Analyzer extension could not resolve, for example the target of a CALL or of an EXEC CICS LOAD PROGRAM(...), has the name of an Assembler program. Example: Calls from COBOL and PL/I programs to Assembler programs.
PLI Missing Program → z/OS Assembler Program (CALL)
Created by Universal Linker when a program that the PL/1 extension could not resolve, for example the target of a CALL to an entry declared with OPTIONS(ASM), has the name of an Assembler program. Example: Calls from COBOL and PL/I programs to Assembler programs.
z/OS Assembler links — Missing SQL objects
z/OS Assembler SQL Query → Missing Table (USE SELECT)
Created by the SQL Analyzer extension when the query selects from a table that is not in the analyzed database. Example: Missing tables and procedures.
z/OS Assembler SQL Query → Missing Table (USE INSERT)
Created by the SQL Analyzer extension when the query inserts into a table that is not in the analyzed database. Example: Missing tables and procedures.
z/OS Assembler SQL Query → Missing Table (USE UPDATE)
Created by the SQL Analyzer extension when the query updates a table that is not in the analyzed database. Example: Missing tables and procedures.
z/OS Assembler SQL Query → Missing Table (USE DELETE)
Created by the SQL Analyzer extension when the query deletes from a table that is not in the analyzed database. Example: Missing tables and procedures.
z/OS Assembler SQL Query → Missing Procedure (CALL)
Created by the SQL Analyzer extension when the query calls a procedure or function that is not in the analyzed database. Example: Missing tables and procedures.
z/OS Assembler EXEC CICS links
z/OS Assembler Program → z/OS Assembler CICS Write TD Queue (CALL)
Created for each EXEC CICS WRITEQ TD QUEUE(name) command of the program, when the name is a literal or the DC constant of a data area of the source. Example: TD queue commands.
z/OS Assembler Copy Member → z/OS Assembler CICS Write TD Queue (CALL)
Created for each EXEC CICS WRITEQ TD QUEUE(name) command of a copy member used by a COPY statement, when the name is a literal or the DC constant of a data area of the source. Example: Data area of the program that copies the copy member.
z/OS Assembler Program → z/OS Assembler CICS Read TD Queue (CALL)
Created for each EXEC CICS READQ TD QUEUE(name) command of the program, when the name is a literal or the DC constant of a data area of the source. Example: TD queue commands.
z/OS Assembler Copy Member → z/OS Assembler CICS Read TD Queue (CALL)
Created for each EXEC CICS READQ TD QUEUE(name) command of a copy member used by a COPY statement, when the name is a literal or the DC constant of a data area of the source. Example: Commands of a copy member.
z/OS Assembler Program → z/OS Assembler CICS Delete TD Queue (CALL)
Created for each EXEC CICS DELETEQ TD QUEUE(name) command of the program, when the name is a literal or the DC constant of a data area of the source. Example: TD queue commands.
z/OS Assembler Copy Member → z/OS Assembler CICS Delete TD Queue (CALL)
Created for each EXEC CICS DELETEQ TD QUEUE(name) command of a copy member used by a COPY statement, when the name is a literal or the DC constant of a data area of the source. Example: Commands of a copy member.
z/OS Assembler Program → z/OS Assembler CICS Read Dataset (CALL)
Created for each EXEC CICS READ FILE(name) (or DATASET(name)) command of the program, when the name is a literal or the DC constant of a data area of the source. Example: File commands.
z/OS Assembler Copy Member → z/OS Assembler CICS Read Dataset (CALL)
Created for each EXEC CICS READ FILE(name) (or DATASET(name)) command of a copy member used by a COPY statement, when the name is a literal or the DC constant of a data area of the source. Example: Commands of a copy member.
z/OS Assembler Program → z/OS Assembler CICS Write Dataset (CALL)
Created for each EXEC CICS WRITE FILE(name) (or DATASET(name)) command of the program, when the name is a literal or the DC constant of a data area of the source. Example: File commands.
z/OS Assembler Copy Member → z/OS Assembler CICS Write Dataset (CALL)
Created for each EXEC CICS WRITE FILE(name) (or DATASET(name)) command of a copy member used by a COPY statement, when the name is a literal or the DC constant of a data area of the source. Example: Commands of a copy member.
z/OS Assembler Program → z/OS Assembler CICS Rewrite Dataset (CALL)
Created for each EXEC CICS REWRITE FILE(name) (or DATASET(name)) command of the program, when the name is a literal or the DC constant of a data area of the source. Example: File commands.
z/OS Assembler Copy Member → z/OS Assembler CICS Rewrite Dataset (CALL)
Created for each EXEC CICS REWRITE FILE(name) (or DATASET(name)) command of a copy member used by a COPY statement, when the name is a literal or the DC constant of a data area of the source. Example: Commands of a copy member.
z/OS Assembler Program → z/OS Assembler CICS Delete Dataset (CALL)
Created for each EXEC CICS DELETE FILE(name) (or DATASET(name)) command of the program, when the name is a literal or the DC constant of a data area of the source. Example: File commands.
z/OS Assembler Copy Member → z/OS Assembler CICS Delete Dataset (CALL)
Created for each EXEC CICS DELETE FILE(name) (or DATASET(name)) command of a copy member used by a COPY statement, when the name is a literal or the DC constant of a data area of the source. Example: Commands of a copy member.
z/OS Assembler Program → z/OS Assembler CICS Browse Dataset (CALL)
Created for each EXEC CICS STARTBR, READNEXT or READPREV FILE(name) (or DATASET(name)) command of the program, when the name is a literal or the DC constant of a data area of the source. Example: File commands.
z/OS Assembler Copy Member → z/OS Assembler CICS Browse Dataset (CALL)
Created for each EXEC CICS STARTBR, READNEXT or READPREV FILE(name) (or DATASET(name)) command of a copy member used by a COPY statement, when the name is a literal or the DC constant of a data area of the source. Example: Commands of a copy member.
z/OS Assembler Program → z/OS Assembler CICS Start Transaction (CALL)
Created for each EXEC CICS START TRANSID(name) command of the program, when the name is a literal or the DC constant of a data area of the source. Example: Transaction commands.
z/OS Assembler Copy Member → z/OS Assembler CICS Start Transaction (CALL)
Created for each EXEC CICS START TRANSID(name) command of a copy member used by a COPY statement, when the name is a literal or the DC constant of a data area of the source. Example: Commands of a copy member.
z/OS Assembler Program → z/OS Assembler CICS Return Transaction (CALL)
Created for each EXEC CICS RETURN TRANSID(name) command of the program, when the name is a literal or the DC constant of a data area of the source. Example: Transaction commands.
z/OS Assembler Copy Member → z/OS Assembler CICS Return Transaction (CALL)
Created for each EXEC CICS RETURN TRANSID(name) command of a copy member used by a COPY statement, when the name is a literal or the DC constant of a data area of the source. Example: Commands of a copy member.
z/OS Assembler Program → z/OS Assembler CICS Cancel Transaction (CALL)
Created for each EXEC CICS CANCEL TRANSID(name) command of the program, when the name is a literal or the DC constant of a data area of the source. Example: Transaction commands.
z/OS Assembler Copy Member → z/OS Assembler CICS Cancel Transaction (CALL)
Created for each EXEC CICS CANCEL TRANSID(name) command of a copy member used by a COPY statement, when the name is a literal or the DC constant of a data area of the source. Example: Commands of a copy member.
z/OS Assembler Program → z/OS Assembler CICS Send Map (CALL)
Created for each EXEC CICS SEND MAP(name) command of the program, when the name is a literal or the DC constant of a data area of the source. Example: Map commands.
z/OS Assembler Copy Member → z/OS Assembler CICS Send Map (CALL)
Created for each EXEC CICS SEND MAP(name) command of a copy member used by a COPY statement, when the name is a literal or the DC constant of a data area of the source. Example: Commands of a copy member.
z/OS Assembler Program → z/OS Assembler CICS Receive Map (CALL)
Created for each EXEC CICS RECEIVE MAP(name) command of the program, when the name is a literal or the DC constant of a data area of the source. Example: Map commands.
z/OS Assembler Copy Member → z/OS Assembler CICS Receive Map (CALL)
Created for each EXEC CICS RECEIVE MAP(name) command of a copy member used by a COPY statement, when the name is a literal or the DC constant of a data area of the source. Example: Commands of a copy member.
z/OS Assembler EXEC CICS links — Cross-technology
These links are not created by this extension itself: Universal Linker, one of its dependencies, creates them by matching the name of each command, case-sensitively, with the CICS resources of the application.
z/OS Assembler CICS Write TD Queue → CICS Transient Data (ACCESS WRITE)
Created by Universal Linker when its queue name is the name of a CICS transient data queue (case-sensitive) of the CICS resources analyzed by the Mainframe Analyzer extension. Example: Links to the CICS resources.
z/OS Assembler CICS Read TD Queue → CICS Transient Data (ACCESS READ)
Created by Universal Linker when its queue name is the name of a CICS transient data queue (case-sensitive) of the CICS resources analyzed by the Mainframe Analyzer extension. Example: Links to the CICS resources.
z/OS Assembler CICS Delete TD Queue → CICS Transient Data (ACCESS WRITE)
Created by Universal Linker when its queue name is the name of a CICS transient data queue (case-sensitive) of the CICS resources analyzed by the Mainframe Analyzer extension. Example: Links to the CICS resources.
z/OS Assembler CICS Read Dataset → CICS DataSet (ACCESS READ)
Created by Universal Linker when its file name is the name of a CICS file (case-sensitive) of the CICS resources analyzed by the Mainframe Analyzer extension. Example: Links to the CICS resources.
z/OS Assembler CICS Write Dataset → CICS DataSet (ACCESS WRITE)
Created by Universal Linker when its file name is the name of a CICS file (case-sensitive) of the CICS resources analyzed by the Mainframe Analyzer extension. Example: Links to the CICS resources.
z/OS Assembler CICS Rewrite Dataset → CICS DataSet (ACCESS WRITE)
Created by Universal Linker when its file name is the name of a CICS file (case-sensitive) of the CICS resources analyzed by the Mainframe Analyzer extension. Example: Links to the CICS resources.
z/OS Assembler CICS Delete Dataset → CICS DataSet (ACCESS WRITE)
Created by Universal Linker when its file name is the name of a CICS file (case-sensitive) of the CICS resources analyzed by the Mainframe Analyzer extension. Example: Links to the CICS resources.
z/OS Assembler CICS Browse Dataset → CICS DataSet (ACCESS READ)
Created by Universal Linker when its file name is the name of a CICS file (case-sensitive) of the CICS resources analyzed by the Mainframe Analyzer extension. Example: Links to the CICS resources.
z/OS Assembler CICS Start Transaction → CICS Transaction (CALL)
Created by Universal Linker when its transaction name is the name of a CICS transaction (case-sensitive) of the CICS resources analyzed by the Mainframe Analyzer extension. Example: Links to the CICS resources.
z/OS Assembler CICS Return Transaction → CICS Transaction (CALL)
Created by Universal Linker when its transaction name is the name of a CICS transaction (case-sensitive) of the CICS resources analyzed by the Mainframe Analyzer extension. Example: Links to the CICS resources.
z/OS Assembler CICS Cancel Transaction → CICS Transaction (CALL)
Created by Universal Linker when its transaction name is the name of a CICS transaction (case-sensitive) of the CICS resources analyzed by the Mainframe Analyzer extension. Example: Links to the CICS resources.
z/OS Assembler CICS Send Map → CICS Map (ACCESS WRITE)
Created by Universal Linker when its map name and mapset match a CICS map (case-sensitive) of the CICS resources analyzed by the Mainframe Analyzer extension. Example: Links to the CICS resources.
z/OS Assembler CICS Receive Map → CICS Map (ACCESS READ)
Created by Universal Linker when its map name and mapset match a CICS map (case-sensitive) of the CICS resources analyzed by the Mainframe Analyzer extension. Example: Links to the CICS resources.
Quality rules
z/OS Assembler SQL Query objects benefit from the quality rules that SQL Analyzer computes on client-side SQL queries, see SQL Analyzer - Client Side Support.
Known limitations
- Program calls:
- Dynamic calls are not resolved:
CALL (15)and other calls through a register or a variable, the list formCALL ,...,MF=L, aLOAD,LINK,XCTLorATTACHwithEP=&NAME,EPLOC=orDE=, and anEXEC CICS LINK,XCTLorLOAD PROGRAM(data area)whose data area has noDCconstant. - An Assembler program is named after its file. A call to a
CSECTorENTRYname that differs from the file name is not resolved to that program.
- Dynamic calls are not resolved:
- IMS/DB: calls to
CBLTDLI,ASMTDLIorAIBTDLIare handled as calls to a program of that name.EXEC DLIstatements are not analyzed, and no link to IMS PCBs, PSBs or segments is created. - CICS:
- TS queues are not resolved: a
WRITEQ,READQorDELETEQcommand without theTDoption creates nothing, nor does aRETURNwithoutTRANSID. - A resource named by a data area without a
DCconstant, or set at run time, is not resolved (warningASMZOS-005).
- TS queues are not resolved: a
- Files: no object or link is created for VSAM, QSAM or sequential file accesses (
DCB,ACB,OPEN,GET,PUTand similar). - Macros:
- Macros are not expanded.
- In a macro definition file, macro invocations,
EXEC SQLandEXEC CICScommands are not analyzed: their names are only known when the macro is expanded. - A system macro or a
COPYmember whose source is not delivered produces no object.
- SQL: an
EXEC SQLstatement must be written in uppercase and must not have a label. A dynamic SQL statement (PREPARE,EXECUTE IMMEDIATEwith a host variable) produces an SQL Query object without links to tables.