zoukankan      html  css  js  c++  java
  • SAP 调用smartforms打印如何统计实际打印状态和打印次数

    SAP技术人员,很多时候记录某张单据是否打印已经打印次数,通过记录用户点击 “打印预览”的次数,大多数情况,客户没有特殊要求的,这样操作就可以满足要求。

    另外一种情况是,客户想要更加准确的记录是否真正打印的状态和次数,这中情况下,我们就必须通过记录用户 点击“打印”按钮之后的状态了,具体操作如下:

      DATA:lw_output    TYPE ssfcompop

      DATA: lw_ssfcrescl TYPE ssfcrescl.
      DATA: FM_NAME TYPE RS38L_FNAM.

      CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
        EXPORTING
          formname           = 'ZPP023'      "创建的FORM名称
    *     VARIANT            = ' '
    *     DIRECT_CALL        = ' '
        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
          output_options  = lw_output
        IMPORTING
          job_output_info  = lw_ssfcrescl
        TABLES
          gt_header        = gt_head[]     "导入的抬头内表
          gt_item          = gt_item[]        "导入的行项目内表
        EXCEPTIONS
          formatting_error = 1
          internal_error   = 2
          send_error       = 3
          user_canceled    = 4
          OTHERS           = 5.

    上面程序为用户调用smartforms程序,注意参数lw_ssfcrescl,

    当用户点击“打印”按钮时,可得 lw_ssfcrescl-outputdone = 'X',此时即可记录当前打印状态为  “已打印”

    如果要正确统计打印次数的话,还必须在打印预览界面控制点击"打印"按钮就马上返回到结果界面或者查询界面,要通过如下参数控制:
    lw_output-tdiexit = 'X'.


  • 相关阅读:
    华为手机内核代码的编译及刷入教程【通过魔改华为P9 Android Kernel 对抗反调试机制】
    AndroidStudio升级到4.0之后,出现Warning: Default Activity not found解决办法
    Python解决gensim加载doc2vec或work2vec向量训练模型文件太慢甚至无法访问的情况
    layui 上传插件控制上传文件个数(换个角度思考问题)
    CDN访问异常重定向
    sql 语句优化
    swipper全屏垂直滚动获取高度问题
    tp6.0相对于tp5.1的变化
    项目打包文件ipa包瘦身
    load和initialize的区别
  • 原文地址:https://www.cnblogs.com/cnlmjer/p/4099777.html
Copyright © 2011-2022 走看看