Liste aus einer internene Tabelle über FUBA erstellen

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

Beitrag von Jura (ForumUser / 88 / 0 / 0 ) »
Hallo zusammen,

vielen Dank für Eure Tips!
Es klingt alles so einfach, aber leider habe ich immer noch nicht geschafft, per Job einen Spoolauftrag zu bekommen. Ich bin schon fast am Verzweifeln...
Was mache ich falsch?
Wenn ich dem FB REUSE_ALV_GRID_DISPLAY (mit REUSE_ALV_LIST_DISPLAY habe ich schon das gleiche ausprobiert) keinen IS_PRINT Parameter übergebe, wird auch keine Spoolliste erstellt. Also habe ich den Parameter eingebaut. Wenn ich das Programm direkt ausführe, bekomme ich ein Popup-Fenster, wo ich den Drucker eingeben muss und 'Spoolliste erstellen' aktivieren muss. Wenn ich das Programm über Job ausführe (was auch das Ziel ist), läuft der Job zwar durch, aber es wird keine Spoolliste erstellt.
Ich habe schon vor dem FB REUSE_ALV_GRID_DIS den FB SET_PRINT_PARAMETERS eingebaut:
CALL FUNCTION 'SET_PRINT_PARAMETERS'
EXPORTING
DESTINATION = 'LT31'
IMMEDIATELY = ' '
LAYOUT = 'X_58_170'
LINE_COUNT = '65'
LINE_SIZE = '132'
NEW_LIST_ID = 'X'
RECEIVER = 'BENUTZERNAME'
RELEASE = 'X'.

Alles bring nichts.
Auch diese Seite habe ich schon analysiert: https://www.sdn.sap.com/irj/sdn/thread?threadID=55453
Es scheint bei allen zu funktionieren, nur bei mir nicht ...

Thomas, danke Dir für den Code. Ich versuche es doch noch mit FB REUSE_ALV_GRID_DISPLAY ...

Also, wenn noch jemand eine Idee hätte...

Danke und Grüße,
Jura

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


Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
ich weis nicht so recht,
wenn ich es bei mir laufen lasse ohne Printparameter usw wird ganz normal ein spool erzeugt.
Bin mir zwar nciht sicher, aber gib mal beim FuBa-Aufruf den Parameter i_callback_program mit.

Beitrag von Jura (ForumUser / 88 / 0 / 0 ) »
Hallo,

falls noch jemand da ist, der noch nicht ins Wochenende gegangen ist und in den Abap-Forum reinschaut:

kann es sein, dass es bei mir nicht klappt, über einen Job einen Spoolauftrag mit Hilfe von FB REUSE_ALV_LIST_DISPLAY zu erstellen, da ich 2 Programme dazu benutze:
das erste (Report) hat keinen Selektionsscreen und ruft per Batch Input über CALL TRANSACTION ein Dialog-Programm mit einen bestimmten OK-Code auf. Das Dialog-Programm selektiert die Daten in eine interne Tabelle und ruft den FB REUSE_ALV_LIST_DISPLAY.
Wenn ich in das Messtab vom ersten Report nach dem Joblauf gucke, steht dort 'Fataler GUI-Fehler', 'Exception ist aufgetreten'.
Wenn ich den ersten Report direkt starte, kommt zuert weiterhin ein Popup-Fenster, wo die Druckparameter eingegeben werden müssen, und dann wird schön ein Spoolauftrag erstellt.

Vielleicht liegt es an dem Release 46C (SAP-GUI ist 640)?

Grüße,
Jura

Beitrag von brinam (Specialist / 111 / 0 / 0 ) »
Hallo Jura,

unklar an Deinen Ausführungen ist mir nach wie vor Folgendes, da Du öfters schreibst, Du testest online, das Programm soll aber im Batch laufen:
Soll das Programm nur online oder nur im Batch laufen oder beides? Gewöhnlich reagieren Programme ja unterschiedlich, je nachdem, ob es nun ein Online- oder Batch-Lauf ist. Insofern musst Du ggf. sy-batch abfragen, wenn je nach Verarbeitungsmodus Unterschiedliches gemacht werden soll.

Prüfe mal bei Deinem CALL TRANSACTION, welchen Parameter Du bei MODE mitgibst. Wenn das Ganze im Batch laufen soll, darf es m.E. nur 'N' sein, wenn Du gar nichts mitgibst, dann werden die Dynpros angezeigt.

Zu der Fehlermeldung kann ich leider nichts sagen, ich arbeite auch mit SAP GUI 460, verwende auch diesen FuBa im Batch, und es funktioniert.

