SAP 调用smartforms打印如何统计实际打印状态和打印次数
SAP技術(shù)人員,很多時候記錄某張單據(jù)是否打印已經(jīng)打印次數(shù),通過記錄用戶點擊 “打印預(yù)覽”的次數(shù),大多數(shù)情況,客戶沒有特殊要求的,這樣操作就可以滿足要求。
另外一種情況是,客戶想要更加準(zhǔn)確的記錄是否真正打印的狀態(tài)和次數(shù),這中情況下,我們就必須通過記錄用戶 點擊“打印”按鈕之后的狀態(tài)了,具體操作如下:
? 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'????? "創(chuàng)建的FORM名稱
*???? VARIANT??????????? = ' '
*???? DIRECT_CALL??????? = ' '
??? IMPORTING
????? fm_name??????????? = FM_NAME?????? "獲取程序內(nèi)表需打印的內(nèi)容
??? 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[]???? "導(dǎo)入的抬頭內(nèi)表
????? gt_item????????? = gt_item[]??????? "導(dǎo)入的行項目內(nèi)表
??? EXCEPTIONS
????? formatting_error = 1
????? internal_error?? = 2
????? send_error?????? = 3
????? user_canceled??? = 4
????? OTHERS?????????? = 5.
上面程序為用戶調(diào)用smartforms程序,注意參數(shù)lw_ssfcrescl,
當(dāng)用戶點擊“打印”按鈕時,可得 lw_ssfcrescl-outputdone?=?'X',此時即可記錄當(dāng)前打印狀態(tài)為? “已打印”
如果要正確統(tǒng)計打印次數(shù)的話,還必須在打印預(yù)覽界面控制點擊"打印"按鈕就馬上返回到結(jié)果界面或者查詢界面,要通過如下參數(shù)控制:
lw_output-tdiexit?=?'X'.
總結(jié)
以上是生活随笔為你收集整理的SAP 调用smartforms打印如何统计实际打印状态和打印次数的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAP ABAP程序优化-多线程并行处理
- 下一篇: ABAP 判断某个或者某段字符串是否为汉