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打印次数统计的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 用dwz+springmvc出现这个问题
- 下一篇: BAPI_SALESORDER_CREA