JCO20 IDOCECC为Inbound.docx
《JCO20 IDOCECC为Inbound.docx》由会员分享,可在线阅读,更多相关《JCO20 IDOCECC为Inbound.docx(13页珍藏版)》请在冰豆网上搜索。
![JCO20 IDOCECC为Inbound.docx](https://file1.bdocx.com/fileroot1/2022-10/11/4128fe0e-ccce-4a84-99dc-c871ffc6eeac/4128fe0e-ccce-4a84-99dc-c871ffc6eeac1.gif)
JCO20IDOCECC为Inbound
一:
ECC配置
1):
WE31IDOC段类型ZTEST004_HEAD
WE31IDOC段类型ZTEST004_ITEM
2):
WE30IDOC基本类型ZTEST004
3):
WE81IDOC消息类型ZTEST004
4):
WE82IDOC消息类型与IDOC类型分配
5):
BD51进站功能模块ZTEST004
6):
WE57
7):
SE37创建进站函数
函数代码:
8)WE42创建进站代码ZTEST004
9)SALE创建逻辑系统BS_TEST01
10):
WE20创建合作伙伴类型LSBS_TEST01并增入进站参数ZTEST004
二:
Jar文件下载和Eclipse实现
到Jar文件
1:
sapjco21P_10-10002243
2:
sapjbidoc10P_5-20007299
3:
sapjcoidoc10P_9-20007299
下载完成后在Eclipse的工程中引用刚才下载的Jar文件
创建JCoIDocSample1类
JCoIDocSample1类代码如下:
importcom.sap.mw.idoc.*;
importcom.sap.mw.idoc.jco.*;
importcom.sap.mw.jco.*;
publicclassJCoIDocSample1
{
@SuppressWarnings("deprecation")
publicstaticvoidmain(String[]args)
{
try{
//createaJCoclientpool
JCO.addClientPool("MyPool",//poolname
3,//maximumpoolconnections
"300",//SAPclient
"USERID",//userID
"PASSWORD",//password
"EN",//language
"192.168.0.150",//appserverhostname
"00");//systemnumber
//createanIDocrepository
IDoc.RepositoryidocRep=JCoIDoc.createRepository("MyIDocRepository","MyPool");
//createanewandemptyZTEST004document
System.out.print("CreatingIDoc...");
IDoc.Documentdoc=JCoIDoc.createDocument(idocRep,"ZTEST004");
//gettherootsegmentfromthedocument
//Therootsegmentdoesnotcontainanyfieldsordata.Itisonly
//usedasthestandardparentsegmentandwon'tbetransmittedwhen
//thedocumentissenttoanSAPsystem.
IDoc.Segmentsegment=doc.getRootSegment();
//createandaddanewandemptychildsegmentoftypeE1MARAM
//andfillthesegmentdata
segment=segment.addChild("ZTEST004_HEAD");
segment.setField("EBELN","1");
segment.setField("BSART","2");
segment.setField("BUKRS","3");
segment.setField("EKORG","4");
segment.setField("EKGRP","5");
segment.setField("LIFNR","6");
//createandaddanewandemptychildsegmentoftypeE1MAKTM
//andfillthesegmentdata
segment=segment.addChild("ZTEST004_ITEM");
segment.setField("EBELP","11");
segment.setField("TXZ01","12");
segment.setField("MATNR","13");
segment.setField("WERKS","14");
segment.setField("LGORT","15");
segment.setField("MENGE","16");
segment.setField("MEINS","TO");
//createandaddanewandemptysiblingsegmentoftypeZTEST004_ITEM(sametype)
//andfillthesegmentdata
segment=segment.addSibling();
segment.setField("EBELP","21");
segment.setField("TXZ01","22");
segment.setField("MATNR","23");
segment.setField("WERKS","24");
segment.setField("LGORT","25");
segment.setField("MENGE","26");
segment.setField("MEINS","TO");
segment=segment.addSibling();
segment.setField("EBELP","31");
segment.setField("TXZ01","32");
segment.setField("MATNR","33");
segment.setField("WERKS","34");
segment.setField("LGORT","35");
segment.setField("MENGE","36");
segment.setField("MEINS","TO");
segment=segment.addSibling();
segment.setField("EBELP","41");
segment.setField("TXZ01","42");
segment.setField("MATNR","43");
segment.setField("WERKS","44");
segment.setField("LGORT","45");
segment.setField("MENGE","46");
segment.setField("MEINS","TO");
segment=segment.addSibling();
segment.setField("EBELP","51");
segment.setField("TXZ01","52");
segment.setField("MATNR","53");
segment.setField("WERKS","54");
segment.setField("LGORT","55");
segment.setField("MENGE","56");
segment.setField("MEINS","TO");
//preparedocumentforsendingandsettheappropriatecontroldata
doc.setMessageType("ZTEST004");
doc.setRecipientPartnerType("LS");
doc.setRecipientPartnerNumber("ECDCLNT300");
doc.setSenderPort("SAPJCOIDOC");
doc.setSenderPartnerType("LS");
doc.setSenderPartnerNumber("BS_TEST01");
System.out.println("done.");
//checkthewholedocument'ssyntax
try{
System.out.print("CheckingIDocsyntax...");
doc.checkSyntax();
System.out.println("done.");
}
catch(IDoc.Exceptionex){
System.out.println("Syntaxerror:
"+ex);
System.exit(0);
}
//getaJCoclientfrompreviouslycreatedclientpool
JCO.Clientclient=JCO.getClient("MyPool");
//createanewtransactionID
Stringtid=client.createTID();
//sendthedocumenttotheSAPsystemasynchronously
System.out.print("SendingIDoc...");
client.send(doc,tid);
//confirmthetransactionID
client.confirmTID(tid);
System.out.println("done.");
//releasetheJCoclientandreturnitbacktothepool
JCO.releaseClient(client);
}
catch(java.lang.Exceptionex){
System.out.println("Applicationerror:
"+ex);
}
}//methodmain
}//classJCoIDocSample1
三:
测试结果
执行JCoIDocSample1类
在ECC中的WE02能查询对应的IDOC