[ABAP] Leistungstammsatz lesen

PARAMETERS: p_srv_nr TYPE asmd-asnum. "bapisrvpar-service.

START-OF-SELECTION.
  DATA: lv_service_info TYPE bapisrv.
  DATA: it_servicetextlines TYPE STANDARD TABLE OF bapisrvtxt WITH DEFAULT KEY.
  DATA: it_bapiret2 TYPE STANDARD TABLE OF bapiret2 WITH DEFAULT KEY.

  CALL FUNCTION 'BAPI_SERVICE_GET_DETAIL'
    EXPORTING
      servicenumber      = p_srv_nr
    IMPORTING
      servicegeneraldata = lv_service_info
    TABLES
      servicetextlines   = it_servicetextlines
      return             = it_bapiret2.

  cl_demo_output=>write_data( p_srv_nr ).
  cl_demo_output=>write_data( lv_service_info ).
  cl_demo_output=>write_data( it_servicetextlines ).
  cl_demo_output=>write_data( it_bapiret2 ).

* 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        = 'Leistungsstammsatz'
                                html_string  = lv_html
                                container    = cl_gui_container=>default_screen ).

* cl_gui_container=>default_screen erzwingen
  WRITE: space.

[SAP] Leistungen / Leistungsstamm

Transaktionen

AC02 (Leistungsstamm)
AC03 (Leistungsstamm)
AC06 (Listanzeige Leistungsstamm)
AC08 (Leistungstamm Senden)
ACNR (Nummernkreispflege: LEISTUNG)

Tabellen

TMP_SPEC (Muster-Leistungsverzeichnis)
ESLH (Leistungspaket Kopfdaten)
ESLL (Zeilen des Leistungspakets)
ASMD (Leistungsstamm : Grunddaten)

Funktionsbausteine

BAPI_SERVICE_CREATE (Creation of a Service Master Record)
BAPI_SERVICE_CHANGE (BAPI to Change a Service Master Record)
BAPI_SERVICE_GET_DETAIL (Read Detailed Data for a Service Master Record)

Links

[ABAP] Transaktion mit Parametern vorbelegen und aufrufen

Variante 1 (Batch-Input-Daten)

DATA: it_batchdata TYPE STANDARD TABLE OF bdcdata.
DATA: it_msg TYPE STANDARD TABLE OF bdcmsgcoll.
  
* Batch-Input-Daten, mit Transaktion SHDB aufgezeichnet
it_batchdata = VALUE #( ( program = 'SAPLSD_ENTRY' dynpro = '1000' dynbegin = 'X' fnam = '' fval = '' )
                        ( program = '' dynpro = '' dynbegin = '' fnam = 'BDC_CURSOR' fval = 'RSRD1-VIMA_VAL' )
                        ( program = '' dynpro = '' dynbegin = '' fnam = 'BDC_OKCODE' fval = '=WB_DISPLAY' )
                        ( program = '' dynpro = '' dynbegin = '' fnam = 'RSRD1-VIMA' fval = 'X' )
                        ( program = '' dynpro = '' dynbegin = '' fnam = 'RSRD1-VIMA_VAL' fval = 'MARA' ) ). 

* SE11 aufrufen, kein AUTHORITY-CHECK
CALL TRANSACTION 'SE11' WITHOUT AUTHORITY-CHECK
  USING it_batchdata
  MODE 'E'
  UPDATE 'A'
  MESSAGES INTO it_msg.

IF sy-subrc NE 0.
  MESSAGE 'Fehler beim Aufruf des SE11' TYPE 'S' DISPLAY LIKE 'E'.
ENDIF.

Variante 2 (SET PARAMETER – SE11)

* Parameter "Datenbakname" mit Wert 'MARA' vorbelegen
SET PARAMETER ID 'DTB' FIELD 'MARA'.
* SE11 ohne Prüfung aufrufen
CALL TRANSACTION 'SE11' WITHOUT AUTHORITY-CHECK.

IF sy-subrc NE 0.
  MESSAGE 'Fehler beim Aufruf des SE11' TYPE 'S' DISPLAY LIKE 'E'.
ENDIF.

Variante 3 (SET PARAMETER – MM03)

PARAMETERS: p_matnr TYPE matnr.

* https://www.samplecodeabap.com/call-transaction-mm03-with-specific-tab/
* MATNR setzen
SET PARAMETER ID 'MAT' FIELD p_matnr.
* Grunddaten anzeigen
SET PARAMETER ID 'MXX' FIELD 'K'.
* Transaktion MM03 aufrufen (Material anzeigen)
CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.

Variante 4 (SET PARAMETER – ME23N)

* Belegnummer (Bestellung)
PARAMETERS: p_ebeln TYPE ekko-ebeln.

* Belegnummer setzen
SET PARAMETER ID 'BES' FIELD p_ebeln.
* Transaktion ME23N aufrufen (Bestellung anzeigen)
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.

Variante 5 (SET PARAMETER – IW33)

* Belegnummer (Auftrag)
PARAMETERS: p_aufnr TYPE aufk-aufnr.

* Auftragsnummer setzen
SET PARAMETER ID 'ANR' FIELD p_aufnr.
* Transaktion IW33 aufrufen (Instandhaltungsauftrag anzeigen)
CALL TRANSACTION 'IW33' AND SKIP FIRST SCREEN.

Variante 6 (SET PARAMETER – AC03)

* Leistungsnummer
PARAMETERS: p_asnum TYPE asmd-asnum.
* Leistungsnummer setzen
SET PARAMETER ID 'ASN' FIELD p_asnum.
* Transaktion AC03 aufrufen (Leistungsstamm)
CALL TRANSACTION 'AC03' AND SKIP FIRST SCREEN.

Links