IF_EX_ME_PROCESS_REQ_CUST〜OPEN方法创建的行灰显

2020-09-17 02:12发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中) 我需要创建ALV报告。 用...

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

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


我需要创建ALV报告。 用户希望从那里选择几行数据,其中包含零件编号,文本,价格等信息。然后,他们希望我用所选数据调用ME51N,并用所选信息预填充详细信息网格。 这样他们就可以在最终保存并创建请求之前完成ME51N中的数据输入。

我正在使用BAdI ME_PROCESS_REQ_CUST的OPEN方法。 通过使用IM_HEADER-> CREATE_ITEM从调用者存储在内存中的某些数据中添加一些项目,然后在ME51N的打开时间使用SET_DATA方法将默认字段添加为默认字段。 我以为我有解决方案,但是不幸的是,创建的行实际上是灰色的。

用户必须单击检查按钮并弹出错误消息。 他们得到这个是因为我没有填写数量或日期字段。 点击弹出窗口上的绿色箭头后,将打开这些行以进行数据输入。 这是期望的结果。 如果有人知道我所缺少的内容,我将在此处包括我的代码,这将允许在屏幕的开头打开行以进行输入,而无需额外的手动步骤。

方法if_ex_me_process_req_cust〜open。

 数据:i_mereq_item TYPE mereq_item,
       i_mereq_head TYPE mereq_header。

 数据:ld_im_item类型参考if_purchase_requisition_item,
       ld_re_item类型参考if_purchase_requisition_item。

 数据:zmmprprice_me51n_wa的t_me51n类型标准表,
       x_me51n TYPE zmmprprice_me51n_wa,
       v_bnfpo TYPE bnfpo。

 刷新t_me51n。
 从内存ID'ZMMPRICE_ME51N'导入t_me51n到t_me51n。
 检查t_me51n []不初始化。

 清除i_mereq_head。
 i_mereq_head-bsart ='ID'。
 im_header-> set_data(导出im_data = i_mereq_head)。

 清除v_bnfpo。
 将t_me51n循环到x_me51n中。
   呼叫方法im_header-> create_item(
     出口
        im_item = ld_im_item
     接收
        re_item = ld_re_item)。

   清除i_mereq_item。
   v_bnfpo = v_bnfpo + 10
   i_mereq_item-bnfpo = v_bnfpo。
   i_mereq_item-bsart ='ID'。
   i_mereq_item-lifnr = x_me51n-lifnr。
   i_mereq_item-txz01 = x_me51n-indmatcod。
   i_mereq_item-ekgrp = x_me51n-ekgrp。
   i_mereq_item-preis = x_me51n-netpr。
   i_mereq_item-waers = x_me51n-waers。
   i_mereq_item-werks = x_me51n-werks。

   ld_re_item-> set_data(导出im_data = i_mereq_item)。
 结局。

 终结法。