永发信息网

SAP调用BAPI创建物料主数据

答案:1  悬赏:30  手机版
解决时间 2021-02-15 19:03
SAP调用BAPI创建物料主数据
最佳答案
import com.sap.mw.jco.*;
import com.sap.mw.jco.JCO;
import com.sap.mw.jco.IFunctionTemplate;
import com.sap.mw.jco.JCO.Structure;

public class Create_Item extends Connect_Sap_Server{
private JCO.Client mConnection = this.getConnection();
private JCO.Repository mRepository = new JCO.Repository("Repository", mConnection);
private JCO.Function function = null;
private JCO.Table data = null;
private String[] SAPInterfaces;

public Create_Item(){
try {
function = this.createFunction("BAPI_MATERIAL_SAVEDATA");
if (function == null) {
System.out.println("BAPI_MATERIAL_SAVEDATA"
+ " not found in SAP.");
System.out.println("SAP_RFC中没有此函数!");
System.exit(1);
}
JCO.Structure head_data = function.getImportParameterList().getStructure("HEADDATA");
head_data.setValue("00000000999914886", "MATERIAL"); //物料号
head_data.setValue("ROH", "MATL_TYPE"); //物料类型
head_data.setValue("M", "IND_SECTOR"); //行业领域(L、零售;A、工厂工程/结构;C、化学工业;M、机械工程;P、药品)
head_data.setValue("X", "BASIC_VIEW"); //基本数据视图
head_data.setValue("X", "PURCHASE_VIEW"); //采购视图
head_data.setValue("X", "ACCOUNT_VIEW"); //会计视图
// head_data.setValue("X", "SALES_VIEW"); //销售视图
head_data.setValue("X", "MRP_VIEW"); //物料需求计划(MRP)视图

//物料描述(MAKT)
JCO.Table mtl_desc = function.getTableParameterList().getTable("MATERIALDESCRIPTION");
mtl_desc.appendRow();
mtl_desc.setValue(this.changecode("神奇的钻头【java开发测试用物料】"), "MATL_DESC");//物料描述
mtl_desc.setValue("ZH", "LANGU_ISO");
mtl_desc.setValue("1", "LANGU");

//客户端层次物料数据(MARA)
JCO.Structure client_data = function.getImportParameterList().getStructure("CLIENTDATA");
client_data.setValue("999914886", "MATERIAL");
client_data.setValue("ST", "BASE_UOM"); //基本计量单位
client_data.setValue("ST", "BASE_UOM_ISO"); //ISO 代码的计量基本单位
client_data.setValue("01", "MATL_GROUP"); //物料组
//client_data.setValue("", "EXTMATLGRP"); //外部物料组
client_data.setValue("X", "ENVT_RLVT"); //关键件标识

//========start====
//此处必须写如果不写会报“字段MARA-MEINS/BAPI_MARA-BASE_UOM(_ISO)被定义为必需的字段; 它不包含条目”
//等错误并且在SAP中看不到相应的数据
JCO.Structure clientx_data = function.getImportParameterList().getStructure("CLIENTDATAX");
clientx_data.setValue("ST", "BASE_UOM");
clientx_data.setValue("ST", "BASE_UOM_ISO");
clientx_data.setValue("01", "MATL_GROUP"); //物料组
clientx_data.setValue("", "EXTMATLGRP"); //外部物料组
//========end======

//工厂级别的物料数据(MARC)
JCO.Structure plant_data = function.getImportParameterList().getStructure("PLANTDATA");
plant_data.setValue("2005", "PLANT"); //工厂
plant_data.setValue("Z48", "PUR_GROUP"); //采购组
plant_data.setValue("KP", "AVAILCHECK"); //可用性检查的检查组
plant_data.setValue("PD", "MRP_TYPE"); //MRP类型
plant_data.setValue("G01", "MRP_CTRLER"); //MRP控制者
plant_data.setValue("000", "SM_KEY"); //计划边际码
plant_data.setValue("EX", "LOTSIZEKEY"); //批量 (物料计划)

JCO.Structure plantx_data = function.getImportParameterList().getStructure("PLANTDATAX");
plantx_data.setValue("2005", "PLANT");
plantx_data.setValue("KP", "AVAILCHECK");
plantx_data.setValue("PD", "MRP_TYPE");
plantx_data.setValue("G01", "MRP_CTRLER");
plantx_data.setValue("000", "SM_KEY");
plantx_data.setValue("EX", "LOTSIZEKEY");

mConnection.execute(function); // 执行配置好的function
JCO.Structure returnStructure = function.getExportParameterList().getStructure("RETURN");
if(!(returnStructure.getString("TYPE").equals("") || returnStructure.getString("TYPE").equals("S"))){
System.out.println(returnStructure.getString("MESSAGE"));
throw new Exception("新增数据失败:" + returnStructure.getString("MESSAGE"));
}

function = this.createFunction("BAPI_TRANSACTION_COMMIT");
mConnection.execute(function);
System.out.println("新增物料主数据成功!");
} catch (Exception ex) {
ex.printStackTrace();
System.exit(1);
} finally {
if (mConnection != null) {
mConnection.disconnect();
}
}
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
根据材料和等压线图,结合所学知识,回答下列
原来的手机号注册了摩拜单车,后来卡注销的时
前女友要和你做朋友是什么意思?
重庆市北碚区盛鑫机械厂这个地址在什么地方,
如图为人体某种血管内的瓣膜在血液流动时的状
看图猜名字是动漫角色,是五个英文字母组成的
儿媳妇打伤婆婆轻微伤法律上怎么处罚
电机维修需要用哪些工具
拿着欠条去人家家里砸门要钱算违法吗
如何让SEEWOLINK与电脑连起来
男友独生子,她父亲母亲退休金1w左右。他本人
张师博加工的零件个数是王师博2倍,诺张师博去
河南省中牟县农场家属院在哪里啊,我有事要去
长期不吃含淀粉的食物好吗?不吃含淀粉的食物.
厦门海沧明达玻璃普工待遇怎么样呢!
推荐资讯
西岩山茶行地址有知道的么?有点事想过去
一本耽美网配文 主受 有一个情节是受要录多长
简约川菜时尚简餐地址有知道的么?有点事想过
中国政法大学男女生比例????
刑满人员释放当天又被派出所带走,被确定为三
静湖公园这个地址在什么地方,我要处理点事
四合山我想知道这个在什么地方
打篮球时,防守者对持球人用手在持球人的面前
阿克苏地区老干老年活动中心我想知道这个在什
求电影923的网址 上面有个我找了好久的电影
对一切人都公正无私,在它面前,皇帝和乞丐同
鄢陵县许昌马宁石膏线这个地址在什么地方,我
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?