Tuesday, 11 March 2025

Oracle Fusion - Order Management Cross Reference

Summary: This guide outlines the steps to manage cross-reference data for Sales Order FBDI upload for the source systems,  including exporting data, modifying system names, generating and importing FBDI files, and running the necessary ESS job.

  1. Manage Cross Reference Data for FBDI Upload:
    • Go to Supply Chain Planning.
    • Navigate to Cross-Reference Relationships for Collected Data.
    • Select the OPS System.
    • Export the data.
    • Obtain the Cross-Reference Data FBDI template from the Oracle site.
    • Use the exported data and replace the system name with the Satellite system name.
    • Generate the FBDI file.
    • Zip the FBDI file.
    • Import the zip file using the File Import & Export task:
    • Path: scm/planningDataLoader/import
    • Run the following ESS job to load the data:
    • Load Planning Data from Flat Files

 

Thursday, 27 February 2025

Oracle Fusion - Process to Complete The Work Orders

In Oracle Fusion, we can perform kitting/assembling and de-kitting/disassembling using work orders. We need to create the work orders and send the work order details to the warehouse for kitting and de-kitting. Once the order is completed, the warehouse or 3PL will send the confirmation.

We can perform the following tasks to complete the process:

Kitting:

  1. Get the work order details using the work order number from the request.
  2. Complete the work order.
  3. Close the work order.

De-Kitting:

  1. Get the work order details using the work order number from the request.
  2. Perform the material transaction to adjust the count.
  3. Close the work order.


Get Work Order API : 
/fscmRestApi/resources/latest/workOrders?q=WorkOrderId=#WO1234#;Expand=WorkOrderMaterial;OnlyData=true

Complete the WO:
/fscmRestApi/resources/latest/operationTransactions
{
  "SourceSystemCode" : "VKV",
  "SourceSystemType" : "EXTERNAL",
  "OperationTransactionDetail" : [ {
    "SourceSystemCode" : "VKV",
    "OrganizationCode" : "VKV_ORG",
    "TransactionDate" : "2021-09-16T07:03:01+00:00",
    "TransactionQuantity" : 1,
    "TransactionUOMCode" : "pcs",
    "WoOperationSequenceNumber" : 10,
    "WorkOrderNumber" : "1033",
    "FromDispatchState" : "READY",
    "ToDispatchState" : "COMPLETE"
  } ]
}

Close Work Order
/fscmRestApi/resources/11.13.18.05/workOrders/{WorkOrderId}
{
  "WorkOrderStatusCode" : "ORA_CLOSED"
}


Material Transactions
/fscmRestApi/resources/11.13.18.05/materialTransactions

{
  "SourceSystemCode" : "VKV",
  "SourceSystemType" : "EXTERNAL",
  "MaterialTransactionDetail" : [ {
    "InventoryItemNumber" : "2050381",
    "OrganizationCode" : "VKV_ORG",
    "SubinventoryCode" : "CW-VK-31",
    "TransactionDate" : "2021-09-16T07:17:18+00:00",
    "TransactionQuantity" : -1,
    "TransactionTypeCode" : "MATERIAL_ISSUE",  --> Lookup ORA_WIE_MTL_TXN_TYPE.
    "TransactionUOMCode" : "pcs",
    "WoOperationSequenceNumber" : 10,
    "WorkOrderNumber" : "1035"
  }, {
    "InventoryItemNumber" : "2037950",
    "OrganizationCode" : "VKV_ORG",
    "SubinventoryCode" : "CW-VK-31",
    "TransactionDate" : "2021-09-16T07:17:18+00:00",
    "TransactionQuantity" : -1,
    "TransactionTypeCode" : "MATERIAL_NEGATIVE_ISSUE",  --> ORA_WIE_MTL_TXN_TYPE.
    "TransactionUOMCode" : "pcs",
    "WoOperationSequenceNumber" : 10,
    "WorkOrderNumber" : "1035"
  } ]
}

Oracle Fusion - Work Order-less Material Trasaction

In Oracle Fusion, we can use the work order-less completion process to move the completed/kitted/assembled item to a sub-inventory. We can get the assembled item number from the source or derive it based on the BOM_CODE/ID and the corresponding components used for assembly. As part of this process, Fusion will adjust the material counts automatically. It will increase the count for the assembled item in the specified sub-inventory and, at the same time, decrease the quantities for the corresponding components used during assembly.


URL : /fscmRestApi/resources/latest/materialTransactions

 Payload

