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重复打印

定期更文,欢迎关注

本文详细描述了如何在MIGO发货过账时自动打印自定义表格,涉及复制标准程序、自定义SMARTFORMS和子例程,以及两种系统配置方法:复杂复制和简单修改。
1861

被折叠的 条评论
为什么被折叠?



