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.
1327
Views
Felder initialisieren im Dynpro
von ZF_SAPler » 04.05.2022 10:57 • Verfasst in ABAP® für Anfänger
0
Antw.
1509
Views
ALV Graphics-Container initialisieren
von FDR2402 » 06.03.2008 08:22 • Verfasst in ABAP Objects®
4
Antw.
5900
Views
Parameters initialisieren nach Programmlauf
von Brause » 04.01.2008 11:14 • Verfasst in ABAP® für Anfänger
1
Antw.
2165
Views
5
Antw.
11302
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

Daten an Tabelle binden
vor einer Stunde von Bright4.5 3 / 1471
Regex in where
vor 3 Stunden von tar 6 / 129
Programm anlegen mit Vorlage
vor 18 Stunden von DeathAndPain 2 / 121
IT0024 Qualifikationen CP-ID
vor 18 Stunden von DeathAndPain 2 / 353

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

Daten an Tabelle binden
vor einer Stunde von Bright4.5 3 / 1471
Regex in where
vor 3 Stunden von tar 6 / 129
Programm anlegen mit Vorlage
vor 18 Stunden von DeathAndPain 2 / 121
IT0024 Qualifikationen CP-ID
vor 18 Stunden von DeathAndPain 2 / 353

Unbeantwortete Forenbeiträge

BUSOBJEKT zu CMIS PHIO ermitteln
vor 20 Stunden von snooga87 1 / 86
aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821