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

Variante 7 (SET PARAMETER – CJ03)

* PSP-Element
PARAMETERS: p_psp TYPE ps_posid.

* PSP-Element setzen
SET PARAMETER ID 'PRO' FIELD p_psp.
* Transaktion CJ03 aufrufen (Projektstrukturplan anzeigen)
CALL TRANSACTION 'CJ03' AND SKIP FIRST SCREEN.

Variante 8 (SET PARAMETER – KS03)

* Kostenrechnungskreis
PARAMETERS: p_kokrs TYPE kokrs.
* Kostenstelle
PARAMETERS: p_kostl TYPE kostl.

* Kostenrechnungskreis setzen
SET PARAMETER ID 'CAC' FIELD p_kokrs.
* Kostenstellennummer setzen
SET PARAMETER ID 'KOS' FIELD p_kostl.
* Transaktion KS03 aufrufen (Kostenstelle anzeigen)
CALL TRANSACTION 'KS03' AND SKIP FIRST SCREEN.

Variante 9 (SET PARAMETER – ME53N)

* BANF
PARAMETERS: p_banfn TYPE banfn.

* BANF-Nummer setzen
SET PARAMETER ID 'BAN' FIELD p_banfn.
* Transaktion ME53N aufrufen (Bestellanforderung anzeigen)
CALL TRANSACTION 'ME53N' AND SKIP FIRST SCREEN.

Variante 10 (SET PARAMETER – ME33K)

* Kontrakt
PARAMETERS: p_konnr TYPE konnr.

* Kontrakt-Nummer setzen
SET PARAMETER ID 'CTR' FIELD p_konnr.
* Transaktion ME33K aufrufen (Kontrakt anzeigen)
CALL TRANSACTION 'ME33K' AND SKIP FIRST SCREEN.

Variante 11 (SET PARAMETER – ME13)

PARAMETERS: p_infnr TYPE infnr.

* Infosatz-Nummer setzen
SET PARAMETER ID 'INF' FIELD p_infnr.
* Transaktion ME13 aufrufen (Infosatz anzeigen)
CALL TRANSACTION 'ME13' AND SKIP FIRST SCREEN.

Links

[SAP] Bestellanforderungen / BANF

Transaktionen

ME51N (Bestellanforderunganlegen)
ME52N (Bestellanforderung ändern)
ME53N (Bestellanforderung anzeigen)
ME54N (Bestellanforderung freigeben)

ME5A (Listanzeige Bestellanforderungen)

  • Bestellanforderung: BANF eingeben
  • Listumfang: ALV
  • Haken bei:
    • Zugeordnete BANFen
    • Auch gemerkte BANFen listen
    • Erledigte BANFen
    • Teilbestellte BANFen
    • BANFen zur Gesamtfreigabe
    • BANFen zur Positionsfreigabe
  • Button „Ausführen“
  • in der Listanzeige der Bestellanforderungen sind die zugeordneten Bestellungen in der Spalte „Bestellung“ aufgelistet

ME55 (Sammelfreigabe Bestellanforderungen)

ME56 (Bezugsquelle zur BANF zuordnen)
ME57 (BANF zuordnen und bearbeiten)
ME58 (Bestellung über Zuordnungsliste)

OMH7 (Nummernkreise Bestellanforderung)

Funktionsbausteine

ME_RELEASE_REQUISITION (Bestellanforderung bearbeiten)

BAPIs

BAPI_PR_CREATE (Create Enjoy Purchase Requisistion)
BAPI_PR_CHANGE (Change Enjoy Purchase Requisistion)
BAPI_PR_GETDETAIL (Get Details for One MEREQ Object)

Erweiterungen

Paket: MEREQ (Einkauf Bestellanforderung)
Erweiterung: MEREQ001 (Kundeneigene Daten in der Bestellanforderung)
Funktionsgruppe: XM02 (User-Exits Banf)

Tabellen

EBAN (Bestellanforderung)
T161 (Einkaufsbelegarten)

CDS-Views

A_PurchaseRequisitionItem (Item)
I_Purchaserequisitionitem (Purchase Requisition Item)
A_PurReqnAcctAssgmt (Account Assignment)
I_PurchaseReqnItem (Purchase Requisition Items)
I_Purchaserequisition (Purchase Requisition Header)

Fiori-Apps

F2229 (Bestellanforderungen verwalten – Professionell)