Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Adding program units, transaction codes, TAQ queues and VORGANG exits

To add a new program unit or VORGANG exit you must call KC_CREATE_OBJECT for the object type KC_PROGRAM.
When adding a new transaction code or a new TAQ queue, you must specify the object type KC_TAC.

You can only add new program units and VORGANG exits dynamically if the application was generated with load modules (BS2000 systems), shared objects (Unix or Linux systems) or DLLs (Windows systems).

You should assign at least one transaction code to one program unit to enable it to be called. You cannot add the transaction code to the configuration until the program unit has been created. This means that program units must either already be in the application configuration at the time the transaction code is created with KC_CREATE_OBJECT, or they must have been created in the same transaction but before the transaction code was created. The program unit can be created with KDCDEF or may have been created in a separate transaction.

You can also assign new transaction codes to program units already in the configuration.

A newly created program unit cannot be called until it has been loaded and at least one transaction code has been assigned to it. To add the program unit, it must be compiled and linked into the application by a load module, shared object or DLL created with KDCDEF. Following this, this load module, shared object or DLL must be replaced (see KDCPROG in "KDCPROG - Replace load modules/shared objects/DLLs" or KC_MODIFY_OBJECT with "obj_type=KC_LOAD_MODULE").


Note for BS2000 systems:

  • If the public slice of the load module is located in a common memory pool, you must then still submit a KDCAPPL PROG=NEW or KC_CHANGE_APPLICATION call to arrange for this load module to be replaced. You cannot use the new or modified service until this has been done.

  • A new program unit cannot be linked into a load module which is statically linked to the application program (STATIC load mode).

If a VORGANG exit is to be assigned to a transaction code which you are creating dynamically (kc_tac_str.exit_name) then this VORGANG exit must exist in the configuration of your application before the transaction code is created or must have been created first (before the code) in the same transaction in which the transaction code itself was created.

To ensure that the VORGANG exit is able to run properly, the relevant program must be created. Dynamically created VORGANG exits must, like program units, be linked to a load module, shared object or DLL which then has to be replaced.

When creating program units, transaction codes and VORGANG exits, the following general rule applies:

Program unit (KC_PROGRAM) and VORGANG exit (KC_PROGRAM)
before transaction codes (KC_TAC)

The transaction codes for the event services BADTAC, MSGTAC and SIGNON (KDCBADTC, KDCMSGTC, KDCSGNTC) cannot be created in the configuration dynamically.