간략히 설명하면 스마트폼 양식을 (OTF) PDF파일로서 로컬에 다운받고자 합니다.
게시글을 참조하여 진행중인데, 다음과 같은 절차 중 return이 안되는 막힘을 겪고 있습니다.
(1) CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZXXXXXX' "스마트폼명
IMPORTING
fm_name = func_mod_name
EXCEPTIONS
no_form = 1
no_function_module = 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.
(2) output_options-tdimmed = 'X' .
output_options-tddelete = 'X' .
output_options-tdnewid = 'X' .
output_options-tdfinal = 'X' .
output_options-tdnoprev = 'X' .
control_parameters-no_dialog = 'X'.
control_parameters-preview = space.
control_parameters-no_open = 'X'.
control_parameters-no_close = 'X'.
control_parameters-getotf = 'X'.
(3) CALL FUNCTION func_mod_name
EXPORTING
control_parameters = control_parameters
output_options = output_options
gs_head = gt_hd
IMPORTING
job_output_info = job_output_info
* document_output_info = document_output_info
* job_output_options = job_output_options
TABLES
it_item = lt_lineitem
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc = 0.
ENDIF.
그리고나서 아래와같이 OTF 인터널테이블 값을 받는 작업이 필요합니다.
it_otf[] = job_output_info-otfdata[]. // BUT, 디버깅 하면 값을 못받습니다.
(4) CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
MAX_LINEWIDTH = 132
IMPORTING
BIN_FILESIZE = v_bin_filesize
TABLES
otf = it_otf
lines = it_lines
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
ERR_BAD_OTF = 4.
(5) CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
bin_filesize = v_bin_filesize
filename = v_filename
filetype = 'BIN'
TABLES
data_tab = it_lines
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.
1 --> 5 번의 순서로 진행됩니다.
그런데 중간에
smartforms의 OTF파일을 받아서
CONVERT할 FUNCTION에
otf = it_otf 를통해 할당해야하는데 job_output_info-otfdata[] 값을 못받습니다.
그래서 conversion이구 뭐구 못하고있어요.
좀 도와주세요 고수분들
제가 뭔가 결정적으로 MISS한게 있는거 같은데;
control_parameters-no_open = 'X'.
control_parameters-no_close = 'X'.
이거 빼주세요..