BAPI_OBJCL_GETCLASSES nach Call Transaction

Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

BAPI_OBJCL_GETCLASSES nach Call Transaction

Beitrag von derfuzzi (ForumUser / 2 / 0 / 0 ) »
Servus,

Ich bin noch ziemlicher Anfänger, was die SAP - Entwicklung angeht. Aktuell hänge ich an einem seltsamen Problem. Ich nutze den Fuba "BAPI_OBJCL_GETCLASSES", um mir die Merkmalsbewertungen von Materialien zu holen. Von meinem Report springe ich mit Call Transaction in die Cl20n, um an den Merkmalen etwas zu ändern. Wenn ich dort etwas ändere und diese Änderungen abspeichere, springe ich zurück in meinen Report. Dort möchte ich mir die Änderungen holen und rufe daher wieder das BAPI auf. Leider bekomme ich jetzt aber wieder nur die vorherigen Werte ohne die Änderungen. Woran kann das liegen ? Alle Tabellen sind definitiv leer, bevor ich Sie dem Fuba übergebe. In den entsprechenden SAP-Tabellen sind die Daten definitiv schon aktualisiert. Er muss die Daten also aus irgendeinem Puffer holen ?

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


Re: BAPI_OBJCL_GETCLASSES nach Call Transaction

Beitrag von jensschladitz (Specialist / 417 / 0 / 56 ) »
Sali,

schau mal in der FUGR des BAPI ob es da entweder einen FUBA zum initialiseren / bereinigen eines Puffers hat oder eine Unterroutine. Ich denke die Merkmalsdaten sind gepuffert - daher werden diese im Buffer gelesen.

Gruss
thanks Jens

Re: BAPI_OBJCL_GETCLASSES nach Call Transaction

Beitrag von Unit605 (Expert / 975 / 37 / 93 ) »
Evtl. hilft: "SET UPDATE TASK LOCAL." for dem CALL TRANSACTION Aufruf.

Ansonsten ist die Fragen, wie Du den CAll Transaction aufrufst, insbesondere der Parameter UPDATE:
Der Parameter UDPATE

Mit dem Parameter UPDATE regeln Sie, wie die von einer Transaktion verursachten Datenbankverbuchungen ausgeführt werden sollen. Die folgenden Modi stehen zur Verfügung:

A Asynchrone Verbuchung. In diesem Modus wartet die aufgerufene Transaktion nicht, bis die verursachten Datenbankverbuchungen ausgeführt wurden, sondern gibt die Verbuchung einfach an den SAP-Verbuchungsdienst weiter.

Mit der asynchronen Verarbeitung erzielen Sie daher in der Regel eine schnellere Ausführung Ihres Datenübernahmeprogramms.

Die asynchrone Verarbeitung wird für große Datenmengen NICHT empfohlen, da die aufgerufene Transaktion keine Abschlußmeldung vom Verbuchungsmodul erhält. Das rufende Datenübernahmeprogramm kann daher auch nicht feststellen, ob die Transaktion mit einer erfolgreichen Datenbankverbuchung abgeschlossen wurde oder nicht.

Bei der asynchronen Verbuchung müssen Sie die Verbuchungsverwaltungsfunktion (Transaktion
SM12 ) verwenden, um festzustellen, ob die Verbuchung während der Mappenverarbeitung vorzeitig abgebrochen wurde. Die Funktionen zur Fehleranalyse und Fehlerbehebung sind weniger benutzerfreundlich als bei der synchronen Verbuchung.

S Synchrone Verbuchung. Bei der synchronen Verbuchung wartet die aufgerufene Transaktion, bis alle anfallenden Verbuchungen abgeschlossen sind. Daher ist die Verarbeitung langsamer als bei der asynchronen Verbuchung. Die aufgerufene Transaktion kann jedoch eventuell aufgetretene Verbuchungsfehler an das Programm melden; dadurch wird die Fehleranalyse und -behebung vereinfacht.

L Lokale Verbuchung. Bei der lokalen Verbuchung findet die Datenbankfortschreibung nicht in einem separaten Prozeß, sondern im Prozeß des Aufrufers statt. (siehe hierzu die ABAP Schlüsselwortdokumentation zu
SET UPDATE TASK LOCAL )
http://help.sap.com/saphelp_erp60_sp/he ... ontent.htm

Re: BAPI_OBJCL_GETCLASSES nach Call Transaction

