Cmd ei api: Unterschied zwischen den Versionen

Aus SAP Wiki ツ
M1ch3lde (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
M1ch3lde (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 3: Zeile 3:
Es ist sehr anzuraten mit einem konkreten Test-Geschäftsparntersatz zu testen, wenn ein Geschäftparnter oder dessen Rollen mit dieser Klasse gepflegt werden.
Es ist sehr anzuraten mit einem konkreten Test-Geschäftsparntersatz zu testen, wenn ein Geschäftparnter oder dessen Rollen mit dieser Klasse gepflegt werden.


<syntaxhighlight lang="abap" line start="1">
== Klassenmethode maintain_bapi ==
== Klassenmethode maintain_bapi ==


<sytnaxhighlight lang="abap">
<syntaxhighlight lang="abap" line start="1">
     "Prüfen lt_master_data nicht intial ...
     "Prüfen lt_master_data nicht intial ...
     "Hier sperren mit ENQUEUE_EXKNA1 ...
     "Hier sperren mit ENQUEUE_EXKNA1 ...

Version vom 21. Januar 2026, 16:03 Uhr

Die Klasse ist sehr mächtig und es ist schnell ohne weiteres möglich Daten aus dem Geschäftspartner zu löschen. Es ist sehr anzuraten mit einem konkreten Test-Geschäftsparntersatz zu testen, wenn ein Geschäftparnter oder dessen Rollen mit dieser Klasse gepflegt werden.

Klassenmethode maintain_bapi

    "Prüfen lt_master_data nicht intial ...
    "Hier sperren mit ENQUEUE_EXKNA1 ...
    cmd_ei_api=>maintain_bapi(
      exporting
         iv_test_run              = iv_test_run
         iv_collect_messages      = abap_true
         is_master_data           = value #( customers = value #( ( lt_master_data ) ) )
      importing
        es_master_data_correct   = data(lt_correct_data)
        es_message_correct       = data(lt_correct_messages)
        es_message_defective     = data(lt_error_messages)
        ).

    IF lt_error_messages-is_error = abap_false AND iv_test_run = abap_false.

      IF error_messages-is_error = abap_false.
       call function 'BAPI_TRANSACTION_COMMIT'
        exporting
         wait = abap_true.
        "Hier entsperren mit DEQUEUE_EXKNA1
        "S-Meldung oder sonstiges
      ELSE.
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
        "Hier entsperren mit DEQUEUE_EXKNA1
        "RAISE EXCEPTION TYPE oder oder sonstiges
      ENDIF.
    ELSEIF error_messages-is_error = abap_true.
      IF iv_test_run = abap_false.
        CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
      ENDIF.
      "Hier entsperren mit DEQUEUE_EXKNA1
      "RAISE EXCEPTION TYPE oder sonstiges
    ENDIF.