Hallo Thomas,
wenn jetzt mein Modify fehlschlägt mache ich auch Rollback, danke für die Antwort. Jetzt
obwohl sy-subrc überall 0 ist, werden keine DB Änderungen durchgeführt. Mein Funktionbaustein z_mm_luw_invoice_table wird übersprungen, obwohl ich ein Breakpoint gesetzt habe. Auf der Aufrufstelle , die Exception Bereich ist auch in rot aber einen Syntaxfehler bekomme ich nicht.
Hier ist der Exception Bereich in rot, nach dem ich IN UPDATE TASK schreibe:
CALL FUNCTION 'Z_MM_LUW_INVOICE_TABLE' IN UPDATE TASK
TABLES
tt_invoiceheader = it_invoiceheader
tt_orders = it_orders
tt_termofpayment = it_termofpayment
tt_accountingitems = it_accountingitems
tt_invoiceitems = it_invoiceitems
EXCEPTIONS
update_error_zmm_invoicehead = 1
update_error_zmm_orders = 2
update_error_zmm_invoiceitems = 3
update_error_zmm_termofpaymen = 4
update_error_zmm_accounting = 5
OTHERS = 6.
Hier ist mein Aufruf:
METHOD modify_invoicetables.
CALL FUNCTION 'Z_MM_LUW_INVOICE_TABLE' IN UPDATE TASK
TABLES
tt_invoiceheader = it_invoiceheader
tt_orders = it_orders
tt_termofpayment = it_termofpayment
tt_accountingitems = it_accountingitems
tt_invoiceitems = it_invoiceitems
exceptions
update_error_zmm_invoicehead = 1
update_error_zmm_orders = 2
update_error_zmm_invoiceitems = 3
update_error_zmm_termofpaymen = 4
update_error_zmm_accounting = 5
OTHERS = 6.
CASE sy-subrc.
WHEN 0.
COMMIT WORK.
WHEN 1.
RAISE EXCEPTION TYPE zcx_xml_document_base
EXPORTING
textid = zcx_xml_document_base=>update_error_invoicetable
gv_table = 'zmm_invoicehead'.
ROLLBACK WORK.
WHEN 2.
RAISE EXCEPTION TYPE zcx_xml_document_base
EXPORTING
textid = zcx_xml_document_base=>update_error_invoicetable
gv_table = 'zmm_orders'.
ROLLBACK WORK.
WHEN 3.
RAISE EXCEPTION TYPE zcx_xml_document_base
EXPORTING
textid = zcx_xml_document_base=>update_error_invoicetable
gv_table = 'zmm_invoiceitems'.
ROLLBACK WORK.
WHEN 4.
RAISE EXCEPTION TYPE zcx_xml_document_base
EXPORTING
textid = zcx_xml_document_base=>update_error_invoicetable
gv_table = 'zmm_termofpaymen'.
ROLLBACK WORK.
WHEN 5.
RAISE EXCEPTION TYPE zcx_xml_document_base
EXPORTING
textid = zcx_xml_document_base=>update_error_invoicetable
gv_table = 'zmm_accounting'.
ROLLBACK WORK.
WHEN 6.
RAISE EXCEPTION TYPE zcx_xml_document_base
EXPORTING
textid = zcx_xml_document_base=>update_error_invoicetable
gv_table = 'unknown error by updating the invoicetabellen'.
ROLLBACK WORK.
ENDCASE.
ENDMETHOD.