on 06-15-2005 10:06 AM
I have a structured file for posting multiple BOMs through XI into SAP. I have mapped the structure through my communication channel using flags to denote each BOM header and the BOM items benath that BOM header.
The interface mapping is from the SENDER file to SAP RFC CSAP_MAT_BOM_CREATE.
XI picks up the senders file as 10 structures based on the data type and commmuniction channel I have set up (each of these BOM strucutres is seen in the PAYLOAD in SXMB_MONI).
XI then maps this to SAP rfc interface CSAP_MAT_BOM_CREATE. It works but for only 1 BOM strucutre and not for the other 9 BOMs that XI is holding. How do I configure XI to pick up all 10 BOM structures at once? Can anyone point me in the right direction so all the BOMs would be mapped?
Thanks for your help. MC
Hi Mark,
have you specified: <b><i>Recordsets per Message</i></b> parameter?
http://help.sap.com/saphelp_nw04/helpdata/en/2c/181077dd7d6b4ea6a8029b20bf7e55/content.htm
I'm not sure but it seems with this function you can only post one BOM at a time - that's why I think you should create many message from you file (with the parameter show above)
Regards,
michal
Message was edited by: Michal Krawczyk
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Michal,
thanks for your replies,
I have specified the recordsets per message in the commmunication channel.
I'll do as you suggest and test with the message.
I presumed that XI would recognise that there are multiple record sets and call the RFC the required number of times. Is this not correct? If it is not would I then nned to create my owm RFC shell and co-ordinate the processing from there?
Thanks, MC
Hi,
if you specify "recordsets per message" as *
then: (from help.sap.com):
"The default value is *. In the default setting, all recordsets are included in a message."
but in your case try you should post as many messages as
BOMs I believe
so 1 by 1
Try the mapping and you'll see
Regards,
michal
I've tested the XML message. It has nine recordsets (or BOMs within the message. The message maps only one of these BOMs to the SAP interface. I guess I need to create multiple messages (with a single recordset per message)from the source file but I'm not sure how to achieve that as yet. Any further info would be welcome.
Thanks, MC
Hi,
Do you know sth about using CSAP_MAT_BOM_CREATE directly into Java (via JCO)?
I've faced many problems and solved them successfully, but I still have really strange one. I can create BOM with one item, but if I try to create BOM with more than one, function throws a terminating error during execution.
I don't understand why. Used components exist in material master.
Perhaps you know whether it is possible to create multilevel BOM by using CSAP_MAT_BOM_CREATE?
I show the source code below:
JCO.Function function;
try {
function = this.createFunction("CSAP_MAT_BOM_CREATE");
} catch (CreateFunctionException e) {
return e.toString();
}
if (function == null) {
return "Error: createBom() - Function==null";
}
//System.out.println(function.getImportParameterList().get);
function.getImportParameterList().setValue("TESTBICYCLE4", "MATERIAL");
function.getImportParameterList().setValue("1", "BOM_USAGE");
function.getImportParameterList().setValue("03.01.2007", "VALID_FROM");
Table tstpo=function.getTableParameterList().getTable("T_STPO");
tstpo.appendRow();
tstpo.setValue("0010", "ITEM_NO");
tstpo.setValue("L", "ITEM_CATEG");
tstpo.setValue("TESTIRON", "COMPONENT");
tstpo.setValue("5", "COMP_QTY");
tstpo.setValue("ST", "COMP_UNIT");
//if i comment following lines execution is possible, otherwise not
tstpo.appendRow();
tstpo.setValue("0020", "ITEM_NO");
tstpo.setValue("L", "ITEM_CATEG");
tstpo.setValue("TESTPLASTIC", "COMPONENT");
tstpo.setValue("15", "COMP_QTY");
tstpo.setValue("ST", "COMP_UNIT");
//execution
executeBapi(function);
User | Count |
---|---|
85 | |
10 | |
10 | |
10 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.