Parameter-ID
Siehe SPA/GPA Parameter.
Siehe Schlüsselbefehl export to memory/import from memory.
Über eine Parameter-ID kann ein Feld mit Vorschlagswerten aus dem SAP-Memory gefüllt werden.
Felder, die im Dynpro das Datenelement EBELN verwenden, können aus dem SAP-Memory in diesem Fall gefüllt werden. Wenn ein User in einer Bildschirmmaske einen Kundenauftragswert füllt, kann dieser in weiteren Bildschirmmasken automatisch gezogen werden.
Parameter ID finden
Um die Parameter für ein Feld zu finden: Hier am Beispiel einer Auslieferung (Transaktionen VL03N/VL02N/VL01N).
- Transaktion aufrufen
- Cursor in Feld stellen
- F1 drücken
- Button "Technische Information" klicken
- Wert im Feld "Parameter-Id' kopieren
Wenn hier eine Parameter ID angezeigt wird, ist sie fast (!!) immer die Parameter ID, die man auch übergeben muss. Bei den Transaktionen VL01N, VL02N und VL03N funktioniert das auch.
In Einzelfällen, wie z. B. bei der Transaktion VL33N wird jedoch im SAP-Programm nicht die angezeigte Parameter ID ("VL") ausgelesen, sondern in diesem Fall "VLM". Im Zweifel muss man dann den SAP-Standard debuggen mit Suche nach "get parameter id", um hier die korrekte Parameter ID zu ermitteln. Es ist also kein Automatismus, dass die Parameter ID im SAP-Programm immer gelesen wird, die über die technische Info angezeigt wird - auch wenn das in fast allen Fällen von SAP so gemacht wird. Bei der Transaktion VL33N liegt es wahrscheinlich daran, weil das gleiche Datenelement auch für Auslieferungen (Transaktionen VL01N/VL02N/VL03N) verwendet wird und SAP dann hier eine Trennung vornehmen wollte. Es wäre jedoch besser gewesen, wenn SAP dann auch getrennte Datenelemente mit unterschiedlichen Parameter IDs verwendet hätte. Aus Gründen der Abwärtskompatibilität hat SAP dies wahrscheinlich nicht korrigiert.
Parameter ID anlegen (Pflege Tabelle TPARA)
- Die Parameter-IDs werden in der Tabelle TPARA gespeichert
- Es können neue Einträge/Parameter-IDs angelegt werden über die Tabellenpflege (SM30) und die Pflege der Tabelle TPARA
- Siehe https://community.spiceworks.com/topic/2447324-parameter-passing-thru-set-get-parameter-id-background-job
Set Parameter ID
SET PARAMETER ID 'VL' FIELD iv_vbeln.
Schlüsselbefehl call transaction
CALL TRANSACTION 'VL32N' WITH AUTHORITY-CHECK AND SKIP FIRST SCREEN.
Vorsicht: Parameter ID und Hintergrundprozesse/Job
- Man muss wissen, dass die Verwendung von Parameter IDs nur im Vordergrund funktionieren. Arbeitet ein Programm im Hintergrund / während eines Jobs, dann kann man Parameter IDs nicht auslesen im Coding und muss andere Programmiertechniken verwenden
- Siehe https://community.spiceworks.com/topic/2447324-parameter-passing-thru-set-get-parameter-id-background-job