在自定义表中使用表控件输入记录。

2020-08-14 14:35发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我创建了两个表(ztable1 abd ztable2),在这个ztable1中是项目表,在ztable2中是头表。现在我要做的是我必须使用表控件在该表中输入记录。我已经创建了表控件 使用屏幕菜单画板上的向导并还创建了模块池程序。现在要做的是,当我在表控件中输入记录时,该记录应该在ztable1中更新哪个项目表,并且我们必须对头表执行相同的操作。

另一个要求是每次自动生成销售订单编号。

下一个要求是,当我输入客户时,地址应自动显示,并且地址字段应显示为灰色。

请在下面找到我的代码,并尽快通知我。

*&SPWizard:包含数据。 由SP向导插入。 不要更改此行!
包括ZSALES_ORDER_TOP。
*&SPWizard:SP向导插入了Include。 请勿更改此行!
包括ZSALES_ORDER_PBO。
包括ZSALES_ORDER_PAI。
包括ZSALES_ORDER_SUB

表:ZTABLE1,ZTABLE2。
数据:ZTABLE1的ITAB类型标准表。
数据:WA类型的ZTABLE1。

*&SPZ向导:TABLECONTROL'TABC'ITSELF的声明< br>控件:使用屏幕0100的TABC类型的表视图。

*&SPWIZARD:TABLECONTROL'TABC'的行
数据:类似于SY-LOOPC的G_TABC_LINES。 。

数据:GV_TOTAL类型VBAP-NETWR。

数据:w_item类型i,

Fl_flag类型c。

*****在pbo中

模块TABC_CHANGE_TC_ATTR输出。
描述表ITAB线TABC行。
ENDMODULE。

*&向导:TC'TABC'的输出模块。 不要更改此行!
*&精灵:获取TABLECONTROL的行
MODULE TABC_GET_LINES输出。
G_TABC_LINES = SY-LOOPC。
ENDMODULE。

***** pai

模块TABC_MODIFY输入。
从WA修改ITAB
索引TABC-CURRENT_LINE。
如果sy-subrc <>0。

将wa附加到itab。

endif。
ENDMODULE。

*&向导:TC'TABC'的输入模块。 请勿更改此行!
*&精灵:过程用户命令
模块TABC_USER_COMMAND输入。
OK_CODE = SY-UCOMM。
使用'TABC'
'ITAB'
'
更改OK_CODE。
SY-UCOMM = OK_CODE。

案例SY-UCOMM。


当"保存"时。

在ITAB上循环播放 进入WA。
WA-ZPOSNR = ZTABLE1-ZPOSNR。
WA-ZMATNR = ZTABLE1-ZMATNR。
WA-ZWAERK = ZTABLE1-ZWAERK。
WA-ZMENGE = ZTABLE1-ZMENGE。
WA-ZMEINS = ZTABLE1-ZMEINS。
WA-ZNETWR = ZTABLE1-ZNETWR。

将WA附加到ITAB。
清除WA。
ENDLOOP。

如果ITAB是IS 不是初始的。
从TABLE ITAB修改ZTABLE1。

如果SY-SUBRC =0。
消息"数据添加成功。" 类型'S'。
ELSE。
消息'未添加数据'类型'I'。
ENDIF。
ELSE。
消息'无数据'类型'I'。
ENDIF。

当"返回"时。
保留到屏幕0。
刷新时。
FL_FLAG ='X'。
ENDCASE。
ENDMODULE。

MODULE STATUS_0100输出。
设置PF-STATUS'STAT100'。
* SET TITLEBAR'xxx'。


ENDMODULE。