Beitrag von Jura (ForumUser / 88 / 0 / 0 ) »
Hallo zusammen,

falls noch jemand Lust zu diesem Thema hat, hier der Code, was ich geschrieben habe. Vielleicht sieht man dann besser, was ich falsch mache:

1. Start eines Reports ohne Selektionsmaske, der die Transaktion ZZZ mit OK_CODE = 'ZZZ_PRINT' aufruft:
CALL TRANSACTION 'ZZZ' USING bdcdata
MODE 'E' "'(mit USING 'N' wurde keine Liste gedruckt)
UPDATE 'S'
MESSAGES INTO messtab.

2. in der Transaktion ZZZ wird zuerst eine interne Tabelle gefüllt, danach exportiere ich die interne Tabelle in SAP MEMORY und rufe den Report
itab_get_from_memory:
EXPORT itab_list TO MEMORY ID 'LIST'.
SUBMIT itab_get_from_memory TO SAP-SPOOL
SPOOL PARAMETERS params
WITHOUT SPOOL DYNPRO
AND RETURN.

3. Im Report itab_get_from_memory importiere ich die interne Tabelle und rufe den ALV auf:
if sy-batch = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = it_fieldcat
is_layout = wa_layout
is_print = wa_print (ohne print wurde kein Spoolauft. erstellt)
TABLES
t_outtab = itab_list .
else.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = it_fieldcat
is_layout = wa_layout
is_print = wa_print
TABLES
t_outtab = itab_list.
endif.

So, das war es.
Wenn ich den Report (1.) direkt starte, wird eine Spoolliste erstellt. Wenn ich einen Job einplane, wird in der Fehlertabelle messtab 'RAISE-EXCEPTION' zurückgegeben und kein Spoolauftrag erstellt. (ich teste beim Direktstarten. In Zukunft muss es aber automatisch per einen Job laufen).

Beim Job-Anlegen übergebe ich folgende Parameter:
Neuer Spooauftrag = 'X',
Ausgabebegät = 'LT01'.

Mache ich hier etwas falsch?

Vielen Dank und Grüße,
Jura

Beitrag von DeathGuardian (Expert / 759 / 0 / 3 ) »
Wieso frägst du sy.-batch ab und machst dann entweder den oder den FuBa?
Es reicht nur den REUSE_ALV_GRID_DISPLAY zu nehmen, der geht automatisch auf den LIST wenn sy-batch = X ist.

Dann beim CALL TRANSACTION 'ZZZ':
- lass mal den UPDATE weg (er niehmt dann den Default A)
- nimm Mode N oder P(P gibts glaub erst ab 4.7)

Aber was anderes:
Du hast hier 3 Programme!
1 ruft 2
2 sammelt daten und schickt in Memory und ruft 3
3 soll drucken
ÄHM, ich weis ja nicht recht, aber geht das ganze nicht in ein Progamm?

Beitrag von Jura (ForumUser / 88 / 0 / 0 ) »
Hallo,

danke für die schnelle Antwort!
Ich bekomme trotzdem noch RAISE_EXCEPTION. Allmählich denke ich, dass es daran liegt, dass ich bei der Jobeinplanung keinen Drucker 'BTCH' (Batch) übergeben kann. Ich habe gerade in einem anderen System ausprobiert, wo der Drucker BTCH angelegt ist, und dort wurde per Job die ALV-Liste erstellt.

Danke noch mal an alle für die Hilfe.

Jura

Vergleichbare Themen

5
Antw.
1102
Views
FUBA mit FUBA RSPO_OUTPUT_DEVICEDATA eine Liste ausgeben
von Thomas E » 06.05.2021 12:49 • Verfasst in ABAP® Core
4
Antw.
16313
Views
Mit ABAP eine Excel-Liste erstellen
von KaOestreich » 07.01.2009 15:09 • Verfasst in Tips + Tricks & FAQs
0
Antw.
1020
Views
Liste.doc (Textfile) aus UNICODE-System erstellen
von niko022 » 18.01.2007 11:09 • Verfasst in ABAP® Core
2
Antw.
8577
Views
Transportauftrag über Fuba erstellen
von jondahl11 » 04.04.2007 15:06 • Verfasst in ABAP® für Anfänger
2
Antw.
8559
Views
FuBa um IDOC ORDERS zu erstellen
von Andreas G » 13.09.2006 13:25 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

Regex in where
vor 4 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 17 Stunden von Bright4.5 3 / 1486

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

Regex in where
vor 4 Stunden von edwin 7 / 163
Daten an Tabelle binden
vor 17 Stunden von Bright4.5 3 / 1486

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 5 Wochen von ralf.wenzel 1 / 3261
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9821