Connectors > mysupply
mysupply Integration
Use mysupply with your SAP system, with minimum effort, available as a productized package from ASAPIO.
Supported features:
- Transfer and source SAP PR items in mysupply
- Manual/individual or batch transfer possible
- Return vendor, price and quantity from mysupply deals
- Extensive monitoring and re-processing
How does it work?
PR items for mysupply can be manually or automatically selected for transfer to mysupply.
Outbound process:
- ASAPIO to react on create/change events for PR items, where blocked indicator is set to specified value
- Send the individual item as ‘demand’ to mysupply Demand API
- Additional useful information, e.g. Item description, plant etc. is sent alongside
Inbound process:
- Scheduled ASAPIO job in SAP system polls mysupply Demand API, to retrieve closed deals
- ASAPIO Idoc create for each closed deal
- ASAPIO Idoc post-processing writes values back into purchase requisition item and removes blocked indicator.
Pre-requisites
Please make sure you have:
- Access to the mysupply Demand API
- Access to the mysupply Frontend, for testing
- Access to the SAP system to be connected
- Required SAP authorizations
- Installation of ASAPIO Integration Add-on and the required package for Connector for MySupply
Basic configuration
The following steps have to be performed after installation, by a SAP basis administrator:
Import mysupply SSL certificate
- Visit mysupply.io with a web browser and export the SSL certificate into a file.
- Open transaction STRUST in the designated SAP system and import it, typically under category SSL client SSL Client (Standard)
Create HTTPS connection
Please make sure you have received the API credential key from your mysupply support contact
- Go to transaction SM59
- Create a new connection to the mysupply demand API.
Description | Setting | Example Value |
---|---|---|
Connection type | G (HTTP Connection to External Server) | |
Technical settings, Target host | mysupply API URI | test-api.mysupply.io |
Technical settings, Service no. | <port number> | 443 |
SSL | Active | Active |
Choose SSL Certificate | Please choose correctly, according to the category you imported the certificate | DEFAULT SSL Client (Standard) |
Create connection instance
- Go to SPRO –> Customizing Guide –> ASAPIO Integration Add-on
- Create a connection instance for connector ‘MYSUPPLY’, specify the SM59 connection as created previously.
Set cloud connection password
- Go to SPRO –> Customizing Guide –> ASAPIO Integration Add-on
- Choose action “Set the cloud connection password”
- Choose the mysupply connection instance created previously
- Ehter the mysupply API key into field ‘Cloud Shared Secret’
Create outbound object
- Go to SPRO –> Customizing Guide –> ASAPIO Integration Add-on
- Create an outbound interface ‘PREQ_MYSUPPLY’:
Extraction function: | /ASADEV/ACI_GEN_PDVIEW_EXTRACT |
---|---|
Message type: | Please create one in transaction WE81 and enter it here |
Response function: | /ASADEV/RESP_MYSUPPLY_PR |
Type: | Incremental |
Formatter function: | /ASADEV/DEMA_CUSTOM_FORMATTER |
Payload view name (unless you adapted it to a custom payload): | /ASAPIO/MYSUPPLY_DEMAND |
Payload view version: | V1 DEMAND |
Configure event linkage for PR item change
To trigger the interface whenever a purchase requisition item is changed, please perform as following:
- Go to SPRO –> Customizing Guide –> ASAPIO Integration Add-on
- Select outbound interface ‘PREQ_MYSUPPLY’:
- Create an Event linkage for ‘BUS2105’, event ‘CHANGED’
The system will keep record of purchase requisition items sent to mysupply.
By default, any subsequent change of the PR item will trigger the transfer to mysupply again.
Define filter for PR items
To define a filter on which items should be selected for transfer to mysupply, you can use ASAPIO Payload Designer.
Default filter is using ‘blocked’ indicator, field ‘eban~blcked’ with value eqal ‘1’.
- Go to transaction /ASADEV/DESIGN
- Open the payload definition you are using in the interface, by default this is /ASAPIO/SUPPLY_DEMAND
- Set the filter string as a WHERE as desired.
Standard field mappings
Outbound (PR item to mysupply demand)
- Please go to transaction /ASADEV/DESIGN
- Open default payload definition /ASAPIO/SUPPLY_DEMAND
- Use this as is, or in case you like to adopt it, copy it and give it a custom name please.
Inbound Configuration
After the purchase requisition has been sent to mysupply as a demand the negotiated deal has to be retrieved to update the SAP purchase requisition with the sourcing information.
This process is a polling process from the SAP system, i.e. the system periodically checks if there are deals available for the demands that were sent to mysupply.
With the following steps this inbound processing is configured.
Create Message Type
Create a message type to use in the inbound IDoc configuration.
- Go to transaction: WE81
Link Message Type to IDoc Type
Link the created message type to the IDoc type.
- Go to transaction: WE82
- Add new entry:
- Message Type: what you created in previous step (e.g. ZMYSUPPLY_DEAL_INBOUND)
- Basic Type: /ASADEV/ACI_GENERIC_IDOC
- Release: the release you are on (e.g. 731)
Assign processing Function Module to Message Type and IDoc Type
Assign the IDoc processing FM delivered with the content package (/ASADEV/INB_DEAL_MYSUPPLY) to the created message type and the generic ASAPIO IDoc type:
- Go to transaction WE57
- Enter Edit mode and click New Entries
Register Function Module for Inbound Processing
- Go to transaction BD51
Create Process Code
- Go to transaction WE42
- Go to Identification:
Create Partner Profile
By default the system uses logical system LOCAL for the inbound IDocs.
If you want to change the logical system, you have to add a setting to the connection instance crated earlier:
- Transaction SPRO –> Customizing Guide –> ASAPIO Integration Add-on –> Connection and Replication Object Customizing
- Select the connection instance you created earlier for mysupply
- Go to Default Values
- Add a new entry:
- Default Attribute: ACI_EDI_PARTNER_PROFILE
- Default Attribute Value: <name of the logical system to use>
Add new partner profile inbound parameters.
- Transaction: WE20
- Open Partner Type LS and select the logical system (LOCAL is our default)
- Add a new entry in the Inbound parmtrs. table:
Standard fields
List of outbound fields
SAP ECC table/field name | Description |
---|---|
EBAN-BANFN | PR no. |
EBAN-BNFPO | PR item no. |
EBAN-MATNR | Material no. |
EBAN-MENGE | Quantity |
EBAN-TXZ01 | Short text |
EBAN-PREIS | Valuation price (per price unit) |
EBAN-PEINH | Price unit |
EBAN-MEINS | Unit of Measure |
EBAN-WAERS | Currency |
EBAN-LIFNR | Desired vendor, Creditor number |
(calculated field) | Desired vendor, Name from LFA1-NAME1 |
(calculated field) | Desired vendor, Primary email address from vendor Communication settings |
EBAN-WERKS | Plant code |
(calculated field) | SAP Source System |
(calculated field) | Transfer date + time |
List of inbound fields (mysupply ‘deal’ to PR item)
SAP ECC table/field name | Description |
---|---|
EBAN-PREIS | Valuation price (per price unit) from mysupply |
EBAN-FLIEF | Fixed supplier from mysupply |
EBAN-MENGE | Quantity from mysupply |
Optional fields
To change the mapping of inbound data, you can use BAdI CHANGE_PR_DATA_BEFORE_POST.
SAP ECC table/field name | Description |
---|---|
EBAN-LIFNR | Desired vendor (instead fixed vendor) as returned from mysupply |
EBAN-WAERS | Currency as returned from mysupply |
EBAN-BPUEB | Can be set to a specific value |
Mapping of units of measures
SAP Unit of Measure | mysupply Unit of Measure |
---|---|
CM | centimeter |
CCM | cubic-centimeter |
M3 | cubic-meter |
G | gram |
M | meter |
MM | millimeter |
M2 | square-meter |
KG | kilogram |
KWH | kilowatt-hour |
L | liter |
PC | piece |
CM2 | square-centimeter |
TON | ton |
MIN | minute |
HOUR | hour |
DAY | day |
MONTH | month |
(any other) | other |
Enhancement Spots / BAdI
Enhancement Spot | BAdI | Explanation |
---|---|---|
/ASADEV/MYSUPPLY_INBOUND | MAP_DEAL_FROM_IDOC_SINGLE | Customer mapping (single field) |
MAP_DEAL_FROM_IDOC | Customer mapping | |
CHANGE_PR_DATA_BEFORE_POST | Change PR data before post | |
CUSTOM_POST | Custom post after PR was changed | |
CHANGE_RUNTIME_PARAMETER | Change runtime parameter of inbound process |
Known restrictions
The following restrictions apply:
- Multiple changes in a PR item will result in creation of multiple Demands in MySupply. This behaviour can be changed to only send a PR item once (upon request/customizing option).
- EBAN-PEINH (Price unit) needs to stay same as in PR, as this is not handled by the MySupply API
- ASAPIO Payload Designer is supported for mysupply, to add custom fields to the output
- Purchase requisitions may not have a fixed vendor assigned before sent to mysupply, as SAP standard behaviour does not allow to update a fixed vendor.