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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SAP剑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值