Dokumentinfosatz erzeugen

Alles rund um die Sprache ABAP®: Funktionsbausteine, Listen, ALV
6 Beiträge • Seite 1 von 1
6 Beiträge Seite 1 von 1

Dokumentinfosatz erzeugen

Beitrag von Artie200 (ForumUser / 17 / 2 / 0 ) »
Hallo zusammen,
Ich habe folgendes Problem und hoffe, dass mir jemand weiterhelfen kann:
Im Prinzip ist es sehr simpel. ich will eine Text-File die lokal im Windows Verzeichnis liegt, als einen Dokumentinfosatz ablegen.
Dafür benutze ich den FB "BAPI_DOCUMENT_CREATE2"
Der Dokumentinfosatz wird mit allen übergebenen Dokumentdaten und Objektverknüpfungen generiert aber die Text-File wird nicht abgelegt obwohl der Pfad übergeben wird.
Ich habe mich bei der Definition der Strukturen am Beispiel der Funktionsbaustein-Dokumentation gehalten.
Vielen Dank schon mal.
Gruß
Artie

Code: Alles auswählen.

** Dokumentendaten zuweisen
ls_doc-documentnumber = 'TEST'
ls_doc-documenttype = 'ZSO'.
ls_doc-documentversion = '00'.
ls_doc-documentpart    = '000'.
ls_doc-statusextern   = 'IK'.
ls_doc-laboratory     = '001'.

** Originale in die SAP-Datenbank und einen Tresor einchecken
REFRESH lt_files.
CLEAR lt_files.

lt_files-storagecategory = 'SAP-SYSTEM'.
lt_files-docfile      = 'C:\TEMP\export.txt'.
lt_files-wsapplication = 'TXT'.
APPEND lt_files.

** Kurztexte
CLEAR lt_drat.
REFRESH lt_drat.

lt_drat-language    = 'DE'.
lt_drat-description = 'Test'.
APPEND lt_drat.

** Objektverknüpfung
CLEAR lt_drad.
REFRESH lt_drad.

lt_drad-objecttype = 'VBAP'.
lt_drad-objectkey  = g_objky.
APPEND lt_drad.

CALL FUNCTION 'BAPI_DOCUMENT_CREATE2'
  EXPORTING
    documentdata               = ls_doc
*   HOSTNAME                   =
*   DOCBOMCHANGENUMBER         =
*   DOCBOMVALIDFROM            =
*   DOCBOMREVISIONLEVEL        =
*   CAD_MODE                   = ' '
*   PF_FTP_DEST                = ' '
*   PF_HTTP_DEST               = ' '
 IMPORTING
   DOCUMENTTYPE               = lf_doctype
   DOCUMENTNUMBER             = lf_docnumber
   DOCUMENTPART               = lf_docpart
   DOCUMENTVERSION            = lf_docversion

   RETURN                     = ls_return

 TABLES
*   CHARACTERISTICVALUES       =
*   CLASSALLOCATIONS           =
   DOCUMENTDESCRIPTIONS       = lt_drat
   OBJECTLINKS                = lt_drad
*   DOCUMENTSTRUCTURE          =
   DOCUMENTFILES              = lt_files
*   LONGTEXTS                  =
*   COMPONENTS                 =

          .

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


Re: Dokumentinfosatz erzeugen

Beitrag von Thomas R. (Expert / 755 / 78 / 34 ) »
Hallo Artie!

Hast Du an das Commit (BAPI) gedacht?

MfG
Thomas R.

Re: Dokumentinfosatz erzeugen

Beitrag von Artie200 (ForumUser / 17 / 2 / 0 ) »
Hi Thomas, danke für die schnelle Antwort

Nach der Verarbeitung durch den FB führe ich noch eine Fehlerabfrage durch und dannach den commit. (siehe unten)
Der Dokumentinfosatz wird wie gesagt problemlos angelegt nur das Text-File wird nicht abgelegt.

Code: Alles auswählen.

* Fehler aufgetreten ??
  IF ls_return-type CA 'EA'.
    ROLLBACK WORK.
    MESSAGE ID '26' TYPE 'I' NUMBER '000'
            WITH ls_return-message.

  ELSE.
    COMMIT WORK.
  ENDIF.


