收费和物料编号热点

2020-08-25 18:28发布

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

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


尊敬的专家,

我正在尝试学习如何自动调用屏幕并跳过第一个屏幕。 我在费用编号和物料编号下添加了热点行,但无法编写用于调用MSC3N和MM03的代码。 您能帮忙吗,这是我的代码:


PS:我尝试添加

导出

i_callback_user_command ='USER_COMMAND'

使用sy-ucomm之类的r_ucomm来形成用户命令
rs_selfield类型为slis_selfield。
调用事务'MM03'。
最终形式。

但什么也没发生

报告zalv_hotspot。



 类型:开始于ty_example,

          aufnr TYPE afko-aufnr,"处理订单号

          plnbez TYPE afko-plnbez,"材料编号

          matnr TYPE mara-matnr,"材料编号

          maktx TYPE makt-maktx,"材料名称

          charg TYPE afpo-charg,"收费否

          igmng TYPE afko-igmng,"数量

          sbmeh TYPE afko-sbmeh,"单位

        结束于ty_example。



 表格:afko,afpo。



 数据:gt_example类型表ty_example,

       wa_example TYPE ty_example。



 SELECT-OPTIONS order_no FOR afko-aufnr。





 TYPE-POOLS:slis。

 数据:带标题行的fieldcat TYPE slis_t_fieldcat_alv,

       gd_layout类型slis_layout_alv。





 执行selectdata。

 进行regularizeview。

 执行目录。

 执行表演报告。







 FORM selectdata。



   选择

     afko〜aufnr

     afko〜plnbez

     mara〜matnr

     makt〜maktx

     从头到尾

     阿夫〜igmng

     afko〜sbmeh

     进入表的相应字段gt_example最多30个行

     从afko

     内部联接afpo ON afpo〜aufnr = afko〜aufnr

     内连接mara ON mara〜matnr = afko〜plnbez

     内连接makt ON makt〜matnr = mara〜matnr

     在order_no中的afko〜aufnr。

    

 ENDFORM。





 表单regularizeview。

   gd_layout-colwidth_optimize ='X'。

   gd_layout-zebra ='X'。

 ENDFORM。





 表单目录。

   刷新野猫。



   fieldcat-fieldname ='AUFNR'。

   fieldcat-seltext_m ='订单号'。

   fieldcat-col_pos = 0。

   fieldcat-outputlen = 5。

   fieldcat-emphasize ='X'。

   fieldcat-key ='X'。

   将fieldcat追加到fieldcat。

   清除野猫。

 ******************************************************  ******

   fieldcat-fieldname ='MATNR'。

   fieldcat-seltext_m ='材料编号'。

   fieldcat-col_pos = 1。

   fieldcat-outputlen = 10。

   fieldcat-hotspot ='X'。

   将fieldcat追加到fieldcat。

   清除野猫。

 ******************************************************  ******

   fieldcat-fieldname ='MAKTX'。

   fieldcat-seltext_m ='材料名称'。

   fieldcat-col_pos = 2。

   fieldcat-outputlen = 40。

   将fieldcat追加到fieldcat。

   清除野猫。

 ******************************************************  ******

   fieldcat-fieldname ='CHARG'。

   fieldcat-seltext_m ='充电编号'。

   fieldcat-col_pos = 3。

   fieldcat-outputlen = 10。

   fieldcat-hotspot ='X'。

   将fieldcat追加到fieldcat。

   清除野猫。

 ******************************************************  ******

   fieldcat-fieldname ='IGMNG'。

   fieldcat-seltext_m ='数量'。

   fieldcat-col_pos = 4。

   fieldcat-outputlen = 5。

   将fieldcat追加到fieldcat。

   清除野猫。

 ******************************************************  ******

    fieldcat-fieldname ='SBMEH'。

   fieldcat-seltext_m ='单位'。

   fieldcat-col_pos = 5。

   fieldcat-outputlen = 5。

   将fieldcat追加到fieldcat。

   清除野猫。

  

 ENDFORM。


 FORM showreport。
   通话功能'REUSE_ALV_GRID_DISPLAY'
    出口
       I_GRID_TITLE ='范例报告'
       IS_LAYOUT = gd_layout
       IT_FIELDCAT = fieldcat []
     桌子
       t_outtab = gt_example []

 *例外情况
 * PROGRAM_ERROR = 1
 *其他= 2
 。
   如果sy-subrc <> 0。
 *在这里实施适当的错误处理
   万一。
 ENDFORM。
 

(18.7 kB)

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

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


尊敬的专家,

我正在尝试学习如何自动调用屏幕并跳过第一个屏幕。 我在费用编号和物料编号下添加了热点行,但无法编写用于调用MSC3N和MM03的代码。 您能帮忙吗,这是我的代码:


PS:我尝试添加

导出

i_callback_user_command ='USER_COMMAND'

使用sy-ucomm之类的r_ucomm来形成用户命令
rs_selfield类型为slis_selfield。
调用事务'MM03'。
最终形式。

但什么也没发生

