IMS type-1 commands supported from an AO application
Automated operator (AO) applications are application programs that issue IMS™ operator commands using DL/I calls.
AO applications can use two different DL/I calls to issue commands: CMD and ICMD. This topic lists which IMS commands can be issued using each of these calls and describes command security for AO applications.
AO applications using the CMD and ICMD call can use RACF®, DFSCCMD0, or both for security.
The TSO SPOC and REXX SPOC API are IMS applications that use OM API and cannot issue commands through DL/I calls.
Issuing IMS type-1 commands by using the CMD call
If you are using the CMD call to issue IMS commands, transactions can be defined as AO applications with AOI= on the TRANSACT system definition macro. AO transactions are invoked in the same way any IMS transaction is invoked. AO transactions run as IMS applications with the authority to issue a planned series of IMS commands. For example, an AO application can be called in by an AO transaction after a normal restart of IMS to start IMS resources. The AO application would consist of those commands regularly used by the master terminal operator (MTO) after IMS is active. Fast Path exclusive transactions cannot be defined as AO transactions.
When RACF (or an equivalent product) is used for type-1 AOI security, the AOI= parameter on the TRANSACT macro defines which transactions can issue commands. RACF (or an equivalent product) defines which commands are allowed for each authorized transaction. These definitions in RACF give control to the authorized user who entered the transaction or to the transaction name or the command name itself. The AOI= parameter on the TRANSACT macro contains the controlling specification.
The following table shows the IMS commands that can be issued in an AO application using the CMD call. Each row includes an IMS command, restrictions, and the application environment (MPP or BMP running under DB/DC, or MPP or BMP running under DCCTL).
IMS command | Restrictions | Application environment | |
---|---|---|---|
MPP or BMP running under DB/DC | MPP or BMP running under DCCTL | ||
/ACTIVATE | Yes | Yes | |
/ALLOCATE | Yes | Yes | |
/ASSIGN | Yes | Yes | |
/BROADCAST | Yes | Yes | |
/CHANGE | Yes | Yes | |
/CHECKPOINT | simple form (no keywords), SNAPQ, or STATISTICS | Yes | Yes |
/CLSDST | Yes | Yes | |
/COMPT | Yes | Yes | |
/CQCHKPT | Yes | Yes | |
/CQQUERY | Yes | Yes | |
/CQSET | Yes | Yes | |
/DBDUMP | Yes | Yes | |
/DBRECOVERY | Yes | Yes | |
/DELETE | Yes | Yes | |
/DEQUEUE | Yes | Yes | |
/DIAGNOSE | Yes | Yes | |
/DISPLAY | Yes | Yes | |
/END | with keywords | Yes | Yes |
/EXCLUSIVE | with keywords | Yes | Yes |
/EXIT | with LINE and NODE keywords | Yes | Yes |
/FORMAT | with LTERM keyword | Yes | Yes |
/IDLE | Yes | Yes | |
/INITIATE | OLREORG | Yes | No |
/LOCK | without LTERM, NODE, or PTERM keywords | Yes | Yes |
/LOG | Yes | Yes | |
/LOOPTEST | Yes | Yes | |
/MONITOR | Yes | Yes | |
/MSASSIGN | Yes | Yes | |
/OPNDST | Yes | Yes | |
/PSTOP | Yes | Yes | |
/PURGE | Yes | Yes | |
/QUIESCE | Yes | Yes | |
/RDISPLAY | Yes | Yes | |
/RECOVER | Yes | No | |
/RMCHANGE | Yes | Yes | |
/RMDELETE | Yes | Yes | |
/RMGENJCL | Yes | Yes | |
/RMINIT | Yes | Yes | |
/RMLIST | Yes | Yes | |
/RMNOTIFY | Yes | Yes | |
/RSTART | Yes | Yes | |
/SECURE | Yes | Yes | |
/SMCOPY | Yes | Yes | |
/SSR | Yes | Yes | |
/START | Yes | Yes | |
/STOP | Yes | Yes | |
/SWITCH | Yes | Yes | |
/TERMINATE | OLREORG | Yes | No |
/TEST MFS | with LINE/NODE keywords | Yes | Yes |
/TRACE | Yes | Yes | |
/UNLOCK | without LTERM, NODE, PTERM, or SYSTEM keywords | Yes | Yes |
/VUNLOAD | Yes | No |
If the 3270 message facility service (MFS) bypass option is selected, the output message specified is MODNAME=DFSEDTN, and the terminal is in preset mode, then the only command recognized by IMS is the /RESET command issued from an unformatted screen.All other commands are passed to the application program.
Issuing IMS type-1 commands by using the ICMD call
The following table shows by application program type the commands that can be issued in an AO application using the ICMD call. This includes DRA thread running under DBCTL or DB/DC; BMP running under DBCTL; MPP, BMP, IFP running under DB/DC; and MPP, BMP, or IFP running under DCCTL. Commands that cause the IMS control region to terminate, such as /CHE FREEZE, cannot be issued.
You can secure the commands issued by an ICMD call using RACF (or the equivalent) or the Command Authorization user exit, DFSCCMD0. RACF lets you specify which commands the applications can issue. DFSCCMD0 and RACF let you do authorization checking during ICMD processing.The authorization checking can be controlled either through the transaction name, the command name, or the user ID of the signed on user. The AOI= parameter on the TRANSACT macro allows you to specify which authorization checking is to be used.
IMS Command | Application environment | |||
---|---|---|---|---|
DBRA thread running under DBCTL or DB/DC | BMP running under DBCTL | MPP, BMP, or IFP running under DB/DC | MPP, BMP, or IFP running under DCCTL | |
/ACTIVATE | N/A | N/A | Yes | Yes |
/ALLOCATE | N/A | N/A | Yes | Yes |
/ASSIGN | N/A | N/A | Yes | Yes |
/BROADCAST | N/A | N/A | Yes | Yes |
/CANCEL | N/A | N/A | No | No |
/CHANGE | Yes | Yes | Yes | Yes |
/CHECKPOINT (simple form) | Yes | Yes | Yes | Yes |
/CHECKPOINT SNAPQ | N/A | N/A | Yes | Yes |
/CHECKPOINT STATISTICS | Yes | Yes | Yes | Yes |
/CLSDST | N/A | N/A | Yes | Yes |
/COMPT | N/A | N/A | Yes | Yes |
/CQCHKPT | N/A | N/A | Yes | Yes |
/CQQUERY | N/A | N/A | Yes | Yes |
/CQSET | N/A | N/A | Yes | Yes |
/DBDUMP | Yes | Yes | Yes | N/A |
/DBRECOVERY | Yes | Yes | Yes | N/A |
/DELETE | Yes | Yes | Yes | Yes |
/DEQUEUE | Yes | Yes | Yes | Yes |
/DIAGNOSE | Yes | Yes | Yes | Yes |
/DISPLAY | Yes | Yes | Yes | Yes |
/END | N/A | N/A | Yes | Yes |
/ERESTART | No | No | No | No |
/EXCLUSIVE | N/A | N/A | Yes | Yes |
/EXIT | N/A | N/A | Yes | Yes |
/FORMAT | N/A | N/A | Yes | Yes |
/HOLD | N/A | N/A | No | No |
/IDLE | N/A | N/A | Yes | Yes |
/INITIATE OLREORG | Yes | Yes | Yes | No |
/LOCK DB | Yes | Yes | Yes | N/A |
/LOCK PGM | Yes | Yes | Yes | Yes |
/LOCK TRAN | N/A | N/A | Yes | Yes |
/LOG | Yes | Yes | Yes | Yes |
/LOOPTEST | N/A | N/A | Yes | Yes |
/MODIFY | No | No | No | No |
/MONITOR | N/A | N/A | Yes | Yes |
/MSASSIGN | N/A | N/A | Yes | Yes |
/MSVERIFY | N/A | N/A | No | No |
/NRESTART | No | No | No | No |
/OPNDST | N/A | N/A | Yes | Yes |
/PSTOP | Yes | Yes | Yes | Yes |
/PURGE | N/A | N/A | Yes | Yes |
/QUIESCE | N/A | N/A | Yes | Yes |
/RCLSDST | N/A | N/A | No | No |
/RCOMPT | N/A | N/A | No | No |
/RDISPLAY | N/A | N/A | Yes | Yes |
/RECOVER | Yes | Yes | Yes | No |
/RELEASE | N/A | N/A | No | No |
/RESET | N/A | N/A | No | No |
/RMCHANGE | Yes | Yes | Yes | Yes |
/RMDELETE | Yes | Yes | Yes | Yes |
/RMGENJCL | Yes | Yes | Yes | Yes |
/RMINIT | Yes | Yes | Yes | Yes |
/RMLIST | Yes | Yes | Yes | Yes |
/RMNOTIFY | Yes | Yes | Yes | Yes |
/RSTART | N/A | N/A | Yes | Yes |
/RTAKEOVER | No | No | No | No |
/SECURE | N/A | N/A | Yes | Yes |
/SET | N/A | N/A | No | No |
/SIGN | N/A | N/A | No | No |
/SMCOPY | N/A | N/A | Yes | Yes |
/SSR | No | Yes | Yes | Yes |
/START | Yes | Yes | Yes | Yes |
/STOP | Yes | Yes | Yes | Yes |
/SWITCH | Yes | Yes | Yes | Yes |
/TERMINATE OLREORG | Yes | Yes | Yes | No |
/TEST MFS LINE or NODE or USER | N/A | N/A | Yes | Yes |
/TRACE | Yes | Yes | Yes | Yes |
/UNLOCK DB | Yes | Yes | Yes | N/A |
/UNLOCK PGM | Yes | Yes | Yes | Yes |
/UNLOCK TRAN | N/A | N/A | Yes | Yes |
/VUNLOAD | Yes | Yes | Yes | N/A |
- /CHECKPOINT keywords ABDUMP, DUMPQ, FREEZE, PURGE, and QUIESCE
- The commands /END, /EXIT, and /EXCLUSIVE if they have no keywords
- /LOCK keywords LTERM, NODE, and PTERM
- /UNLOCK keywords LTERM, NODE, PTERM, and SYSTEM