Testprogramm

Um zu überprüfen, ob unsere Prüfroutine auch funktioniert, benötigen wir ein Testprogramm. In diesem Testprogramm wird ein veralteter BAPI aufgerufen und es wird die Verwendung von BAPI_TRANSACTION_COMMIT „vergessen“. Das Programm ist mit COMMIT lauffähig und legt einen Kundenauftrag an.

Coding

*&———————————————————————*
*& Test-Report für Code Inspector Prüfung
*&———————————————————————*
REPORT  zzcitest.

DATA gv_vbeln      TYPE vbeln.

PARAMETERS p_kunag TYPE kunag  DEFAULT ‚0000002004‘.
PARAMETERS p_matnr TYPE matnr  DEFAULT ‚M-10‘.
PARAMETERS p_menge TYPE kwmeng DEFAULT ‚1‘.
PARAMETERS p_meins TYPE meins  DEFAULT ‚ST‘.

START-OF-SELECTION.

  PERFORM createe_order USING p_kunag
                              p_matnr
                              p_menge
                              p_meins
                     CHANGING gv_vbeln.

*&———————————————————————*
*&      Form  create_order
*&———————————————————————*
FORM createe_order USING iv_kunag TYPE kunag
                         iv_matnr TYPE matnr
                         iv_menge TYPE kwmeng
                         iv_meins TYPE meins
                CHANGING cv_vbeln TYPE vbeln.


  DATA ls_order_header_in TYPE                   bapisdhead.
  DATA lt_order_items_in  TYPE STANDARD TABLE OF bapiitemin.
  DATA lt_order_partners  TYPE STANDARD TABLE OF bapipartnr.
  DATA ls_order_items_in  TYPE                   bapiitemin.
  DATA ls_order_partners  TYPE                   bapipartnr.
  DATA ls_return          TYPE                   bapireturn.


*** HEADER DATA
  ls_order_header_in-doc_type   = ‚TA‘.
  ls_order_header_in-collect_no = ‚XX‘.
  ls_order_header_in-sales_org  = ‚1000‘.
  ls_order_header_in-distr_chan = ’12‘.
  ls_order_header_in-division   = ’00‘.

*** ITEM DATA
  ls_order_items_in-itm_number = 10.
  ls_order_items_in-material   = iv_matnr.
  ls_order_items_in-req_qty    = iv_menge * 1000.
  ls_order_items_in-sales_unit = iv_meins.
  APPEND ls_order_items_in TO lt_order_items_in.

*** PARTNERS
  ls_order_partners-partn_role  = ‚AG‘.
  ls_order_partners-partn_numb  = iv_kunag.
  APPEND ls_order_partners TO lt_order_partners.

*** CREATE ORDER
  CALL FUNCTION ‚BAPI_SALESORDER_CREATEFROMDATA‘
    EXPORTING
      order_header_in = ls_order_header_in
    IMPORTING
      salesdocument   = cv_vbeln
      return          = ls_return
    TABLES
      order_items_in  = lt_order_items_in
      order_partners  = lt_order_partners.


*** Eigentlich muss der COMMIT nach einem BAPI erfolgen!
*** Zu Testzwecken „vergessen“ wir ihn einfach…
*  CALL FUNCTION ‚BAPI_TRANSACTION_COMMIT‘.

*** SHOW CREATED ORDER NUMBER
  write: / cv_vbeln.

ENDFORM.                    „change_order

Series Navigation<< GrundlagenEigener Hierarchieknoten >>
image_pdfimage_print
Enno Wulff
follow me
Letzte Artikel von Enno Wulff (Alle anzeigen)