首页 > 其他分享 >abap-BAPI_MATERIAL_SAVEDATA 扩展字段的使用

abap-BAPI_MATERIAL_SAVEDATA 扩展字段的使用

时间:2022-11-27 11:03:54浏览次数:36  
标签:BAPI setValue mara MATERIAL bapi abap te data


事情原由: 需要用 jco 来调用 BAPI_MATERIAL_SAVEDATA 创建物料,但是发现有个 可配置栏位,没有地方传入 这个 bapi .

imports 和 tables 里都没办法将这个字段传入,检查了一下当初上线导入的程序,发现当初外部顾问是通过改写 这个BAPI 的源代码,通过 memory 方式传进去的.

当然如果 在 jco 也调一个能 export memory 的 bapi 能连接上这段修改。但是种作法本身就是不合常规的,改标准代码还是少做的好。 所以仔细研读了一下关于这个 bapi的 sap 英文在线文档,其实类似这种扩充字段,或自定义的字段是可以通过 EXTENSIONIN 这个 table 参数传入此bapi 的.

只要找到这种字段所在的结构,填充结构并最终交结构填充到 EXTENSIONIN 和 EXTENSIONINX 参数里就可以了。 找结构的话可能根据字段原本所在的表名 按这种格式找到: bapi_te_<表名> ,bapi_te_<表名> X .  具体填写参数方式,请参考我的一段java代码,如果是用 abap 可相应调整一下.

 

// MARA-KZKFG 是否可配置物料

te_mara_data.setValue(entity.getKzkfg(),"KZKFG");

te_mara_data_x.setValue("X","KZKFG");

te_mara_data.setValue(entity.getMaterial_no(),"MATERIAL");

te_mara_data_x.setValue(entity.getMaterial_no(),"MATERIAL");

//更新扩展字段

extensionin.appendRow();

extensionin_x.appendRow();

extensionin.setValue("BAPI_TE_MARA","STRUCTURE");

extensionin.setValue(te_mara_data.getString("MATERIAL")+te_mara_data.getString("KZKFG"),"VALUEPART1");

extensionin_x.setValue("BAPI_TE_MARAX","STRUCTURE");

extensionin_x.setValue(te_mara_data_x.getString("MATERIAL")+ te_mara_data_x.getString("KZKFG"),"VALUEPART1");

标签:BAPI,setValue,mara,MATERIAL,bapi,abap,te,data
From: https://blog.51cto.com/fangkailove/5889836

相关文章

  • abap-MRP自动产生采购申请-BADI增强-将销售单和行号复制为需求追踪号
    这是很早以前做的一个开发,这里记录一下,做个备忘。业务背景:1000公司的销售订单经过MRP 运算后订单的每行都会转换成一个对应的采购申请单(对2000公司),生产计划人员需要......
  • abap-SD-客户主数据
    在用vl01n做创建交货单时(客户的两个订单合建一张交货单),出现一个错误提示组合错误051,从现象上判断应该是两个订单合并时有什么条件不满足。熟悉SD 配置的人知道这......
  • abap-商业发票管理系统
    对国外销售一般都会有商业发票要求,主要用于客户的清关及后期与客户对账结算用。取数的逻辑是按照对客户的出货单出得数量单价,再附加货运等信息,构成发票主要内容,下面简单记......
  • abap-标准程序调试一例
    任务描述:系统使用的可配置物料,VA01,VA02,销售订单维护界面,已经有功能,当保存订单时,自动为可配置物料做成本估算,但是此估算是针对订单行项的交货工厂(1000公司代码下1000工厂......
  • WCF必知必会以及与Webapi的区别
    快速阅读介绍wcf中的信息交换模式MEP以及数据在传输过程中的序列化,endpont的介绍和wcf的三种实例模式以及安全模式以及和Webapi的简单对比wcf介绍支持跨平台,多种协议tcp,......
  • c# asp.net webapi 配置 含日期带T问题
    1.WebApiConfigconfig.Formatters.JsonFormatter.SerializerSettings.Converters.Insert(0,newJsonDateTimeConverter());publicstaticclass......
  • 根据MediatR的Contract Messages自动生成Minimal WebApi接口
    大家好,我是失业在家,正在找工作的博主Jerry。今天给大家介绍一个能大大减少ASP.NetMinimalWebApi编码量的方法。我们一般会把微服务的VO和DTO封装成消息类,并作为WebApi的......
  • abap-使用vim做abap的编辑器
    abap-使用vim做为abap的外部编辑器sapgui7带的abap编辑器很不错了,但是我最近都是在用ubuntu系统,用的是forjava的gui,编辑器超难用。于是就想能否用自已习惯的编辑器来......
  • SAP-ABAP-Smartforms调用参数的利用与打印次数的记录
    在设计好一个 smartform后,系统会自动生成一个相对应的functionmodule,我们在调用smartform时实际上就是调用这个对应的function如下我们可以找到对应的function:......
  • SAP-BAPI-将指定的交货单发货过账(指定账期和出货仓位)
    *交货单过账break-point.DATA:  hdata likeBAPIOBDLVHDRCON,  hctrl likeBAPIOBDLVHDRCTRLCON,  ipk   liketableof/SPE/BAPIOBDLVITEMCONFwith......