Azure integration layer between SAP and Compass to facilitate the integration between SAP and Compass.
See TROUBLESHOOTING on how to get access to the infrastructure, the logs, and how investigate and resolve errors.
This repository defines its Azure infrastructure in the main.bicep file.
The Azure Functions are in the function-app/src/functions folder.
The Compass Azure Client is in the SAP2COMPASS folder.
In larger context, the sap-integration-azure-infrastructure repository deploys Azure infrastructure that provides events and messages coming out of SAP, which are consumed by Azure Functions in this repository.
Birds-eye view documentation for the integrations between SAP and Compass
Ingeration specific documentation:
- Goods Receipt (Compass to SAP)
- Inspection Lot (SAP to Compass)
- Inventory Location Move (SAP to Compass)
- Material Master (SAP to Compass)
- Production Order (SAP to Compass)
- Production Order Confirmation (Compass to SAP)
This repository uses environment variables and secrets to deploy its resources.
The initial deployment might fail, because the Function App identity takes some time to be created, even though the operation is successful. This can cause the role assignemtns to fail, because the Principal ID isn't available yet. Solution is to just re-run the deployment again.
Any new commits to the main
branch are deployed to the Development environment, see deploy-branch.yaml.
Deployments to the Validation environments are triggered automatically upon successful deployment to the Development environment. They can also be done manually through the Deploy VAL workflow, see deploy-val.yaml. Successful deployments of the main
branch to the Validation environment create new release drafts.
Any deployment to the Validation environment has to be approved by someone in the Required reviewers list.
Deployments to the Production environment are triggered by publishing the release drafts, see deploy-release.yaml. Deployments to the production environment can also be manually triggered through the Deploy release workflow.
AZURE_TENANT_ID
is the Azure tenant where the Azure resources are deployed to, see Azure Resource Ids (wlgore/information).
SAP_API_KEY
is the SAP API key for the API endpoint in the environment variableSAP_BASE_URL
.
AZURE_SUBSCRIPTION_ID
is the subscription to where the Azure resources are deployed to, see Azure Resource Ids (wlgore/information).SAP_BASE_URL
is the SAP API base url, e.g.https://api.qa.sap.wlgore.com
.SAP_SERVICE_BUS
is the Service Bus name of sap-integration-azure-infrastructure.
The Function App accesses the SAP topic subscriptions provided by the sap-integration-azure-infrastructure using a managed identity.
You need to add role assignments to the managed identity in sap-integration-azure-infrastructure, so that it can access and be triggered by new messages arriving in the topic.
For developer instructions on how to set up the development environment, run the integration locally, and run the tests, see CONTRIBUTING.