DLET call
The Delete (DLET
) call is used to remove
a segment and its dependents from the database.
Format
Call Name | DB/DC | DBCTL | DCCTL | DB Batch | TM Batch | |
---|---|---|---|---|---|---|
For Full-Function: | DLET | X | X | X | ||
For DEDB: | DLET | X | X | |||
For MSDB: | DLET | X |
Parameters
- db pcb
- Specifies the DB PCB for the call. This parameter is an input and output parameter.
- aib
- Specifies the AIB for the call. This parameter is an input and
output parameter. These fields must be initialized in the AIB:
- AIBID
- Eye catcher. This 8-byte field must contain DFSAIBbb.
- AIBLEN
- AIB lengths. This field must contain the actual length of the AIB that the application program obtained.
- AIBRSNM1
- Resource name. This 8-byte, left-justified field must contain the name of a DB PCB.
- AIBOALEN
- I/O area length. This field must contain the length of the I/O area specified in the call list.
- i/o area
- Specifies the I/O area in your program that communicates with IMS. This parameter is an input parameter.
Before deleting a segment, you must first issue a Get Hold call to
place the segment in the I/O area. You can then issue the
DLET
call to delete the segment and its dependents in the database. - ssa
- Specifies the SSA, if any, to be used in the call. This parameter
is an input parameter. The SSA that you supply in the call point to
data areas in your program where the SSAs have been defined for the
call. You can use only one SSA in the parameter. This parameter is
optional for the
DLET
call.
Usage
The DLET
call
must be preceded by one of the three Get Hold calls. When you issue
the DLET
call, IMS deletes
the held segment, along with all its physical dependents from the
database, regardless of whether your program is sensitive to all
of these segments. IMS rejects
the DLET
call if the preceding call for the PCB was
not a Get Hold, REPL
, or DLET
call.
If the DLET
call is successful, the previously retrieved
segment and all of its dependents are removed from the database and
cannot be retrieved again.
If the Get Hold call that precedes
the DLET
call is a path call, and you do not want
to delete all the retrieved segments, you must indicate to IMS which of the retrieved segments
(and its dependents, if any) you want deleted; to do this, specify
an unqualified SSA for that segment. Deleting a segment this way automatically
deletes all dependents of the segment. Only one SSA is allowed in
the DLET
call, and this is the only time a SSA is
applicable in a DLET
call.
No command codes
apply to the DLET
call. If you use a command code
in a DLET
call, IMS disregards
the command code.