千家信息网

怎么使用Java在SAP C4C里创建销售订单

发表于:2024-09-21 作者:千家信息网编辑
千家信息网最后更新 2024年09月21日,本篇内容介绍了"怎么使用Java在SAP C4C里创建销售订单"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学
千家信息网最后更新 2024年09月21日怎么使用Java在SAP C4C里创建销售订单

本篇内容介绍了"怎么使用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);    }}

"怎么使用Java在SAP C4C里创建销售订单"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

0