Mandant bei CSV-Upload vorbelegen

Getting started ... Alles für einen gelungenen Start.
3 Beiträge • Seite 1 von 1
3 Beiträge Seite 1 von 1

Mandant bei CSV-Upload vorbelegen

Beitrag von Patrick1982 (ForumUser / 8 / 1 / 0 ) » 14.02.2020 10:35
Moin zusammen,

ich habe folgendes Problem bzw. folgende Frage:
Und zwar habe ich einen Mini-Report geschrieben, mit welchem eine CSV-Datei in eine interne Tabelle hochgeladen wird:

Code: Alles auswählen.

REPORT Blabla.

DATA: itab TYPE STANDARD TABLE OF dbtab.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
PARAMETERS: p_file TYPE string.
SELECTION-SCREEN END OF BLOCK b1.

CALL METHOD cl_gui_frontend_services=>gui_upload
  EXPORTING
    filename            = p_file
    filetype            = 'ASC'
    has_field_separator = space
    header_length       = 0
    read_by_line        = 'X'
    dat_mode            = space
    codepage            = space
    ignore_cerr         = abap_true
    replacement         = '#'
  changing
    data_tab            = itab
  .
Das funktioniert soweit auch ganz wunderbar.
Allerdings muss hier in der CSV in der ersten Spalte der Mandant eingetragen sein.

Besteht die Möglichkeit, hierauf zu verzichten und den Systemmandanten vorzubelegen?
Also die itab (=dbtab) hat z.B. 4 Spalten (davon die erste MANDT), die CSV hat aber nur 3 Spalten (also Spalte 2-4 ohne Mandant).
Ist es möglich, und wenn ja wie, die Spalte MANDT der itab in allen Zeilen mit sy-mandt vorzubelegen?

(Und ja, ich weiß, dass es kein Hexenwerk ist, einfach die CSV zu erweitern, aber unser Fachbereich ist da manchmal etwas speziell 🙄)

Besten Dank!
Patrick


Re: Mandant bei CSV-Upload vorbelegen

Beitrag von DeathAndPain (Top Expert / 1423 / 153 / 325 ) » 14.02.2020 11:26
In meinen Augen zäumst Du das Pferd von hinten auf. Weshalb lädst Du die Datei in eine interne Tabelle hinein, die als erste Spalte MANDT hat, wenn Du diese Spalte gar nicht haben möchtest? Mein Verdacht ist, dass Du zu bequem bist, per TYPES-Befehl (oder wahlweise im DDIC) eine Typstruktur anzulegen, die dem Inhalt Deiner Datei entspricht und jetzt nach Wegen suchst, Deine Faul..., äh, Bequemlichkeit zu stützen.

Definiere Deine interne Tabelle richtig der Einspieldatei gemäß. Wenn Du die Werte nachher in einer anderen Tabelle brauchst, etwa in einer Datenbanktabelle, dann kannst Du den Tabelleninhalt später problemlos mit CORRESPONDING #() dorthin überführen.

Re: Mandant bei CSV-Upload vorbelegen

Beitrag von jocoder (Specialist / 203 / 3 / 56 ) » 14.02.2020 12:28
Ganz abgesehen davon wird der Upload so wahrscheinlich nicht funktionieren. Mit der Methode gui_upload können nur durch Tabulartoren getrennte Textdateien hochgeladen werden. Dazu muss der Parameter has_field_separator auf abap_true stehen. In CSV-Dateien werden die Felder durch Semikolon getrennt.
Hier ist ein Thread, der sich mit dem Thema beschäftigt:
viewtopic.php?f=1&t=23174&p=89273&hilit ... oad#p89273

Seite 1 von 1

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und besseren Inhalt:

Aktuelle Forenbeiträge

VA01 Konditionsart abgreifen
vor 17 Stunden von charlie01 8 / 170
eCATT - Meinungsumfrage
vor 21 Stunden von deejey gelöst 7 / 152
AdobeForms Formularanpassung
vor 3 Tagen von Lucyalison 4 / 89

Vergleichbare Themen

Mandant in Logon - Maske vorbelegen
von GAST » 30.11.2004 16:16
Mandant abfragen
von hmaxi96 » 12.01.2016 09:10
IDES Mandant
von bohne » 13.09.2006 12:33
SAP Mandant ändern
von Aggressor » 17.02.2006 08:40
Falscher Mandant bei BSP Applukation
von chaos2oo2 » 11.07.2006 16:21