Cmd ei api: Unterschied zwischen den Versionen

Aus SAP Wiki ツ
M1ch3lde (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
M1ch3lde (Diskussion | Beiträge)
Keine Bearbeitungszusammenfassung
Zeile 2: Zeile 2:
Die Klasse ist sehr mächtig und es ist schnell ohne weiteres möglich Daten aus dem Geschäftspartner zu löschen.
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.
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 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.

Version vom 21. Januar 2026, 16:00 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 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.