1、业务需求
本文档介绍,当MIGO发货过账时,自动打印自开发表格。
2、打印程序
复制标准配置中调用的程序和子例程,到新的程序(路径可参考下文系统配置)
只用复制子例程entry_wa01即可,参考代码:
"--------------------@斌将军--------------------
REPORT ytest022.
TABLES: nast.
FORM entry_wa01 USING ent_retco ent_screen.
DATA:fm_name TYPE rs38l_fnam,
ls_output_options TYPE ssfcompop,
ls_control_parameters TYPE ssfctrlop,
ls_output_info TYPE ssfcrescl,
ls_option TYPE ssfcresop.
DATA:l_control_parameters TYPE ssfctrlop.
DATA:lv_formname TYPE tdsfname VALUE 'ZSAPM07DR_SF'."smartforms名称
DATA:lt_head TYPE TABLE OF zmm043_fhdy_head,
ls_head TYPE zmm043_fhdy_head,
lt_item TYPE TABLE OF zmm043_fhdy_item,
ls_item TYPE zmm043_fhdy_item.
DATA: BEGIN OF nast_key,
mblnr LIKE mkpf-mblnr,
mjahr LIKE mkpf-mjahr,
zeile LIKE mseg-zeile,
END OF nast_key.
CLEAR:ent_retco,ent_screen.
nast_key = nast-objky.
"具体逻辑(略)
……
"调用打印函数
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
FORMNAME = LV_FNAME
IMPORTING
FM_NAME = PV_FNAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
LEAVE LIST-PROCESSING.
ENDIF.
CALL FUNCTION PV_FNAME
EXPORTING
CONTROL_PARAMETERS = LS_SSFCTRLOP
EXCEPTIONS
FORMATTING_ERROR = 1
INTERNAL_ERROR = 2
SEND_ERROR = 3
USER_CANCELED = 4
OTHERS = 5.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE 'E' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM.
"--------------------@斌将军--------------------
3、系统配置
3.1、配置方法一:复制标准配置(复杂)
SPRO——物料管理——库存管理和实际库存——输出确定
本实例是发货场景,可以复制标准的发货WA01为ZWA1
维护输出类型
配置输出类型调用的程序为自开发的程序名,表单过程为自开发程序的子例程,表单为自开发的SMARTFORMS名称
维护输出确定过程
维护条件
打印项目
SPRO——物料管理——库存管理和实际库存——移动类型
检查移动类型配置,是否满足要求
3.2、配置方法二:修改标准配置(简单)
修改标准配置,改动很小,配置简单,只需要将标准的输出类型WA01调用的程序换成自开发的程序名,表单过程替换为自开发程序的子例程,表单替换自开发的SMARTFORMS名称即可。
4、打印测试
过账时,自动打印物料凭证,如此也限制了只允许首次打印
如果确实需要,还可以通过MB90重复打印
定期更文,欢迎关注