From 427fee3e06583bea1263a7ae021299a6ad6da85b Mon Sep 17 00:00:00 2001 From: Niveathika Date: Thu, 11 Jul 2024 13:47:13 +0530 Subject: [PATCH 1/3] Add shopify to sap example --- examples/shopify-to-sap/.github/README.md | 1 + examples/shopify-to-sap/Ballerina.toml | 5 ++ examples/shopify-to-sap/Shopify to SAP.md | 69 +++++++++++++++++ examples/shopify-to-sap/constants.bal | 32 ++++++++ examples/shopify-to-sap/main.bal | 92 +++++++++++++++++++++++ examples/shopify-to-sap/types.bal | 39 ++++++++++ 6 files changed, 238 insertions(+) create mode 120000 examples/shopify-to-sap/.github/README.md create mode 100644 examples/shopify-to-sap/Ballerina.toml create mode 100644 examples/shopify-to-sap/Shopify to SAP.md create mode 100644 examples/shopify-to-sap/constants.bal create mode 100644 examples/shopify-to-sap/main.bal create mode 100644 examples/shopify-to-sap/types.bal diff --git a/examples/shopify-to-sap/.github/README.md b/examples/shopify-to-sap/.github/README.md new file mode 120000 index 0000000..6ff09a0 --- /dev/null +++ b/examples/shopify-to-sap/.github/README.md @@ -0,0 +1 @@ +../Shopify to SAP.md \ No newline at end of file diff --git a/examples/shopify-to-sap/Ballerina.toml b/examples/shopify-to-sap/Ballerina.toml new file mode 100644 index 0000000..57a8a0a --- /dev/null +++ b/examples/shopify-to-sap/Ballerina.toml @@ -0,0 +1,5 @@ +[package] +org = "wso2" +name = "shopify_to_sap" +version = "0.1.0" +distribution = "2201.9.1" diff --git a/examples/shopify-to-sap/Shopify to SAP.md b/examples/shopify-to-sap/Shopify to SAP.md new file mode 100644 index 0000000..6a41281 --- /dev/null +++ b/examples/shopify-to-sap/Shopify to SAP.md @@ -0,0 +1,69 @@ +# Automated SAP Sales Order Creation from Shopify Orders + +This example details the integration process between [Shopify](https://admin.shopify.com/), a leading e-commerce +platform, and [SAP S/4HANA](https://www.sap.com/products/erp/s4hana.html), a comprehensive ERP system. The objective is +to automate SAP sales order creation for new orders placed on Shopify, enhancing efficiency and accuracy in order +management. + +## Overview + +Shopify excels in facilitating online sales and customer interactions, while SAP S/4HANA streamlines core business +operations. This integration bridges the gap between e-commerce sales and enterprise resource planning, ensuring that +new orders on Shopify automatically generate corresponding sales orders in SAP S/4HANA. + +The process is initiated by a Shopify webhook, which notifies a designated HTTP service endpoint whenever a new order is +placed. This triggers the automated creation of a sales order in SAP S/4HANA via its API, seamlessly connecting online +sales with the ERP system. + +## Prerequisites + +### 1. Setup the S/4HANA API + +Refer to the [Setup Guide](https://central.ballerina.io/ballerinax/sap/latest#setup-guide) for necessary credentials ( +hostname, username, password). + +### 2. Setup the Shopify Store + +1. Create a new Shopify partner account from https://www.shopify.com/partners. + +2. Create a Shopify development + store (https://help.shopify.com/en/partners/dashboard/managing-stores/development-stores) + +3. In the development store, navigate to `Settings -> Notifications -> Webhooks` + +4. Create webhooks for Order creation event. Provide the URL http://:/sap-bridge/order for both webhooks. + +### 3. Configuration + +Configure S/4HANA API credentials in `Config.toml` in the example directory: + +```toml +[s4hanaClientConfig] +hostname = "" +username = "" +password = "" +``` + +### 4. Modify Configuration Constants + +For ease of demonstration, certain organizational structures within S/4HANA and mappings from Shopify to S/4HANA +Material codes are predefined. To tailor these to your specific requirements, adjustments can be made in +the `constants.bal` file. + +## Run the Example + +Execute the following command to run the example: + +```bash +bal run +``` + +## Testing + +1. **Customer and Product Registration**: Access the development store's online view. Register a new customer and add a + product. + +2. **Order Creation**: Using the newly registered customer and product, place a new order. + +3. **Verification in SAP S/4HANA**: Log into the SAP S/4HANA system and verify the presence of the sales order that was + just created. diff --git a/examples/shopify-to-sap/constants.bal b/examples/shopify-to-sap/constants.bal new file mode 100644 index 0000000..be09af4 --- /dev/null +++ b/examples/shopify-to-sap/constants.bal @@ -0,0 +1,32 @@ +// Copyright (c) 2024, WSO2 LLC. (http://www.wso2.org). +// +// WSO2 LLC. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +// Organizational constants +const SALES_ORDER_TYPE = "OR"; +const SALES_ORGANIZATION = "1710"; +const DISTRIBUTION_CHANNEL = "10"; +const ORG_DIVISION = "00"; + +// Master Data Mapping +const SOLD_TO_PARTY = "17100001"; +const CODE_TO_MATERIAL = { + "8882299109698": { + Material: "FG011", + Name: "Electric Fan", + SalesOrderItemCategory: "TAN", + RequestedQuantityUnit: "PC" + } +}; diff --git a/examples/shopify-to-sap/main.bal b/examples/shopify-to-sap/main.bal new file mode 100644 index 0000000..3b8ee04 --- /dev/null +++ b/examples/shopify-to-sap/main.bal @@ -0,0 +1,92 @@ +// Copyright (c) 2024, WSO2 LLC. (http://www.wso2.org). +// +// WSO2 LLC. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +import ballerina/http; +import ballerina/log; +import ballerina/random; +import ballerinax/sap.s4hana.api_sales_order_srv as salesorder; + +configurable S4HanaClientConfig s4hanaClientConfig = ?; + +final salesorder:Client salesOrderClient = check new ( + { + auth: { + username: s4hanaClientConfig.username, + password: s4hanaClientConfig.password + } + }, + s4hanaClientConfig.hostname +); + +service /sap\-bridge on new http:Listener(9090) { + + isolated resource function post 'order(ShopifyOrder shopifyOrder) returns http:Created|http:InternalServerError { + log:printInfo(string `Received order with confirmation number: ${shopifyOrder.confirmation_number}`); + + salesorder:CreateA_SalesOrder|error salesOrder = transformShopifyOrder(shopifyOrder); + if salesOrder is error { + log:printError(string `Error while transforming order: ${salesOrder.message()}`, salesOrder); + return http:INTERNAL_SERVER_ERROR; + } + + salesorder:A_SalesOrderWrapper|error createdSO = salesOrderClient->createA_SalesOrder(salesOrder); + if createdSO is error { + log:printError("Error: " + createdSO.message()); + return http:INTERNAL_SERVER_ERROR; + } + log:printInfo(string `Successfully created an SAP sales order with id: ${createdSO.d?.SalesOrder ?: ""}`); + return http:CREATED; + } +} + +isolated function transformShopifyOrder(ShopifyOrder shopifyOrder) returns salesorder:CreateA_SalesOrder|error { + + int salesOrderId = check random:createIntInRange(5000000, 5999999); + salesorder:CreateA_SalesOrder salesOrder = { + SalesOrder: salesOrderId.toString(), + SalesOrderType: SALES_ORDER_TYPE, + SalesOrganization: SALES_ORGANIZATION, + DistributionChannel: DISTRIBUTION_CHANNEL, + OrganizationDivision: ORG_DIVISION, + SoldToParty: SOLD_TO_PARTY + }; + if shopifyOrder.line_items.length() == 0 { + log:printInfo("No items found in the opportunity. Skipping item creation in order creation."); + return salesOrder; + } + + salesorder:CreateA_SalesOrderItem[] orderItems = []; + foreach int i in 0 ... shopifyOrder.line_items.length() - 1 { + string productId = shopifyOrder.line_items[i].product_id.toString(); + S4HanaMaterial? material = CODE_TO_MATERIAL[productId]; + if material is () { + log:printError(string `Material mapping to Product Id is not found for ${productId}`); + continue; + } + orderItems.push({ + SalesOrderItem: (i + 1).toString(), + Material: material.Material, + SalesOrderItemText: material.Name, + SalesOrderItemCategory: material.SalesOrderItemCategory, + RequestedQuantity: shopifyOrder.line_items[i].quantity.toString(), + RequestedQuantityUnit: material.RequestedQuantityUnit + }); + } + salesOrder.to_Item = { + results: orderItems + }; + return salesOrder; +} diff --git a/examples/shopify-to-sap/types.bal b/examples/shopify-to-sap/types.bal new file mode 100644 index 0000000..588f5cd --- /dev/null +++ b/examples/shopify-to-sap/types.bal @@ -0,0 +1,39 @@ +// Copyright (c) 2024, WSO2 LLC. (http://www.wso2.org). +// +// WSO2 LLC. licenses this file to you under the Apache License, +// Version 2.0 (the "License"); you may not use this file except +// in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +type S4HanaClientConfig record {| + string hostname; + string username; + string password; +|}; + +type ShopifyOrder record { + string confirmation_number; + LineItem[] line_items; +}; + +type LineItem record { + string price; + int quantity; + int product_id; +}; + +type S4HanaMaterial record {| + string Material; + string Name; + string SalesOrderItemCategory; + string RequestedQuantityUnit; +|}; From 76e2b735bb88f4a9d10bf2a37a93a6d5579322b6 Mon Sep 17 00:00:00 2001 From: Niveathika Date: Thu, 11 Jul 2024 13:47:22 +0530 Subject: [PATCH 2/3] Reformat --- .../salesforce-to-sap/Salesforce To S4hana.md | 25 +++++++++++++------ 1 file changed, 18 insertions(+), 7 deletions(-) diff --git a/examples/salesforce-to-sap/Salesforce To S4hana.md b/examples/salesforce-to-sap/Salesforce To S4hana.md index 6afba93..9f5e845 100644 --- a/examples/salesforce-to-sap/Salesforce To S4hana.md +++ b/examples/salesforce-to-sap/Salesforce To S4hana.md @@ -6,11 +6,18 @@ generating a Sales Order in the S/4HANA SD module. ## Overview -Salesforce, a leading cloud-based CRM platform, empowers organizations to streamline their sales, marketing, and customer service workflows. On the other hand, SAP S/4HANA, an advanced ERP system, enables efficient management of core business processes. +Salesforce, a leading cloud-based CRM platform, empowers organizations to streamline their sales, marketing, and +customer service workflows. On the other hand, SAP S/4HANA, an advanced ERP system, enables efficient management of core +business processes. -In numerous organizations, the transition of sales orders into SAP often entails cumbersome manual data entry, leading to potential inaccuracies. Moreover, the prompt creation of sales orders following the generation of new opportunities is crucial. This integration aims to automate the generation of SAP sales orders upon the creation of Salesforce opportunities, significantly reducing manual labor and enhancing data precision. +In numerous organizations, the transition of sales orders into SAP often entails cumbersome manual data entry, leading +to potential inaccuracies. Moreover, the prompt creation of sales orders following the generation of new opportunities +is crucial. This integration aims to automate the generation of SAP sales orders upon the creation of Salesforce +opportunities, significantly reducing manual labor and enhancing data precision. -This solution actively monitors for the closing of opportunities within Salesforce. Upon detecting an opportunity closed as won, it automatically initiates the creation of a corresponding SAP sales order via the SAP API, streamlining the process. +This solution actively monitors for the closing of opportunities within Salesforce. Upon detecting an opportunity closed +as won, it automatically initiates the creation of a corresponding SAP sales order via the SAP API, streamlining the +process. ## Prerequisites @@ -54,7 +61,9 @@ password = "" ### 4. Modify Configuration Constants -For ease of demonstration, certain organizational structures within S/4HANA and mappings from Salesforce to S/4HANA Material codes are predefined. To tailor these to your specific requirements, adjustments can be made in the `constants.bal` file. +For ease of demonstration, certain organizational structures within S/4HANA and mappings from Salesforce to S/4HANA +Material codes are predefined. To tailor these to your specific requirements, adjustments can be made in +the `constants.bal` file. ## Run the Example @@ -64,10 +73,12 @@ Execute the following command to run the example: bal run ``` -## Testing +## Testing 1. **Access an Opportunity**: In Salesforce, locate and open a specific Opportunity record. -2. **Mark as Closed Won**: Update the Opportunity's status to `Closed Won`. This action simulates the successful closure of a sales deal. +2. **Mark as Closed Won**: Update the Opportunity's status to `Closed Won`. This action simulates the successful closure + of a sales deal. -3. **Verify in SAP S/4HANA**: Log into the SAP S/4HANA system. Confirm the creation of a corresponding sales order, which should have been automatically generated in response to the Opportunity's closure in Salesforce. +3. **Verify in SAP S/4HANA**: Log into the SAP S/4HANA system. Confirm the creation of a corresponding sales order, + which should have been automatically generated in response to the Opportunity's closure in Salesforce. From aa6afecbcb79ae9641d1b3f05eae9b2b2818854f Mon Sep 17 00:00:00 2001 From: Niveathika Date: Thu, 11 Jul 2024 13:48:52 +0530 Subject: [PATCH 3/3] Update documentation with shopify to sap example --- ballerina/api_sales_order_srv/Module.md | 6 ++++++ ballerina/api_sales_order_srv/Package.md | 9 ++++++++- ballerina/api_salesdistrict_srv/Module.md | 6 ++++++ ballerina/api_salesdistrict_srv/Package.md | 9 ++++++++- ballerina/api_salesorganization_srv/Module.md | 6 ++++++ ballerina/api_salesorganization_srv/Package.md | 9 ++++++++- ballerina/api_sd_sa_soldtopartydetn/Module.md | 6 ++++++ ballerina/api_sd_sa_soldtopartydetn/Package.md | 9 ++++++++- build-config/resources/Module.md | 6 ++++++ build-config/resources/Package.md | 9 ++++++++- examples/README.md | 6 ++++++ 11 files changed, 76 insertions(+), 5 deletions(-) diff --git a/ballerina/api_sales_order_srv/Module.md b/ballerina/api_sales_order_srv/Module.md index 6b9dbf5..647d634 100644 --- a/ballerina/api_sales_order_srv/Module.md +++ b/ballerina/api_sales_order_srv/Module.md @@ -90,3 +90,9 @@ use cases like accessing S/4HANA Sales Order (A2X) API. Demonstrates leveraging the `sap.s4hana.api_sales_order_srv:Client` in Ballerina for S/4HANA API interactions. It specifically showcases how to respond to a Salesforce Opportunity Close Event by automatically generating a Sales Order in the S/4HANA SD module. + +2. [Shopify to S/4HANA Integration](https://github.com/ballerina-platform/module-ballerinax-sap.s4hana.sales/tree/main/examples/shopify-to-sap) - + Details the integration process between [Shopify](https://admin.shopify.com/), a leading e-commerce platform, + and [SAP S/4HANA](https://www.sap.com/products/erp/s4hana.html), a comprehensive ERP system. The objective is to + automate SAP sales order creation for new orders placed on Shopify, enhancing efficiency and accuracy in order + management. diff --git a/ballerina/api_sales_order_srv/Package.md b/ballerina/api_sales_order_srv/Package.md index b6daafb..40119b1 100644 --- a/ballerina/api_sales_order_srv/Package.md +++ b/ballerina/api_sales_order_srv/Package.md @@ -91,6 +91,12 @@ use cases like accessing S/4HANA Sales Order (A2X) API. specifically showcases how to respond to a Salesforce Opportunity Close Event by automatically generating a Sales Order in the S/4HANA SD module. +2. [Shopify to S/4HANA Integration](https://github.com/ballerina-platform/module-ballerinax-sap.s4hana.sales/tree/main/examples/shopify-to-sap) - + Details the integration process between [Shopify](https://admin.shopify.com/), a leading e-commerce platform, + and [SAP S/4HANA](https://www.sap.com/products/erp/s4hana.html), a comprehensive ERP system. The objective is to + automate SAP sales order creation for new orders placed on Shopify, enhancing efficiency and accuracy in order + management. + ## Report Issues To report bugs, request new features, start new discussions, view project boards, etc., go to @@ -99,4 +105,5 @@ the [Ballerina library parent repository](https://github.com/ballerina-platform/ ## Useful Links - Chat live with us via our [Discord server](https://discord.gg/ballerinalang). -- Post all technical questions on Stack Overflow with the [#ballerina](https://stackoverflow.com/questions/tagged/ballerina) tag. \ No newline at end of file +- Post all technical questions on Stack Overflow with + the [#ballerina](https://stackoverflow.com/questions/tagged/ballerina) tag. \ No newline at end of file diff --git a/ballerina/api_salesdistrict_srv/Module.md b/ballerina/api_salesdistrict_srv/Module.md index f0cae8c..5cc893e 100644 --- a/ballerina/api_salesdistrict_srv/Module.md +++ b/ballerina/api_salesdistrict_srv/Module.md @@ -90,3 +90,9 @@ use cases like accessing S/4HANA Sales Order (A2X) API. Demonstrates leveraging the `sap.s4hana.api_sales_order_srv:Client` in Ballerina for S/4HANA API interactions. It specifically showcases how to respond to a Salesforce Opportunity Close Event by automatically generating a Sales Order in the S/4HANA SD module. + +2. [Shopify to S/4HANA Integration](https://github.com/ballerina-platform/module-ballerinax-sap.s4hana.sales/tree/main/examples/shopify-to-sap) - + Details the integration process between [Shopify](https://admin.shopify.com/), a leading e-commerce platform, + and [SAP S/4HANA](https://www.sap.com/products/erp/s4hana.html), a comprehensive ERP system. The objective is to + automate SAP sales order creation for new orders placed on Shopify, enhancing efficiency and accuracy in order + management. diff --git a/ballerina/api_salesdistrict_srv/Package.md b/ballerina/api_salesdistrict_srv/Package.md index 1ca204b..753d261 100644 --- a/ballerina/api_salesdistrict_srv/Package.md +++ b/ballerina/api_salesdistrict_srv/Package.md @@ -91,6 +91,12 @@ use cases like accessing S/4HANA Sales Order (A2X) API. specifically showcases how to respond to a Salesforce Opportunity Close Event by automatically generating a Sales Order in the S/4HANA SD module. +2. [Shopify to S/4HANA Integration](https://github.com/ballerina-platform/module-ballerinax-sap.s4hana.sales/tree/main/examples/shopify-to-sap) - + Details the integration process between [Shopify](https://admin.shopify.com/), a leading e-commerce platform, + and [SAP S/4HANA](https://www.sap.com/products/erp/s4hana.html), a comprehensive ERP system. The objective is to + automate SAP sales order creation for new orders placed on Shopify, enhancing efficiency and accuracy in order + management. + ## Report Issues To report bugs, request new features, start new discussions, view project boards, etc., go to @@ -99,4 +105,5 @@ the [Ballerina library parent repository](https://github.com/ballerina-platform/ ## Useful Links - Chat live with us via our [Discord server](https://discord.gg/ballerinalang). -- Post all technical questions on Stack Overflow with the [#ballerina](https://stackoverflow.com/questions/tagged/ballerina) tag. \ No newline at end of file +- Post all technical questions on Stack Overflow with + the [#ballerina](https://stackoverflow.com/questions/tagged/ballerina) tag. \ No newline at end of file diff --git a/ballerina/api_salesorganization_srv/Module.md b/ballerina/api_salesorganization_srv/Module.md index 36121c6..2c1b7e2 100644 --- a/ballerina/api_salesorganization_srv/Module.md +++ b/ballerina/api_salesorganization_srv/Module.md @@ -90,3 +90,9 @@ use cases like accessing S/4HANA Sales Order (A2X) API. Demonstrates leveraging the `sap.s4hana.api_sales_order_srv:Client` in Ballerina for S/4HANA API interactions. It specifically showcases how to respond to a Salesforce Opportunity Close Event by automatically generating a Sales Order in the S/4HANA SD module. + +2. [Shopify to S/4HANA Integration](https://github.com/ballerina-platform/module-ballerinax-sap.s4hana.sales/tree/main/examples/shopify-to-sap) - + Details the integration process between [Shopify](https://admin.shopify.com/), a leading e-commerce platform, + and [SAP S/4HANA](https://www.sap.com/products/erp/s4hana.html), a comprehensive ERP system. The objective is to + automate SAP sales order creation for new orders placed on Shopify, enhancing efficiency and accuracy in order + management. diff --git a/ballerina/api_salesorganization_srv/Package.md b/ballerina/api_salesorganization_srv/Package.md index 645e246..79c8427 100644 --- a/ballerina/api_salesorganization_srv/Package.md +++ b/ballerina/api_salesorganization_srv/Package.md @@ -91,6 +91,12 @@ use cases like accessing S/4HANA Sales Order (A2X) API. specifically showcases how to respond to a Salesforce Opportunity Close Event by automatically generating a Sales Order in the S/4HANA SD module. +2. [Shopify to S/4HANA Integration](https://github.com/ballerina-platform/module-ballerinax-sap.s4hana.sales/tree/main/examples/shopify-to-sap) - + Details the integration process between [Shopify](https://admin.shopify.com/), a leading e-commerce platform, + and [SAP S/4HANA](https://www.sap.com/products/erp/s4hana.html), a comprehensive ERP system. The objective is to + automate SAP sales order creation for new orders placed on Shopify, enhancing efficiency and accuracy in order + management. + ## Report Issues To report bugs, request new features, start new discussions, view project boards, etc., go to @@ -99,4 +105,5 @@ the [Ballerina library parent repository](https://github.com/ballerina-platform/ ## Useful Links - Chat live with us via our [Discord server](https://discord.gg/ballerinalang). -- Post all technical questions on Stack Overflow with the [#ballerina](https://stackoverflow.com/questions/tagged/ballerina) tag. \ No newline at end of file +- Post all technical questions on Stack Overflow with + the [#ballerina](https://stackoverflow.com/questions/tagged/ballerina) tag. \ No newline at end of file diff --git a/ballerina/api_sd_sa_soldtopartydetn/Module.md b/ballerina/api_sd_sa_soldtopartydetn/Module.md index e236938..a9db684 100644 --- a/ballerina/api_sd_sa_soldtopartydetn/Module.md +++ b/ballerina/api_sd_sa_soldtopartydetn/Module.md @@ -90,3 +90,9 @@ use cases like accessing S/4HANA Sales Order (A2X) API. Demonstrates leveraging the `sap.s4hana.api_sales_order_srv:Client` in Ballerina for S/4HANA API interactions. It specifically showcases how to respond to a Salesforce Opportunity Close Event by automatically generating a Sales Order in the S/4HANA SD module. + +2. [Shopify to S/4HANA Integration](https://github.com/ballerina-platform/module-ballerinax-sap.s4hana.sales/tree/main/examples/shopify-to-sap) - + Details the integration process between [Shopify](https://admin.shopify.com/), a leading e-commerce platform, + and [SAP S/4HANA](https://www.sap.com/products/erp/s4hana.html), a comprehensive ERP system. The objective is to + automate SAP sales order creation for new orders placed on Shopify, enhancing efficiency and accuracy in order + management. diff --git a/ballerina/api_sd_sa_soldtopartydetn/Package.md b/ballerina/api_sd_sa_soldtopartydetn/Package.md index ba98af5..74bc43c 100644 --- a/ballerina/api_sd_sa_soldtopartydetn/Package.md +++ b/ballerina/api_sd_sa_soldtopartydetn/Package.md @@ -91,6 +91,12 @@ use cases like accessing S/4HANA Sales Order (A2X) API. specifically showcases how to respond to a Salesforce Opportunity Close Event by automatically generating a Sales Order in the S/4HANA SD module. +2. [Shopify to S/4HANA Integration](https://github.com/ballerina-platform/module-ballerinax-sap.s4hana.sales/tree/main/examples/shopify-to-sap) - + Details the integration process between [Shopify](https://admin.shopify.com/), a leading e-commerce platform, + and [SAP S/4HANA](https://www.sap.com/products/erp/s4hana.html), a comprehensive ERP system. The objective is to + automate SAP sales order creation for new orders placed on Shopify, enhancing efficiency and accuracy in order + management. + ## Report Issues To report bugs, request new features, start new discussions, view project boards, etc., go to @@ -99,4 +105,5 @@ the [Ballerina library parent repository](https://github.com/ballerina-platform/ ## Useful Links - Chat live with us via our [Discord server](https://discord.gg/ballerinalang). -- Post all technical questions on Stack Overflow with the [#ballerina](https://stackoverflow.com/questions/tagged/ballerina) tag. \ No newline at end of file +- Post all technical questions on Stack Overflow with + the [#ballerina](https://stackoverflow.com/questions/tagged/ballerina) tag. \ No newline at end of file diff --git a/build-config/resources/Module.md b/build-config/resources/Module.md index ce17c8d..47befe7 100644 --- a/build-config/resources/Module.md +++ b/build-config/resources/Module.md @@ -90,3 +90,9 @@ use cases like accessing S/4HANA Sales Order (A2X) API. Demonstrates leveraging the `sap.s4hana.api_sales_order_srv:Client` in Ballerina for S/4HANA API interactions. It specifically showcases how to respond to a Salesforce Opportunity Close Event by automatically generating a Sales Order in the S/4HANA SD module. + +2. [Shopify to S/4HANA Integration](https://github.com/ballerina-platform/module-ballerinax-sap.s4hana.sales/tree/main/examples/shopify-to-sap) - + Details the integration process between [Shopify](https://admin.shopify.com/), a leading e-commerce platform, + and [SAP S/4HANA](https://www.sap.com/products/erp/s4hana.html), a comprehensive ERP system. The objective is to + automate SAP sales order creation for new orders placed on Shopify, enhancing efficiency and accuracy in order + management. diff --git a/build-config/resources/Package.md b/build-config/resources/Package.md index 7731c4c..d595e65 100644 --- a/build-config/resources/Package.md +++ b/build-config/resources/Package.md @@ -91,6 +91,12 @@ use cases like accessing S/4HANA Sales Order (A2X) API. specifically showcases how to respond to a Salesforce Opportunity Close Event by automatically generating a Sales Order in the S/4HANA SD module. +2. [Shopify to S/4HANA Integration](https://github.com/ballerina-platform/module-ballerinax-sap.s4hana.sales/tree/main/examples/shopify-to-sap) - + Details the integration process between [Shopify](https://admin.shopify.com/), a leading e-commerce platform, + and [SAP S/4HANA](https://www.sap.com/products/erp/s4hana.html), a comprehensive ERP system. The objective is to + automate SAP sales order creation for new orders placed on Shopify, enhancing efficiency and accuracy in order + management. + ## Report Issues To report bugs, request new features, start new discussions, view project boards, etc., go to @@ -99,4 +105,5 @@ the [Ballerina library parent repository](https://github.com/ballerina-platform/ ## Useful Links - Chat live with us via our [Discord server](https://discord.gg/ballerinalang). -- Post all technical questions on Stack Overflow with the [#ballerina](https://stackoverflow.com/questions/tagged/ballerina) tag. \ No newline at end of file +- Post all technical questions on Stack Overflow with + the [#ballerina](https://stackoverflow.com/questions/tagged/ballerina) tag. \ No newline at end of file diff --git a/examples/README.md b/examples/README.md index 13d29d1..622f060 100644 --- a/examples/README.md +++ b/examples/README.md @@ -10,6 +10,12 @@ use cases like accessing S/4HANA Sales Order (A2X) API. specifically showcases how to respond to a Salesforce Opportunity Close Event by automatically generating a Sales Order in the S/4HANA SD module. +2. [Shopify to S/4HANA Integration](https://github.com/ballerina-platform/module-ballerinax-sap.s4hana.sales/tree/main/examples/shopify-to-sap) - + Details the integration process between [Shopify](https://admin.shopify.com/), a leading e-commerce platform, + and [SAP S/4HANA](https://www.sap.com/products/erp/s4hana.html), a comprehensive ERP system. The objective is to + automate SAP sales order creation for new orders placed on Shopify, enhancing efficiency and accuracy in order + management. + ## Prerequisites Each example includes detailed steps.