*& Report Y_CLY_SMF3
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT Y_CLY_SMF3.
START-OF-SELECTION.
DATA: LT_DATA TYPE TABLE OF T001 WITH HEADER LINE.
DO 4 TIMES.
LT_DATA-BUKRS = SY-INDEX.
APPEND LT_DATA.
ENDDO.
PERFORM FRM_PRINT.
*&---------------------------------------------------------------------*
*& Form FRM_PRINT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM FRM_PRINT .
**********************************************************************
DATA: L_FNAME TYPE RS38L_FNAM.
DATA: L_FNAME2 TYPE RS38L_FNAM.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'Y_TEST_CLY_1'
IMPORTING
FM_NAME = L_FNAME.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = 'Y_TEST_CLY_2'
IMPORTING
FM_NAME = L_FNAME2.
DATA: L_OUTPUT_OPTIONS TYPE SSFCOMPOP ,
L_TMP_CONTROL_PAR LIKE SSFCTRLOP,
L_JOB_OUTPUT_INFO TYPE SSFCRESCL ,
L_PRINTCOUNT TYPE I.
****以下设置打印预览功能***
*****Smart Forms: 控制结构*****
** L_TMP_CONTROL_PAR-GETOTF = 'X'. "这个参数一定要设:OTF 表的返回。无打印,显示或传真
* " 直接预览,预览后可打印
L_TMP_CONTROL_PAR-PREVIEW = 'X'. "
L_TMP_CONTROL_PAR-NO_DIALOG = 'X'. "
"
* L_TMP_CONTROL_PAR-PREVIEW = 'X'. "
* L_TMP_CONTROL_PAR-NO_DIALOG = ''. "
" 直接打印
* L_TMP_CONTROL_PAR-PREVIEW = ''. "
* L_TMP_CONTROL_PAR-NO_DIALOG = 'X'. "
*** L_TMP_CONTROL_PAR-DEVICE = 'PRINTER'.
*****SAP Smart Forms: 智能写作器 (传输) 选项*****
L_OUTPUT_OPTIONS-TDNOPREV = 'X'. "是否打印预览,X 不预览。
* L_OUTPUT_OPTIONS-TDNOPRINT = 'X'. "没有打印输出,X 不显示。
L_OUTPUT_OPTIONS-TDIMMED = 'X'. "立即打印标志。
L_OUTPUT_OPTIONS-TDIEXIT = ''. "预览打印后直接退出
** L_OUTPUT_OPTIONS-TDDEST = 'RED_LOCAL'. "假脱机,输出设备。
DATA: L_LINES TYPE I.
DATA: LV_IND TYPE I.
DATA: G_C_X TYPE C VALUE 'X'.
DESCRIBE TABLE LT_DATA LINES L_LINES.
LOOP AT LT_DATA.
LV_IND = SY-TABIX.
CASE LV_IND.
WHEN 1.
L_TMP_CONTROL_PAR-NO_CLOSE = G_C_X.
L_TMP_CONTROL_PAR-NO_OPEN = SPACE.
WHEN OTHERS.
L_TMP_CONTROL_PAR-NO_CLOSE = G_C_X.
L_TMP_CONTROL_PAR-NO_OPEN = G_C_X.
ENDCASE.
CALL FUNCTION L_FNAME
EXPORTING
CONTROL_PARAMETERS = L_TMP_CONTROL_PAR
OUTPUT_OPTIONS = L_OUTPUT_OPTIONS
IMPORTING
JOB_OUTPUT_INFO = L_JOB_OUTPUT_INFO.
CASE LV_IND.
WHEN L_LINES.
L_TMP_CONTROL_PAR-NO_CLOSE = SPACE.
L_TMP_CONTROL_PAR-NO_OPEN = G_C_X.
WHEN OTHERS.
L_TMP_CONTROL_PAR-NO_CLOSE = G_C_X.
L_TMP_CONTROL_PAR-NO_OPEN = G_C_X.
ENDCASE.
IF L_LINES = 1 .
L_TMP_CONTROL_PAR-NO_CLOSE = SPACE.
L_TMP_CONTROL_PAR-NO_OPEN = SPACE.
ENDIF.
CALL FUNCTION L_FNAME2
EXPORTING
CONTROL_PARAMETERS = L_TMP_CONTROL_PAR
OUTPUT_OPTIONS = L_OUTPUT_OPTIONS
IMPORTING
JOB_OUTPUT_INFO = L_JOB_OUTPUT_INFO.
*
* PERFORM FRM_SAVE_TO_PDF USING L_JOB_OUTPUT_INFO-OTFDATA[] 'strtel'.
ENDLOOP.
ENDFORM. " FRM_PRINT