PDF auf Applikationsserver ablegen

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

PDF auf Applikationsserver ablegen

Beitrag von basstos (ForumUser / 3 / 0 / 0 ) »
Hallo zusammen,
ich generiere aus einem Smartform ein PDF und möchte es danach auf dem Applikationsserver ablegen. Eine externe DMS-Anwendung möchte es sich dann abholen.
Die Generierung und das lokale Ablegen mit GUI_DOWNLOAD funktioniert.
Der Versuch mit FUBA C13Z_RAWDATA_WRITE das PDF auf dem Applikationsserver abzulegen scheitert, da das PDF nicht mehr zu öffnen ist.

Hat jemand von euch eine Idee, wie ich das PDF lesbar auf den Applikationsserver bekomme?

Code: Alles auswählen.


* PDF format

    ls_control_param-getotf      = 'X'.

    CALL FUNCTION lf_fm_name
      EXPORTING
        archive_index      = toa_dara
        archive_parameters = arc_params
        control_parameters = ls_control_param
        mail_recipient     = ls_recipient
        mail_sender        = ls_sender
        output_options     = ls_composer_param
        zxekko             = l_doc-xekko  " user_settings = ' '
        zxpekko            = l_doc-xpekko
        nast               = nast
      IMPORTING
        job_output_info    = w_return
      TABLES
        l_xekpo            = l_doc-xekpo[]
        l_xekpa            = l_doc-xekpa[]
        l_xpekpo           = l_doc-xpekpo[]
        l_xeket            = l_doc-xeket[]
        l_xtkomv           = l_doc-xtkomv[]
        l_xekkn            = l_doc-xekkn[]
        l_xekek            = l_doc-xekek[]
        l_xkomk            = l_xkomk
      EXCEPTIONS
        formatting_error   = 1
        internal_error     = 2
        send_error         = 3
        user_canceled      = 4
        OTHERS             = 5.

    i_otf[] =  w_return-otfdata[].

*now convert the final document (OTF format) into PDF format
    CALL FUNCTION 'CONVERT_OTF'
         EXPORTING
           format                      = 'PDF'
          max_linewidth               = 132
*        ARCHIVE_INDEX               = ' '
*        COPYNUMBER                  = 0
         IMPORTING
           bin_filesize                = l_pdf_len
         TABLES
           otf                         = i_otf
           lines                       = lt_lines
         EXCEPTIONS
           err_max_linewidth           = 1
           err_format                  = 2
           err_conv_not_possible       = 3
           err_bad_otf                 = 4
           OTHERS                      = 5.


*    h_gui_len = l_pdf_len.
*
*    CALL FUNCTION 'GUI_DOWNLOAD'
*      EXPORTING
*        bin_filesize = h_gui_len
*        filename     = h_gui_file
*        filetype     = 'BIN'
*      TABLES
*        data_tab     = lt_lines.
*

    h_file_size = l_pdf_len.
    i_rcgrepfile_tab[] = lt_lines[].

    CALL FUNCTION 'C13Z_RAWDATA_WRITE'
      EXPORTING
        i_file                 = h_file
        i_file_size            = h_file_size
*   I_LINES                = 0
*   I_FILE_OVERWRITE       = ESP1_TRUE
      TABLES
        i_rcgrepfile_tab       = i_rcgrepfile_tab
     EXCEPTIONS
       no_permission          = 1
       open_failed            = 2
       ap_file_exists         = 3
       OTHERS                 = 4
              .
    IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.

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


Beitrag von zzcpak (Expert / 673 / 5 / 68 ) »
ich vermute stark, deine Zuweisung

i_rcgrepfile_tab[] = lt_lines[].

kann so einfach nicht funktionieren.
Ersteres besteht nur aus einem RAW-Feld und zweiteres aus zwei Feldern (Formatspalte und Text). fällt mir schwer zu glauben, daß daraus ein funktionierendes PDF erstellt werden kann.

Mach doch mal einen LOOP über lt_lines und schieb nur das Textfeld in die Datentabelle für C13Z_RAWDATA_WRITE.

Beitrag von Marco (ForumUser / 6 / 0 / 0 ) »
Hi!

Übergib die oftdata an den Baustein, danach per open dataset usw. die gt_PDF ablegen..

Data:
lf_pdfsize TYPE i.
gt_pdf TYPE TABLE OF tline.

CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
IMPORTING
bin_filesize = lf_pdfsize
TABLES
otf = w_return-otfdata
lines = gt_pdf
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
err_bad_otf = 4
OTHERS = 5.

Beitrag von basstos (ForumUser / 3 / 0 / 0 ) »
hallo leute,

man musste den binär-string( bin_file ) übergeben....

Code: Alles auswählen.

CALL FUNCTION 'CONVERT_OTF'
         EXPORTING
           format                      = 'PDF'
          max_linewidth               = 132
*        ARCHIVE_INDEX               = ' '
*        COPYNUMBER                  = 0
         IMPORTING
           bin_filesize                = l_pdf_len
           bin_file                    = l_pdf_xstring       " binary file
         TABLES
           otf                         = i_otf
           lines                       = lt_lines
         EXCEPTIONS
           err_max_linewidth           = 1
           err_format                  = 2
           err_conv_not_possible       = 3
           err_bad_otf                 = 4
           OTHERS                      = 5.


    CONCATENATE '/Bestellungen/BIN_' l_doc-xekko-ebeln '.PDF' INTO h_file.

    OPEN DATASET h_file FOR OUTPUT IN BINARY MODE.
    CHECK sy-subrc EQ 0.
    TRANSFER l_pdf_xstring  TO h_file.
    CLOSE DATASET h_file.

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1383
Views
itab oder tab als file auf applikationsserver ablegen
von bertika » 21.11.2006 14:33 • Verfasst in ABAP® für Anfänger
1
Antw.
2068
Views
Beleg ablegen über NAST '2-ablegen' auf Fileebene möglich
von Mike10081973 » 28.08.2017 17:10 • Verfasst in Sales and Distribution
4
Antw.
1929
Views
URL`s im BDS ablegen
von Neroringer » 27.06.2006 13:17 • Verfasst in ABAP Objects®
2
Antw.
2515
Views
Korrespondenz ablegen in ein RFC-Archiv?
von Frog » 17.04.2007 17:00 • Verfasst in ABAP® für Anfänger
4
Antw.
7616
Views
Dienste zum Objekt: PDF Ablegen
von Jumper » 20.07.2012 11:12 • Verfasst in ABAP® Core

Ü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

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 1514
Hilfe bei SWEC/SWE2
letzen Monat von retsch 1 / 8127