• abap SMARTFORMS打印


    事务码SMARTFORMS,做好表单和样式,没难度,花点时间慢慢调格式就是了。

    注意的点:参考的字段如果包含数量和货币,需再货币/数量这里定义参考字段,同时引用数量和货币字段时,后面需加(C),防止上下位置不一致。

    回到报表,定义

    DATA: lv_fname TYPE rs38l_fnam.
      DATA: gs_head   LIKE zmm064e1h,
            gt_output LIKE TABLE OF zmm064e1d,
            gs_output LIKE zmm064e1d,
            lv_loop   LIKE sy-tabix.

    DATA: gw_options TYPE ssfcompop,
          gw_control TYPE ssfctrlop.

    DATA: lv_fname TYPE rs38l_fnam.
      DATA: gs_head   LIKE zmm064e1h,
            gt_output LIKE TABLE OF zmm064e1d, "se11定义的结构,作为表,在SMARTFORMS中在表格接口填入,
            gs_output LIKE zmm064e1d, "SE11定义的结构,作为抬头,在SMARTFORMS中在表格接口填入,
            lv_loop   LIKE sy-tabix.

     得到表单程序名

    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          formname           'ZMM064E1'
    *     VARIANT            = ' '
    *     DIRECT_CALL        = ' '
        IMPORTING
          fm_name            = lv_fname
        EXCEPTIONS
          no_form            1
          no_function_module 2
          OTHERS             3.

    设置并打开打印窗口

        gw_options-tdnewid 'X'.    "New Spool
        gw_options-tdimmed 'X'.
        gw_options-tddelete 'X'.    "Delete Spool After Print
        gw_options-tdfinal 'X'.
        gw_options-tdiexit 'X'.    "Exit after printing in print preview
        gw_options-tddest 'LP01'.

        gw_control-no_dialog ''.
        gw_control-preview   'X'.
        gw_control-no_open   'X'.
        gw_control-no_close  'X'.
        CALL FUNCTION 'SSF_OPEN'    "打开打印窗口
          EXPORTING
            control_parameters = gw_control
            output_options     = gw_options
            user_settings      ''
          EXCEPTIONS
            formatting_error   1
            internal_error     2
            send_error         3
            user_canceled      4
            OTHERS             5.

    给传入的值赋值后,调用表单对应的程序名

    CALL FUNCTION lv_fname
            EXPORTING
              control_parameters = gw_control
              output_options     = gw_options
              gs_head            = gs_head
    *    IMPORTING
    *         job_output_info    = l_end
    *         job_output_options = l_start
            TABLES
              gt_output          = gt_output
    *         it_bkpf            = lt_bkpf
            EXCEPTIONS
              formatting_error   1
              internal_error     2
              send_error         3
              user_canceled      4
              OTHERS             5.

    最后关闭打印

    CALL FUNCTION 'SSF_CLOSE'
          EXCEPTIONS
            formatting_error 1
            internal_error   2
            send_error       3
            OTHERS           4.

  • 相关阅读:
    Apache2的安装
    JVM(9) 程序编译及代码优化
    Java基础(43)Queue队列
    Java基础(42)AbstractSet类
    OptimalSolution(10)--日常
    OptimalSolution(9)--其他问题(1)
    OptimalSolution(9)--其他问题(2)
    OptimalSolution(8)--位运算
    OptimalSolution(7)--大数据和空间限制
    golang教程汇总
  • 原文地址:https://www.cnblogs.com/chaguoguo/p/14006496.html
Copyright © 2020-2023  润新知