- Create Date : 2010-06-15
- Change Date : 2010-06-15
잡담 -ㅂ-;
Smart Forms 결과를 PDF 파일로 변환하는 부분이다.
두 가지 문제가 있는데,
여전히 프린트 다이얼로그가 나온다는 것과 한글이 깨지는것이다.
Source
** pdf
data : lt_otfdata type ssfcrescl,
control_parameter type ssfctrlop,
lt_pdf_tab like tline occurs 0 with header line,
lt_otf type itcoo occurs 0 with header line,
w_filesize type i,
w_bin_filesize type i.
중략...
elseif p_pdf = 'X'.
control_parameter-getotf = 'X'.
CALL FUNCTION fm_name
EXPORTING
mart_name = mart_name
mart_loc = mart_loc
zcard = zcard
itab = itab
itab_b = itab_b
control_parameters = control_parameter """
importing
job_output_info = lt_otfdata """
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5
.
lt_otf[] = lt_otfdata-otfdata[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
* MAX_LINEWIDTH = 132
* ARCHIVE_INDEX = ' '
* COPYNUMBER = 0
* ASCII_BIDI_VIS2LOG = ' '
* PDF_DELETE_OTFTAB = ' '
* PDF_USERNAME = ' '
IMPORTING
BIN_FILESIZE = w_bin_filesize
* BIN_FILE =
TABLES
OTF = lt_otf[]
LINES = lt_pdf_tab
* EXCEPTIONS
* ERR_MAX_LINEWIDTH = 1
* ERR_FORMAT = 2
* ERR_CONV_NOT_POSSIBLE = 3
* ERR_BAD_OTF = 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 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = w_bin_filesize
FILENAME = 'C:\SMARTFORMS_RESULT.PDF'
FILETYPE = 'BIN'
* IMPORTING
* FILELENGTH =
TABLES
DATA_TAB = lt_pdf_tab
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endif.
data : lt_otfdata type ssfcrescl,
control_parameter type ssfctrlop,
lt_pdf_tab like tline occurs 0 with header line,
lt_otf type itcoo occurs 0 with header line,
w_filesize type i,
w_bin_filesize type i.
중략...
elseif p_pdf = 'X'.
control_parameter-getotf = 'X'.
CALL FUNCTION fm_name
EXPORTING
mart_name = mart_name
mart_loc = mart_loc
zcard = zcard
itab = itab
itab_b = itab_b
control_parameters = control_parameter """
importing
job_output_info = lt_otfdata """
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5
.
lt_otf[] = lt_otfdata-otfdata[].
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
* MAX_LINEWIDTH = 132
* ARCHIVE_INDEX = ' '
* COPYNUMBER = 0
* ASCII_BIDI_VIS2LOG = ' '
* PDF_DELETE_OTFTAB = ' '
* PDF_USERNAME = ' '
IMPORTING
BIN_FILESIZE = w_bin_filesize
* BIN_FILE =
TABLES
OTF = lt_otf[]
LINES = lt_pdf_tab
* EXCEPTIONS
* ERR_MAX_LINEWIDTH = 1
* ERR_FORMAT = 2
* ERR_CONV_NOT_POSSIBLE = 3
* ERR_BAD_OTF = 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 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = w_bin_filesize
FILENAME = 'C:\SMARTFORMS_RESULT.PDF'
FILETYPE = 'BIN'
* IMPORTING
* FILELENGTH =
TABLES
DATA_TAB = lt_pdf_tab
.
IF SY-SUBRC <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
endif.
Result
한글이 깨진다. ㅜ ㅜ
'ABAP 물타기 > Smart Forms' 카테고리의 다른 글
스마트폼즈 여러 개 출력(멀티) (0) | 2023.11.15 |
---|---|
Smart Forms : Basic (Hello Smart Forms!) (2) | 2010.06.15 |