{
  "SourceSystemCode" : "VKSYSTEM",
  "SourceSystemType" : "EXTERNAL",
  "MaterialTransactionDetail" : [ {
    "InventoryItemNumber" : "TEST_FINISHED_GOOD2",
    "OrganizationCode" : "VKSYSTEM",
    "SubinventoryCode" : "CW-VK-00",
    "AssemblySerialNumber" : "MFG00012",
    "TransactionQuantity" : "1",
    "TransactionTypeCode" : "ORDERLESS_COMPLETION",  --> Fixed
    "TransactionDate" : "2021-06-04T11:00:00-00:00",
    "TransactionUnitOfMeasure" : "Ea",
    "TransactionSerial" : [ {
      "SerialNumber" : "MFG00012"
    } ],
    "ComponentTransactionDetail" : [ {
      "InventoryItemNumber" : "TEST_RAW1",
      "TransactionQuantity" : "1",
      "WoOperationSequenceNumber" : 10,
      "SubinventoryCode" : "CW-VK-99"
    }, {
      "InventoryItemNumber" : "TEST_RAW2",
      "TransactionQuantity" : "1",
      "WoOperationSequenceNumber" : 10,
      "SubinventoryCode" : "CW-VK-99"
    }, {
      "InventoryItemNumber" : "TEST_RAW3",
      "TransactionQuantity" : "1",
      "WoOperationSequenceNumber" : 10,
      "SubinventoryCode" : "CW-VK-99"
    } ]
  } ]
}

Wednesday, 26 February 2025

Oracle Fusion - RMA - End to End Process

 RMA Creation Process

  1. Initiate RMA: The process begins when a customer requests to return goods. The order manager initiates an RMA based on the original sales order.

  2. Types of RMA:

    • Referenced RMA: Raised against the order line.
      • Select the order for which a return is needed.
      • Select the line.
      • On top of the line, select the Return action.
      • Choose the return reason.
      • Provide the quantity and submit.
      • This will create an RMA order.
    • Unreferenced RMA:
      • Go to Create Order.
      • Provide the customer details.
      • At the line level, select the action and choose Add Unreferenced Return Line.
      • Provide the item number.
      • Select the return reason.
      • Under Shipment, select the warehouse.
  3. Create RMA Order: Submit the Order. An RMA order is created in Oracle Fusion Order Management.

  4. Approve RMA: The RMA order is reviewed and approved

  5. Send the RMA details to the warehouse to receive the items.


RMA Receipt Process

  1. Receive and Inspect Items: The warehouse receives the items and performs an inspection.
  2. Send Receipt Confirmation: Upon inspection, the warehouse sends the receipt confirmation.
  3. Interface Activities: The interface performs the following activities and submits the receipt request:
    • Validate Org Code
    • Validate Sub Org
    • Validate Items
    • Validate RMA Order:
      • Endpoint: /fscmRestApi/resources/11.13.18.05/salesOrdersForOrderHub
    • Validate RMA Lines:
      • Command: curl --verbose -X GET fscmRestApi/resources/11.13.18.05/rmaLinesForReceiving?q=RMA=<rma_order_number>&limit=[limit]
      • Capture RMA Order Number
      • Capture Receipt Header ID
      • Capture Receipt Line ID
    • Create RMA Receipts:
      • Endpoint: /fscmRestApi/resources/11.13.18.05/receivingReceiptRequests
  4. Check Receipt Transaction Status: Under Inventory, navigate to Review Completed Transaction task.
  5. Process Receipts: Run the job "Send receipt confirmation" to process the receipts.
    1. External or Oracle Fusion source system (Oracle Fusion Cloud Order Orchestration and Planning).
  6. Run Auto Invoice Job: Complete the billing by running the Auto Invoice Job.
    • Check the billing status: Navigate to Receivables > Billing > Manage Transaction.
    • Provide the RMA Order Number under reference.
    • Provide the BU and Transaction Source as "Distributed Order Orchestration".

Sample Receipt Payload
{
    "ReceiptSourceCode": "CUSTOMER",
    "RMASourceSystemName": "OPS",
    "OrganizationCode": "ORG_CODE_DC",
    "ShipmentNumber": "RMA_ORDER_NUMBER",
    "CustomerPartyNumber": "PartyNumber",
    "EmployeeName": "Vijaya Kumar",
    "TransactionDate": "2025-02-25",
    "WaybillAirbillNumber": "trackingnumber",
    "lines": [
        {
            "ReceiptSourceCode": "CUSTOMER",
            "SourceDocumentCode": "RMA",
            "ItemRevision": null,
            "Subinventory": "SUB_INV_CODE",
            "OrganizationCode": "MOB_DC",
            "AutoTransactCode": "DELIVER",
            "TransactionType": "RECEIVE",
            "Quantity": 2,
            "UOMCode": "PCS",
            "DocumentNumber": "REFERENCED_ORDER",
            "DocumentLineNumber": "1",
            "ReceiptAdviceHeaderId": GET_ITFROM_rmaLinesForReceiving_API,
            "ItemNumber": "ITEM_NUMBER"
        }
    ]
}

Wednesday, 22 January 2025

Oracle Fusion - Transfer Order End To End Process.

Transfer orders can be used to move orders from one organization to another. This process is similar to an inter-organization transfer but includes the handling of in-transit goods. It involves documentation, including the pick and ship process. In contrast, an inter-organization transfer does not include the pick and ship process in its workflow.

