Rollbereich im ABAP initialisieren

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
4 Beiträge • Seite 1 von 1
4 Beiträge Seite 1 von 1

Rollbereich im ABAP initialisieren

Beitrag von chatty (Specialist / 114 / 0 / 0 ) »
Hallo allerseits,

ich schreibe ein Programm das Projektstrukturen im PS über das SAP-Programm R_BAPI_PROJECT_MAINAIN anlegt.

Soweit so gut nur muß ich dieses SAP-Programm aus meinem Programm mehrmals in einem Modus aufrufen. Hier beginnt der Ärger das der Rollbereich nicht richtig initialisiert wird.

D.h. ich kann das Projekt A anlegen, wenn ich dann aber gleich danach das Projekt B anlege bekomme ich von dem obigen SAP-Programm eine Fehlermeldung die besagt das das Projekt A schon angelegt ist.

Im OSS gibt es mehrere Hinweise dazu, in einem heißt es wörtlich:

"Beim erneuten Aufruf der BAPIs wird der Rollbereich nicht geputzt. Aus diesem Grund war nicht sichergestellt, daß innerhalb der gleichen Session alle Tabellen und globale Daten zurückgesetzt wurden."

Was genau hat es mit diesem Rollbereich auf sich? Gibt es im ABAP selbst irgendeine Möglichkeit diesen Bereich zu löschen?

Viele Grüße an alle!
Chatty

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von babap (Expert / 681 / 1 / 1 ) »
Hallo,

beim Aufruf eines APAP-Programmes (Moduls, Funktionsbausteins etc.) bleibt das ganze Coding bis zum Schluß im Hauptspeicher.

Wenn ein Programm (s.o.) globale Daten benutzt, greift es beim zweiten und folgenden Start (oder Benutzung) auf schon vorhandene Daten zu.

Beim Funktionsbaustein nennt man das auch das "Gedächtnis". Meistens wird das bewußt benutzt, um z.B. schon einmal gelesene Daten zu puffern.

Manchmal kommt aber ein Programm beim zweiten Aufruf durcheinander weil der Programmierer irgendwie etwas vergessen hat wieder zu initialisieren oder sonstwas.

Beim Bapi muß man ggf. noch ein BAPI_xxx_SAVE oder ein BAPI_COMMIT hinterherschieben (so ist es zumindest bei den PM-Meldungen), damit das CREATE-BAPI von neuem arbeiten kann.

Der Rollbereich wird vom System verwaltet, um den muß man sich nicht kümmern.

Es liegt entweder ein Fehler im Bapi vor, oder das Bapi muß anders bedient werden, oder die Aufrufsequenz ist nicht korrekt.

Gruß
babap

Beitrag von Gast ( / / 0 / 3 ) »
Hallo babap,

danke für deine Erläuterungen, habe es auch schon mit dem BAPI_TRANSACTION_COMMIT versucht, leider ohne Erfolg.

Ich werde eine OSS-Meldung absetzen und hoffe das dann was dabei rauskommt.

Viele Grüße
Chatty

Beitrag von Gast ( / / 0 / 3 ) »
Hallo chatty,

du kannst das Problem durchaus selbst lösen, indem du jeden Aufruf des BAPI-FB jeweils in einem neuen Modus ausführst. Dazu benötigst du ein kleines Hilfsprogramm, dass du mit SUBMIT aufrufst und über zwei Parameter einen Programmnamen und den Namen einer Form-Routine mitgibst. Dieses Programm macht nichts anderes als die mitgegebene Form-Routine in dem mitgegebenen Programm aufzurufen.
Die Vorgehensweise ist wie folgt.
- Alle für den jeweiligen Aufruf erforderlichen Daten mit EXPORT TO MEMORY speichern
- Dann das besagte Hilfsprogramm per Submit aufrufen. (Als Programmnamen gibst du sinnvollerweise, das aktuelle Programm an)
- Dieses Hilfs-Programm ruft nun die entsprechende Form-Routine auf
- In dieser Form-Routine musst du mit IMPORT FROM MEMORY die Daten wieder "einlesen"
- Jetzt kannst du den BAPI-FB aufrufen. Durch den Submit bist du dann immer in einem neuen Modus und der BAPI wird immer wieder "jungfräulich" ausgeführt.

Dieses Verfahren nutzen wir bereits einige Male, da es das Problem mit einigen BAPIs und Funktionsbausteinen gibt.

mfg dele

Seite 1 von 1

Vergleichbare Themen

19
Antw.
1489
Views
Felder initialisieren im Dynpro
von ZF_SAPler » 04.05.2022 10:57 • Verfasst in ABAP® für Anfänger
0
Antw.
1539
Views
ALV Graphics-Container initialisieren
von FDR2402 » 06.03.2008 08:22 • Verfasst in ABAP Objects®
4
Antw.
5959
Views
Parameters initialisieren nach Programmlauf
von Brause » 04.01.2008 11:14 • Verfasst in ABAP® für Anfänger
1
Antw.
2206
Views
5
Antw.
11990
Views
Kundeneigene ABAP-Muster Vorlage im ABAP-Editor anlegen
von Stentor » 19.07.2005 11:10 • Verfasst in Basis

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

Aktuelle Forenbeiträge

Mahnung erstellen
vor 18 Stunden von wreichelt 2 / 36
Absprung VA02 Position
vor 21 Stunden von gs3rr4 gelöst 3 / 46
OPD Druck im SPOOL
vor 22 Stunden von Manfred K. 1 / 30

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Mahnung erstellen
vor 18 Stunden von wreichelt 2 / 36
Absprung VA02 Position
vor 21 Stunden von gs3rr4 gelöst 3 / 46
OPD Druck im SPOOL
vor 22 Stunden von Manfred K. 1 / 30

Unbeantwortete Forenbeiträge

OPD Druck im SPOOL
vor 22 Stunden von Manfred K. 1 / 30
Export von Spools in XLSX
vor 5 Tagen von abapamateur 1 / 444