Code: Alles auswählen.
REPORT ZTEST_MEMORY1.
DATA: gt_sfl TYPE TABLE OF sflight.
SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_sfl.
EXPORT gt_sfl FROM gt_sfl TO MEMORY ID 'CTAB'.
SUBMIT ZTEST_MEMORY2.
Code: Alles auswählen.
REPORT ZTEST_MEMORY2.
DATA: gt_sfl TYPE TABLE OF sflight.
IMPORT gt_sfl TO gt_sfl FROM MEMORY ID 'CTAB'.
Folgende Benutzer bedankten sich beim Autor Daniel für den Beitrag (Insgesamt 2):
cuncon • DeathAndPain
Hi Jens,Tron hat geschrieben:Moin.
bei mir ist gt_sflight_i in Ztest2 gefüllt.
Man sollte eine ID verwenden , die nicht anderweitig benutzt wird. (z.B. Sy-repid)
es geht auch so:Code: Alles auswählen.
REPORT ZTEST_MEMORY1. DATA: gt_sfl TYPE TABLE OF sflight. SELECT * FROM sflight INTO CORRESPONDING FIELDS OF TABLE gt_sfl. EXPORT gt_sfl FROM gt_sfl TO MEMORY ID 'CTAB'. SUBMIT ZTEST_MEMORY2.
Code: Alles auswählen.
REPORT ZTEST_MEMORY2. DATA: gt_sfl TYPE TABLE OF sflight. IMPORT gt_sfl TO gt_sfl FROM MEMORY ID 'CTAB'.
siehe auch https://www.berater-wiki.de/Schl%C3%BCs ... rom_memory
gruß Jens
Daniel hat geschrieben:Wenn es um eigene Entwicklungen geht ist die Übergabe
durch Memory nicht empfehlenswert. Besser ist es im
gerufenen Programm eine Form-Routine mit entsprechenden
Parametern aufzurufen.
Code: Alles auswählen.
PERFORM called IN PROGRAM zprog
TABLES x
USING y
CHANGING z.
Bei wenigen Spalten kein Problem, und bei vielen Spalten halte ich es für einen Designfehler, einen Report damit füttern zu wollen. Da liegt dann im generellen Konzept was im Argen. Wahrscheinlich braucht man dann gar keinen separaten Report, sondern doch nur eine Unterroutine (PERFORM) oder gar einen Funktionsbaustein oder Modulpool.die Serialisierung und Deserialisierung der Daten muss auch noch gemacht werden
Wie soll das passieren, wenn der Zielreport nur vom Quellreport aufgerufen wird und/oder die betreffenden Selektionsparameter mit NO DISPLAY definiert sind?und wenn der User auf die glorreiche Idee kommt eine Variante zu speichern, bei der große! Mengen an Daten im Selektionsbild versteckt sind
Was irgendwelche Leute für obsolet halten ist mir so einerleiDeathAndPain hat geschrieben:Mal abgesehen davon, dass der Aufruf von Formroutinen anderer Programme als massiv obsolet gilt
Das geht auch mit einem Perform. Wenn wirklich viele Daten zu übergebenDeathAndPain hat geschrieben:war sein Wunsch doch, dass der ganze Zielreport aufgerufen wird, also komplett mit Selektions- und Ergebnisbild. Ein PERFORM kann das nicht leisten.
Da ist was dran. Wenn die in einem anderen Report bereits fertigDeathAndPain hat geschrieben:Bei wenigen Spalten kein Problem, und bei vielen Spalten halte ich es für einen Designfehler, einen Report damit füttern zu wollen. Da liegt dann im generellen Konzept was im Argen. Wahrscheinlich braucht man dann gar keinen separaten Report, sondern doch nur eine Unterroutine (PERFORM) oder gar einen Funktionsbaustein oder Modulpool.
Folgende Benutzer bedankten sich beim Autor Daniel für den Beitrag:
DeathAndPain