스마트폼으로 생성된 폼을 PDF 변환 로직 구현중인데요
SPOOL ID 를 생성한 후 이것을 이용하여 아래 함수로 OTF 를 PDF 로 변환후
DOWNLOAD 함수를 이용하여 PDF 파일을 다운로드 해보면 스마트폼에서 생성한 레이아웃만 나오고
실제 값들은 나오지 않습니다(Tx: SP01 에서 확인해보면 똑같이 레이아웃만 보여짐)
CALL FUNCTION 'CONVERT_OTFSPOOLJOB_2_PDF'
EXPORTING
src_spoolid = spool-rqident
no_dialog = ' '
IMPORTING
pdf_bytecount = numbytes
pdf_spoolid = pdfspoolid
btc_jobname = jobname
btc_jobcount = jobcount
TABLES
pdf = pdf
Print preview 를 한번 하고 나서야 위에 있는 PDF 변환 로직을 타면 그때야 정상적으로 값들이 나오는데
왜 그런지 이유를 모르겠습니다
어떻게 하면 Print preview 를 하지 않고도 바로 PDF 파일로 정상적으로 값들이 보이는지
아시는분은 답변한줄 부탁드립니다
감사합니다.
댓글 4
-
activeman
2009.04.14 23:34
-
SD_꽃미남
2009.04.15 00:20
activeman 님 답변 감사합니다
OTF 변환 함수를 통하여 PDF 파일로 변경한 후 다운로드 해도 SMARTFORMS 레이아웃만 나오고
SMARTFORMS 으로 인터페이스한 값들은 여전히 안나오네요...
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
CALL FUNCTION L_FMNAME
위 2개의 함수를 호출하고 나면 SMARTFORMS 레이아웃과 파라미터로 던진 값들이
인터페이스되어야 하는데 그것부터가 안되는것 같은데요..그러니 레이아웃만 나오는거고
이 상태에서 SPOOL 을 이용하던, OTF 파일로 변환한걸 이용하던 결과는 똑같을 거고요...
휴..죽것네요 ㅎ;
-
activeman
2009.04.15 03:32
스마트 폼을 다시 생성해서 디버깅 한번 걸어 보십시요.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME' ,
CALL FUNCTION L_FMNAME
함수 사이에 값을 제대로 못 받아 온다면 스마트폼 생성후 실행하면 함수명이 나오지 않습니까!
그함수명으로 패튼에서 소스에 불러 와 보십시요..
그럼..뭔가 에러난곳을 쉽게 찾을 수 있을 겁니다.
즐밥하세요..
-
SD_꽃미남
2009.04.15 03:53
activeman 님 정말 죄송합니다
PDF 로 저장할때 값을 가지고 오는 루틴을 타지 않고 있었네요 ;;
미치고 환장 --;;;;
아래 함수를 이용해 보세요 ....
스마트폼으로 양식을 만든후에 html container로 pdf 파일로 보이도록 하는 예제 입니다..
즐밥하세요...
DATA: L_FMNAME TYPE RS38L_FNAM.
CONTROL_PARAMETER-NO_DIALOG = 'X'.
CONTROL_PARAMETER-GETOTF = 'X'.
CLEAR: OTF_TAB[], JOB_OUTPUT_INFO, L_FMNAME.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'ZSD_KEEPING_GI_GR'
IMPORTING
FM_NAME = L_FMNAME.
CALL FUNCTION L_FMNAME
EXPORTING
CONTROL_PARAMETERS = CONTROL_PARAMETER
V_HEADER = V_PRINTED_HEADER
V_ITEM = V_PRINTED_ITEM
IMPORTING
JOB_OUTPUT_INFO = JOB_OUTPUT_INFO.
APPEND LINES OF JOB_OUTPUT_INFO-OTFDATA TO OTF_TAB.
ENDLOOP.
CALL FUNCTION 'CONVERT_OTF'
EXPORTING
FORMAT = 'PDF'
IMPORTING
BIN_FILESIZE = PDF_FSIZE
TABLES
OTF = OTF_TAB
LINES = PDF_TABLE
EXCEPTIONS
ERR_MAX_LINEWIDTH = 1
ERR_FORMAT = 2
ERR_CONV_NOT_POSSIBLE = 3
OTHERS = 4.
PDF_LINE_TAB[] = PDF_TABLE[].
IF G_HTML_CONTAINER IS INITIAL.
P_REPID = SY-REPID.
P_DYNNR = SY-DYNNR.
CREATE OBJECT G_HTML_CONTAINER
EXPORTING
CONTAINER_NAME = 'HTML_CONTAINER'.
CREATE OBJECT G_HTML_CONTROL
EXPORTING
PARENT = G_HTML_CONTAINER.
ENDIF.
CALL METHOD G_HTML_CONTROL->LOAD_DATA
EXPORTING
SIZE = PDF_FSIZE
TYPE = 'APPLICATION'
SUBTYPE = 'PDF'
IMPORTING
ASSIGNED_URL = URL
CHANGING
DATA_TABLE = PDF_LINE_TAB[].
CALL METHOD G_HTML_CONTROL->SHOW_DATA
EXPORTING
URL = URL.