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'.
總結
以上是生活随笔為你收集整理的SAP 调用smartforms打印如何统计实际打印状态和打印次数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP ABAP程序优化-多线程并行处理
- 下一篇: ABAP 判断某个或者某段字符串是否为汉