SAP SF打印次数统计
2016-07-01 14:59
330 查看
其实增加打印次数的难点在于:如何判断用户点了一个按钮之后,在下面弹出的窗口中到底是点的打印,还是打印预览。
因为下图中的两个按钮都是系统标准的按钮,我们没有办法加入自己的代码的,所以我们只能在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
因为下图中的两个按钮都是系统标准的按钮,我们没有办法加入自己的代码的,所以我们只能在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
相关文章推荐
- 深入浅出 - Android系统移植与平台开发(七)- Android系统的启动
- 使用Topshelf创建Windows服务
- 百度网盘障眼法 此链接分享内容可能因为涉及侵权、色情、反动、低俗等信息,无法访问!
- SSL协议会话建立过程解析
- 用QT 写的一个Log
- Java 8 加密架构中Oracle提供者总结
- Activiti进阶(八)——并行网关(ParallelGateWay)
- Unity3d AssetPostprocessor简单用法
- string的构造函数和拷贝构造函数
- oracle 11g RAC 限制指定IP访问
- XJOI网上同步训练DAY6 T2
- 2016.07.01讲题小总结
- Masonry 使用过程中遇到的一些坑
- connection timeout 和command timeout
- DrawerLayout去除阴影
- tomcat和Session复制介绍
- (五)spring 自动装配
- objective-C程序设计学习笔记1--编译运行
- java中的数据库事务处理
- 阿里云服务器Linux CentOS安装配置(一)购买阿里云服务器