.-,--------------------. V | >>-+-DELETE-+--LE----+-LTERM(ltermname)-+-+-------------------->< '-DEL----' +-PGM(programname)-+ +-TRAN(tranname)---+ '-USERID(userid)---'
Table 36 lists the environments (DB/DC, DBCTL, and DCCTL) from which the command and keywords can be issued.
Command / Keywords | DB/DC | DBCTL | DCCTL |
---|---|---|---|
DELETE LE | X | X | X |
LTERM | X | X | X |
PGM | X | X | X |
TRAN | X | X | X |
USERID | X | X | X |
The DELETE command (with the LE keyword) deletes language environment (LE) runtime options that have previously been defined by the UPDATE command (with the LE keyword). The delete can use filters on transaction code, LTERM name, userid, or program name. Any combination of parameters can be used to qualify the application instance to which the runtime parameters are deleted. All matches found are deleted. The entry is logically deleted. The entry is then immediately available for reuse by the next UPDATE LE command. There is a small window of time where it is possible for an entry to be deleted and reused before LE uses it, that could cause LE to use the wrong set of parameters.
Related Reading: For more information about the UPDATE command, see UPDATE
This command may be specified only through the Operations Manager API. The command syntax for this command is defined in XML and is available to automation programs that communicate with OM.
OM overrides the routing on the command and routes the command to all IMS systems in the IMSplex. The user-specified route list is ignored.
Rules for matching an entry which results in the delete of an entry:
If an existing set of LE runtime options are found for the specified TRAN, LTERM, USERID, or PGM, the existing parameter string is deleted. The string is deleted only when the specified filters are an exact match for the existing entry. The entry is logically deleted. The entry is available for reuse on the next UPDATE LE command.
The following keywords support a generic or wildcard character. A generic parameter is a 1 - 8 character alphanumeric name that includes one or more special characters and an asterisk or a percent sign. An asterisk can be replaced by a zero or more characters to create a valid resource name. A percent sign can be replaced by exactly one character to create a valid resource name.
Requirement: At least one of the resource filters (LTERM, PGM, TRAN, or USERID) must be specified on the UPDATE LE command.
Table 37 shows the output fields for an DELETE LE command. The columns in the table are as follows:
Short Label | Keyword | Meaning |
---|---|---|
CC | N/A | Completion code for the line of output. Completion code is always returned. |
LTRM | LTERM | LTERM name affected by the DELETE . |
MBR | N/A | IMSplex member (IMS identifier) that built the output line. Member name is always returned. |
PGM | PGM | Program name affected by the DELETE. |
TRAN | TRAN | Transaction name affected by the DELETE. |
UID | USERID | Userid affected by the DELETE. |
Table 38 shows the DELETE LE return and reason codes and the meaning of the codes.
Return Code | Reason Code | Meaning |
---|---|---|
X'00000000' | X'00000000' | The DELETE LE command completed successfully. |
X'00000008' | X'00002008' | No keywords were specified on the command. At least one keyword is required. |
X'00000008' | X'0000200C' | No resources found to delete. Either the entry was previously deleted or a keyword filter was typed incorrectly. |
X'00000008' | X'00002014' | An invalid character was specified in the filter name. |
X'00000010' | X'00004040' | The parameter override header has not been initialized. Retry the command after restart is complete. |
X'00000014' | X'00005000' | Unable to get storage from IMODULE GETSTOR. |
X'00000014' | X'00005010' | Unable to obtain latch. |
X'00000014' | X'00005FFF' | Internal IMS Error - should not occur. |
Table 39 contains the completion code that can be returned on a DELETE LE command and the meaning of the code.
Completion Code | Meaning |
---|---|
0 | The DELETE LE command completed successfully for the specified resource. |
For this example, Table 40 shows the parameter override table entries prior to any DELETE LE commands being processed.
Entry# | TRAN | LTERM | USERID | PROGRAM | LERUNOPTS |
---|---|---|---|---|---|
1 | PART | DFSSAM02 | aaaa | ||
2 | PART | BETTY | bbbb | ||
3 | PART | TERM1 | cccc | ||
4 | DFSSAM02 | dddd | |||
5 | PART | TERM1 | BARBARA | eeee | |
6 | PART | TERM1 | BOB | ffff | |
7 | TERM2 | BETTY | gggg | ||
8 | PART | TERM2 | iiii |
Table 41 shows the resulting actions when different filters are specified on a DELETE LE command.
Filters Active on Command | Resulting Action |
---|---|
TRAN(PART) | Deletes entries #1, 2, 3, 5, 6, 8 |
TRAN(PART) LTERM(TERM1) | Deletes entries #3, 5, 6 |
LTERM(TERM2) USERID(BETTY) | Deletes entry #7 |
TRAN(PART) LTERM(TERM1) USERID(BETTY) | Does not delete any entries |
TRAN(PART) LTERM(TERM*) | Deletes entries #3, 5, 6, 8 |
USERID(B*) | Deletes entries #2, 5, 6, 7 |
The following TSO SPOC and OM API input and output sets up the scenario for the DELETE LE command examples. The UPDATE commands are used to add entries to the table; the QUERY command shows the resulting entries.
TSO SPOC input:
UPD LE TRAN(IAPMDI27) USERID(USRT003) SET(LERUNOPTS(cccc)) UPD LE TRAN(IAPMDI27) USERID(USRT001) SET(LERUNOPTS(bbbb)) UPD LE TRAN(IAPMDI26) USERID(USRT001) SET(LERUNOPTS(aaaa)) QRY LE SHOW(ALL)
TSO SPOC output (for QUERY command):
MbrName CC Trancode Lterm Userid Program LERunOpts SYS3 0 IAPMDI26 USRT001 AAAA SYS3 0 IAPMDI27 USRT001 BBBB SYS3 0 IAPMDI27 USRT003 CCCC
OM API input:
CMD(UPD LE TRAN(IAPMDI27) USERID(USRT003) SET(LERUNOPTS(cccc))) CMD(UPD LE TRAN(IAPMDI27) USERID(USRT001) SET(LERUNOPTS(bbbb))) CMD(UPD LE TRAN(IAPMDI26) USERID(USRT001) SET(LERUNOPTS(aaaa))) CMD(QRY LE SHOW(ALL))
OM API output (for QUERY command):
<imsout> <ctl> <omname>OM1OM </omname> <omvsn>1.1.0</omvsn> <xmlvsn>1 </xmlvsn> <statime>2002.163 18:10:14.974557</statime> <stotime>2002.163 18:10:14.974985</stotime> <staseq>B7C4CD747AC5DC85</staseq> <stoseq>B7C4CD747AE09D25</stoseq> <rqsttkn1>USRT002 10111014</rqsttkn1> <rc>00000000</rc> <rsn>00000000</rsn> </ctl> <cmd> <master>SYS3 </master> <userid>USRT002 </userid> <verb>QRY </verb> <kwd>LE </kwd> <input>QRY LE SHOW(ALL) </input> </cmd> <cmdrsphdr> <hdr slbl="MBR" llbl="MbrName" scope="LCL" sort="A" key="1" scroll="NO" len="8" dtype="CHAR" align="left" /> <hdr slbl="CC" llbl="CC" scope="LCL" sort="N" key="0" scroll="YES" len="4" dtype="INT" align="right" /> <hdr slbl="TRAN" llbl="Trancode" scope="LCL" sort="N" key="0" scroll="YES" len="8" dtype="CHAR" align="left" /> <hdr slbl="LTRM" llbl="Lterm" scope="LCL" sort="N" key="0" scroll="YES" len="8" dtype="CHAR" align="left" /> <hdr slbl="UID" llbl="Userid" scope="LCL" sort="N" key="0" scroll="YES" len="8" dtype="CHAR" align="left" /> <hdr slbl="PGM" llbl="Program" scope="LCL" sort="N" key="0" scroll="YES" len="8" dtype="CHAR" align="left" /> <hdr slbl="PRM" llbl="LERunOpts" scope="LCL" sort="N" key="0" scroll="YES" len="*" dtype="CHAR" align="left" /> </cmdrsphdr> <cmdrspdata> <rsp>MBR(SYS3 ) CC( 0) TRAN(IAPMDI26) LTRM( ) UID(USRT001 ) PGM( ) PRM(AAAA ) </rsp> <rsp>MBR(SYS3 ) CC( 0) TRAN(IAPMDI27) LTRM( ) UID(USRT001 ) PGM( ) PRM(BBBB ) </rsp> <rsp>MBR(SYS3 ) CC( 0) TRAN(IAPMDI27) LTRM( ) UID(USRT003 ) PGM( ) PRM(CCCC ) </rsp> </cmdrspdata> </imsout>
DELETE LE command example number 1.
TSO SPOC input:
DEL LE TRAN(IAPMDI27) USERID(USRT001)
TSO SPOC output:
MbrName CC Trancode Lterm Userid Program SYS3 0 IAPMDI27 USRT001
OM API input:
CMD(DEL LE TRAN(IAPMDI27) USERID(USRT001))
OM API output:
<imsout> <ctl> <omname>OM1OM </omname> <omvsn>1.1.0</omvsn> <xmlvsn>1 </xmlvsn> <statime>2002.163 18:12:21.932813</statime> <stotime>2002.163 18:12:21.933334</stotime> <staseq>B7C4CDED8E70D786</staseq> <stoseq>B7C4CDED8E916246</stoseq> <rqsttkn1>USRT002 10111221</rqsttkn1> <rc>00000000</rc> <rsn>00000000</rsn> </ctl> <cmd> <master>SYS3 </master> <userid>USRT002 </userid> <verb>DEL </verb> <kwd>LE </kwd> <input>DEL LE TRAN(IAPMDI27) USERID(USRT001) </input> </cmd> <cmdrsphdr> <hdr slbl="MBR" llbl="MbrName" scope="LCL" sort="A" key="1" scroll="NO" len="8" dtype="CHAR" align="left" /> <hdr slbl="CC" llbl="CC" scope="LCL" sort="N" key="0" scroll="YES" len="4" dtype="INT" align="right" /> <hdr slbl="TRAN" llbl="Trancode" scope="LCL" sort="N" key="0" scroll="YES" len="8" dtype="CHAR" align="left" /> <hdr slbl="LTRM" llbl="Lterm" scope="LCL" sort="N" key="0" scroll="YES" len="8" dtype="CHAR " align="left" /> <hdr slbl="UID" llbl="Userid" scope="LCL" sort="N" key="0" scroll="YES" len="8" dtype="CHAR " align="left" /> <hdr slbl="PGM" llbl="Program" scope="LCL" sort="N" key="0" scroll="YES" len="8" dtype="CHAR" align="left" /> </cmdrsphdr> <cmdrspdata> <rsp>MBR(SYS3 ) CC( 0) TRAN(IAPMDI27) LTRM( ) UID(USRT001 ) PGM( ) </rsp> </cmdrspdata> </imsout>
Explanation: This command specifies two filters- transaction and userid. A table entry is deleted if both of these filters are defined and match what was specified in the command. This command deletes one entry from the table. That entry is shown in the command output.
DELETE LE command example number 2.
TSO SPOC input:
DEL LE USERID(USRT00%)
TSO SPOC output:
MbrName CC Trancode Lterm Userid Program SYS3 0 IAPMDI26 USRT001 SYS3 0 IAPMDI27 USRT003
OM API input:
CMD(DEL LE USERID(USRT00%))
OM API output:
<imsout> <ctl> <omname>OM1OM </omname> <omvsn>1.1.0</omvsn> <xmlvsn>1 </xmlvsn> <statime>2002.163 18:19:45.616468</statime> <stotime>2002.163 18:19:45.616972</stotime> <staseq>B7C4CF94AFA54304</staseq> <stoseq>B7C4CF94AFC4C704</stoseq> <rqsttkn1>USRT002 10111945</rqsttkn1> <rc>00000000</rc> <rsn>00000000</rsn> </ctl> <cmd> <master>SYS3 </master> <userid>USRT002 </userid> <verb>DEL </verb> <kwd>LE </kwd> <input>DEL LE USERID(USRT00%) </input> </cmd> <cmdrsphdr> <hdr slbl="MBR" llbl="MbrName" scope="LCL" sort="A" key="1" scroll="NO" len="8" dtype="CHAR" align="left" /> <hdr slbl="CC" llbl="CC" scope="LCL" sort="N" key="0" scroll="YES" len="4" dtype="INT" align="right" /> <hdr slbl="TRAN" llbl="Trancode" scope="LCL" sort="N" key="0" scroll="YES" len="8" dtype="CHAR" align="left" /> <hdr slbl="LTRM" llbl="Lterm" scope="LCL" sort="N" key="0" scroll="YES" len="8" dtype="CHAR " align="left" /> <hdr slbl="UID" llbl="Userid" scope="LCL" sort="N" key="0" scroll="YES" len="8" dtype="CHAR " align="left" /> <hdr slbl="PGM" llbl="Program" scope="LCL" sort="N" key="0" scroll="YES" len="8" dtype="CHAR" align="left" /> </cmdrsphdr> <cmdrspdata> <rsp>MBR(SYS3 ) CC( 0) TRAN(IAPMDI26) LTRM( ) UID(USRT001 ) PGM( ) </rsp> <rsp>MBR(SYS3 ) CC( 0) TRAN(IAPMDI27) LTRM( ) UID(USRT003 ) PGM( ) </rsp> </cmdrspdata> </imsout>
Explanation: This command specifies only one filter, userid. A wildcard is used, so any table entry where the USERID filter matches the string will be deleted. The command output shows that both of the remaining table entries were deleted.