Listing 5.7  Quelltext der Funktion ZPTB00_OBJ_BTA_SAVE
FUNCTION ZPTB00_OBJ_BTA_SAVE.
*"-----------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     REFERENCE(I_STR_BTA) TYPE  ZPTB00_STR_BTA
*"  EXCEPTIONS
*"      FAILED
*"-----------------------------------------------------

  DATA:
* Structure like header and item table
    l_str_btaheader TYPE ZPTB00_BTAHEADER,
    l_tab_btaitem TYPE STANDARD TABLE OF 
    ZPTB00_BTAITEM.

* Get header data and write to database table
  MOVE-CORRESPONDING i_str_bta TO l_str_btaheader.
  MODIFY ZPTB00_BTAHEADER FROM l_str_btaheader.
  IF sy-subrc <> 0.
    RAISE FAILED.
  ENDIF.

  DELETE FROM ZPTB00_BTAITEM WHERE HEADER_ID = 
    l_str_btaheader-ID.
  INSERT ZPTB00_BTAITEM FROM TABLE i_str_bta-tab_item.
  IF sy-subrc <> 0.
    RAISE FAILED.
  ENDIF.

ENDFUNCTION.