点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
线路选择不正确。
第一屏: MARA-MATNR和MAKT-MAKTG
线路选择屏幕: MATNR ERSDA ERNAM LAEDA MTART MATKL代表LGORT WERKS
选择屏幕------工作正常。
第一屏幕----工作正常。
LINE SELECTION ----显示所有数据,而不是显示基于所选MATNR的单行。
表格:MARA,VBAK,MAKT,MARD,VBAP。 ******选择屏幕****** 带有标题标题TEXT01的B1块的选择屏幕开始。 选择屏幕跳过1。 选择选项:SYDATUM默认日期为SY-DATUM强制性。 选择屏幕跳过1。 带有标题标题TEXT02的B2块的选择屏幕开始。 选择屏幕跳过1。 参数:MATRL_R RADIOBUTTON GROUP G1用户命令D1默认'X', SALES_R RADIOBUTTON GROUP G1。 选择屏幕跳过1。 B2块的选择屏幕结束。 带有标题标题TEXT03的B3块的选择屏幕开始。 选择屏幕跳过1。 选择选项:MATNR用于MARA-MATNR修改ID D1无间隔。 选择选项:VBELN用于VBAK-VBELN修改ID D2无间隔。 选择屏幕跳过1。 B3块的选择屏幕结束。 选择屏幕跳过1。 B1块的选择屏幕结束。 选择屏幕输出时。 环视屏幕。 如果SCREEN-GROUP1 ='D1'。 如果MATRL_R ='X'。 屏幕不可见='0'。 屏幕激活='1'。 其他。 屏幕不可见='1'。 屏幕激活='0'。 万一。 修改屏幕。 万一。 如果SCREEN-GROUP1 ='D2'。 如果SALES_R ='X'。 屏幕不可见='0'。 屏幕激活='1'。 其他。 屏幕不可见='1'。 屏幕激活='0'。 万一。 修改屏幕。 万一。 结局。 初始化。 TEXT01 ="选择屏幕教程"。 TEXT02 ="单选按钮"。 TEXT03 ="动态屏幕选择"。 类型:ITAB1的开始, MATNR TYPE MARA-MATNR, ERSDA TYPE MARA-ERSDA, ERNAM TYPE MARA-ERNAM, LAEDA TYPE MARA-LAEDA, MTART类型MARA-MTART, MATKL TYPE MARA-MATKL, 意思是MARA-MEINS, ITAB结束1。 数据:ITAB1的IT_MARA类型标准表, WA_MARA TYPE ITAB1。 类型:ITAB2的开始, MATNR型MAKT-MATNR, MAKTG型MAKT-MAKTG ITAB结束2。 数据:ITAB2的IT_MAKT类型标准表, WA_MAKT类型ITAB2。 类型:ITAB3的开始, MATNR型MARD-MATNR, LGORT型MARD-LGORT, 韦克斯型MARD-WERKS, ITAB结束3。 数据:ITAB3的IT_MARD类型标准表, WA_MARD类型ITAB3。 类型:开始于ITAB4, MATNR TYPE MARA-MATNR, ERSDA TYPE MARA-ERSDA, ERNAM TYPE MARA-ERNAM, LAEDA TYPE MARA-LAEDA, MTART类型MARA-MTART, MATKL TYPE MARA-MATKL, 意思是MARA-MEINS, MAKTG型MAKT-MAKTG LGORT型MARD-LGORT, 韦克斯型MARD-WERKS, ITAB结束4。 数据:ITAB4的IT_FINAL TYPE标准表, WA_FINAL TYPE ITAB4。 类型:ITAB6的开始, VBELN型VBAK-VBELN, ERDAT型VBAK-ERDAT ITAB结束6。 数据:ITAB6的IT_VBAK类型标准表, WA_VBAK类型ITAB6。 类型:ITAB5的开始, VBELN TYPE VBAP-VBELN, POSNR类型VBAP-POSNR, MATNR型VBAP-MATNR, MATWA型VBAP-MATWA, ITAB结束5。 数据:ITAB5的IT_VBAP类型标准表, WA_VBAP类型ITAB5。 类型:开始于ITAB9, VBELN型VBAK-VBELN, ERDAT型VBAK-ERDAT POSNR类型VBAP-POSNR, MATNR型VBAP-MATNR, MATWA型VBAP-MATWA, ITAB结束9。 数据:ITAB9的IT_FINAL1类型标准表, WA_FINAL1 TYPE ITAB9。 *************材料报告*********************************** ****************************************************** ****************************************** 选择开始。 如果MATRL_R ='X'。 从MARA中选择MATNR ERSDA ERNAM LAEDA MTART MATKL进入表IT_MARAT MATNR中的MATNR和ERSDA中的日期。 如果IT_MARA不是INITIAL。 从MAKT中将MATNR MAKTG选择到表IT_MAKT中,以获取IT_MARA中的所有条目,其中MATNR = IT_MARA-MATNR并且SPRAS ='E'。 从MARD中选择MATNR LGORT WERKS到表IT_MARD中,以获取IT_MARA的所有条目,其中MATNR = IT_MARA-MATNR。 跳到IT_MARA并进入WA_MARA。 WA_FINAL-MATNR = WA_MARA-MATNR。 WA_FINAL-ERSDA = WA_MARA-ERSDA。 WA_FINAL-ERNAM = WA_MARA-ERNAM。 WA_FINAL-LAEDA = WA_MARA-LAEDA。 WA_FINAL-MTART = WA_MARA-MTART。 WA_FINAL-MATKL = WA_MARA-MATKL。 WA_FINAL-MEINS = WA_MARA-MEINS。 使用键MATNR = WA_MARA-MATNR将表IT_MAKT读入WA_MAKT。 WA_FINAL-MAKTG = WA_MAKT-MAKTG。 使用键MATNR = WA_MAKT-MATNR将表IT_MARD读入WA_MARD。 WA_FINAL-LGORT = WA_MARD-LGORT。 WA_FINAL-WERKS = WA_MARD-WERKS。 将WA_FINAL附加到IT_FINAL。 清除WA_MARA-MATNR。 结局。 写:/0'材料编号'颜色2, 40'材料描述'颜色5。 在IT_FINAL处进入WA_FINAL。 写:/0 WA_FINAL-MATNR, 40 WA_FINAL-MAKTG。 结局。 其他。 MESSAGE S000(Y_MSG)DISPLAY like'E'。 万一。 万一。 *清除WA_FINAL-MATNR。 * BREAK-点。 在行选择。 *刷新IT_FINAL。 *清除WA_FINAL。 如果MATRL_R ='X'。 写:/0'材料编号'颜色1, 20个"创建"颜色2, 40个"创建者"颜色3, 60'LAST CHANGE'颜色4, 80'材料类型'颜色5, 100个"材料组"颜色6, 120"测量单位"颜色7, 140'STORE_LOCATION'颜色1, 160'植物'颜色2。 在IT_FINAL处进入WA_FINAL。 写:/0 WA_FINAL-MATNR, 20 WA_FINAL-ERSDA, 40 WA_FINAL-ERNAM, 60 WA_FINAL-LAEDA, 80 WA_FINAL-MTART, 100 WA_FINAL-MATKL, 120 WA_FINAL-MEINS, 140 WA_FINAL-LGORT, 160 WA_FINAL-WERKS。 结局。 万一。 选择结束。 ********************材料报告结束************************** ****************************************************** ************************************** ********************销售报告开始************************** ****************************************************** ************************************** * BREAK-点。 如果MATRL_R =''。 从VBAK中选择VBELN ERDAT到表IT_VBAK中,其中VBELN中的VBELN和DATE中的ERDAT。 如果IT_VBAK不是INITIAL。 从VBAP中选择VBELN POSNR MATNR MATWA到表IT_VBAP中,用于IT_VBAK中的所有条目,其中VBELN = IT_VBAK-VBELN。 写:/0'销售文档'颜色2, 40个``创建''颜色5。 在IT_VBAK处进入WA_VBAK。 写:/0 WA_VBAK-VBELN颜色5, 40 WA_VBAK-ERDAT颜色2。 结局。 其他。 MESSAGE S000(Y_MSG)DISPLAY like'E'。 万一。 万一。 清除WA_VBAK-VBELN。 在行选择。 如果MATRL_R =''。 写:/0'销售文档'颜色1, 20个"销售文档项目"颜色2, 60"材料编号"颜色3, 80'输入的材料'颜色4。 将IT_VBAP循环到WA_VBAP,其中VBELN = WA_VBAK-VBELN。 WA_FINAL1-VBELN = WA_VBAP-VBELN。 WA_FINAL1-POSNR = WA_VBAP-POSNR。 WA_FINAL1-MATNR = WA_VBAP-MATNR。 WA_FINAL1-MATWA = WA_VBAP-MATWA。 将WA_FINAL1附加到IT_FINAL1。 结局。 在IT_FINAL1处进入WA_FINAL1。 写:/0 WA_FINAL1-VBELN, 20 WA_FINAL1-POSNR, 60 WA_FINAL1-MATNR, 80 WA_FINAL1-MATWA。 结局。 ENDIF。
(33.6 kB)
使用HIDE关键字...您可以使用条件获得MATNR @AT线路选择和循环。
马修·比林汉姆(Matthew Billingham)请检查我更新的问题,以使我的问题更加清楚。
帮助我:)
Quynh Doan Manh 什么是" ..WHERE MATNR =?"条件。 我已经尝试了一切。
谢谢
SHASHANK SENGAR 所以,您 代码:
您说它"显示所有数据,而不是显示基于所选MATNR的单行"。
可以 您是否不知道发生了什么(如果您调试了一点代码)?
如何检索所选的MATNR?
如果有效,那么如何过滤IT_FINAL 基于MATNR值?
一周热门 更多>