欢迎访问 生活随笔!

生活随笔

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

编程问答

SAP SF打印次数统计

发布时间:2025/3/20 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 SAP SF打印次数统计 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

其实增加打印次数的难点在于:如何判断用户点了一个按钮之后,在下面弹出的窗口中到底是点的打印,还是打印预览。

因为下图中的两个按钮都是系统标准的按钮,我们没有办法加入自己的代码的,所以我们只能在Smartforms的返回信息里面找到用户是否真正打印

下面这段代码的LS_JOB_OUTPUT_INFO就是Smartforms执行之后的返回信息,只有当

LS_JOB_OUTPUT_INFO-OUTPUTDONE = 'X'的时候,才说明用户的确点了打印的按钮,然后就可以写增加打印次数的代码了。

具体增加打印次数的代码可以根据不同的程序进行不同的设计,不过都需要建一个自定义表,如果只想记录打印次数的话,就建一个以某某单据作为主键的关键字,然后每次打印的时候,先找一下这张单据有没有打印次数的记录,如果有就把打印次数加一,如果没有找到,就把打印次数设置为1,然后保存到自定义表就可以了。

FORM SMARTFORM_END .
  DATA:
  LS_JOB_OUTPUT_INFO TYPE  SSFCRESCL.
  CALL FUNCTION 'SSF_CLOSE'
    IMPORTING
      JOB_OUTPUT_INFO  = LS_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.

  IF LS_JOB_OUTPUT_INFO-OUTPUTDONE = 'X'."用户的确点了打印按钮了,包括先预览之后,再点的打印
    PERFORM 
FRM_ADD_DYCS.
  ENDIF.
  CALL FUNCTION 'SSF_READ_ERRORS'
    IMPORTING
      ERRORTAB = ERRTAB.
ENDFORM.                    " SMARTFORM_END

总结

以上是生活随笔为你收集整理的SAP SF打印次数统计的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。