Beitrag von jensschladitz (Specialist / 417 / 0 / 56 ) »
Unit605 hat geschrieben:Evtl. hilft: "SET UPDATE TASK LOCAL." for dem CALL TRANSACTION Aufruf.

Ansonsten ist die Fragen, wie Du den CAll Transaction aufrufst, insbesondere der Parameter UPDATE:
Der Parameter UDPATE

Mit dem Parameter UPDATE regeln Sie, wie die von einer Transaktion verursachten Datenbankverbuchungen ausgeführt werden sollen. Die folgenden Modi stehen zur Verfügung:

A Asynchrone Verbuchung. In diesem Modus wartet die aufgerufene Transaktion nicht, bis die verursachten Datenbankverbuchungen ausgeführt wurden, sondern gibt die Verbuchung einfach an den SAP-Verbuchungsdienst weiter.

Mit der asynchronen Verarbeitung erzielen Sie daher in der Regel eine schnellere Ausführung Ihres Datenübernahmeprogramms.

Die asynchrone Verarbeitung wird für große Datenmengen NICHT empfohlen, da die aufgerufene Transaktion keine Abschlußmeldung vom Verbuchungsmodul erhält. Das rufende Datenübernahmeprogramm kann daher auch nicht feststellen, ob die Transaktion mit einer erfolgreichen Datenbankverbuchung abgeschlossen wurde oder nicht.

Bei der asynchronen Verbuchung müssen Sie die Verbuchungsverwaltungsfunktion (Transaktion
SM12 ) verwenden, um festzustellen, ob die Verbuchung während der Mappenverarbeitung vorzeitig abgebrochen wurde. Die Funktionen zur Fehleranalyse und Fehlerbehebung sind weniger benutzerfreundlich als bei der synchronen Verbuchung.

S Synchrone Verbuchung. Bei der synchronen Verbuchung wartet die aufgerufene Transaktion, bis alle anfallenden Verbuchungen abgeschlossen sind. Daher ist die Verarbeitung langsamer als bei der asynchronen Verbuchung. Die aufgerufene Transaktion kann jedoch eventuell aufgetretene Verbuchungsfehler an das Programm melden; dadurch wird die Fehleranalyse und -behebung vereinfacht.

L Lokale Verbuchung. Bei der lokalen Verbuchung findet die Datenbankfortschreibung nicht in einem separaten Prozeß, sondern im Prozeß des Aufrufers statt. (siehe hierzu die ABAP Schlüsselwortdokumentation zu
SET UPDATE TASK LOCAL )
http://help.sap.com/saphelp_erp60_sp/he ... ontent.htm
Sali,

das gilt aber nur, wenn mit der BTCI Tabelle gearbeitet wird - sonst startet man ja entweder im Anzeige (ME23N) oder Änderungs (ME22N) Modus.
Also ein Commit work and Wait könnte helfen oder nur ein wait von ... seconds oder aber suchen ob irgendwo ein Buffer zu löschen ist - wie oben beschrieben.

Gruss
thanks Jens

Re: BAPI_OBJCL_GETCLASSES nach Call Transaction

Beitrag von derfuzzi (ForumUser / 2 / 0 / 0 ) »
Danke für die schnelle Antworten. In der Funktionsgruppe habe ich leider keine derartige Funktion gefunden und es daher nochmal mit einem anderen FUBA probiert (BAPI_OBJCL_GETDETAIL). Damit funktioniert es wie gewünscht und ich bekomme die aktuelle Wert aus der Datenbank. :up:

Seite 1 von 1

Vergleichbare Themen

1
Antw.
6171
Views
CALL FUNCTION und CALL TRANSACTION
von phil1982 » 10.08.2007 11:00 • Verfasst in ABAP® für Anfänger
3
Antw.
5012
Views
Call Transaction
von SaskuAc » 27.07.2015 11:18 • Verfasst in ABAP® für Anfänger
3
Antw.
6009
Views
Call Transaction
von Dörk » 01.03.2007 06:03 • Verfasst in Dialogprogrammierung
4
Antw.
6531
Views
CALL TRANSACTION
von Roddy » 27.01.2016 11:40 • Verfasst in ABAP® für Anfänger
1
Antw.
3573
Views
CALL TRANSACTION mit BDC
von BubbleSort » 25.07.2018 10:48 • Verfasst in ABAP® Core

Über diesen Beitrag


Die Frage ist als "gelöst" markiert. Den entsprechend Beitrag findest du hier.

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

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.