ENDFORM.  

Re: Dokumentinfosatz erzeugen

Beitrag von Thomas R. (Expert / 755 / 78 / 34 ) »
Hallo Artie!
Du solltest die Originaltabelle mehr füllen, z.B. Dokumentart/~nummer.... usw.
Es sind nach meiner Erinnerung noch ein paar mehr notwendig.
Dann sollte es klappen.

MfG
Thomas R.

Re: Dokumentinfosatz erzeugen

Beitrag von Artie200 (ForumUser / 17 / 2 / 0 ) »
Hi Thomas,
Ich habe alle relevanten Dokumentfelder in der ls_doc gefüllt, doch es wird nach wie vor kein File abgelegt.
Daraufhin habe ich versucht die Dokumentfelder in der lt_files zu füllen.
Ergebnis: Das File wird nun im Dokumentinfosatz aufgelistet ist aber nicht eingecheckt also in nicht in der SAP-Datenbank abgelegt. In der lt_files habe ich keine möglichkeit ein Flag mitzugeben um das File als eingecheckt zu definieren.
in der ls_doc wäre es das Feld CHECKEDIN.

Code: Alles auswählen.

** Dokumentendaten zuweisen
ls_doc-documentnumber = 'TEST'
ls_doc-documenttype = 'ZSO'.
ls_doc-documentversion = '00'.
ls_doc-documentpart    = '000'.
ls_doc-statusextern   = 'IK'.
ls_doc-laboratory     = '001'.
lt_files-CHECKEDIN = 'X'.

** Originale in die SAP-Datenbank und einen Tresor einchecken
REFRESH lt_files.
CLEAR lt_files.

lt_files-storagecategory = 'SAP-SYSTEM'.
lt_files-docfile      = 'C:\TEMP\export.txt'.
lt_files-wsapplication = 'TXT'.

Re: Dokumentinfosatz erzeugen

Beitrag von Artie200 (ForumUser / 17 / 2 / 0 ) »
Problem solved!

Anstatt BAPI_DOCUMENT_CREATE2 habe ich BAPI_DOCUMENT_CREATE verwendet.
In der Übergabestruktur lt_files des Funktionsbausteins BAPI_DOCUMENT_CREATE2 fehlt ein Feld das zwingend erforderlich ist um ein lokales File in einem Dokumentinfosatz abzulegen, das Feld: "datacarrier". Es bestimmt wo das File abgelegt werden soll (z.b SAP-SYSTEM) in der Struktur gibt es zwar ein Feld "storagecategory" in der jedoch lediglich, wenn vorhanden, die Ablagekategorie angegeben werden kann. Für mich eindeutig ein Fehler in der Struktur lt_files des Funktionsbausteins BAPI_DOCUMENT_CREATE2.

Im Funktionsbaustein BAPI_DOCUMENT_CREATE, besitzt die Struktur lt_files das Feld "datacarrier". Dokumentinfosatz mitsamt eingecheckter Files werde nun problemlos generiert.

Seite 1 von 1

Vergleichbare Themen

0
Antw.
1135
Views
Dokumentinfosatz auslesen
von Artie200 » 16.02.2010 17:04 • Verfasst in ABAP® Core
2
Antw.
1566
Views
Klassen erzeugen
von Elcin » 18.02.2016 14:56 • Verfasst in ABAP® für Anfänger
1
Antw.
1587
Views
Worddokument aus BSP erzeugen
von Hotte » 25.01.2005 14:38 • Verfasst in Web Application Server
1
Antw.
5714
Views
XML Datei erzeugen
von Rabea1103 » 23.01.2017 14:59 • Verfasst in ABAP® für Anfänger
8
Antw.
10367
Views
Pop Up erzeugen bei Auftragserstellung
von itmeli » 14.12.2004 15:36 • Verfasst in Material Management & Produktionsplanung

Über diesen Beitrag


Unterstütze die Community und teile den Beitrag für mehr Leser und Austausch

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.

Unbeantwortete Forenbeiträge

Daten an Tabelle binden
vor 2 Tagen von Bright4.5 1 / 753
aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2377
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8962