[ABAP] Geschäftspartner: Adressdaten lesen

PARAMETERS: p_bp TYPE bapibus1006_head-bpartner.

DATA: lv_bapibus1006_address TYPE bapibus1006_address.
DATA: lv_bapibus1006_addr_dep_att TYPE bapibus1006_addr_dep_att.
DATA: it_bapiadtel TYPE STANDARD TABLE OF bapiadtel.
DATA: it_bapiadfax TYPE STANDARD TABLE OF bapiadfax.
DATA: it_bapiadttx TYPE STANDARD TABLE OF bapiadttx.
DATA: it_bapiadtlx TYPE STANDARD TABLE OF bapiadtlx.
DATA: it_bapiadsmtp TYPE STANDARD TABLE OF bapiadsmtp.
DATA: it_bapiadrml TYPE STANDARD TABLE OF bapiadrml.
DATA: it_bapiadx400 TYPE STANDARD TABLE OF bapiadx400.
DATA: it_bapiadrfc TYPE STANDARD TABLE OF bapiadrfc.
DATA: it_bapiadprt TYPE STANDARD TABLE OF bapiadprt.
DATA: it_bapiadssf TYPE STANDARD TABLE OF bapiadssf.
DATA: it_bapiaduri TYPE STANDARD TABLE OF bapiaduri.
DATA: it_bapiadpag TYPE STANDARD TABLE OF bapiadpag.
DATA: it_bapiad_rem TYPE STANDARD TABLE OF bapiad_rem.
DATA: it_bapicomrem TYPE STANDARD TABLE OF bapicomrem.
DATA: it_addressusage TYPE STANDARD TABLE OF bapibus1006_addressusage.
DATA: it_bapiadversorg TYPE STANDARD TABLE OF bapiad1vd.
DATA: it_bapiadverspers TYPE STANDARD TABLE OF bapiad2vd.
DATA: it_bapiaduse TYPE STANDARD TABLE OF bapiaduse.
DATA: it_return TYPE STANDARD TABLE OF bapiret2.

* SAP-GP, BAPI: Adresse lesen
CALL FUNCTION 'BAPI_BUPA_ADDRESS_GETDETAIL'
  EXPORTING
    businesspartner       = p_bp
*   ADDRESSGUID           =
*   VALID_DATE            = SY-DATLO
*   RESET_BUFFER          =
  IMPORTING
    addressdata           = lv_bapibus1006_address
    address_dep_attr_data = lv_bapibus1006_addr_dep_att
  TABLES
    bapiadtel             = it_bapiadtel
    bapiadfax             = it_bapiadfax
    bapiadttx             = it_bapiadttx
    bapiadtlx             = it_bapiadtlx
    bapiadsmtp            = it_bapiadsmtp
    bapiadrml             = it_bapiadrml
    bapiadx400            = it_bapiadx400
    bapiadrfc             = it_bapiadrfc
    bapiadprt             = it_bapiadprt
    bapiadssf             = it_bapiadssf
    bapiaduri             = it_bapiaduri
    bapiadpag             = it_bapiadpag
    bapiad_rem            = it_bapiad_rem
    bapicomrem            = it_bapicomrem
    addressusage          = it_addressusage
    bapiadversorg         = it_bapiadversorg
    bapiadverspers        = it_bapiadverspers
    bapiaduse             = it_bapiaduse
    return                = it_return.

cl_demo_output=>write_data( lv_bapibus1006_address ).
cl_demo_output=>write_data( lv_bapibus1006_addr_dep_att ).
cl_demo_output=>write_data( it_bapiadtel ).
cl_demo_output=>write_data( it_bapiadfax ).
cl_demo_output=>write_data( it_bapiadtlx ).
cl_demo_output=>write_data( it_bapiadsmtp ).
cl_demo_output=>write_data( it_bapiadrml ).
cl_demo_output=>write_data( it_bapiadx400 ).
cl_demo_output=>write_data( it_bapiadrfc ).
cl_demo_output=>write_data( it_bapiadprt ).
cl_demo_output=>write_data( it_bapiadssf ).
cl_demo_output=>write_data( it_bapiaduri ).
cl_demo_output=>write_data( it_bapiadpag ).
cl_demo_output=>write_data( it_bapiad_rem ).
cl_demo_output=>write_data( it_bapicomrem ).
cl_demo_output=>write_data( it_addressusage ).
cl_demo_output=>write_data( it_bapiadversorg ).
cl_demo_output=>write_data( it_bapiadverspers ).
cl_demo_output=>write_data( it_bapiaduse ).
cl_demo_output=>write_data( it_return ).
cl_demo_output=>display( ).

