"Please enter sold-to party or ship-to party"

Question: Consider the following JCO code :


-----------------------------------

IFunctionTemplate ftemplate = repository.getFunctionTemplate("BAPI_SALESORDER_CREATEFROMDAT2");

JCO.Function function = new JCO.Function(ftemplate);

JCO.Client client = JCO.getClient(SID);

JCO.Structure input = function.getImportParameterList().getStructure("ORDER_HEADER_IN");

input.setValue("0010","SALES_ORG");
input.setValue("10","DISTR_CHAN");
input.setValue("10","DIVISION");
input.setValue("ZOR2","DOC_TYPE");
input.setValue("CAD","CURRENCY");

JCO.Table codes = function.getTableParameterList().getTable("ORDER_ITEMS_IN");

codes.appendRow();
codes.setValue("10","ITM_NUMBER");
codes.setValue("10","HG_LV_ITEM");
codes.setValue("TS","MATERIAL");
codes.setValue("VAL","SALES_UNIT");
codes.setValue("1","SALQTYNUM");
codes.setValue("TAW","ITEM_CATEG");
codes.setValue("10","PO_ITM_NO");

JCO.Table partners = function.getTableParameterList().getTable("ORDER_PARTNERS");
partners.appendRow();
partners.setValue("WE","PARTN_ROLE");
partners.setValue("STEE214","PARTN_NUMB");
partners.setValue("10","ITM_NUMBER");
partners.appendRow();
partners.setValue("AG","PARTN_ROLE");
partners.setValue("STEE214","PARTN_NUMB");
partners.setValue("10","ITM_NUMBER");
partners.appendRow();
partners.setValue("RG","PARTN_ROLE");
partners.setValue("STEE214","PARTN_NUMB");
partners.setValue("10","ITM_NUMBER");
partners.appendRow();
partners.setValue("RE","PARTN_ROLE");
partners.setValue("STEE214","PARTN_NUMB");
partners.setValue("10","ITM_NUMBER");
partners.appendRow();
partners.setValue("SP","PARTN_ROLE");
partners.setValue("STEE214","PARTN_NUMB");
partners.setValue("10","ITM_NUMBER");


client.execute();
function.writeHTML(new java.io.PrintWriter(new java.io.FileOutputStream("output.html")));

-----------------------------


I keep getting the same error,"Please enter sold-to party or ship-to party" and its driving me mad. Help!

Answer:
I have also faced same problem.
But when maintained other tables like
order_schedules_in and order_conditions_in
this problem is solved.

Bye
Venkat

Answer:
Dear all,

I have already followed the steps on sales order creation.

But still can't I create sales order.

try{
m_SapConn.createFunction ("BAPI_SALESORDER_CREATEFROMDAT2");
m_SapConn.setImportValue ("P","BEHAVE_WHEN_ERROR");
JCO.Structure header=m_SapConn.getImportStructure ("ORDER_HEADER_IN");
JCO.Table partner=m_SapConn.getTable ("ORDER_PARTNERS");
JCO.Table item=m_SapConn.getTable ("ORDER_ITEMS_IN");
JCO.Table condition=m_SapConn.getTable ("ORDER_CONDITIONS_IN");
JCO.Table schedule=m_SapConn.getTable ("ORDER_SCHEDULES_IN");
//header
header.setValue("ZBTO","DOC_TYPE");
header.setValue("CZFN","SALES_ORG");
header.setValue("01","DISTR_CHAN");
header.setValue("FN","DIVISION");
header.setValue("20030120","REQ_DATE_H");
header.setValue("20030112","PURCH_DATE");
header.setValue("123456789A","PURCH_NO_C");
header.setValue("20030112","PRICE_DATE");
//partners
partner.appendRow();
partner.setValue("WE","PARTN_ROLE");
partner.setValue("ACQ001","PARTN_NUMB");
partner.appendRow();
partner.setValue("AG","PARTN_ROLE");
partner.setValue("ACQ001","PARTN_NUMB");
partner.appendRow();
partner.setValue("RG","PARTN_ROLE");
partner.setValue("ACQ001","PARTN_NUMB");
partner.appendRow();
partner.setValue("RE","PARTN_ROLE");
partner.setValue("ACQ001","PARTN_NUMB");
partner.appendRow();
partner.setValue("SP","PARTN_ROLE");
partner.setValue("ACQ001","PARTN_NUMB");
partner.appendRow();
partner.setValue("SH","PARTN_ROLE");
partner.setValue("BOT002","PARTN_NUMB");

//items
item.appendRow();
item.setValue("000010","ITM_NUMBER");
item.setValue("000010","PO_ITM_NO");
item.setValue("470008-021","MATERIAL");
item.setValue("CZ01","PLANT");
item.setValue("074F","STORE_LOC");
item.setValue(10D,"TARGET_QTY");
item.setValue("NT45","PMNTTRMS");
//conditions
condition.appendRow();
condition.setValue("000010","ITM_NUMBER");
condition.setValue("EDI1","COND_TYPE");
condition.setValue(510.25D,"COND_VALUE");
//schedule lines
schedule.appendRow();
schedule.setValue("000010","ITM_NUMBER");
schedule.setValue("0001","SCHED_LINE");
schedule.setValue("20030125","REQ_DATE");
schedule.setValue("CP","SCHED_TYPE");

m_SapConn.execute ();

}catch (Exception ex1){
System.out.println (ex1.getMessage ());
}
System.out.println (m_SapConn.getExportValue ("SALESDOCUMENT"));
JCO.Table ret=m_SapConn.getTable ("RETURN");
for (int i=0;i<ret.getNumRows();i++){
ret.setRow(i);
System.out.println (ret.getString("TYPE")+" "+ret.getString("MESSAGE"));
}

try{
m_SapConn.createFunction ("BAPI_TRANSACTION_COMMIT");
m_SapConn.execute ();
}catch (Exception igore){};


Can anybody sugguest me?


jimli@cz.foxconn.com

Answer:
Instead of partner function in sequence of WE, AG, RG,RE
use AG,RE,RG,WE .
I hope it will work

Thanks
Venkat

Code should look like this
****************************************************
JCO.Table partners = function.getTableParameterList().getTable("ORDER_PARTNERS");
partners.appendRow();
partners.setValue("AG","PARTN_ROLE");
partners.setValue("STEE214","PARTN_NUMB");
partners.setValue("10","ITM_NUMBER");
partners.appendRow();
partners.setValue("RE","PARTN_ROLE");
partners.setValue("STEE214","PARTN_NUMB");
partners.setValue("10","ITM_NUMBER");
partners.appendRow();
partners.setValue("RG","PARTN_ROLE");
partners.setValue("STEE214","PARTN_NUMB");
partners.setValue("10","ITM_NUMBER");
partners.appendRow();
partners.setValue("WE","PARTN_ROLE");
partners.setValue("STEE214","PARTN_NUMB");
partners.setValue("10","ITM_NUMBER");
partners.appendRow();
partners.setValue("SP","PARTN_ROLE");
partners.setValue("STEE214","PARTN_NUMB");
partners.setValue("10","ITM_NUMBER");
Copyright ?2007 - 2008 www.jt77.com