Ansicht
Dokumentation

CL_CTS_KEY_CONVERT - Abstrakte Klasse zur Konversion von Keys in Stücklisten

CL_CTS_KEY_CONVERT - Abstrakte Klasse zur Konversion von Keys in Stücklisten

SUBST_MERGE_LIST - merge external lists to one complete list with #if... logic for R3up   Addresses (Business Address Services)  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Die abstrakte Klasse CL_CTS_KEY_CONVERT unterstützt die Konversion bzw. Anpassung von Tabellenschlüsseln in offenen Transportaufträgen (Feld E071K-TABKEY) nach einer Tabellenumsetzung.

Dazu ist es nötig eine eigene Klasse zu implementieren, die die abstrakte Klasse CL_CTS_KEY_CONVERT als Oberklasse verwendet. Anschließend kann man die Tabellenschlüssel in offenen Aufträgen mit der Methode CONVERT_ALL anpassen oder die eines einzelnen Auftrags mit der Methode CONVERT_REQUEST.

Beziehungen

Funktionsgruppe CTS_KEY_CONVERT

Alternativ kann man auch die Umsetzung mit den Funktionen der Funktionsgruppe CTS_KEY_CONVERT implementieren. Diese Funktionen werden auch von der Klasse CL_CTS_KEY_CONVERT verwendet.

Beispiel

Um den Sprachschlüssel in den Tabellenschlüsseln der Tabelle T006A (Maßeinheitentexte) in Transportaufträge auf Deutsch zu setzen, müsste man die abstrakten Methoden GET_TABNAME und CONVERT_TABKEY folgendermaßen implementieren:

Methode GET_TABNAME:

  METHOD get_tabname.
    rv_tabname = 'T006A'.
  ENDMETHOD.

Die Methode GET_TABNAME muss lediglich den Tabellennamen zurückgeben.


Methode CONVERT_TABKEY:

  METHOD convert_tabkey.
    DATA ls_e071k TYPE e071k.

    CLEAR: et_e071k_new.

    ls_e071k = is_e071k_old.
    CONCATENATE is_e071k_old-tabkey(3) 'D' is_e071k_old-tabkey+4 INTO ls_e071k-tabkey.
    APPEND ls_e071k TO et_e071k_new.
  ENDMETHOD.

Als Importing-Parameter bekommt man hier den bisherigen E071K Eintrag (IS_E071K_OLD). Diesen kopiert man in eine neue Struktur, ändert dann den TABKEY (hier wird er Sprachschlüssel an vierter Stelle auf 'D' gesetzt) und fügt den E071K Eintrag in die Exporting-Liste ET_E071K_NEW ein.

Achtung:Wenn ein Schlüssel nicht geändert werden soll, muss er trotzdem in der Liste zurückgegeben werden, andernfalls kommt es zu einer Löschung der Tabellenschlüssel im Auftrag.

Falls man nur den TABKEY setzt und die übrigen Felder nicht übernimmt, kommt es bei der Ausführung zu einer Fehlermeldung.

Hinweise

Man kann hier auch mehrere Zeilen zurückgeben, falls man bei der Anpassung einen alten durch mehrere neue Tabellenschlüssel ersetzen möchte.

Man kann auch eine leere Liste zurückgeben, wenn man den Tabellenschlüssel ersatzlos löschen möchte.






PERFORM Short Reference   CL_GUI_FRONTEND_SERVICES - Frontend Services  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 3028 Date: 20240419 Time: 122018     sap01-206 ( 36 ms )