Ich möchte den Listoutput eines SAP-Standard Reports per "submit ...using selection-set ... exporting list to memory" und LIST_FROM_MEMORY abgreifen.
Leider nutzt der Report den REUSE_ALV_GRID_DISPLAY. Da dieser aber automatisch auf REUSE_ALV_LIST_DISPLAY umschaltet, wenn das Programm via Batch-Input gestartet wurde (SY-BINPT = X), ist nun meine Idee, SY-BINPT irgenwie einzuschalten. Dann könnte ich das Listobjekt lesen.
Kennt jemand eine Möglichkeit, das zu tun? Vielleicht ein Funktionsbaustein oder eine Methode?
ja, darüber hab ich auch schon ein bisschen gegrübelt. Aber:
wenn ich dem SAP-Report die Transaktion verpasse und ihn per BI starte, erzeugt er mit zwar eine Liste, ich kann sie aber nicht per LIST_FROM_MEMORY holen. Das geht nur bei submit ... exporting list ...
wenn ich mir ein eigenes Programm dazwischenschalte, das per BI gestartet wird und dann den Report submitted, hab ich Probleme mit der Rückgabe der Listendaten ins Hauptprogramm. Ich müsste sie im Memory ablegen und dort wieder auslesen. Das ist mir eigentlich zu weit "hinten rum".
Kann ich nicht "einfach" die SY-Felder manipulieren?
SY-BINPT läßt sich im Debugging auf 'X' setzen. Das sollte auch gehen. Ich habe es mit der Transaktion FB01 probiert und die verhält sich dann auch so, wie im BATCH INPUT.
ja, läßt sich einschalten, wenn dann aber der SUBMIT durchgeführt wird, ist er wieder ausgeschaltet. Kann man im Debugger sehen.
Im aufgerufenen Programm ist SY-BINPT also wieder aus. Ich bräuchte also dann ne Modifikation im aufgerufenen Programm. Wenn ich's da am Anfang im Debugger wieder einschalte funktioniert alles.
Wenn du schon ein Programm (kundeneigenes) hast, was die BI - Mappe erstellt, was spricht dann dagegen die Daten per Call Transaction zu buchen.
Hier bekommst du deine Meldungen zur Buchung / Bewegung in einer MessageTabelle geliefert, wenn du das willst.
ich hab mich jetzt nach dieser Diskussion entschieden, das Problem via Batch-Input CALL-Transaction zu lösen. Ich brauche dann gar keine Modifikationen vorzunehmen und bekomme meinen Listoutput!