互动报告+动态屏幕选择

2020-09-05 21:25发布

         点击此处--->   EasySAP.com群内免费提供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-MAT​​NR,
  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-MAT​​NR将表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)

         点击此处--->   EasySAP.com群内免费提供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-MAT​​NR,
  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-MAT​​NR将表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)
付费偷看设置
发送
4条回答
Tong__Ming
1楼 · 2020-09-05 22:11.采纳回答

使用HIDE关键字...您可以使用条件获得MATNR @AT线路选择和循环。

d56caomao
2楼-- · 2020-09-05 22:15

马修·比林汉姆(Matthew Billingham)请检查我更新的问题,以使我的问题更加清楚。

帮助我:)

三十六小时_GS
3楼-- · 2020-09-05 22:01

Quynh Doan Manh 什么是" ..WHERE MATNR =?"条件。 我已经尝试了一切。

谢谢

能不能别闹
4楼-- · 2020-09-05 22:10

SHASHANK SENGAR 所以,您 代码:

在IT_FINAL处进入WA_FINAL。

您说它"显示所有数据,而不是显示基于所选MATNR的单行"。

可以 您是否不知道发生了什么(如果您调试了一点代码)?

如何检索所选的MATNR?

如果有效,那么如何过滤IT_FINAL 基于MATNR值?

一周热门 更多>