日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Smart Form不弹出假脱机设置界面直接打印预览

發布時間:2025/3/20 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Smart Form不弹出假脱机设置界面直接打印预览 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Smart Form主要通過SSFCTRLOP和SSFCOMPOP兩個參數來配置打印控制的。
?

下面是一段實施代碼:
  • DATA: ctrl_param TYPE ssfctrlop,
  • ? ?? ?out_option TYPE ssfcompop,
  • ? ?? ?fm_name? ? TYPE rs38l_fnam.

  • *控制默認打印機隱藏預覽功能
  • out_option-tddest = 'LP01'.? ? ? ? "指定默認打印機名,一般為四位字符
  • out_option-tdnoprev = 'X'.? ? ? ? "隱藏報表預覽功能,默認為空
  • out_option-tdimmed = 'X'.? ? ? ? ? ? ? ? "是否勾選快速打印項
  • out_option-tdarmod = 1.? ? ? ? ? ? ? ? "確認本地設置是否有效,必選項
  • *不顯示對話框直接預覽
  • ctrl_param-preview = 'X'.
  • ctrl_param-no_Dialog?= 'X'.
  • CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
  • ??EXPORTING
  • ? ? formname? ?? ?? ???= 'Z_TESTJSW' "Smart Form名稱
  • ??IMPORTING
  • ? ? fm_name? ?? ?? ?? ?= fm_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.
  • CALL FUNCTION fm_name
  • ??EXPORTING
  • ? ? control_parameters = ctrl_param
  • ? ? output_options? ???= out_option
  • ? ? user_settings? ?? ?= space
  • *??TABLES
  • *? ?itab? ?? ?? ?? ?? ?= itab[]
  • ??EXCEPTIONS
  • ? ? OTHERS? ?? ?? ?? ? = 1.
  • 復制代碼

    一次性輸出多張報表:
    有些時候可能需要一次性打印多張內容不同的報表,直接調用SmartForms時,可能每次調用后都會執行一次打印操作,會在循環中反復出現打印對話框,影響程序執行效率。SAP打印控制了假脫機功能,允許將多張表先緩存,最后一次性提交打印請求。
    實現假脫機控制控制主要通過SmartForms函數的CONTROL_PARAMETERS接口的NO_OPEN、NO_CLOSE兩個參數來控制。

    如果我們在項目實戰中需要打印多個請求,則直接用下面的perform

  • FORM SHOWFORM.

  • ??DATA: W_SFNAME TYPE RS38L_FNAM.
  • ??DATA: LS_CONTROL_PARAM TYPE SSFCTRLOP .
  • ??DATA: LS_COMPOSER_PARAM TYPE SSFCOMPOP .
  • ??DATA: OUTOPT TYPE SSFCRESOP.
  • ??DATA: I_JOB_OUTPUT_INFO TYPE SSFCRESCL.

  • ??LS_CONTROL_PARAM-LANGU = '1'.??"1:CHINESE
  • ??LS_CONTROL_PARAM-NO_OPEN = 'X'.
  • ??LS_CONTROL_PARAM-NO_CLOSE = 'X'.

  • ??CALL FUNCTION 'SSF_OPEN' “調用SSF_OPEN函數設置打印機,打開輸出請求
  • ? ? EXPORTING
  • ? ?? ?CONTROL_PARAMETERS = LS_CONTROL_PARAM
  • ? ?? ?OUTPUT_OPTIONS? ???= LS_COMPOSER_PARAM
  • ? ? IMPORTING
  • ? ?? ?JOB_OUTPUT_OPTIONS = OUTOPT
  • ? ? EXCEPTIONS
  • ? ?? ?FORMATTING_ERROR? ?= 1
  • ? ?? ?INTERNAL_ERROR? ???= 2
  • ? ?? ?SEND_ERROR? ?? ?? ?= 3
  • ? ?? ?USER_CANCELED? ?? ?= 4
  • ? ?? ?OTHERS? ?? ?? ?? ? = 5.

  • ??IF SY-SUBRC <> 0.
  • ? ? MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  • ? ? WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  • ? ? EXIT.
  • ??ENDIF.

  • ??IF SY-SUBRC <> 0.
  • * Implement suitable error handling here
  • ??ENDIF.

  • ??CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
  • ? ? EXPORTING
  • ? ?? ?FORMNAME? ?? ?? ???= 'ZMMF0009'
  • ? ? IMPORTING
  • ? ?? ?FM_NAME? ?? ?? ?? ?= W_SFNAME
  • ? ? EXCEPTIONS
  • ? ?? ?NO_FORM? ?? ?? ?? ?= 1
  • ? ?? ?NO_FUNCTION_MODULE = 2
  • ? ?? ?OTHERS? ?? ?? ?? ? = 3.

  • ??LOOP AT GT_DATA INTO GS_DATA.
  • ? ? CALL FUNCTION W_SFNAME? ? " '/1BCDWB/SF00000322'
  • ? ?? ?EXPORTING
  • ? ?? ?? ?? ???CONTROL_PARAMETERS = LS_CONTROL_PARAM
  • ? ?? ???OUTPUT_OPTIONS? ???= LS_COMPOSER_PARAM
  • ? ?? ???WA_HEADER? ?? ?? ?? ???= GS_DATA-HEADER
  • ? ?? ?TABLES
  • ? ?? ???IT_ITEM? ?? ?? ?? ?? ?? ???= GS_DATA-ITEMS
  • ? ?? ?EXCEPTIONS
  • ? ?? ???FORMATTING_ERROR? ?? ?? ???= 1
  • ? ?? ???INTERNAL_ERROR? ?? ?? ?? ? = 2
  • ? ?? ???SEND_ERROR? ?? ?? ?? ?? ???= 3
  • ? ?? ???USER_CANCELED? ?? ?? ?? ???= 4
  • ? ?? ???OTHERS? ?? ?? ?? ?? ?? ?? ?= 5.
  • ? ? IF SY-SUBRC <> 0.
  • ? ?? ?LEAVE TO LIST-PROCESSING.
  • ? ? ENDIF.
  • ??ENDLOOP.

  • ??CALL FUNCTION 'SSF_CLOSE' “關閉打印機
  • ? ? IMPORTING
  • ? ?? ?JOB_OUTPUT_INFO??= I_JOB_OUTPUT_INFO
  • ? ? EXCEPTIONS
  • ? ?? ?FORMATTING_ERROR = 1
  • ? ?? ?INTERNAL_ERROR? ?= 2
  • ? ?? ?SEND_ERROR? ?? ? = 3
  • ? ?? ?OTHERS? ?? ?? ???= 4.
  • ??IF SY-SUBRC <> 0.
  • ? ? MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
  • ? ? WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  • ??ENDIF.

  • ENDFORM.? ?? ?? ?? ?? ?? ???" SHOWFORM
  • 復制代碼

    總結

    以上是生活随笔為你收集整理的Smart Form不弹出假脱机设置界面直接打印预览的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。