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'.


  • 相关阅读:
    手机管理中的应用【6】——电源管理篇
    NYOJ 14 场地安排(它可以被视为一个经典问题)
    YUV格式转换RGB(基于opencv)
    互联网金融进入洗礼阶段,控制风险是制胜之道
    Uva 409-Excuses, Excuses!(串)
    MATLAB新手教程
    IE无法打开internet网站已终止操作的解决的方法
    关于SetCapture() 和 ReleaseCapture()的使用方法
    wxWidgets刚開始学习的人导引(2)——下载、安装wxWidgets
    MyReport报表引擎2.7.6.7新功能
  • 原文地址:https://www.cnblogs.com/cnlmjer/p/4099777.html
Copyright © 2011-2022 走看看