SAP Jobsuche bei DV-Treff
acdoc
  • acdoc
  • SAP Forum - Neuling Thema Starter
vor 2 Jahre
Hallo,

ich benötige einen großen Tabellenabzug mit einem gewissen Aufbau. D.h. gewisse Felder, gewisse Selektion im Einstieg und der Export muss als unkonvertiertes file (.txt) erfolgen. Normalerweise bin ich immer glücklich mit der SE16N, allerdings habe ich das Befürchtung, dass meine Abfrage zu viele Einträge hat und somit die Selektion nach einer gewissen Zeit abbricht.

Um das besser zu beschreiben, hier die Erklärung mittels Screenshots:

Es werden über 2.000.000 Einträge gefunden, die im Export enthalten sein müssen:

UserPostedImage 

Führe ich die Selektion aus werden mir allerdings nur 226.312 Einträge gelistet:

UserPostedImage 

Ich habe zudem eine Hintergrundausführung per Job in der SE16 versucht. Dort komme ich aber mit der Spoolfile nicht zurecht, weil diese entweder ebenfalls beschnitten ist oder ich nicht in dem Format exportieren kann in dem ich möchte.

Eine SQVI läuft in einen Dump, da nicht genügend Ressourcen (Wahrscheinlich Speicher) zur Verfügung steht.

Hat jemand Tipps und Tricks, wie ich einen vollständigen Export in dem gewünschten Format aus dem System bringe?

Danke für die Unterstützung!

wreichelt
vor 2 Jahre
Hallo,

evtl. geht das mit einem kleinen Abap besser, Beispiel

data : itab type mara occurs 0 with header line.

select * into itab

from mara

up to 10 rows.

append itab.

endselect.

data : begin of itab1 occurs 0,

line(50) type c,

end of itab1.

itab1-line = 'field1 description'.

append itab1.

itab1-line = 'field2 desc'.

append itab1.

itab1-line = 'field3 desc'.

append itab1.

call function 'GUI_DOWNLOAD'

exporting

filename = 'c:abc1.xls'

filetype = 'ASC'

write_field_separator = 'X'

* IMPORTING

* FILELENGTH =

tables

data_tab = itab

fieldnames = itab1 <--for headings

exceptions

file_write_error = 1

no_batch = 2

gui_refuse_filetransfer = 3

invalid_type = 4

no_authority = 5

unknown_error = 6

header_not_allowed = 7

separator_not_allowed = 8

filesize_not_allowed = 9

header_too_long = 10

dp_error_create = 11

dp_error_send = 12

dp_error_write = 13

unknown_dp_error = 14

access_denied = 15

dp_out_of_memory = 16

disk_full = 17

dp_timeout = 18

file_not_found = 19

dataprovider_exception = 20

control_flush_error = 21

others = 22

.

if sy-subrc <> 0.

message id sy-msgid type sy-msgty number sy-msgno

with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

endif.

Gruß Wolfgang

acdoc
  • acdoc
  • SAP Forum - Neuling Thema Starter
vor 2 Jahre
Hallo Wolfgang,

vielen Dank für den Code. Ich denke ich bin nicht ganz so tief drinnen wie du, daher hier ein paar Fragen, dass ich den Code effektiv anwenden kann.

1. Wie "lese" ich diesen Code ein, sprich wie kann ich diesen ausführen? SE38? Wenn ja mit welchem Report?

2. Dein Beispiel ist denke ich die MARA Tabelle. D.h. ich kann MARA mit der Tabelle ersetzen die mir passt?

3. Im "itab1-line"-Block ersetze ich die field descriptions durch meine Felder, richtig? Sofern ich mehr Felder brauche erweitere ich den Block?

4. Im "call function 'GUI_DOWNLOAD'"-Block gibst du den Download als .xls vor. Hier kann ich sicherlich ein .txt draus machen oder?

5. Sonst irgendwas auf was ich achten muss?

Danke dir schon mal für deine Bemühungen!

Grüße

wreichelt
vor 2 Jahre
Hallo,

Ich versuche es mit den Antworten

1. Ja die SE38, einlesen dort über Copy and Paste

2. Ja MARA kann natürlich ersetzt werden durch deine Tabelle, auch die up to 10 rows müssen raus

3. richtig

4. Ja ersetzen durch .TXT

5. die Tabelle wird auch hier in den Hauptspeicher geladen, auch hier können es zuviele Einträge sein (Dump)

6. viel Erfolg

Gruß Wolfgang