使用簡單的Java程式碼在SAP C4C裡建立銷售訂單
需要建立的銷售訂單的明細透過硬編碼指定:
比如銷售訂單的描述為Jerry Test 2019-1-23 16:05PM
執行之後,看到Status Code 201,說明建立成功:
到UI上能看到成功建立的銷售訂單:
實現程式碼:
package odata;import java.io.IOException;import java.io.UnsupportedEncodingException;import java.net.URI;import org.apache.http.HttpEntity;import org.apache.http.HttpHost;import org.apache.http.HttpResponse;import org.apache.http.client.ClientProtocolException;import org.apache.http.client.HttpClient;import org.apache.http.client.config.RequestConfig;import org.apache.http.client.methods.HttpGet;import org.apache.http.client.methods.HttpPost;import org.apache.http.entity.StringEntity;import org.apache.http.impl.client.HttpClientBuilder;public class SimpleOrderCreator { private final String SERVICEURL = "https://my5000jerry.c4c.saphybriscloud.cn/sap/c4c/odata/cust/v1/zjerrysalesorder/CustomerQuoteCollection"; HttpClient m_httpClient; private HttpClient getHttpClient() { if (this.m_httpClient == null) { this.m_httpClient = HttpClientBuilder.create().build(); } return this.m_httpClient; } private String getCSRFToken(){ final HttpGet get = new HttpGet(SERVICEURL); get.setHeader("Authorization", "Basic 0FOR0pFUlJZMTpTYXB0ZXN0MQ=="); get.setHeader("x-csrf-token", "fetch"); HttpHost proxy = new HttpHost("proxy.sha.sap.corp", 8080, "http"); RequestConfig config = RequestConfig.custom().setProxy(proxy).build(); get.setConfig(config); HttpResponse response; String token = null; try { response = getHttpClient().execute(get); /*Header[] header = response.getAllHeaders(); for( int i =0; i < header.length; i++){ System.out.println("Header: " + header[i].getValue()); }*/ token = response.getFirstHeader("x-csrf-token").getValue(); System.out.println("token: " + token); } catch (ClientProtocolException e) { e.printStackTrace(); } catch (IOException | UnsupportedOperationException e) { e.printStackTrace(); } return token; } private void createSO(String token,String body) { final HttpPost post = new HttpPost( URI.create(SERVICEURL)); post.setHeader("Authorization", "Basic 0FOR0pFUlJZMTpTYXB0ZXN0MQ=="); post.setHeader("Content-Type", "application/json"); post.setHeader("X-CSRF-Token", token); HttpEntity entity = null; try { entity = new StringEntity(body); } catch (UnsupportedEncodingException e) { // TODO Auto-generated catch block e.printStackTrace(); } post.setEntity(entity); HttpResponse response = null; try { response = getHttpClient().execute(post); } catch (ClientProtocolException e) { // TODO Auto-generated catch block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("Response statusCode for Batch => " + response.getStatusLine().getStatusCode()); } public static void main(String[] args) { SimpleOrderCreator tool = new SimpleOrderCreator(); String token = tool.getCSRFToken(); String body = "{" + "\"Name\": \"Jerry Test 2019-1-23 16:05PM\"," + "\"TypeCode\": \"2059\"," + "\"BuyerID\":\"ee\"," + "\"PartyID\":\"60102\", " + "\"CustomerQuoteText\":[{" + "\"Text\": \"test comment by Jerry Wang\", " + "\"TypeCode\": \"10024\"" + "}]," + "\"CustomerQuoteItem\":[{ " + "\"ProductID\": \"1042416\"" + "}]," + "\"CustomerQuoteItemProposal\":[{" + "\"ProductUUID\": \"00163E72-09C6-1EE8-BBDC-AC5F0CB0D795\"," + "\"Quantity\": \"1\"," + "\"unitCode\": \"EA\"" + "}]" + "}"; tool.createSO(token, body); } }
要獲取更多Jerry的原創文章,請關注公眾號"汪子熙":
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24475491/viewspace-2565102/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 如何用程式碼的方式取出SAP C4C銷售訂單建立後所有業務夥伴的資料
- 使用nodejs呼叫C4C的Odata服務建立銷售訂單NodeJS
- SAP SD如何將銷售訂單其它ITEM加入到一個已建立好的交貨單裡
- 如何用SAP Cloud for Customer的手機App建立銷售訂單CloudAPP
- 使用nodejs程式碼在SAP C4C裡建立Individual customerNodeJS
- 如何使用程式碼建立和讀取 SAP CRM 訂單的 Text 資料
- C4C銷售訂單行專案價格維護方法
- 「SAP技術」SAP SD微觀研究之根據銷售訂單查詢到該訂單發貨的批次
- 使用 ABAP 程式碼刪除指定 SAP CRM 系統裡 Opportunity 訂單的文字Unity
- SAP Cloud for Customer銷售訂單External Note的建模細節Cloud
- SAP建立採購訂單流程
- BAPI_SALESORDER_CREATEFROMDAT2 BAPI建立VA01 銷售訂單API
- SAP SD微觀研究之銷售訂單型別配置裡有關PO的幾個欄位型別
- 在銷售中處理第三方訂單
- EBS:銷售訂單歷史記錄
- 實驗三:在centos裡使用一些簡單的程式碼,CentOS
- SAP C4C裡如何建立兩個具有依賴關係的下拉選單
- 如何使用程式碼的方式刪除 SAP CRM 訂單 Text 資料
- CO銷售訂單成本核算詳解
- java簡單聊天程式碼Java
- 如何建立最簡單的 SAP Kyma FunctionFunction
- 銷售訂單處理期間的基本功能
- 如何用Java程式碼在SAP Marketing Cloud裡建立contact資料JavaCloud
- EBS:OM Sales Order銷售訂單【Open Interface、Open API】API
- 如何用程式碼填充S/4HANA銷售訂單行專案的數量欄位
- 使用Tkinter模組來建立簡單的GUI程式GUI
- (原創)BAPI 修改銷售訂單的方法 ‘BAPI_SALESORDER_CHANGE’API
- SAP QM初階之事務程式碼QC51為採購訂單建立Quality Certificate
- SAP MM 採購訂單抬頭資料裡的Condition
- SAP PM 初級系列23 - IW22 事務程式碼裡建立維修工單
- 使用簡單的Java程式碼實現酒店管理系統Java
- 使用Java程式碼在SAP Marketing Cloud上建立Contact資料JavaCloud
- 使用SAP CRM External Interface進行訂單同步
- 使用 Java 在Excel中建立下拉選單JavaExcel
- 在ASP中使用簡單Java類 (轉)Java
- SAP PM 入門系列10 - 根據維護通知單建立維護訂單
- 編寫簡單的Java程式碼:HelloWoridJava
- 建立一個簡單的小程式