export to Memory ID

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

Getting started ... Alles für einen gelungenen Start.
22 Beiträge • Seite 1 von 2 (current) Nächste
22 Beiträge Seite 1 von 2 (current) Nächste

export to Memory ID

Beitrag von A6272 (Specialist / 238 / 8 / 36 ) »
Hallo,

eine interne Tabelle wird per export to Memory ID weggeschrieben. Dies erfolgt 2 mal in unterschiedlichen Funktionsbausteinen die alle nacheinander von eimem Report aufgerufen werden.

Wird bei export to Memory ID die Tabelle im speicher überschrieben?

Gibt es eine Option die neuen Einträge anzuhängen (Ohne import...)?

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


Re: export to Memory ID

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
A6272 hat geschrieben: Wird bei export to Memory ID die Tabelle im speicher überschrieben?
ja.
A6272 hat geschrieben:Gibt es eine Option die neuen Einträge anzuhängen (Ohne import...)?
Import - append lines to itab - export
Ansonsten: Nein.

Re: export to Memory ID

Beitrag von lausek (ForumUser / 64 / 2 / 20 ) »
Zitat aus der Doku dazu:
Any existing data clusters with the same ID id are completely overwritten

Re: export to Memory ID

Beitrag von 4byte (Specialist / 124 / 37 / 35 ) »
irgendwie finde ich den EXPORT TO MEMORY su­s­pekt. Ich dachte immer man soll global gehaltene Daten vermeiden? :roll:

Gibt es jemanden, der das für seine (kunden)eigenen Porgramme verwendet ??

Grüße 4Byte
Es gibt 10 Menschen die binär verstehen :)

Re: export to Memory ID

Beitrag von wreichelt (Top Expert / 1046 / 30 / 192 ) »
Hallo,

ja das wird öfters genutzt.
Auch als Export to INDX(XX) für den Austausch von Daten zwischen Jobs/Programmen.

Gruß Wolfgang

Re: export to Memory ID

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
4byte hat geschrieben:irgendwie finde ich den EXPORT TO MEMORY su­s­pekt. Ich dachte immer man soll global gehaltene Daten vermeiden? :roll:

Gibt es jemanden, der das für seine (kunden)eigenen Porgramme verwendet ??

Grüße 4Byte
Vermeiden heißt ja nicht, dass man es nicht mal brauchen könnte.
Ich verwende das immer mal wieder, wenn die Schnittstelle von BAdIs oder anderen Exits nicht ausreichend ist.

Re: export to Memory ID

Beitrag von DeathAndPain (Top Expert / 1939 / 257 / 412 ) »
Ich halte das Ding für ein Relikt aus der Steinzeit. Habe ich schon zu Release 3.1i-Zeiten die Finger von gelassen. Programmglobale Variablen sind ja schon weitgehend geächtet, was soll man da erst von systemglobalen Variablen halten? Da holt sich ein Programm irgendwelche Daten aus dem Nirwana, und kein Schwein kann nachvollziehen, wer die da mal wann hinterlegt hat.

Und nein, Dokumentation ist nicht die Antwort auf so einen Pfusch.
ewx hat geschrieben:Vermeiden heißt ja nicht, dass man es nicht mal brauchen könnte.
Ich verwende das immer mal wieder, wenn die Schnittstelle von BAdIs oder anderen Exits nicht ausreichend ist.
Dass es im Einzelfall ein gangbarer Weg sein kann, Unzulänglichkeiten des SAP-Standards auf diese Weise zu umgehen, bestreite ich nicht. Ich würde mir notfalls auch Feldinhalte aus in der Aufrufhierarchie höher liegenden Programmen erschleichen (Ausbruch aus der Sandbox per (Programmname)Variablenname). Vermeiden sollte man sowas aber um jeden Preis, und in meinen Augen gehört an jeden IMPORT FROM MEMORY ein umfassender Codekommentar, wer uns da was zu welchem Zweck im Memory hinterlassen hat.

Folgende Benutzer bedankten sich beim Autor DeathAndPain für den Beitrag:
ralf.wenzel


Re: export to Memory ID

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
DeathAndPain hat geschrieben:Vermeiden sollte man sowas aber um jeden Preis, und in meinen Augen gehört an jeden IMPORT FROM MEMORY ein umfassender Codekommentar, wer uns da was zu welchem Zweck im Memory hinterlassen hat.
wenn man den export und den Import in einer Klasse kapselt, dann tut das überhaupt nicht weh.
Dann kann man anhand des Verwendungsnachweises genau sehen, wo die Daten exportiert und wo sie wieder eingelesen werden.
Würde ich immer einem Dirty-Assign vorziehen.

Re: export to Memory ID

Beitrag von black_adept (Top Expert / 4086 / 126 / 940 ) »
4byte hat geschrieben:irgendwie finde ich den EXPORT TO MEMORY su­s­pekt. Ich dachte immer man soll global gehaltene Daten vermeiden? :roll:

Gibt es jemanden, der das für seine (kunden)eigenen Porgramme verwendet ??
Definitiv ja. Wenn z.B. größere Datenmengen via Submit an ein anderes Programm weitergereicht werden sollen und da durch den Submit eine neue LUW gestartet wird und sich anders ( als über die Übergabeparameter des gerufenen Programms ) keine Daten direkt übergeben lassen.
Geht auch umgekehrt ( und da verwende ich das auch gerne ) wenn man SAP-Standardprogramm aufruft um dann via Enhancementpoint direkt vor der Ausgabe die relevanten Daten mit EXPORT to MEMORY bereitzustellen und dann im aufrufenden Programm zu verwursteln.
Oder wenn z.B. via CALL TRANSACTION eine (SAP-Standard)Transaktion aufgerufen wird und hier speziell reagiert werden soll, wenn aus einem bestimmten Programm gerufen wurde.