报告zalv_hotspot。



 类型:开始于ty_example,

          aufnr TYPE afko-aufnr,"处理订单号

          plnbez TYPE afko-plnbez,"材料编号

          matnr TYPE mara-matnr,"材料编号

          maktx TYPE makt-maktx,"材料名称

          charg TYPE afpo-charg,"收费否

          igmng TYPE afko-igmng,"数量

          sbmeh TYPE afko-sbmeh,"单位

        结束于ty_example。



 表格:afko,afpo。



 数据:gt_example类型表ty_example,

       wa_example TYPE ty_example。



 SELECT-OPTIONS order_no FOR afko-aufnr。





 TYPE-POOLS:slis。

 数据:带标题行的fieldcat TYPE slis_t_fieldcat_alv,

       gd_layout类型slis_layout_alv。





 执行selectdata。

 进行regularizeview。

 执行目录。

 执行表演报告。







 FORM selectdata。



   选择

     afko〜aufnr

     afko〜plnbez

     mara〜matnr

     makt〜maktx

     从头到尾

     阿夫〜igmng

     afko〜sbmeh

     进入表的相应字段gt_example最多30个行

     从afko

     内部联接afpo ON afpo〜aufnr = afko〜aufnr

     内连接mara ON mara〜matnr = afko〜plnbez

     内连接makt ON makt〜matnr = mara〜matnr

     在order_no中的afko〜aufnr。

    

 ENDFORM。





 表单regularizeview。

   gd_layout-colwidth_optimize ='X'。

   gd_layout-zebra ='X'。

 ENDFORM。





 表单目录。

   刷新野猫。



   fieldcat-fieldname ='AUFNR'。

   fieldcat-seltext_m ='订单号'。

   fieldcat-col_pos = 0。

   fieldcat-outputlen = 5。

   fieldcat-emphasize ='X'。

   fieldcat-key ='X'。

   将fieldcat追加到fieldcat。

   清除野猫。

 ******************************************************  ******

   fieldcat-fieldname ='MATNR'。

   fieldcat-seltext_m ='材料编号'。

   fieldcat-col_pos = 1。

   fieldcat-outputlen = 10。

   fieldcat-hotspot ='X'。

   将fieldcat追加到fieldcat。

   清除野猫。

 ******************************************************  ******

   fieldcat-fieldname ='MAKTX'。

   fieldcat-seltext_m ='材料名称'。

   fieldcat-col_pos = 2。

   fieldcat-outputlen = 40。

   将fieldcat追加到fieldcat。

   清除野猫。

 ******************************************************  ******

   fieldcat-fieldname ='CHARG'。

   fieldcat-seltext_m ='充电编号'。

   fieldcat-col_pos = 3。

   fieldcat-outputlen = 10。

   fieldcat-hotspot ='X'。

   将fieldcat追加到fieldcat。

   清除野猫。

 ******************************************************  ******

   fieldcat-fieldname ='IGMNG'。

   fieldcat-seltext_m ='数量'。

   fieldcat-col_pos = 4。

   fieldcat-outputlen = 5。

   将fieldcat追加到fieldcat。

   清除野猫。

 ******************************************************  ******

    fieldcat-fieldname ='SBMEH'。

   fieldcat-seltext_m ='单位'。

   fieldcat-col_pos = 5。

   fieldcat-outputlen = 5。

   将fieldcat追加到fieldcat。

   清除野猫。

  

 ENDFORM。


 FORM showreport。
   通话功能'REUSE_ALV_GRID_DISPLAY'
    出口
       I_GRID_TITLE ='范例报告'
       IS_LAYOUT = gd_layout
       IT_FIELDCAT = fieldcat []
     桌子
       t_outtab = gt_example []

 *例外情况
 * PROGRAM_ERROR = 1
 *其他= 2
 。
   如果sy-subrc <> 0。
 *在这里实施适当的错误处理
   万一。
 ENDFORM。
 

(18.7 kB)
付费偷看设置
发送
5条回答
SAP砖家
1楼-- · 2020-08-25 18:56

嗨Zynp 01,

您需要在这里做两件事。

首先,您需要在'REUSE_ALV_GRID_DISPLAY'中传递以下参数

i_callback_program = sy-repid

i_callback_user_command ='USER_COMMAND'

通话功能" REUSE_ALV_GRID_DISPLAY"
     出口
       i_callback_program = sy-repid
       i_callback_user_command ='USER_COMMAND'
       i_grid_title ='示例报告'
       is_layout = gd_layout
       it_fieldcat = fieldcat []
     桌子
       t_outtab = gt_example []
 *例外情况
 * PROGRAM_ERROR = 1
 *其他= 2
     。
   如果sy-subrc <> 0。
 *在这里实施适当的错误处理
   万一。
 

然后,您需要在表单中放置以下代码。

 FORM user_command使用r_ucomm TYPE sy-ucomm
                         rs_selfield TYPE slis_selfield。
   案例rs_selfield-fieldname。
     当" MATNR"时。
       设置参数ID" MAT"字段rs_selfield-value。


       呼叫交易" MM03"并跳过第一屏。
     当"充电"时。
       读取表gt_example INTO数据(gs_example)索引rs_selfield-tabindex。
       设置参数ID" MAT"字段gs_example-matnr。
       设置参数ID'CHA'FIELD rs_selfield-value。
       呼叫交易" MSC3N"并跳过第一屏。
     当别人。
   结束。




 ENDFORM。
 
哎,真难
2楼-- · 2020-08-25 18:51

嗨Zynp 01,

您可以将问题标记为已回答。

悠然的二货
3楼-- · 2020-08-25 19:04

您好 zynp 01

您只需要添加一个T-CODE呼叫即可。

设置参数ID" MAT"字段gt_example-matnr。

       呼叫交易" MM03"和"跳过第一屏"。

希望这会有所帮助。

KR,

OHA。

梦想连接
4楼-- · 2020-08-25 18:57

亲爱的 Oussama Hadouch 感谢您的关注,

当我将这两行添加到代码中时,出现红色错误:

"" GT_EXAMPLE"是没有标题行的表,因此没有名为" MATNR"的组件。"

然后

我将GT_EXAMPLE更改为带有标题行的表,并写道:


表单调用屏幕。
设置参数ID" MAT"字段gt_example-matnr。

调用事务" MM03"和"跳过第一屏"。

ENDFORM。

什么也没发生。

zynp 01

您可以遵循正确的说明 Ebinezar Munnangi

K,

OHA。

一周热门 更多>