Ansicht
Dokumentation

ARCHIVE_CONVERSION_FORMROUTINE - Übergabe von Konvertierungs-Routinen für die Archivierungsklassen

ARCHIVE_CONVERSION_FORMROUTINE - Übergabe von Konvertierungs-Routinen für die Archivierungsklassen

Vendor Master (General Section)   ROGBILLS - Synchronize billing plans  
Diese Dokumentation steht unter dem Copyright der SAP AG.
SAP E-Book

Funktionalität

Archivierungsklassen passen archivierte Daten beim Lesen des Archivs selbst an das aktuelle Format an, wenn die Daten nicht mit dem Funktionsbaustein ARCHIVE_PUT_TABLE archiviert worden sind.

Das Archive Development Kit (ADK) unterstützt Archivierungsklassen bei der Anpassung archivierter Daten an das aktuelle Format, indem es entsprechende Konvertierungsroutinen zur Verfügung stellt. Mit diesem Funktionsbaustein wird für eine gegebene Dictionary-Struktur die passende Konvertierungsroutine ermittelt. Diese Konvertierungsroutine befindet sich in einem Unterprogramm eines zur Laufzeit erzeugten Programms.

Bei einem Aufruf des Funktionsbausteins wird neben einem gültigen Archiv-Handle (im Parameter ARCHIVE_HANDLE) auch der Name der betreffenden Dictionary-Struktur erwartet (Parameter RECORD_STRUCTURE). Über die Parameter PROGRAM_POOL und FORMROUTINE werden die Namen des Programms und des darin enthaltenen Unterprogramms zurückgegeben.

Damit der Baustein für eine gegebene Dictionary-Struktur die passende Konvertierungsroutine ermitteln kann, muß diese Struktur zum Zeitpunkt der Archivierung in der Transaktion ACLA der Archivierungsklasse zugeordnet gewesen sein. Anderenfalls wird die Ausnahme NO_INFORMATION_AVAILABLE ausgelöst.

Beispiel
* Convert data of structure STICKET that was not archived using ARCHIVE_PUT_TABLE
CALL FUNCTION 'ARCHIVE_CONVERSION_FORMROUTINE'
     EXPORTING
          archive_handle           = handle
          record_structure         = 'STICKET'
     IMPORTING
          program_pool             = program_pool
          formroutine              = formroutine
     EXCEPTIONS
          no_information_available = 1
          wrong_access_to_archive  = 2.

IF sy-subrc = 1.
  MESSAGE A... " error: missing information, no conversion possible
ELSEIF sy-subrc = 2.
  MESSAGE A... " error: trying to access an archive without opening it
ENDIF.

* RAW_DATA contains a single record of unconverted data.
* In STICKET_WA the corresponding converted data will be returned.
PERFORM  (formroutine) IN PROGRAM (program_pool)
USING    code_page     " as provided in _INIT_READ
         number_format " as provided in _INIT_READ
         raw_data      " type X or XSTRING
CHANGING sticket_wa.   " type STICKET

Hinweise

Daten einer Archivierungsklasse, die mit dem Funktionsbaustein ARCHIVE_PUT_TABLE archiviert worden sind, werden beim Lesen des Archivs vom ADK an das aktuelle Format angepaßt. Die Archivierungsklasse ist dann von dieser Aufgabe befreit. Insbesondere wird der Funktionsbaustein ARCHIVE_CONVERSION_FORMROUTINE beim Lesen der auf diese Weise archivierten Daten nicht benötigt.

  • Aus Gründen der Kompatibilität zu früheren Releases existiert zu einer Dictionary-Struktur eine weitere Konvertierungsroutine. Sie wird aufgerufen in Form eines Unterprogramms, welches namensgleich zu der Dictionary-Struktur ist. Der Parameter PROGRAM_POOL enthält den Namen des Programms, in dem sich das Unterprogramm befindet. Die Schnittstelle des Unterprogramms ist nicht Unicode-fest und sollte daher nicht mehr verwendet werden. Diese Konvertierungsroutine wird nicht weiter dokumentiert.

Weiterführende Informationen





Parameter

ARCHIVE_HANDLE
FORMROUTINE
PROGRAM_POOL
RECORD_STRUCTURE

Ausnahmen

CONVERSION_NOT_NECESSARY
INTERNAL_ERROR
NO_INFORMATION_AVAILABLE
WRONG_ACCESS_TO_ARCHIVE

Funktionsgruppe

ARCH

General Material Data   PERFORM Short Reference  
Diese Dokumentation steht unter dem Copyright der SAP AG.

Length: 5889 Date: 20240605 Time: 133407     sap01-206 ( 115 ms )