Grundsätzlich mag ich die Variante immer dann wenn das aufgerufene Programm und das rufende Programm nichts voneinander sehen können aber ich mich nicht um (DB)Aufräumarbeiten kümmern möchte, wenn das (Haupt)Programm beendet wird
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Re: export to Memory ID

Beitrag von DeathAndPain (Top Expert / 1939 / 257 / 412 ) »
wenn man den export und den Import in einer Klasse kapselt, dann tut das überhaupt nicht weh.
Weh tut es auf jeden Fall, da Du damit immer die Feldkapselung durchbrichst. Eine Methode von Dir reicht auf einem undefinierten Weg ohne ordentliches Interface Werte an eine andere durch. Mit der Klasse baust Du Dir nur eine Krücke, um das später nachvollziehen zu können. Der nächste sieht nur den Befehl und weiß nicht, dass Du das in einer Klasse gekapselt hast und dass er mit solch Verwendungsnachweis weiterkommen würde. Und selbst wenn er darauf kommt, ist immer noch nicht klar, wer da an wen warum etwas weiterreicht.

Wie gesagt, es mag Rechtfertigungen geben, solch Krücke einzusetzen, aber weh tut es, und eine Krücke bleibt es.

Re: export to Memory ID

Beitrag von Daniel (Specialist / 314 / 68 / 44 ) »
4byte hat geschrieben:Gibt es jemanden, der das für seine (kunden)eigenen Porgramme verwendet ?
Ja, aber nicht oft.

Re: export to Memory ID

Beitrag von ewx (Top Expert / 4844 / 311 / 640 ) »
DeathAndPain hat geschrieben:
wenn man den export und den Import in einer Klasse kapselt, dann tut das überhaupt nicht weh.
Weh tut es auf jeden Fall, da Du damit immer die Feldkapselung durchbrichst. Eine Methode von Dir reicht auf einem undefinierten Weg ohne ordentliches Interface Werte an eine andere durch.
Genau das, was man braucht um unzureichend definierte Exits von der SAP zu umgehen.
DeathAndPain hat geschrieben:Mit der Klasse baust Du Dir nur eine Krücke, um das später nachvollziehen zu können. Der nächste sieht nur den Befehl und weiß nicht, dass Du das in einer Klasse gekapselt hast und dass er mit solch Verwendungsnachweis weiterkommen würde. Und selbst wenn er darauf kommt, ist immer noch nicht klar, wer da an wen warum etwas weiterreicht.
Dann darf man ausnahmsweise auch ein bis zwei Kommentare dazu schreiben.
Zuletzt geändert von ewx am 19.04.2018 13:16, insgesamt 1-mal geändert.

Re: export to Memory ID

Beitrag von A6272 (Specialist / 238 / 8 / 36 ) »
Wenn ein Kundeneigener Report SAP Standard Methoden aufruft, welcher wiederum dynamisch kundeneigene Funktionsbausteine aufruft, dann geht es halt nicht anders, um Informationen an den Aufrufer zurückzuübermitteln.

Und genau für sowas ist das auch da.

Re: export to Memory ID

Beitrag von Daniel (Specialist / 314 / 68 / 44 ) »
DeathAndPain hat geschrieben:Ich halte das Ding für ein Relikt aus der Steinzeit.
Ja, das ist schon älter.
DeathAndPain hat geschrieben:Programmglobale Variablen sind ja schon weitgehend geächtet,
Robin Hood war auch geächtet, ich mag Ihn :)
DeathAndPain hat geschrieben:was soll man da erst von systemglobalen Variablen halten?
Memory ist nicht Systemglobal.
DeathAndPain hat geschrieben:Da holt sich ein Programm irgendwelche Daten aus dem Nirwana, und kein Schwein kann nachvollziehen, wer die da mal wann hinterlegt hat. Und nein, Dokumentation ist nicht die Antwort auf so einen Pfusch.
Das stimmt. Über Programme hinweg verwende ich das nur wenn
es nicht mit vertretbarem Aufwand anders geht.

Re: export to Memory ID

Beitrag von Daniel (Specialist / 314 / 68 / 44 ) »
black_adept hat geschrieben:Grundsätzlich mag ich die Variante immer dann wenn das aufgerufene Programm und das rufende Programm nichts voneinander sehen können aber ich mich nicht um (DB)Aufräumarbeiten kümmern möchte, wenn das (Haupt)Programm beendet wird
Es gibt ja mittlerweile auch temporäre DB-Tabellen.
Da muss man nix mehr aufräumen.

Vergleichbare Themen

12
Antw.
6734
Views
Export/Import from Memory
von Steffi221185 » 12.11.2007 19:53 • Verfasst in ABAP® Core
8
Antw.
3243
Views
Import/Export to Memory
von LostDarkness » 21.02.2019 09:09 • Verfasst in ABAP® für Anfänger
4
Antw.
16899
Views
EXPORT/IMPORT itab FROM MEMORY ID
von miru77 » 06.08.2012 14:54 • Verfasst in ABAP® für Anfänger
8
Antw.
2802
Views
ABAP Memory
von Adrian » 11.02.2013 09:36 • Verfasst in ABAP® für Anfänger
8
Antw.
7166
Views
Convert SAP Memory to PDF
von Knirpsi » 18.01.2012 16:46 • 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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 11 Stunden von Bright4.5 1 / 223
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1865
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8470