Program units, transaction codes, TAC queues and VORGANG exits can only be deleted from the configuration using the delayed delete method.
To delete a program unit or VORGANG exit from the configuration you must call KC_DELETE_OBJECT (with subopcode1=KC_DELAY) for the object type KC_PROGRAM. To delete a transaction code or a TAC queue, you must specify the object type KC_TAC.
Transaction codes and the program unit to which this transaction code is assigned are related to one another. In the same way, a VORGANG exit is related to the transaction codes to which it is assigned. For this reason, you must note the sequence followed when deleting transaction codes, program units and VORGANG exits. The following rule applies:
A program unit/VORGANG exit cannot be deleted until all related transaction codes have been deleted. |
The following program units must not be deleted:
program units belonging to the event exits, START, SHUT, FORMAT or INPUT.
BS2000 systems: program units and VORGANG exits linked to load modules with the STATIC load mode.
Unix, Linux and Windows systems: program units and VORGANG exits linked statically to the application program, i.e. you can only delete program units and VORGANG exits that are contained in shared objects or DLLs.
The following transaction codes must not be deleted:
transaction codes KDCMSGTC, KDCSGNTC, KDCBADTC in event services MSGTAC, SIGNON and BADTACS
the administration command KDCSHUT in the administration program KDCADM
transaction codes KDCTXCOM and KDCTXRLB created internally by openUTM for XATMI.
Transaction codes defined in the SIGNON-TAC parameter of the BCAMAPPL statement.
The following TAC queue must not be deleted:
the dead letter queue KDCDLETQ.
You can delete all other program units and VORGANG exits (that are not statically linked) and transaction codes from the configuration, regardless of whether they were created in the configuration dynamically or statically.
You can delete an asynchronous TAC or a TAC queue defined as a recipient (destadm) for the results of the asynchronous commands. In this event, you should define a new recipient, otherwise the results are lost. To do this, you can use the call KC_MODIFY_OBJECT with parameter type KC_MAX_PAR and the administration command KDCAPPL.
Deletion of program units, VORGANG exits, transaction codes and TAC queues has the following effects:
Deleted program units and VORGANG exits can no longer be called.
Asynchronous jobs to a deleted transaction code can no longer be created.
Asynchronous jobs that are still in the message queue of a transaction code at the time of deletion are no longer processed. They do, however, remain in the message queue of the asynchronous TAC. To relieve capacity constraints in the page pool you should delete these asynchronous jobs from the queue (see KDCS call DADM in the openUTM manual „Programming Applications with KDCS”).
No dialog services can be started to a deleted TAC. Dialog services that are open at the time of deletion can still be processed normally provided that only the service TAC is deleted. They are, however, terminated if a follow-up TAC is called which has already been deleted.
When a TAC queue is deleted, its messages are deleted immediately. New messages cannot be created for a deleted TAC queue.