(20.7 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


我创建了两个表(ztable1 abd ztable2),在这个ztable1中是项目表,在ztable2中是头表。现在我要做的是我必须使用表控件在该表中输入记录。我已经创建了表控件 使用屏幕菜单画板上的向导并还创建了模块池程序。现在要做的是,当我在表控件中输入记录时,该记录应该在ztable1中更新哪个项目表,并且我们必须对头表执行相同的操作。

另一个要求是每次自动生成销售订单编号。

下一个要求是,当我输入客户时,地址应自动显示,并且地址字段应显示为灰色。

请在下面找到我的代码,并尽快通知我。

*&SPWizard:包含数据。 由SP向导插入。 不要更改此行!
包括ZSALES_ORDER_TOP。
*&SPWizard:SP向导插入了Include。 请勿更改此行!
包括ZSALES_ORDER_PBO。
包括ZSALES_ORDER_PAI。
包括ZSALES_ORDER_SUB

表:ZTABLE1,ZTABLE2。
数据:ZTABLE1的ITAB类型标准表。
数据:WA类型的ZTABLE1。

*&SPZ向导:TABLECONTROL'TABC'ITSELF的声明< br>控件:使用屏幕0100的TABC类型的表视图。

*&SPWIZARD:TABLECONTROL'TABC'的行
数据:类似于SY-LOOPC的G_TABC_LINES。 。

数据:GV_TOTAL类型VBAP-NETWR。

数据:w_item类型i,

Fl_flag类型c。

*****在pbo中

模块TABC_CHANGE_TC_ATTR输出。
描述表ITAB线TABC行。
ENDMODULE。

*&向导:TC'TABC'的输出模块。 不要更改此行!
*&精灵:获取TABLECONTROL的行
MODULE TABC_GET_LINES输出。
G_TABC_LINES = SY-LOOPC。
ENDMODULE。

***** pai

模块TABC_MODIFY输入。
从WA修改ITAB
索引TABC-CURRENT_LINE。
如果sy-subrc <>0。

将wa附加到itab。

endif。
ENDMODULE。

*&向导:TC'TABC'的输入模块。 请勿更改此行!
*&精灵:过程用户命令
模块TABC_USER_COMMAND输入。
OK_CODE = SY-UCOMM。
使用'TABC'
'ITAB'
'
更改OK_CODE。
SY-UCOMM = OK_CODE。

案例SY-UCOMM。


当"保存"时。

在ITAB上循环播放 进入WA。
WA-ZPOSNR = ZTABLE1-ZPOSNR。
WA-ZMATNR = ZTABLE1-ZMATNR。
WA-ZWAERK = ZTABLE1-ZWAERK。
WA-ZMENGE = ZTABLE1-ZMENGE。
WA-ZMEINS = ZTABLE1-ZMEINS。
WA-ZNETWR = ZTABLE1-ZNETWR。

将WA附加到ITAB。
清除WA。
ENDLOOP。

如果ITAB是IS 不是初始的。
从TABLE ITAB修改ZTABLE1。

如果SY-SUBRC =0。
消息"数据添加成功。" 类型'S'。
ELSE。
消息'未添加数据'类型'I'。
ENDIF。
ELSE。
消息'无数据'类型'I'。
ENDIF。

当"返回"时。
保留到屏幕0。
刷新时。
FL_FLAG ='X'。
ENDCASE。
ENDMODULE。

MODULE STATUS_0100输出。
设置PF-STATUS'STAT100'。
* SET TITLEBAR'xxx'。


ENDMODULE。

(20.7 kB)
付费偷看设置
发送
2条回答
d56caomao
1楼-- · 2020-08-14 15:20

你好Ranjita,

由于您需要一起更新表头和项目表,因此最好的方法是使用相同的功能模块。 FM可以将标题和项目详细信息作为参数。 您的修改表可以在此FM内,并且可以调用FM在表中添加条目。

要自动生成销售订单编号,可以在SNRO事务中创建并使用编号范围对象。 在FM调用SAP stantard FM get_number_next和编号范围对象以获取下一个销售订单编号。

在screenpainter中可以禁用输入字段

落灬小鱼
2楼-- · 2020-08-14 15:10

嗨,

谢谢 您访问SAP社区以获得问题的答案。 我在这里 帮助您充分利用它。

第一 首先,我建议您熟悉 https://community.sap.com/resources/questions-and- 答案(如果您还没有的话),因为它提供了提示 用于准备可以引起我们成员回复的问题。

对于 例如您:

  • 可以概述您要采取的步骤 用来寻找答案(以及为什么没有用)
  • 可以分享截图 你看过/做过
  • 可以使用描述性主题 线
  • 还应确保您 使用所有适当的标签,以便合适的专家找到您的 问题

越多 您提供的详细信息,成员更有可能提供帮助 你

应该 您可以根据需要通过选择"操作",然后选择"编辑"来修改问题 (尽管一旦有人回答了您的问题,您将失去编辑功能 问题-但如果发生这种情况,您可以在评论中保留更多详细信息)。

最后, 如果您希望与读者交流,请考虑将图片添加到 你的个人资料。 操作方法如下: https://www.youtube.com/watch?v=F5JdUbyjfMA&list=PLpQebylgrd-s5 h6RtymfDpoz3vDS 。 通过使用您的照片个性化您的个人资料,可以鼓励读者 回应。

很好 幸运

卡蒂- SAP社区主持人

一周热门 更多>