Filling the Fields in the Program

Fill the fields and tables relevant to the change documents in accordance with the following specifications.

General Data

These are the fields that are defined in the INCLUDE program section F<K4>CDF.

OBJECTID Object value (key) of the object characteristic
TCODE Transaction with which the change process is performed
UTIME Time changed
UDATE Changed On
USERNAME Name of the person who made the change

Optional Return Delivery

CHANGENUMBER Change number of the document

Object-Specific Data

These are the fields that are defined in the INCLUDE program section F<K4>CDV.

CHANGENUMBER Change number of the document

Single Case Tables

Table*<Name of Table> or structure <Name of Old Structure> (with the structure that matches the table) The table header line or the structure must contain the original data.
Table <Name of Table> The table header line must contain the changed, new data.
Table *<Name of Ref. Table> (only if the Name of the Ref. Table was specified in the definition of the change document object) The table header line must contain the original currencies and units.
<name of ref. table> (only if the Name of the Ref. Table was specified in the definition of the change document object) The table header line must contain the current currencies and units.
UPD_<table name> You use this indicator to specify the processing logic. The following values are possible:
  • D

    DELETE: For the row in *<table name> or <name of old structure> ist eine Änderungsbelegposition zu erstellen, die als gelöscht gekennzeichnet werden soll., a change document item must be created that is to be marked as deleted. <table name> is not processed.

  • I

    INSERT: A change document item is to be created and be marked as entered/recorded, for the row in<table name>. *<table name> or <name of the old structure> is not processed.

  • U

    UPDATE: *<table name> or <name of the old structure> and <table name> are compared and a change document item is created for each changed field. The key of *<table name> or <name of the old structure> and <table name> must be identical.

  • " "

    Space, no processing: *<table name> or <name of the old structure> and <table name> are not processed in the update task. If there are no changes, processing can be skipped to save time.

Multiple Case Tables

Y<Name of Table> The table must contain the original version of the changed or deleted records. The structure comprises the table, as specified in the definition of the change document object, under Table Name, a processing flag (TYPE C, length 1), and possibly the structure of the currency and measurement units table refered to, as specified in the definition of the change document object, under Name of Ref. Tab. It is created when generating the INCLUDE objects for the change document object, and saved in the dictionary, under the name V<table name>.

The processing flag can be changed from Space to D, if it is to be processed in the application. Otherwise it has no effect.

X<Name of Table> The table must contain the original version of the changed or entered records. The structure is composed in the same way as Y<table name> (see above). You can use the following values for the processing indicator:
  • I

    INSERT: Line was newly created or table row was deleted; afterwards, a line with the same key was entered in the same transaction and this is to be documented not as Change, but as Delete and Enter (special case).

  • U or " "

    UPDATE/Space: The parameter UPD_<table name> (see below) is used to determine whether the line is a newly entered one or a changed one. Only when in the parameter value U and the following key comparison of the two tables TABLE_OLD and TABLE_NEW two lines with the same key are found will there be a query of the processing indicator.

UPD_<table name> You use this indicator to specify the processing logic. The following values are possible:
  • D

    DELETE: For each row in Y<table name>, a change document item must be created that is to be marked as deleted. X<table name> is not processed.

  • I

    INSERT: A change document item must be created and marked as inserted, for each row inX<table name>. Y<table name> is not processed.

  • U

    UPDATE: The keys of TABLE_OLD and TABLE_NEW are compared. The following cases exist:

    1. Row exists in TABLE_OLD, but not in TABLE_NEW: A change document item is to be created and be marked as deleted for the row in TABLE_OLD.
    2. Row exists in TABLE_NEW, but not in TABLE_OLD: A change document item is to be created and be marked as entered, for the row in TABLE_NEW.
    3. Row exists in TABLE_OLD, and also in TABLE_NEW: A change document item is created for each changed field defined in the Dictionary as relevant for the change document.
  • " "

    Space, no processing: Y<table name> and X<table name> are not processed in the update task. If there are no changes, processing can be skipped to save time.

Text Changes

If text changes are to be logged (according to definition of the change document object), the following fields need to be filled:
ICDTXT_<Object> In this structure, the change document-relevant texts are collected with the corresponding specifications:
  • TEILOBJID

    Key of changed table row

  • TEXTART

    Text type of changed text

  • TEXTSPR

    Language key

  • UPDKZ

    Change flag for table row: D(elete), I(nsert) or U(pdate)

UPD_ICDTXT_<Object> Change flag for text table:
  • " "

    Space: Table is not considered in update task.

  • U

    Table is not considered in update task.

Optional Parameters

You can also use the following parameters of the INCLUDE program part F<K4>CDF:

  • CDOC_PLANNED_OR_REAL

    With this parameter you control whether the changes to be logged are real or planned changes.

    Possible values:

    R Change
    P Scheduled change
    " " (space)
    • if there is no plan number:

      Change

    • if there is a plan number:

      Scheduled change

  • CDOC_UPD_OBJECT

    If it is relevant for the evaluation of the change documents which action was performed during the change for the respective object, you can pass the executed action using this parameter.

    Possible values:

    I The object was inserted.
    U The object was changed.
    D The object was deleted.