Integrate KanbanBOX with Oracle Fusion Cloud SCM
Integrate KanbanBOX with Oracle Fusion Cloud SCM
Use this recipe to create purchase orders and work orders in Oracle Fusion Cloud Supply Chain & Manufacturing (SCM) when Kanban cards are released in KanbanBOX.
Note: This recipe is available as KanbanBOX — Oracle Fusion Cloud SCM | Manage Replenishment in the Integration Store. Oracle provides this recipe as a sample only. The recipe is meant only for guidance, and is not warranted to be error-free. No support is provided for this recipe.
Overview
This recipe integrates Oracle Fusion Cloud SCM with KanbanBOX (a third-party application). It complements existing supply-chain management capabilities of Oracle Fusion Cloud SCM with additional Kanban-replenishment capability.
This is an application-driven recipe that creates the necessary purchase orders and work orders in Oracle Fusion Cloud Procurement and Oracle Fusion Cloud Manufacturing (components of Oracle Fusion Cloud SCM), respectively, when a Kanban card is released in KanbanBOX. The bin-replenishment requirements in the production line drive the release of Kanban cards in KanbanBOX.
To use the recipe, you must install the recipe package and configure the connections and other resources within the package. And, when you scan a card (or a batch of cards) as released in KanbanBOX, a REST request is sent to Oracle Integration with the necessary cards data to create the corresponding orders. For each card in the request, Oracle Integration creates a purchase order (PO) in Oracle Fusion Cloud Procurement or a work order in Oracle Fusion Cloud Manufacturing, based on the type of request from KanbanBOX. Also, Oracle Integration sends the purchase order and work order information, including status changes, back to KanbanBOX.
The recipe package contains seven integration flows for executing this use case. Initially, a REST request (with necessary data) from KanbanBOX triggers the following two integration flows of the recipe:
Oracle KanbanBOX ERP PurchaseOrder Create: This flow creates a purchase requisition along with line items in Oracle Fusion Cloud Procurement; the requisition in turn automatically creates a purchase order for each KanbanBOX card. (Each Kanban card makes up one order line in the purchase order). Subsequently, the Oracle ERP KanbanBOX PurchaseOrder Status integration flow listens to the Purchase Order Creation event in Oracle Fusion Cloud Procurement, and propagates the purchase order number to KanbanBOX for each of the Kanban cards (PO lines).
Oracle KanbanBOX ERP WorkOrder Create: This flow calls the Oracle KanbanBOX ERP Process WorkOrder integration flow to create a work order in Oracle Fusion Cloud Manufacturing for each KanbanBOX card. The Oracle KanbanBOX ERP Process WorkOrder flow creates the work orders and sends the work order numbers back to KanbanBOX.
When the purchase order and work order are fulfilled, the following two integration flows of the recipe are triggered:
Oracle ERP KanbanBOX PurchaseOrder Receipt: This flow listens to the Purchase Order Receipt event in Oracle Fusion Cloud Procurement, and propagates the receipt status to KanbanBOX for each of the Kanban card receipts.
Oracle ERP KanbanBOX WorkOrder Status: This flow listens to the Work Order Status Change event in Oracle Fusion Cloud Manufacturing, and propagates the Work Order Completion status to KanbanBOX for each of the Kanban cards.
In addition, the Oracle ERP KanbanBOX ErrorHandler integration flow of the recipe blocks the respective Kanban card if any failures are encountered during work order or purchase order creation.
System and Access Requirements
Oracle Integration, Version 22.1.3.0.0 or higher
An account on Oracle Integration with the Service Invoker role to configure the recipe
Oracle Fusion Cloud SCM, Version 21D or higher
An account on Oracle Fusion Cloud SCM with the Administrator role, and also Procurement Manager and Manufacturing Plant Manager roles (in order to create receipts and close work orders)
KanbanBOX
Assumptions
You have installed the REST — Oracle Fusion Applications | Invoke Pop-Up Notifications recipe on your Oracle Integration instance.
You’ll require this recipe to send the notification information to Oracle Fusion Cloud SCM when work orders and purchase orders are created.To install this recipe, see Invoke Pop-Up Notifications for Events in Oracle Fusion Applications.
Before You Install the Recipe
You must perform the following configuration tasks on your Oracle Fusion Cloud SCM and KanbanBOX instances in order to successfully run the recipe.
Configure Oracle Fusion Cloud SCM
To access Oracle Fusion Cloud SCM from Oracle Integration and create purchase orders and work orders, you’ll need to perform the following configuration tasks on your Oracle Fusion Cloud SCM instance.
Perform all the base configurations in Oracle Fusion Cloud SCM, including setting up security, access roles, inventory, procurement, manufacturing, and product hub. Here is a list of important base configurations:
Configure descriptive flex-fields in work order and/or purchase requisition, depending on your implementation requirements, for storing the Kanban card identifier.
Optionally, configure a distinct sub-inventory for your Kanban-specific inventory.
Leverage a Blanket Purchase agreement to automatically convert your purchase requisitions for Kanban items into purchase orders.
Create a integration user account on Oracle Fusion Cloud SCM.
To access Oracle Fusion Cloud SCM from Oracle Integration, you’ll require a separate user account on Oracle Fusion Cloud SCM.Log in to the Oracle Fusion Cloud SCM instance as an Administrator and perform the following tasks.
Create a user account for Oracle Integration. Make a note of the user name and password you set for the account. You’ll use the credentials of this user account to connect to Oracle Fusion Cloud SCM from Oracle Integration, using the Oracle ERP Cloud adapter.
Assign the following roles to the user account. See Assign Required Roles to an Integration User.
In addition to the above roles, also assign the following roles and privileges to the account:
Accounts Receivable Manager
Buyer
BuyerGSE
Cost Accountant
Employee
GSE Role for RFSmartAdvanced Procurement Requester
Inventory Manager
Manufacturing Engineer
Order Manager
Procurement Application Administrator
Procurement Catalog Administrator
Procurement Manager
Procurement Preparer
Procurement Requester
Production Operator
Production Supervisor
Quality Engineer
Receiving Agent
Supplier Administrator
Supplier Manager
Supplier Qualification
Warehouse Manager
Warehouse Operator
Warehouse OperatorEmployee
Configure KanbanBOX
To access KanbanBOX from Oracle Integration, you’ll need to perform the following configuration tasks on your KanbanBOX instance.
Obtain the API key associated with your KanbanBOX instance.
Configure the outbound payloads from KanbanBOX. In order to configure this, you’ll require the following information from the Oracle Fusion Cloud SCM instance.
Unit of Measurement
Customer Number
Business Unit
Requestor
Buyer
Delivery Location
Organization
Part Number
Customer Name
Supplier Name
Supplier Number
Install and Configure the Recipe
On your Oracle Integration instance, install the recipe package to deploy and configure the integrations and associated resources.
On the Oracle Integration home page, scroll to the Accelerators & Recipes section.
Click Search All.
Find the recipe package that you want to install.
Select the package, and then click the Install
icon.
After the package is installed, click the Configure
icon on the recipe card to configure the resources deployed by the package.
The Configuration Editor page opens, displaying all the resources of the recipe package. Configure the following resources before you activate and run the recipe.
Configure the Oracle REST OIC API Connection
On the Configuration Editor page, select Oracle REST OIC API Connection, then click Edit
.
The connection configuration page appears.In the Connection Properties section, enter the following details.
Field Information to Enter Connection Type Leave REST API Base URL selected. Connection URL Enter the host name of the Oracle Integration instance in which you’ve installed the recipe. In the Security section, enter the following details.
Field Information to Enter Security Policy Select Basic Authentication. Username Enter the user name of the Oracle Integration user account with the Service Invoker role. See System and Access Requirements. Password Enter the password of the Oracle Integration user account with the Service Invoker role. Click Save. If prompted, click Save for a second time.
Click Test to ensure that your connection is successfully configured.
A confirmation message is displayed if your test is successful.Click Back
to return to the Configuration Editor page. Click Save again if prompted.
Configure the Oracle REST KanbanBOX Connection
On the Configuration Editor page, select Oracle REST KanbanBOX Connection, then click Edit
. The connection configuration page appears.
In the Connection Properties section, enter the following details.
Field Information to Enter Connection Type Leave REST API Base URL selected. Connection URL Enter the host name of your KanbanBOX instance. In the Security section, enter the following details.
Field Information to Enter Security Policy Select API Key Based Authentication. API Key Enter the API key obtained from the KanbanBOX instance. See Configure KanbanBOX. Click Save. If prompted, click Save for a second time.
Click Test to ensure that your connection is successfully configured.
A confirmation message is displayed if your test is successful.Click Back
to return to the Configuration Editor page. Click Save again if prompted.
Configure the Oracle ERP Cloud Connection KanbanBOX
On the Configuration Editor page, select Oracle ERP Cloud Connection KanbanBOX.
Click Edit
.
The connection configuration page appears.In the Connection Properties section, enter the Oracle Fusion Cloud SCM host name. For example:
https://your_domain_name.fa.DC.oraclecloud.com
.In the Security section, enter the following details.
Field Information to Enter Security Policy Select Username Password Token. User Name Enter the user name of the account created for Oracle Integration on Oracle Fusion Cloud SCM. See Configure Oracle Fusion Cloud SCM. Password Enter the password of the account created for Oracle Integration on Oracle Fusion Cloud SCM. Click Save. If prompted, click Save for a second time.
Click Test to ensure that your connection is successfully configured.
A confirmation message is displayed if your test is successful.Click Back
to return to the Configuration Editor page. Click Save again if prompted.
Configure the Lookup Tables
Edit the lookup tables and enter the necessary values. On the
Configuration Editor page, select a lookup table, and
click Edit .
This recipe package contains the following lookup tables.
Oracle-BRT-ERP_KanbanBOX_WO_Config
This lookup table contains the information needed to create a work order in Oracle Fusion Cloud Manufacturing. The following table provides the description for each parameter:
Name | Description |
---|---|
WorkDefinitionCode | The value of the Work Definition code used in the work order creation as configured on the Oracle Fusion Cloud Manufacturing instance. Example value: ORA_MAIN
|
WorkOrderStatusCode | The status of the work order created using the integration, which is predefined. Example value: ORA_RELEASED
|
ExplosionFlag | The value of the Explosion Flag set while creating the work order as configured on Oracle Fusion Cloud Manufacturing. Example value: TRUE
|
KanbanAdmin | The Kanban Admin email ID that must be notified if there are errors while updating KanbanBOX. Example value: abc@xyz.com Update this value based on your KanbanBOX configuration. |
WONotificationUserName | The user name of the Oracle Fusion Cloud Manufacturing user who receives the Fusion pop-up notifications on work order creation; this value is case -sensitive. Example value: Terry.Johnson Update this value based on the configuration in Oracle Fusion Cloud Manufacturing. |
TaskCreator | The name of the task creator displayed in the Fusion pop-up notifications for work orders. Example value: Terry Johnson Update this value based on the configuration in Oracle Fusion Cloud Manufacturing. |
BatchCardLimit | The threshold limit on the number of batch cards to be processed by Oracle Integration in a single Kanban release (via an integration call). Any incoming request having batch cards beyond this number is not processed by Oracle Integration. Example value: 5 Update this value based on the configuration in Oracle Integration. |
OICAdminEmail | The Oracle Integration Admin email ID that must be notified on failures. Example value: abc@xyz.com Update this value based on the configuration in Oracle Integration. |
Oracle-BRT-ERP_KanbanBOX_PO_Config
This lookup table contains the information required to create a purchase order in Oracle Fusion Cloud Procurement. The following table provides the description for each parameter:
Name | Description |
---|---|
ApproverEmail | The email ID for the purchase order approval workflow as configured on Oracle Fusion Cloud Procurement. Example value: calvin.roth@oraclepdemos.com Update this value based on the configuration in Oracle Fusion Cloud Procurement. |
Description | The description used in the mapping for the Requisition Header information. Example value: Requisition from KanbanBOX Update this value based on your requirements. |
DocumentStatusCode | The standard value of the Document Status code while creating purchase requisitions as configured on Oracle Fusion Cloud Procurement. Example value: APPROVED
|
PreparerEmail | The email ID of the purchase-requisition preparer, which is to be used in the mapping. Example value: Nash.Lans@oraclepdemos.com Update this value based on the configuration in Oracle Fusion Cloud Procurement. |
DestinationTypeCode | The standard value of the Destination Type code to be used in the mapping while creating purchase requisitions. Example value: INVENTORY
|
KanbanAdmin | The Kanban Admin email ID that must be notified if there are errors while updating KanbanBOX. Example value: abc@xyz.com Update this value based on your KanbanBOX configuration. |
PONotificationUserName | The user name of the procurement manager in Oracle Fusion Cloud Procurement who receives the Fusion pop-up notifications on purchase order creation; this value is case-sensitive. Example value: nash.lans Update this value based on the configuration in Oracle Fusion Cloud Procurement. |
TaskCreator | The name of the procurement manager (task creator) displayed in the Fusion pop-up notifications for purchase orders. Example value: Nash Lans Update this value based on the configuration in Oracle Fusion Cloud Procurement. |
OICAdmin | The Oracle Integration Admin email ID that must be notified on failures. Example value: abc@xyz.com Update this value based on the configuration in Oracle Integration. |
BatchCardLimit | The threshold limit on the number of batch cards to be processed by Oracle Integration in a single Kanban release (via an integration call). Any incoming request having batch cards beyond this number is not processed by Oracle Integration. Example value: 5 Update this value based on your requirement. |
Oracle-BRT-ERP_KanbanBOX_PO_MasterData
This lookup table contains the Requester information that’s used for creating the purchase requisition on Oracle Fusion Cloud Procurement. Update the requester details according to your implementation.
Name | Description |
---|---|
RequesterEmail | The email ID of the Requester used to create the purchase requisition. Example value: kanban.user@oraclepdemos.com Update this value based on the configuration in Oracle Fusion Cloud Procurement. |
Activate and Run the Recipe
After you’ve configured the connections and lookup tables, activate the recipe package and run it.
On the Configuration Editor page, click Activate in the title bar. In the Activate Package dialog, click Activate again.
A confirmation message is displayed informing that the integrations have been submitted for activation. Refresh the page to view the updated status of the integrations.Run the recipe.
Obtain the endpoint URLs for the trigger integration flows, namely Oracle KanbanBOX ERP PurchaseOrder Create and Oracle KanbanBOX ERP WorkOrder Create.
On the Configuration Editor page, select an integration flow and click Run
.
On the resulting pop-up dialog, click the Metadata URL link.
From the new tab that opens, copy the Endpoint URL value. This is the integration flow’s endpoint URL.
Log in to your KanbanBOX instance, and configure it to perform the following actions when a Kanban card is released:
Send a
POST
request to the Oracle KanbanBOX ERP PurchaseOrder Create endpoint URL along with the purchase-requisition data. For example data, see Appendix A: Example Request Payloads.Send a
POST
request to the Oracle KanbanBOX ERP WorkOrder Create endpoint URL along with the work-order data. For example data, see Appendix A: Example Request Payloads.
When the recipe receives these
POST
requests, it invokes the subsidiary flows in the package, creates a corresponding purchase order in Oracle Fusion Cloud Procurement and work order in Oracle Fusion Cloud Manufacturing, and finally sends the numbers of the orders created back to KanbanBOX.
You can monitor the integration flows triggered as detailed in Step 3.Log in to Oracle Fusion Cloud Procurement as the Procurement Manager, and verify the purchase requisitions and orders created. In addition, create a purchase-order receipt when a purchase order is fulfilled.
To view the purchase requisitions created, click the Procurement tab on the home page, and then click Purchase Requisitions.
To view the purchase orders created, click the Procurement tab on the home page, and then click Purchase Orders. Note the order numbers generated for specific Kanban cards to later verify them.
To view the purchase-order creation notifications, click the Bell icon in the top-right corner. The notifications display the purchase-order number for each KanbanBox card.
To create a purchase-order receipt when a purchase order is fulfilled:
On the home page, click the Procurement tab, and then click My Receipts.
On the Receive Items page, select the required purchase order line, and click Receive. (If required, search for a purchase order using its number).
On the Create Receipts page, enter the necessary data like quantity, waybill number, and so on, and then click Submit.
A receipt is created and its number is displayed. This action triggers the Oracle ERP KanbanBOX PurchaseOrder Receipt flow in Oracle Integration, which propagates the receipt status to KanbanBOX.
Log in to Oracle Fusion Cloud Manufacturing as the Manufacturing Plant Manager, and verify the work orders created. In addition, mark a work order complete when it is fulfilled.
To view the work orders created:
Click the Supply Chain Execution tab on the home page, and then click Work Execution.
On the resulting page, click Tasks on the right pane, and then click Manage Work Orders.
On the Manage Work Orders page, search for the required work orders.
To view the work-order creation notifications, click the Bell icon in the top-right corner. The notifications display the work-order number for each KanbanBox card.
To mark a work order complete when it is fulfilled:
Click the Supply Chain Execution tab on the home page, and then click Work Execution.
On the resulting page, click Tasks on the right pane, and then click Manage Work Orders.
On the Manage Work Orders page, click Tasks on the right pane, and then click Review Dispatch List.
On the Review Dispatch List page, search for the required work order along with an associated work area (operation).
When the work-order row is displayed, expand it and click Quick Complete.
Similarly, mark all the operations associated with the work order as complete.Click Done.
The completion action triggers the Oracle ERP KanbanBOX WorkOrder Status flow in Oracle Integration, which propagates the work order status to KanbanBOX.
At any stage while running the recipe, you can monitor the execution of the integration flows in Oracle Integration.
On the Configuration Editor page of the recipe, select any integration flow.
Click Run
, then click Track Instances.
On the Track Instances page, you’ll see the integration flows of the recipe being triggered and executing successfully.
Note: If there are any failures during work order or purchase order creation, you’ll also see an instance of the Oracle ERP KanbanBOX ErrorHandler integration flow on this page. This integration flow blocks a specific Kanban card if there are any failures associated with it, and sends a detailed block response to KanbanBox.
Finally, log in to your KanbanBOX instance, and check for the order numbers and statuses for each Kanban card.
On a Kanban card that has been released:
View the purchase order number updated on the card. The number is updated in the field named,
order_number_for_customer
.View the status of the Kanban card. It’s set to
Full
if the purchase order has been received.View the work order number updated on the card.
View the work order completion status and quantity updated on the card.
Related Documentation
- Using the REST Adapter with Oracle Integration
- Using the Oracle ERP Cloud Adapter with Oracle Integration
Appendix A: Example Request Payloads
This section provides the example request payloads that must be sent from KanbanBOX to trigger the recipe. Using the payload information provided here, you can test the recipe for readiness in Oracle Integration. See Test REST Adapter Trigger Connection-Based Integrations.
Example: Purchase Requisition Payload
Here’s an example payload to trigger the Oracle KanbanBOX ERP PurchaseOrder Create integration flow of the recipe.
{
"kanbanbox_params": {
"batch_cards": [{
"part_unit_of_measurement": "Ea",
"kanban_quantity": "1",
"required_date": "2022-02-28",
"customer_number": "K Store",
"last_status_change_date": "2022-02-28",
"type_of_kanban": "purchase",
"business_unit": "US5 Business Unit",
"requestor": "User, KanbanBox",
"buyer": "Lans, Nash",
"deliver_to_location": "Chicago 501",
"kanban_status_name": "released",
"organization": "501",
"part_number": "G2A4009",
"customer_name": "K Store",
"supplier_name": "Allied Supplies",
"ekanban_string": "R3GDA9C",
"supplier_number": "300000230281607"
}]
}}
Definition: Purchase Requisition Payload
The following table describes the attributes in the Purchase Requisition payload.
Attribute Name | Description |
---|---|
part_unit_of_measurement | The unit of measurement that is used to specify the part quantity in Oracle Fusion Cloud Procurement. |
required_date | The required date for the part as entered in a purchase requisition. This field accepts the current date or a future date. |
customer_number | This is mapped to the sub-inventory name in Oracle Fusion Cloud Procurement for the purpose of integration. |
customer_name | This is mapped to the sub-inventory name in Oracle Fusion Cloud Procurement for the purpose of integration. |
last_status_change_date | The field that provides information about the last-updated status change date. The field is not used or mapped in the recipe. |
type_of_kanban | The attribute value
purchase indicates that a purchase requisition needs to
be created. The field is not used or mapped in the recipe. |
business_unit | The business-unit name from where the purchase requisition is created in Oracle Fusion Cloud Procurement. |
requestor | The user owning the requisition in Oracle Fusion Cloud Procurement. The field is not used or mapped in the recipe. |
buyer | The person managing the purchase requisition in Oracle Fusion Cloud Procurement. |
deliver_to_location | The location to deliver the goods in Oracle Fusion Cloud Procurement. |
kanban_status_name | The status of the card from the Kanban
system. For example, Released . The field is not used or
mapped in the recipe. |
organization | The code for the organization where goods are delivered. |
part_number | The item number in Oracle Fusion Cloud Procurement. |
supplier_name | The name of the supplier in Oracle Fusion Cloud Procurement. The field is not used or mapped in the recipe. |
ekanban_string | The unique card-identifier generated and sent from KanbanBox. |
supplier_number | The unique identifier representing the supplier in Oracle Fusion Cloud Procurement. The field is not used or mapped in the recipe. |
Example: Work Order Payload
Here’s an example payload to trigger the Oracle KanbanBOX ERP WorkOrder Create integration flow of the recipe.
{
"kanbanbox_params": {
"batch_cards": [{
"part_unit_of_measurement": "Ea",
"kanban_quantity": "40",
"required_date": "2022-02-26",
"customer_number": "K Store",
"last_status_change_date": "2022-02-26",
"type_of_kanban": "production",
"kanban_status_name": "released",
"organization": "501",
"part_number": "G2A4008",
"customer_name": "K Store",
"supplier_name": "Allied Supplies",
"ekanban_string": "PTA7RT59",
"supplier_number": "300000230281607"
}]
}}
Definition: Work Order Payload
The following table describes the attributes in the Work Order payload.
Attribute Name | Description |
---|---|
part_unit_of_measurement | The unit of measurement that is used to specify the part quantity in Oracle Fusion Cloud Manufacturing. The field is not used or mapped in the recipe. |
kanban_quantity | The number of quantities placed to create the work order against the item pre-configured in Oracle Fusion Cloud Manufacturing. |
required_date | The required date for the part as entered in a work order. This field accepts the current date or a future date. |
last_status_change_date | The field that provides information about the last-updated status change date. The field is not used or mapped in the recipe. |
type_of_kanban | The attribute value
production indicates that a work order needs to be
created. |
kanban_status_name | The status of the card from the Kanban
system. For example, Released . The field is not used or
mapped in the recipe. |
Organization | The code for the organization where goods are delivered. |
part_number | The item number in Oracle Fusion Cloud Manufacturing. |
customer_name | This is mapped to the sub-inventory name in Oracle Fusion Cloud Manufacturing for the purpose of integration. The field is not used or mapped in the recipe. |
supplier_name | The name of the supplier in Oracle Fusion Cloud Manufacturing. The field is not used or mapped in the recipe. |
ekanban_string | The unique card-identifier generated and sent from KanbanBOX. |
supplier_number | The unique identifier representing the supplier in Oracle Fusion Cloud Manufacturing. The field is not used or mapped in the recipe. |
customer_number | This is mapped to the sub-inventory name in Oracle Fusion Cloud Manufacturing for the purpose of integration. |
Integrate KanbanBOX with Oracle Fusion Cloud SCM
F57245-02
May 2022
Copyright © 2021, 2022, Oracle and/or its affiliates.
Primary Author: Oracle Corporation