[ABAP] Datenbeschaffung für Lieferscheindruck

PARAMETERS: p_kappl TYPE t681a-kappl DEFAULT 'V2'.
PARAMETERS: p_kschl TYPE t685-kschl.

START-OF-SELECTION.

  SELECT SINGLE *
    INTO @DATA(lv_nast)
    FROM nast
    WHERE kappl = @p_kappl
      AND kschl = @p_kschl
      AND spras = @sy-langu.

  IF sy-subrc = 0.

    DATA(lv_vbco3) = VALUE vbco3( spras = lv_nast-spras  " Message language
                                  vbeln = lv_nast-objky  " Vertriebsbelegnummer
                                  kunde = lv_nast-parnr  " Partnernummer (KUNNR, LIFNR, PERNR, PARNR) mit Konv.Routine
                                  parvw = lv_nast-parvw  " Partnerrolle
                                ).

    DATA: lv_vbdkl TYPE vbdkl.
    DATA: it_vbdpl TYPE STANDARD TABLE OF vbdpl WITH DEFAULT KEY.

* Datenbeschaffung für Lieferscheindruck
    CALL FUNCTION 'RV_DELIVERY_PRINT_VIEW'
      EXPORTING
        comwa = lv_vbco3
      IMPORTING
        kopf  = lv_vbdkl
      TABLES
        pos   = it_vbdpl.

    cl_demo_output=>write_data( lv_vbdkl ).
    cl_demo_output=>write_data( it_vbdpl ).

* HTML-Code vom Demo-Output holen
    DATA(lv_html) = cl_demo_output=>get( ).

* Daten im Inline-Browser im SAP-Fenster anzeigen
    cl_abap_browser=>show_html( EXPORTING
                                  title        = 'Daten'
                                  html_string  = lv_html
                                  container    = cl_gui_container=>default_screen ).

* cl_gui_container=>default_screen erzwingen
    WRITE: space.
  ENDIF.

[ABAP] SD: Alle Auftragsdaten zu Kundenaufträgen lesen

PARAMETERS: p_vbeln TYPE vbeln.

START-OF-SELECTION.

* Welche Daten sollen gelesen werden?
  DATA(lv_bapi_view) = VALUE order_view( header     = abap_true
                                         item       = abap_true
                                         sdschedule = abap_false
                                         business   = abap_false
                                         partner    = abap_false
                                         address    = abap_false
                                         status_h   = abap_false
                                         status_i   = abap_false
                                         sdcond     = abap_true
                                         sdcond_add = abap_true
                                         contract   = abap_false
                                         text       = abap_false
                                         flow       = abap_false
                                         billplan   = abap_false
                                         configure  = abap_false
                                         credcard   = abap_false
                                         incomp_log = abap_false
                                       ).

* Belegnummern (VBELN) die selektiert werden sollen
  DATA: it_sales_documents TYPE STANDARD TABLE OF sales_key WITH DEFAULT KEY.
  APPEND p_vbeln TO it_sales_documents.

* Ausgabetabellen
* VBAK (Kopf)
  DATA: it_order_headers_out TYPE STANDARD TABLE OF bapisdhd WITH DEFAULT KEY.
* VBAP (Positionen)
  DATA: it_order_items_out TYPE STANDARD TABLE OF bapisdit WITH DEFAULT KEY.
* KOMV (Konditionen)
  DATA: it_order_conditions_out TYPE STANDARD TABLE OF bapisdcond WITH DEFAULT KEY.