Create Transfer Order: 

  1. Access Supply Chain Execution.
  2. Select Inventory Management.
  3. Under Inventory Tasks, select Manage Item Quantities.
  4. Select the target organization.
  5. Select the item number for which you want to raise a Transfer Order (TO) and search.
  6. Under Actions, select Request Transfer Order.
  7. The Create Supply Request page will open with the selected item.
  8. Provide the quantity, delivery date, and select the supply details action.
  9. Provide the source organization.
  10. Submit the request.
  11. This will create the Transfer Order.
  12. Go back to Inventory Tasks and select Manage TO Task.
  13. Sort by date and note the transfer order number.
  14. Line status will be in Open and Fulfillment Status will be in Awaiting Fulfillment
Create Pick Wave :

We can release the pick wave only under the source organization.

  1. Change the organization to the source organization.
  2. Go to Picks Task and select Create Pick Wave Task.
  3. Select Order Type as Transfer Order and provide the order number.
  4. Remove all the dates.
  5. Click the Submit Release Now button.
Confirm Pick Slip : 

  1. Go to Picks Task and select Confirm Pick Slip Task.
  2. Provide the transfer order in the search field and click the Search button.
  3. Select the displayed pick slip number.
  4. Select the checkbox, provide the pick quantity, and click the Submit Confirm button.
Ship Confirmation: 

  1. Go to Shipments Tasks and select Manage Shipment Task.
  2. Provide the transfer order number and click Search.
  3. The shipment details page will be displayed.
  4. Provide the shipped quantity and click the Submit Ship Confirm button.
Receipt Items at Destination. 

  1. Go to Receipts Tasks and select Receive Expected Shipments Task.
  2. Change the organization to the destination organization.
  3. Provide the transfer order number in the search field and click Submit.
  4. Select the line and click the Receive button at the top of the line.
  5. The Receive page will open. Provide the received quantity and sub-inventory.
  6. Click the Submit Create Receipt button.

Note:  Throughout the lifecycle, use the Manage Transfer Order task under Inventory to check and monitor the end-to-end process.

Tuesday, 21 January 2025

Oracle Fusion Queries

Query to get Value Set Values - GL Segments. 


SELECT segvalsets.value_set_code             ,
value                                       ,
segvals.description                      ,
enabled_flag                                ,
start_date_active                           ,
end_date_active                             ,
summary_flag                                ,
flex_value_attribute1 AS POSTING_ALLOWED    ,
flex_value_attribute2 AS BUDGETING_ALLOWED  ,
flex_value_attribute3 AS ACCOUNT_TYPE       ,
flex_value_attribute4 AS CONTROL_ACCOUNT    ,
flex_value_attribute5 AS RECONCILIATION_FLAG,
flex_value_attribute6 AS FINANCIAL_CATEGORY
FROM fusion.fnd_vs_values_vl segvals,
fusion.fnd_vs_value_sets segvalsets
WHERE segvals.value_set_id = segvalsets.value_Set_id
AND segvalsets.value_Set_id IN
(SELECT value_set_id
  FROM FUSION.fnd_kf_segment_instances
 WHERE structure_instance_id IN
 (SELECT fusion.fnd_kf_str_instances_b.structure_instance_id
    FROM FUSION.fnd_kf_str_instances_b
   WHERE application_id =101
 AND key_flexfield_code = 'GL#'
 )
)


flex_value_attribute3 AS ACCOUNT_TYPE  - Mapping
AAsset
CBudgetary credit
DBudgetary debit
EExpense
LLiability
OOwners' equity
RRevenue


Oracle Fusion - Errors and Solutions

Sales Order Creation Error1 - SourceTransactionLineNumber 1, SourceScheduleNumber 1: The request couldn't be completed because either it doesn't include a value for the TaxClassificationCode attribute, or the value of XXXXXX that it does provide isn't valid.

Solution:  Go to Setup and Maintenance -> Search for "Manage Tax Lookup Codes" --> Search for the following Lookup Code "ZX_OUTPUT_CLASSIFICATIONS"  -->  Add the missing XXXX value , select Common set as a reference data set.  

Use the following Lookup codes for the respective entities. 
ZX_INPUT_CLASSIFICATIONS = Payables
ZX_OUTPUT_CLASSIFICATIONS = Receivables / Sales Orders
ZX_WEB_EXP_TAX_CLASSIFICATIONS = Expenses


Sales Order Creation Error2 - SourceTransactionLineNumber 4, SourceScheduleNumber 4: The request to add an order line failed because fulfillment isn't set up to supply item 1234567777 from warehouse 1234456778. Select another warehouse.

Solution:  Check the item configurations in PIM and make sure the item is associated with the proper inventory organization.  

Oracle Fusion - Order Management Cross Reference

Summary:  This guide outlines the steps to manage cross-reference data for Sales Order FBDI upload for the source systems,  including export...