日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

JAVA调用BAPI创建销售订单

發(fā)布時(shí)間:2025/3/20 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JAVA调用BAPI创建销售订单 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

創(chuàng)建JAVA程序

import java.io.File;?????
import java.io.FileOutputStream;?????
import java.util.Properties;???

import com.sap.conn.jco.JCoException;??
import com.sap.conn.jco.ext.DestinationDataProvider;??
import com.sap.conn.jco.JCoDestination;??
import com.sap.conn.jco.JCoDestinationManager;??
import com.sap.conn.jco.AbapException;??
import com.sap.conn.jco.JCoFunction;??
import com.sap.conn.jco.JCoField;??
import com.sap.conn.jco.JCoStructure;???
import com.sap.conn.jco.JCoTable;

?

public class CreateOrder {??
???? static String ABAP_AS_POOLED = "ABAP_AS_WITH_POOL";????
???? static?????
? {????
?????? Properties connectProperties = new Properties();?????

??????? connectProperties.setProperty(DestinationDataProvider.JCO_ASHOST, "192.168.00");?????

??????? connectProperties.setProperty(DestinationDataProvider.JCO_SYSNR,? "10");?????

??????? connectProperties.setProperty(DestinationDataProvider.JCO_CLIENT, "100");?????

??????? connectProperties.setProperty(DestinationDataProvider.JCO_USER,?? "LIUWL");?????

??????? connectProperties.setProperty(DestinationDataProvider.JCO_PASSWD, "ADMIN123");?????

??????? connectProperties.setProperty(DestinationDataProvider.JCO_LANG,?? "ZH");???

??????? //JCO_PEAK_LIMIT -? Maximum number of idle connections kept open by the destination.??

??????? connectProperties.setProperty(DestinationDataProvider.JCO_POOL_CAPACITY, "3");??

?

??????? //JCO_POOL_CAPACITY - Maximum number of active connections that???

??????? //can be created for a destination simultaneously??

??????? connectProperties.setProperty(DestinationDataProvider.JCO_PEAK_LIMIT,??? "10");?????

??????? createDataFile(ABAP_AS_POOLED, "jcoDestination", connectProperties);????
?? }???
??
??? static void createDataFile(String name, String suffix, Properties properties)?????
???? {?????
???????? File cfg = new File(name+"."+suffix);?????
???????? if(!cfg.exists())?????
??????????????????????? {?????
???????????? try?????
????????????????????????????????? {?????
???????????????? FileOutputStream fos = new FileOutputStream(cfg, false);?????
???????????????? properties.store(fos, "for tests only !");?????
???????????????? fos.close();?????
????????????????????????????????? }?????
??????????? catch (Exception e)?????
??????????????????????????????? {?????
???????????????? throw new RuntimeException("Unable to create the destination file " + cfg.getName(), e);?????
???????????????????????????????? }?????
?????????????????? }?????
??? }???


?????? public static void createSAPOrder() throws JCoException?????
???????????????? {?????
?????????? JCoDestination destination = JCoDestinationManager.getDestination(ABAP_AS_POOLED);?????
?????????? JCoFunction function = destination.getRepository().getFunction("ZRFC_SALESORDER_CREATEFROMDAT");???
?????????? if(function == null)?????
????????????? throw new RuntimeException("BAPI_SALESORDER_CREATEFROMDAT2 not found in SAP.");?????
?
??????? //importing parameter
??????? JCoStructure salehd = function.getImportParameterList().getStructure("ORDER_HEADER_IN");
??????? JCoStructure salehdx = function.getImportParameterList().getStructure("ORDER_HEADER_INX");
??????? //Tables
??????? JCoTable returntable = function.getTableParameterList().getTable("RETURN");
??????? JCoTable item = function.getTableParameterList().getTable("ORDER_ITEMS_IN");
??????? JCoTable itemx = function.getTableParameterList().getTable("ORDER_ITEMS_INX");
??????? JCoTable partner = function.getTableParameterList().getTable("ORDER_PARTNERS");
?????? JCoTable schedule = function.getTableParameterList().getTable("ORDER_SCHEDULES_IN");
????? ?JCoTable schedulex = function.getTableParameterList().getTable("ORDER_SCHEDULES_INX");
??? //? JCoTable condition = function.getTableParameterList().getTable("ORDER_CONDITIONS_IN");
??? //? JCoTable conditionx = function.getTableParameterList().getTable("ORDER_CONDITIONS_INX");
?????????????????????
??????? salehd.setValue("DOC_TYPE","TA");??????? //訂單類(lèi)型
??????? salehd.setValue("SALES_ORG","8101");???? //銷(xiāo)售機(jī)構(gòu)
??????? salehd.setValue("DISTR_CHAN","10");????? //分銷(xiāo)渠道
??????? salehd.setValue("DIVISION","10");??????? //產(chǎn)品組
??????? salehd.setValue("PURCH_NO_C","12");??????? //采購(gòu)訂單編號(hào)
??????? salehd.setValue("PRICE_DATE","20100926");//定價(jià)日期
??????? salehd.setValue("PMNTTRMS","0002");??????? //付款條款

??????? salehdx.setValue("DOC_TYPE","X");??????? //訂單類(lèi)型
??????? salehdx.setValue("SALES_ORG","X");???? //銷(xiāo)售機(jī)構(gòu)
??????? salehdx.setValue("DISTR_CHAN","X");????? //分銷(xiāo)渠道
??????? salehdx.setValue("DIVISION","X");??????? //產(chǎn)品組
??????? salehdx.setValue("PURCH_NO_C","X");??????? //采購(gòu)訂單編號(hào)
??????? salehdx.setValue("PRICE_DATE","X");//定價(jià)日期
??????? salehdx.setValue("PMNTTRMS","X");??????? //付款條款

??????? item.appendRow();
??????? item.setValue("ITM_NUMBER","000010");??????? //項(xiàng)目
??????? item.setValue("MATERIAL","000000000000000007");??????? //物料編號(hào)

??????? itemx.appendRow();
??????? itemx.setValue("ITM_NUMBER","000010");??????? //項(xiàng)目
??????? itemx.setValue("MATERIAL","X");??????? //物料編號(hào)


??????? schedule.appendRow();
??????? schedule.setValue("ITM_NUMBER","000010");//項(xiàng)目
??????? schedule.setValue("SCHED_LINE","0001");//計(jì)劃行
??????? schedule.setValue("REQ_QTY","10");//數(shù)量
????????
??????? schedulex.appendRow();
??????? schedulex.setValue("ITM_NUMBER","000010");//項(xiàng)目
??????? schedulex.setValue("SCHED_LINE","0001");//計(jì)劃行
??????? schedulex.setValue("REQ_QTY","X");//數(shù)量
????????
??????? partner.appendRow();
??????? partner.setValue("PARTN_ROLE","AG");??????? //售達(dá)方
??????? partner.setValue("PARTN_NUMB","0000100043");??????? //售達(dá)方編號(hào)
??????? partner.appendRow();
??????? partner.setValue("PARTN_ROLE","WE");??????? //運(yùn)達(dá)方
??????? partner.setValue("PARTN_NUMB","0000100043");??????? //運(yùn)達(dá)方編號(hào)
????????
????????
??????? try?????
???????????????????? {???????
??????????? function.execute(destination);?
???????????????????? }?????
??????? catch(AbapException e)?????
??????????????????? {?????
?????????? System.out.println(e.toString());?????
?????????? return;?????
??????????????????? }????

?????? String saledocu = function.getExportParameterList().getString("SALESDOCUMENT");
?????? System.out.println("創(chuàng)建訂單:"+saledocu);?
?????? System.out.println("返回信息數(shù):"+returntable.getNumRows());
?????? for(int j = 0; j< returntable.getNumRows();j++)
????????????????? {
????????? for(int i = 0; i < returntable.getMetaData().getFieldCount(); i++)??????
????????????????????????? {
??????????? System.out.println(returntable.getMetaData().getName(i) + ":/t" + returntable.getString(i));?????
????????????????????????? }?????
????????? returntable.nextRow();
????????? System.out.println();??
????????????????? }
???????????? }?????
?????
??? public static void main(String[] args) throws JCoException?????
???????? {?????
??????? createSAPOrder();?????
??????? }??
?}?

總結(jié)

以上是生活随笔為你收集整理的JAVA调用BAPI创建销售订单的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。