안녕하세요!!!
간단히 폼안에서 TABLE받아올때 서식인터페이스에서 테이블에 선언해서 받아오면 되는것인가요?
그리고 전역정의에 스트럭쳐 선언해주고
윈도우에서 LOOP돌릴때 ITAB INTO 전역에서선언한 스트럭쳐 하고
조건은 꼭주어야하나요? 주면 어떤식으로주면될까요!!!
조건은 프로그램에서 던저주는 인터널테이블의 필드명 = 스마트폼에서 받은 테이블의 필드명. 이러케 하나요?
참고로 테이블던져주고 레이아웃은같고 데이터만다르게 여러장을 출력하려고하고
바로 출력하는것이 아니라 PDF로 보여주고 출력하려고 합니다 ㅠㅠ 잘안되네요 에고~
조언좀 부탁드릴께요~
댓글 3
-
CoolGuy
2008.10.17 06:49
-
mean
2008.10.17 17:03
page1을 더블클릭하시고, next page를 page1으로 줘보세요.
loop을 더블클릭하시고, 조건에 프로그램itab INTO 스마트폼itab해주세요.
-
좋아
2008.10.17 23:41
간단히 폼안에서 TABLE받아올때 서식인터페이스에서 테이블에 선언해서 받아오면 되는것인가요? 네 그런식으로 하시면 되고요
전역정의에 전역데이터에 같은 형식으로 선언해주시고요 이름은 조금 다르게요..
그리고 윈도우에서 루프 돌릴때요... 조건은 안주셔도 되고요 루프문에서요... 데이타 부분에 앞부분에 서식 인터페이스에 선언한거 쓰시고요.. into 뒤부분에 전역정의쪽을 쓰시면 되요.. where 조건에는요 앞부분 필드이름은 전역정의 한 필드이름이고요 뒤에는 따로 선언한거나 서식인터페이스 필드이름 정도 주시면 되고요... 페이지를 나누실려면요 추가하실때 루프위에 있는 대체라고 있는데요 그걸 써서 조건에 만족하면 페이지를 넘겨주는게 있거든요... 그걸로 하시면 돼요...
마지막으로 pdf를 쓰실려면요
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZCF_PORDERSLIP3' "스마트폼이름
IMPORTING
fm_name = p_fm_name. "서식명이 들어간다.
p_language = 'EN'.
CALL FUNCTION 'SSF_GET_DEVICE_TYPE'
EXPORTING
i_language = p_language
i_application = 'SAPDEFAULT'
IMPORTING
e_devtype = p_e_devtype.
p_output_options-xsfcmode = 'X'.
p_output_options-xsf = space.
p_control_parameters-no_dialog = 'X'. "인쇄창안뜨게
p_control_parameters-preview = 'X'.
p_control_parameters-getotf = 'X'.
* 스마트폼에 적절한 파라미터,테이블 등을 넘겨주세용
SORT g_itab_t1 ASCENDING BY ibcdk item.
SORT g_itab_t ASCENDING by ibcdk. "DESCENDING trno.
DELETE ADJACENT DUPLICATES FROM g_itab_t COMPARING ibcdk trdt.
CALL FUNCTION p_fm_name
EXPORTING
control_parameters = p_control_parameters
output_options = p_output_options
IMPORTING
job_output_info = p_job_output_info
TABLES
it_zcf0070t = g_itab_t
it_zcf0001s = g_itab_t1.
p_otf[] = p_job_output_info-otfdata.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
format = 'PDF'
IMPORTING
bin_filesize = p_bin_filesize
bin_file = p_bin_file
TABLES
otf = p_otf
lines = p_lines.
LOOP AT p_otf.
CONCATENATE p_otf-tdprintcom p_otf-tdprintpar INTO wa_otf.
APPEND wa_otf TO content_txt.
ENDLOOP.
CALL FUNCTION 'SX_OBJECT_CONVERT_OTF_PDF'
EXPORTING
format_src = 'OTF'
format_dst = 'PDF'
* devtype = 'PRINTER'
CHANGING
transfer_bin = transfer_bin
content_txt = content_txt
content_bin = content_bin
objhead = objhead
len = len_in
EXCEPTIONS
err_conv_failed = 1
OTHERS = 2.
PERFORM pdf_show.
*&---------------------------------------------------------------------*
*& Form PDF_SHOW
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM pdf_show .
IF NOT g_html_container IS INITIAL.
CALL METHOD g_html_container->free.
ENDIF.
CREATE OBJECT g_html_container
EXPORTING container_name = 'HTML_CONTAINER'.
CREATE OBJECT g_html_control
EXPORTING parent = g_html_container.
CALL METHOD g_html_control->load_data
EXPORTING
* url 은 계속 변경되어야 함
* url = '명세서.pdf'
size = p_bin_filesize
type = 'APPLICATION'
subtype = 'PDF'
IMPORTING
assigned_url = url
CHANGING
* data_table = pdf_line_tab[].
data_table = content_bin[].
CALL METHOD g_html_control->show_data
EXPORTING
url = url.
ENDFORM. " PDF_SHOW
이런식으로 해주시면 될거예요.. 스마트폼은 설명 드리기가 조금 빡세네요... 잘 해결 되시길 바래요..^^
참 여러장출력할때 폼안에서 무언가 해줘야하는건 아닌가요?
폼은 PAGE1 이거 하나뿐인데 자동으로 페이지생성된다던가 뭐 이런게 있지않나요?