点击此处---> 群内免费提供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)。 结局。 终结法。
你好
如果我没记错的话,您必须通过调用采购申请的方法流程将更改传播到所有相关对象:
最诚挚的问候,
Nicolas
该处理方法也应应用于im_header,以执行检查并创建相关数据,例如记帐容器等。
NB:同样,不要犹豫将get/set_datax与get/set_data一起使用。
我想我明白了。 这是我阅读并复制以下文本代码的博客:
https://wiki.scn.sap.com/wiki/display/ABAP/购买+要求+线+项+数据+操纵+使用+ BADI +-+ ME_PROCESS_REQ_CUST >
用于PROCESS_ITEM方法。 我假设文本方法也可以在OPEN方法中使用。 我将代码复制到PROCESS_ITEM方法中,根据我的需要进行了修改,并且看起来工作正常。
感谢您的帮助。 我现在将关闭该项目。
一周热门 更多>