PARAMETERS: p_bukrs TYPE bukrs DEFAULT '0001'. PARAMETERS: p_bsart TYPE bsart DEFAULT 'NB'. PARAMETERS: p_ekorg TYPE ekorg DEFAULT '0001'. PARAMETERS: p_ekgrp TYPE ekgrp DEFAULT '123'. PARAMETERS: p_werks TYPE werks DEFAULT '01'. PARAMETERS: p_lgort TYPE lgort_d DEFAULT '10'. PARAMETERS: p_matnr TYPE matnr DEFAULT '1234567890'. PARAMETERS: p_vendor TYPE lifnr DEFAULT '0000012345'. * Testmodus PARAMETERS: p_test TYPE bapiflag-bapiflag DEFAULT abap_true. * Authority-Check PARAMETERS: p_noauth TYPE bapiflag-bapiflag DEFAULT abap_true. * Returnparameter DATA: it_return TYPE STANDARD TABLE OF bapiret2 WITH DEFAULT KEY. DATA: it_poitem TYPE STANDARD TABLE OF bapimepoitem WITH DEFAULT KEY. DATA: it_poitemx TYPE STANDARD TABLE OF bapimepoitemx WITH DEFAULT KEY. DATA(ls_poheader) = VALUE bapimepoheader( comp_code = p_bukrs doc_type = p_bsart purch_org = p_ekorg pur_group = p_ekgrp doc_date = sy-datum suppl_plnt = p_werks vendor = p_vendor ). DATA(ls_poheaderx) = VALUE bapimepoheaderx( comp_code = abap_true doc_type = abap_true purch_org = abap_true pur_group = abap_true doc_date = abap_true suppl_plnt = abap_true vendor = abap_true ). it_poitem = VALUE #( ( po_item = '00001' material = p_matnr plant = p_werks stge_loc = p_lgort quantity = '1.0' ) ). it_poitemx = VALUE #( ( po_item = '00001' material = abap_true plant = abap_true stge_loc = abap_true quantity = abap_true ) ). DATA: lv_new_po TYPE bapimepoheader-po_number. DATA: lv_expheader TYPE bapimepoheader. DATA: lv_exppoexpimpheader TYPE bapieikp. * Bestellung anlegen CALL FUNCTION 'BAPI_PO_CREATE1' EXPORTING no_authority = p_noauth testrun = p_test poheader = ls_poheader poheaderx = ls_poheaderx IMPORTING exppurchaseorder = lv_new_po expheader = lv_expheader exppoexpimpheader = lv_exppoexpimpheader TABLES return = it_return poitem = it_poitem poitemx = it_poitemx. IF NOT lv_new_po IS INITIAL. * Wenn Bestellung angelegt wurde, COMMIT durchführen CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = abap_true. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ENDIF. * Ausgabe der Meldungen cl_demo_output=>write_data( it_return ). cl_demo_output=>write_data( it_poitem ). cl_demo_output=>write_data( it_poitemx ). cl_demo_output=>write_data( lv_new_po ). cl_demo_output=>write_data( lv_expheader ). cl_demo_output=>write_data( lv_exppoexpimpheader ). * HTML-Code holen DATA(lv_html) = cl_demo_output=>get( ). * Daten im Inline-Browser im SAP-Fenster anzeigen cl_abap_browser=>show_html( EXPORTING title = 'Daten zur Bestellung' html_string = lv_html container = cl_gui_container=>default_screen ). * cl_gui_container=>default_screen erzwingen WRITE: space.
Kategorien
-
Neueste Beiträge
- [CDS-Views] Fehler “Referenzinformationen fehlen oder falscher Datentyp” beheben
- [CDS-Views] Dynamische Befüllung von Variablen / Labels
- [ABAP] Daten einer Internetseite als interne Tabelle bereitstellen
- [ABAP] Transliteration von Texten
- [ABAP] UTC-Zeitstempel nach POSIX-Standard
- [RAP] ODATA V4 Service und Fiori Elements App implementieren
- [ABAP] Übernahme von Dokumenteninfosätzen beim Anlegen von Einkaufsbelegen unterdrücken
- [ABAP] OpenSQL: Stringfunktionen
- [ABAP] OpenSQL: NULL-Indicator zum Anzeigen von leeren Rückgabemengen
- [ABAP] OpenSQL: Set-Indicator für das Aktualisieren von Spalten