* Kundenauftrag: Liste aller Auftragsdaten (analog VA03)
* Werte für I_MEMORY_READ:
*  SPACE = zuerst Pufferzugriff, dann DB-Zugriff
*  'A'   = nur Datenbankzugriff
*  'B'   = nur Pufferzugriff
  CALL FUNCTION 'BAPISDORDER_GETDETAILEDLIST'
    EXPORTING
      i_bapi_view              = lv_bapi_view
      i_memory_read            = space
      i_with_header_conditions = abap_true
    TABLES
      sales_documents          = it_sales_documents
      order_headers_out        = it_order_headers_out
      order_items_out          = it_order_items_out
      order_conditions_out     = it_order_conditions_out.

* Datenausgabe
  cl_demo_output=>write_data( it_order_headers_out ).
  cl_demo_output=>write_data( it_order_items_out ).
  cl_demo_output=>write_data( it_order_conditions_out ).

* 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.

[ABAP] Vertriebsbelege – Belegfluss lesen

* Vorgängervertriebsbeleg
PARAMETERS: p_vbeln TYPE vbfa-vbelv DEFAULT '12345678'.

* Übergabestruktur
DATA(lv_vbco6) = VALUE vbco6( vbeln = p_vbeln
*                              posnr = '000010'
                            ).

* Rückgabetabelle
DATA: it_vbfa TYPE STANDARD TABLE OF vbfa WITH DEFAULT KEY.

* Liest Verkaufsbelegfluß von Verkaufsbeleg nach Lieferung und Faktura
* Tabellen: VBFA, VBUK
CALL FUNCTION 'RV_ORDER_FLOW_INFORMATION'
  EXPORTING
    comwa         = lv_vbco6
  TABLES
    vbfa_tab      = it_vbfa
  EXCEPTIONS
    no_vbfa       = 1
    no_vbuk_found = 2
    OTHERS        = 3.

* Datenausgabe
IF sy-subrc = 0.
* Tabelle mit Belegfluss anzeigen
*  cl_demo_output=>display( it_vbfa ).

* Dialogbaustein zur Anzeige des Belegflusses anzeigen
  CALL DIALOG 'RV_DOCUMENT_FLOW'
    EXPORTING
      vbco6 FROM lv_vbco6.
ENDIF.

[ABAP] Auslieferung und Splitfluss (Liefersplit) lesen

* Belegnummer Auslieferung
PARAMETERS: p_vbeln TYPE vbeln_vl DEFAULT '100000000'.

DATA: it_ledspd_flow_tree TYPE ledspd_flow_tree_t.
DATA: it_ledspd_flow TYPE ledspd_flow_t.
DATA: if_reference_delivery TYPE vbeln_vl.
DATA: if_root_delivery TYPE vbeln_vl.
DATA: if_items_belong_to TYPE ledspd_items_belong_to.
DATA: if_split_profile TYPE ledspd_pmode.

* Lesen des Splitflusses (in Baumdarstellung)
CALL FUNCTION 'LE_DSP_READ_FLOW'
  EXPORTING
    if_vbeln              = p_vbeln
*   IF_CHECK_GOODS_ISSUE  = ' '
  IMPORTING
    et_ledspd_flow_tree   = it_ledspd_flow_tree
    et_ledspd_flow        = it_ledspd_flow
    ef_reference_delivery = if_reference_delivery
    ef_root_delivery      = if_root_delivery
    ef_items_belong_to    = if_items_belong_to
    ef_split_profile      = if_split_profile
  EXCEPTIONS
    internal_error        = 1
    OTHERS                = 2.

IF sy-subrc = 0.
  cl_demo_output=>write_data( it_ledspd_flow_tree ).
  cl_demo_output=>write_data( it_ledspd_flow ).
  cl_demo_output=>write_data( if_reference_delivery ).
  cl_demo_output=>write_data( if_root_delivery ).
  cl_demo_output=>write_data( if_items_belong_to ).
  cl_demo_output=>write_data( if_split_profile ).
  cl_demo_output=>display( ).
ENDIF.