ABAP-SMARTFORMS-批量打印

 打印时需要设置立即打印,否则无法打印(暨不弹出:打印机选择窗口)

*&---------------------------------------------------------------------*
*& Report  Y_CLY_6
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT Y_CLY_6.

DATA: LT_DATA TYPE TABLE OF T001 WITH HEADER LINE.

START-OF-SELECTION.
  DO 20 TIMES.
    LT_DATA-BUKRS = SY-INDEX.
    APPEND LT_DATA.
  ENDDO.

  PERFORM FRM_PRINT.

*&---------------------------------------------------------------------*
*&      Form  FRM_PRINT
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM FRM_PRINT .

**********************************************************************
  DATA: L_FNAME TYPE RS38L_FNAM.
  CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
    EXPORTING
      FORMNAME = 'Y_TEST_CLY_1'
    IMPORTING
      FM_NAME  = L_FNAME.

  DATA: L_OUTPUT_OPTIONS  TYPE SSFCOMPOP,
        L_TMP_CONTROL_PAR LIKE SSFCTRLOP,
        L_JOB_OUTPUT_INFO TYPE SSFCRESCL.


  L_OUTPUT_OPTIONS-TDIMMED   = 'X'.                      "立即打印标志

  DATA: L_LINES TYPE I.
  DESCRIBE TABLE LT_DATA LINES L_LINES.

  LOOP AT LT_DATA.
    CASE SY-TABIX.
      WHEN 1.
        L_TMP_CONTROL_PAR-NO_CLOSE = ABAP_TRUE.  "不关闭假脱机请求
        L_TMP_CONTROL_PAR-NO_OPEN  = SPACE.
      WHEN L_LINES.
        L_TMP_CONTROL_PAR-NO_CLOSE = SPACE.
        L_TMP_CONTROL_PAR-NO_OPEN  = ABAP_TRUE.  "没有新的假脱机请求
      WHEN OTHERS.
        L_TMP_CONTROL_PAR-NO_CLOSE = ABAP_TRUE.
        L_TMP_CONTROL_PAR-NO_OPEN  = ABAP_TRUE.
    ENDCASE.

    IF L_LINES = 1 .
      L_TMP_CONTROL_PAR-NO_CLOSE = SPACE.
      L_TMP_CONTROL_PAR-NO_OPEN  = SPACE.
    ENDIF.

    CALL FUNCTION L_FNAME
      EXPORTING
*       ARCHIVE_INDEX        =
*       ARCHIVE_INDEX_TAB    =
*       ARCHIVE_PARAMETERS   =
        CONTROL_PARAMETERS   = L_TMP_CONTROL_PAR
*       MAIL_APPL_OBJ        =
*       MAIL_RECIPIENT       =
*       MAIL_SENDER          =
        OUTPUT_OPTIONS       = L_OUTPUT_OPTIONS
*       USER_SETTINGS        = 'X'
      IMPORTING
*       DOCUMENT_OUTPUT_INFO =
        JOB_OUTPUT_INFO      = L_JOB_OUTPUT_INFO
*       JOB_OUTPUT_OPTIONS   =
      EXCEPTIONS
        FORMATTING_ERROR     = 1
        INTERNAL_ERROR       = 2
        SEND_ERROR           = 3
        USER_CANCELED        = 4
        OTHERS               = 5.

  ENDLOOP.

ENDFORM.                    " FRM_PRINT

猜你喜欢

转载自blog.csdn.net/cly_apple/article/details/84847382