Problem: Ich möchte aus einem Z-Programm in die SAP-Transaktion PFCG springen, den Rollennamen als Parameter übergeben, um dort an der Rolle ändernd herumzubasteln. Das klappt alles wunderbar mit CALL TRANSACTION USING bdc_tab ..., aber sobald ich die Rolle generiere oder speichere oder Benutzer abgleiche, springt PFCG unverrichteter Dinge zurück in mein Z-Programm – ohne Änderungen an der Rolle, versteht sich.
Das Ganze würde 1-a funktionieren mit SET PARAMETER ID ..., wenn das Datenelement AGR_NAME eine Parameter-ID hätte. Hat es aber nicht, und den SAP-Standard möchte ich auch nicht ändern, um knallhart eine PID anzulegen im SAP-Namensraum.
Gibt es eine funktionierende Möglichkeit, in die PFCG abzuspringen, dort Änderungen durchzuführen und zu speichern, um anschließend wieder ins Z-Programm zurückzuspringen?
/eigentlich/ sollte das mit dem BDCTAB funktionieren. Was aber passiert sein könnte ist, dass irgendwo in der PCFG ein Commit Work abgesetzt wird und du so verfrüht in dein Programm zurück geschickt wirst.
Versuche doch mal mit dem Zusatz "OPTIONS from ctu_params" zu arbeiten und in ctu_params das Feld RACOMMIT auf 'X' zu setzen um trotz Commit Work weiter in der Transaktion zu bleiben.
Folgende Benutzer bedankten sich beim Autor black_adept für den Beitrag: sapdepp