lunes, 12 de diciembre de 2011

Sapscript a PDF

nota: crear el sapscript con el elemento detalle en el main. que fue el caso de este codigo.


TABLES: itcpo."P.Q. FUNCIONE EL PDF (ojo)
**TABLA PARA EL PDF

DATA: otfdata LIKE itcoo OCCURS 0 WITH HEADER LINE,"P.Q. FUNCIONE EL PDF (ojo)
intab TYPE soli_tab,"P.Q. FUNCIONE EL PDF (ojo)
objbin TYPE solix_tab,"P.Q. FUNCIONE EL PDF (ojo)
wa_intab TYPE LINE OF soli_tab,"P.Q. FUNCIONE EL PDF (ojo)
wa_objbin TYPE LINE OF solix_tab,"P.Q. FUNCIONE EL PDF (ojo)
objpack LIKE sopcklsti1."P.Q. FUNCIONE EL PDF (ojo)

*DATA: receiver_list LIKE soos1 OCCURS 5 WITH HEADER LINE.
DATA: RECLIST LIKE SOMLRECI1 OCCURS 5 WITH HEADER LINE.
**********datos de consulta
TYPES: BEGIN OF TY,
NOMBRE TYPE NAME_FIRST,
APELLIDO TYPE NAME_LAST,
END OF TY.

DATA NAME TYPE USR21-BNAME.
DATA IT TYPE STANDARD TABLE OF TY WITH HEADER LINE.

DATA P TYPE I VALUE 10.

SELECT-OPTIONS NOMBRE FOR NAME.

select a~NAME_FIRST a~NAME_LAST
into TABLE IT
from USR21 as u
INNER JOIN ADRP as a
on u~PERSNUMBER = a~PERSNUMBER
where U~BNAME IN NOMBRE.
**********fin *datos de consulta



itcpo-tdgetotf = 'X'."P.Q. FUNCIONE EL PDF (ojo)
itcpo-tddest = 'LP01'."P.Q. FUNCIONE EL PDF (ojo)

CALL FUNCTION 'OPEN_FORM'
EXPORTING
* APPLICATION = 'TX'
* ARCHIVE_INDEX =
* ARCHIVE_PARAMS =
DEVICE = 'PRINTER'"P.Q. FUNCIONE EL PDF (ojo)
DIALOG = ''"P.Q. FUNCIONE EL PDF (ojo)
FORM = 'YSAPSCRIPT_SSCRIPT' "nombre del sapscript
LANGUAGE = SY-LANGU
OPTIONS = itcpo "P.Q. FUNCIONE EL PDF (ojo)
* MAIL_SENDER =
* MAIL_RECIPIENT =
* MAIL_APPL_OBJECT =
* RAW_DATA_INTERFACE = '*'
* SPONUMIV =
* IMPORTING
* LANGUAGE =
* NEW_ARCHIVE_PARAMS =
* RESULT =
* EXCEPTIONS
* CANCELED = 1
* DEVICE = 2
* FORM = 3
* OPTIONS = 4
* UNCLOSED = 5
* MAIL_OPTIONS = 6
* ARCHIVE_ERROR = 7
* INVALID_FAX_NUMBER = 8
* MORE_PARAMS_NEEDED_IN_BATCH = 9
* SPOOL_ERROR = 10
* CODEPAGE = 11
* OTHERS = 12
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL FUNCTION 'START_FORM'
EXPORTING
* ARCHIVE_INDEX =
FORM = 'YSAPSCRIPT_SSCRIPT'
* LANGUAGE = ' '
* STARTPAGE = ' '
* PROGRAM = ' '
* MAIL_APPL_OBJECT =
* IMPORTING
* LANGUAGE =
* EXCEPTIONS
* FORM = 1
* FORMAT = 2
* UNENDED = 3
* UNOPENED = 4
* UNUSED = 5
* SPOOL_ERROR = 6
* CODEPAGE = 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.

LOOP AT IT.
CALL FUNCTION 'WRITE_FORM'
EXPORTING
ELEMENT = 'DETALLE'
* FUNCTION = 'SET'
* TYPE = 'BODY'
WINDOW = 'MAIN'
* IMPORTING
* PENDING_LINES =
* EXCEPTIONS
* ELEMENT = 1
* FUNCTION = 2
* TYPE = 3
* UNOPENED = 4
* UNSTARTED = 5
* WINDOW = 6
* BAD_PAGEFORMAT_FOR_PRINT = 7
* SPOOL_ERROR = 8
* CODEPAGE = 9
* OTHERS = 10
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDLOOP.



CALL FUNCTION 'END_FORM'
* IMPORTING
* RESULT =
* EXCEPTIONS
* UNOPENED = 1
* BAD_PAGEFORMAT_FOR_PRINT = 2
* SPOOL_ERROR = 3
* CODEPAGE = 4
* OTHERS = 5
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

CALL FUNCTION 'CLOSE_FORM'
* IMPORTING
* RESULT =
* RDI_RESULT =
TABLES
OTFDATA = otfdata"P.Q. FUNCIONE EL PDF (ojo)
* EXCEPTIONS
* UNOPENED = 1
* BAD_PAGEFORMAT_FOR_PRINT = 2
* SEND_ERROR = 3
* SPOOL_ERROR = 4
* CODEPAGE = 5
* OTHERS = 6
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.


"P.Q. FUNCIONE EL PDF (ojo)
*********para bajar a pdf
LOOP AT otfdata.
wa_intab = otfdata.
APPEND wa_intab TO intab.
CLEAR wa_intab.
ENDLOOP.

CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
EXPORTING
format_src = 'OTF'
format_dst = 'PDF'
devtype = 'LP01'
CHANGING
transfer_bin = objpack-transf_bin
content_txt = intab
content_bin = objbin
objhead = intab
len = objpack-doc_size
EXCEPTIONS
err_conv_failed = 1
OTHERS = 2.

CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = 'C:/PRUEBASS.PDF'
filetype = 'BIN'
TABLES
data_tab = objbin
EXCEPTIONS
file_write_error = 1
no_batch = 2.
IF sy-subrc <> 0.
ENDIF.

"P.Q. FUNCIONE EL PDF (ojo)
*END PDF

1 comentario:

  1. Slot machines at JV Slot Machines - KT Hub
    Slot machines at JV Slot Machines - JV Slot 원주 출장마사지 Machines. JV Slot Machines. All 여주 출장마사지 online slot machines 전주 출장안마 at JV 안양 출장마사지 Slot Machines. All slot 충주 출장샵 machines at JV Slot Machines.

    ResponderEliminar