2009 Jan 09 5:32 AM
Hi all
I am trying Script to Pdf using Convert_oft FM working fine but no data in that pdf file
The following code i am using
CALL FUNCTION 'OPEN_FORM'
EXPORTING
device = 'PRINTER'
dialog = 'X'
OPTIONS = struct
form = 'ZPORDERPDF_FORM'
language = sy-langu
EXCEPTIONS
canceled = 1
device = 2
form = 3
options = 4
unclosed = 5
OTHERS = 11.
PERFORM header_disp USING l_doc.
PERFORM main_disp USING l_doc.
CALL FUNCTION 'CLOSE_FORM'
TABLES
OTFDATA = DATAB[]
EXCEPTIONS
UNOPENED = 1
BAD_PAGEFORMAT_FOR_PRINT = 2
SEND_ERROR = 3
SPOOL_ERROR = 4
CODEPAGE = 5
OTHERS = 6 .
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
MAX_LINEWIDTH = 132
ARCHIVE_INDEX = SPACE
COPYNUMBER = 0
ASCII_BIDI_VIS2LOG = ' '
PDF_DELETE_OTFTAB = ' '
IMPORTING
BIN_FILESIZE = BINFILESIZE
BIN_FILE =
TABLES
otf = DATAB[]
lines = PDFTAB[]
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
ERR_BAD_OTF = 4
OTHERS = 5.
*
*CALL METHOD cl_gui_frontend_services=>file_save_dialog
*
EXPORTING
WINDOW_TITLE =
DEFAULT_EXTENSION = 'PDF'
DEFAULT_FILE_NAME =
FILE_FILTER =
INITIAL_DIRECTORY =
WITH_ENCODING =
PROMPT_ON_OVERWRITE = 'X'
CHANGING
filename = FILE_NAME
path = FILE_PATH
fullpath = FULL_PATH.
USER_ACTION =
FILE_ENCODING =
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
**
**others = 4.
*
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = binfilesize
FILENAME = 'E:\IT_SURESH\.pdf'
FILETYPE = 'BIN'
APPEND = ' '
WRITE_FIELD_SEPARATOR = ' '
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH =
tables
data_tab = PDFTAB[]
FIELDNAMES =
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22.
ENDFORM. " DISPLAY_SSCRIPT
How will rectify
Thanks and Regards
Suresh
Hi all
I am trying Script to Pdf using Convert_oft FM working fine but no data in that pdf file
The following code i am using
CALL FUNCTION 'OPEN_FORM'
EXPORTING
device = 'PRINTER'
dialog = 'X'
OPTIONS = struct
form = 'ZPORDERPDF_FORM'
language = sy-langu
EXCEPTIONS
canceled = 1
device = 2
form = 3
options = 4
unclosed = 5
OTHERS = 11.
PERFORM header_disp USING l_doc.
PERFORM main_disp USING l_doc.
CALL FUNCTION 'CLOSE_FORM'
TABLES
OTFDATA = DATAB[]
EXCEPTIONS
UNOPENED = 1
BAD_PAGEFORMAT_FOR_PRINT = 2
SEND_ERROR = 3
SPOOL_ERROR = 4
CODEPAGE = 5
OTHERS = 6 .
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
MAX_LINEWIDTH = 132
ARCHIVE_INDEX = SPACE
COPYNUMBER = 0
ASCII_BIDI_VIS2LOG = ' '
PDF_DELETE_OTFTAB = ' '
IMPORTING
BIN_FILESIZE = BINFILESIZE
BIN_FILE =
TABLES
otf = DATAB[]
lines = PDFTAB[]
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
ERR_BAD_OTF = 4
OTHERS = 5.
*
*CALL METHOD cl_gui_frontend_services=>file_save_dialog
*
EXPORTING
WINDOW_TITLE =
DEFAULT_EXTENSION = 'PDF'
DEFAULT_FILE_NAME =
FILE_FILTER =
INITIAL_DIRECTORY =
WITH_ENCODING =
PROMPT_ON_OVERWRITE = 'X'
CHANGING
filename = FILE_NAME
path = FILE_PATH
fullpath = FULL_PATH.
USER_ACTION =
FILE_ENCODING =
EXCEPTIONS
CNTL_ERROR = 1
ERROR_NO_GUI = 2
NOT_SUPPORTED_BY_GUI = 3
**
**others = 4.
*
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = binfilesize
FILENAME = 'E:\IT_SURESH\.pdf'
FILETYPE = 'BIN'
APPEND = ' '
WRITE_FIELD_SEPARATOR = ' '
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH =
tables
data_tab = PDFTAB[]
FIELDNAMES =
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22.
ENDFORM. " DISPLAY_SSCRIPT
How will rectify
Thanks and Regards
Suresh
2009 Jan 09 5:34 AM
hi,
check in this tables whether data is coming or not
otf = DATAB[]
lines = PDFTAB[]
2009 Jan 09 5:39 AM
Hi Rajasekhar
Thanks for Quick response
I will checked both tables no data
i will close form DATAB[] no data
how will correct it
Thanks and regards
Suresh
2009 Jan 09 6:09 AM
hi,
try like this
Convert OTF to PDF
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
IMPORTING
bin_filesize = lv_filesize
bin_file = lv_pdf_xstring
TABLES
otf = lt_otf
lines = lt_lines
EXCEPTIONS
err_max_linewidth = 1
err_format = 2
err_conv_not_possible = 3
err_bad_otf = 4
OTHERS = 5.
IF sy-subrc = 0.
Convert PDF data into Binary fomrat
CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
EXPORTING
buffer = lv_pdf_xstring
TABLES
binary_tab = et_objbin.
LOOP AT lt_otf INTO ls_otf.
READ TABLE lt_lines INTO ls_lines INDEX SY-TABIX.
ls_obj_bin-line = ls_lines-tdline.
APPEND ls_obj_bin TO et_obj_bin.
ENDLOOP.
LOOP AT lt_lines INTO ls_lines.
lv_line_filled = STRLEN( ls_obj_bin-line ).
lv_line_empty = 255 - lv_line_filled.
IF lv_line_filled = 255.
APPEND ls_obj_bin TO et_obj_bin.
CLEAR ls_obj_bin-line.
CLEAR lv_line_filled.
lv_line_empty = 255.
ENDIF.
ls_obj_bin-line+lv_line_filled = ls_lines-tdline.
IF lv_line_empty < 132.
APPEND ls_obj_bin TO et_obj_bin.
CLEAR ls_obj_bin-line.
ls_obj_bin-line = ls_lines-tdline+lv_line_empty.
ENDIF.
ENDLOOP.
File title and description
es_doc_data-obj_name = lv_file_title.
es_doc_data-obj_descr = lv_file_description.
es_doc_data-obj_langu = 'E'.
DESCRIBE TABLE et_obj_bin LINES lv_lines.
READ TABLE et_obj_bin INTO ls_obj_bin INDEX lv_lines.
es_doc_data-doc_size = ( lv_lines - 1 ) * 255 + STRLEN( ls_obj_bin-line ).
ls_obj_txt-line = is_output_options-tdtitle.
APPEND ls_obj_txt TO lt_obj_txt.
CLEAR : ls_obj_txt.
DESCRIBE TABLE lt_obj_txt LINES lv_lines.
READ TABLE lt_obj_txt INTO ls_obj_txt INDEX lv_lines.
CLEAR: ls_obj_pack-transf_bin.
ls_obj_pack-head_start = 1.
ls_obj_pack-head_num = 0.
ls_obj_pack-body_start = 1.
ls_obj_pack-body_num = lv_lines.
ls_obj_pack-doc_type = 'RAW'. "#EC NOTEXT
APPEND ls_obj_pack TO et_obj_pack.
CLEAR: lv_lines.
DESCRIBE TABLE et_obj_bin LINES lv_lines.
READ TABLE et_obj_bin INTO ls_obj_bin INDEX lv_lines.
ls_obj_pack-doc_size = es_doc_data-doc_size.
ls_obj_pack-transf_bin = 'X'.
ls_obj_pack-head_start = 0.
ls_obj_pack-head_num = 0.
ls_obj_pack-body_start = 1.
ls_obj_pack-body_num = lv_lines.
ls_obj_pack-doc_type = 'PDF'. "#EC NOTEXT
ls_obj_pack-obj_name = is_output_options-tdtitle.
ls_obj_pack-obj_descr = is_output_options-tdtitle.
APPEND ls_obj_pack TO et_obj_pack.
after that pass which are in bold
Send document with attachments
CALL FUNCTION 'SO_NEW_DOCUMENT_ATT_SEND_API1'
EXPORTING
DOCUMENT_DATA = is_doc_data
PUT_IN_OUTBOX = 'X'
COMMIT_WORK = 'X'
TABLES
PACKING_LIST = it_obj_pack
CONTENTS_BIN = it_objbin
CONTENTS_TXT = it_mail_text
RECEIVERS = it_recipents_for_doc
EXCEPTIONS
TOO_MANY_RECEIVERS = 1
DOCUMENT_NOT_SENT = 2
DOCUMENT_TYPE_NOT_EXIST = 3
OPERATION_NO_AUTHORIZATION = 4
PARAMETER_ERROR = 5
X_ERROR = 6
ENQUEUE_ERROR = 7
OTHERS = 8.
Edited by: Rajasekhar Reddy P on Jan 9, 2009 11:39 AM
2009 Jan 09 5:37 AM
2009 Jan 10 4:12 AM
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |