Skip to Content
0
Former Member
Jun 04, 2008 at 02:15 PM

Uploading and Printing PDF.

473 Views

HI friends,

I have a requirement where i have to upload a pdf file from the local drive and send it to spool and print it.

i have written the code as below. i am able to create a spool number. but it is not in PDF format.

how to convert the uploaded pdf data ( TB_FINAL).

REPORT YVR_UPLOADPDF
   NO STANDARD PAGE HEADING     "
      LINE-SIZE 80              "
      LINE-COUNT 64             "
      MESSAGE-ID XX.            "

DATA: BEGIN OF ITAB OCCURS 0,
FIELD(2000),
END OF ITAB.
DATA :  TLINES  LIKE STANDARD TABLE OF  TLINE  INITIAL SIZE 0 WITH HEADER LINE.
DATA : VA_LENG TYPE I.
DATA: TB_FINAL TYPE ITCOO OCCURS 0 WITH HEADER LINE,
TB_otf_FINAL TYPE ITCOO OCCURS 0 WITH HEADER LINE,
tab_otf_data TYPE ssfcrescl.
DATA: VA_FILE TYPE STRING VALUE 'PDFTEST.TXT'.
DATA :        WF_ID  LIKE TSP01-RQIDENT.
PARAMETERS : P_FILE TYPE STRING.
PARAMETERS : P_FILE1 TYPE STRING.

*call function 'GUI_UPLOAD'
*exporting
*filename = p_file
*filetype = 'BIN'
*importing
*filelength = length
*tables
*data_tab = tlines.
DATA :LENGTH LIKE SY-TABIX,
LENGTHN LIKE SY-TABIX.


CALL FUNCTION 'GUI_UPLOAD'
  EXPORTING
    FILENAME                      = P_FILE
   FILETYPE                      = 'BIN'
*   HAS_FIELD_SEPARATOR           = ' '
*   HEADER_LENGTH                 = 0
*   READ_BY_LINE                  = 'X'
*   DAT_MODE                      = ' '
*   CODEPAGE                      = ' '
*   IGNORE_CERR                   = ABAP_TRUE
*   REPLACEMENT                   = '#'
*   CHECK_BOM                     = ' '
*   VIRUS_SCAN_PROFILE            =
 IMPORTING
   FILELENGTH                    = VA_LENG
*   HEADER                        =
  TABLES
    DATA_TAB                      = Tb_final
* EXCEPTIONS
*   FILE_OPEN_ERROR               = 1
*   FILE_READ_ERROR               = 2
*   NO_BATCH                      = 3
*   GUI_REFUSE_FILETRANSFER       = 4
*   INVALID_TYPE                  = 5
*   NO_AUTHORITY                  = 6
*   UNKNOWN_ERROR                 = 7
*   BAD_DATA_FORMAT               = 8
*   HEADER_NOT_ALLOWED            = 9
*   SEPARATOR_NOT_ALLOWED         = 10
*   HEADER_TOO_LONG               = 11
*   UNKNOWN_DP_ERROR              = 12
*   ACCESS_DENIED                 = 13
*   DP_OUT_OF_MEMORY              = 14
*   DISK_FULL                     = 15
*   DP_TIMEOUT                    = 16
*   OTHERS                        = 17
          .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
DATA : PRINT_PARAMETERS LIKE PRI_PARAMS.

NEW-PAGE PRINT ON PARAMETERS PRINT_PARAMETERS NO DIALOG.

DATA : VA_DOCS LIKE TABLE OF DOCS INITIAL SIZE 0 WITH HEADER LINE.
CALL FUNCTION 'CONVERT_OTF_2_PDF'
* EXPORTING
*   USE_OTF_MC_CMD               = 'X'
*   ARCHIVE_INDEX                =
* IMPORTING
*   BIN_FILESIZE                 =
  TABLES
    OTF                          = TB_otf_FINAL
    DOCTAB_ARCHIVE               = VA_DOCS[]
    LINES                        = TLINES
* EXCEPTIONS
*   ERR_CONV_NOT_POSSIBLE        = 1
*   ERR_OTF_MC_NOENDMARKER       = 2
*   OTHERS                       = 3
          .
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

NEW-PAGE PRINT OFF.
WF_ID = SY-SPONO.

DATA : TB_BUFFER LIKE TABLE OF SOLI INITIAL SIZE 0 WITH HEADER LINE.

CALL FUNCTION 'RSPO_RETURN_SPOOLJOB'
EXPORTING
          RQIDENT = WF_ID
*          FIRST_LINE = 1
*          LAST_LINE = ' '
*          DESIRED_TYPE = ' '
*IMPORTING
*          REAL_TYPE =
*          SP_LANG =
TABLES
        BUFFER = TB_BUFFER
        BUFFER_PDF = TLINES
EXCEPTIONS
          NO_SUCH_JOB = 1
          JOB_CONTAINS_NO_DATA = 2
          SELECTION_EMPTY = 3
          NO_PERMISSION = 4
          CAN_NOT_ACCESS = 5
          READ_ERROR = 6
          TYPE_NO_MATCH = 7
          OTHERS = 8
.
IF SY-SUBRC <> 0.
  MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

Kindly tell me how to print this PDF.

waiting for your replies.

Regards,

Vikki