Import Your Project Details

Use a web service, file, or REST API to import project details into Order Management.

For example:

  • Import the project number, task number, expenditure organization, and other attributes for each project.

  • Set the default value for expenditure type, user defined attributes, contract number, and funding source when you do your import.

  • Include pricing in the source order that you import, or leave pricing empty in the source order and do pricing in Order Management.

Import Through Web Services

Use web service orderImportService to import a sales order that includes project details.

Here's the part of the payload where you include project details. All attributes are required.

<ns2:Project xmlns:pjc="http://xmlns.oracle.com/apps/flex/scm/doo/processOrder/pjcDff/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <ns2:PJCDFFVA xsi:type="pjc:OmSalesOrder">
    <pjc:projectId_Display>PDSC-CT-PDSCM1X-004</pjc:projectId_Display>
    <pjc:taskId_Display>1.1.1</pjc:taskId_Display>
    <pjc:expenditureItemDate>2019-03-20</pjc:expenditureItemDate>
    <pjc:expenditureTypeId_Display>Material</pjc:expenditureTypeId_Display>
    <pjc:organizationId_Display>Vision Operations</pjc:organizationId_Display>
  </ns2:PJCDFFVA>
</ns2:Project>

where

Attribute or Code

Value

pjcDff

Indicates that you're using a descriptive flexfield to store project details.

You must use this value.

xsi:type

Identifies the source type as OmSalesOrder, which means Order Management sales order.

You must use this value.

projectId_Display

Value that uniquely identifies the project.

This example uses 1.1.1 as the value.

expenditureItemDate

Date to expense the item.

You must use the Year-Month-Day format.

For example, 2019-03-20 indicates March 20, 2019.

expenditureTypeId_Display

Identifies the type of expenditure, such as Material.

organizationId_Display

Identifies the business unit, such as Vision Operations.

Reservation ID

The example payload doesn't include this attribute. The web service uses the attribute only for earlier updates. For the current update, the value is empty, and the web service doesn't use it.

_Display indicates to use the value when we display the attribute in an Oracle Application.

Here's an example payload that contains the same project details.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ns1:createOrders xmlns:ns1="http://xmlns.oracle.com/apps/scm/fom/importOrders/orderImportService/types/">
      <ns1:request xmlns:ns2="http://xmlns.oracle.com/apps/scm/fom/importOrders/orderImportService/">
        <ns2:Order>
          <ns2:SourceTransactionIdentifier>RRFPDSC_TEST_112</ns2:SourceTransactionIdentifier>
          <ns2:SourceTransactionSystem>LEG</ns2:SourceTransactionSystem>
          <ns2:SourceTransactionNumber>RRFPDSC_TEST_112</ns2:SourceTransactionNumber>
          <ns2:BuyingPartyName>FOM-Customer-001</ns2:BuyingPartyName>
          <ns2:BuyingPartyContactName>James Pattison</ns2:BuyingPartyContactName>
          <ns2:CustomerPONumber>PDSCSPBU</ns2:CustomerPONumber>
          <ns2:TransactionalCurrencyCode>USD</ns2:TransactionalCurrencyCode>
          <ns2:TransactionOn>2019-08-22T00:00:00.000</ns2:TransactionOn>
          <ns2:RequestingBusinessUnitName>Vision Operations</ns2:RequestingBusinessUnitName>
          <ns2:OrigSystemDocumentReference/>
          <ns2:TransactionTypeCode>STD</ns2:TransactionTypeCode>
          <ns2:FreezePriceFlag>false</ns2:FreezePriceFlag>
          <ns2:FreezeShippingChargeFlag>false</ns2:FreezeShippingChargeFlag>
          <ns2:FreezeTaxFlag>false</ns2:FreezeTaxFlag>
          <ns2:ShipToPartyName>FOM-Customer-001</ns2:ShipToPartyName>
          <ns2:ShipToAddress1>1045, 5th Avenue</ns2:ShipToAddress1>
          <ns2:ShipToCity>San Diego Country Estate</ns2:ShipToCity>
          <ns2:ShipToPostalCode>92065</ns2:ShipToPostalCode>
          <ns2:ShipToState>CA</ns2:ShipToState>
          <ns2:ShipToCountry>US</ns2:ShipToCountry>
          <ns2:ShipToPartyContactName>James Pattison</ns2:ShipToPartyContactName>
          <ns2:BillToPartyType>ORGANIZATION</ns2:BillToPartyType>
          <ns2:BillToCustomerName>FOM-Customer-001</ns2:BillToCustomerName>
          <ns2:BillToCustomerIdentifier>300100046859202</ns2:BillToCustomerIdentifier>
          <ns2:BillToAddress1>1045, 5th Avenue</ns2:BillToAddress1>
          <ns2:BillToCity>San Diego Country Estate</ns2:BillToCity>
          <ns2:BillToPostalCode>92065</ns2:BillToPostalCode>
          <ns2:BillToState>CA</ns2:BillToState>
          <ns2:BillToCountry>US</ns2:BillToCountry>
          <ns2:BillToAccountContactName>James Pattison</ns2:BillToAccountContactName>
          <ns2:SalesChannel>Direct</ns2:SalesChannel>
          <ns2:Salesperson>Paul Robert Scholes</ns2:Salesperson>
          <ns2:SalesCredit>
            <ns2:SourceTransactionSalesCreditIdentifier>OSC-001</ns2:SourceTransactionSalesCreditIdentifier>
            <ns2:SalesPerson>Paul Robert Scholes</ns2:SalesPerson>
            <ns2:Percent>100</ns2:Percent>
            <ns2:SalesCreditTypeCode>1</ns2:SalesCreditTypeCode>
            <ns2:SalesCreditTypeReference>Quota Sales Credit</ns2:SalesCreditTypeReference>
          </ns2:SalesCredit>
          <ns2:Line>
            <ns2:SourceTransactionLineIdentifier>101</ns2:SourceTransactionLineIdentifier>
            <ns2:SourceTransactionScheduleIdentifier>101</ns2:SourceTransactionScheduleIdentifier>
            <ns2:SourceTransactionLineNumber>1</ns2:SourceTransactionLineNumber>
            <ns2:SourceTransactionScheduleNumber>1</ns2:SourceTransactionScheduleNumber>
            <ns2:ParentLineReference/>
            <ns2:RootParentLineReference/>
            <ns2:TransactionCategoryCode>ORDER</ns2:TransactionCategoryCode>
            <ns2:ProductNumber>OM-PDSC-STD-03-C</ns2:ProductNumber>
            <ns2:OrderedQuantity>100</ns2:OrderedQuantity>
            <ns2:OrderedUOM>Each</ns2:OrderedUOM>
            <ns2:RequestedFulfillmentOrganizationCode>PDSCM1</ns2:RequestedFulfillmentOrganizationCode>
            <ns2:CustomerPONumber>NKPO2017/10/005/01</ns2:CustomerPONumber>
            <ns2:CustomerPOLineNumber>1</ns2:CustomerPOLineNumber>
            <ns2:RequestedShipDate>2019-06-30T23:08:52Z</ns2:RequestedShipDate>
            <ns2:PaymentTerms>30 Net</ns2:PaymentTerms>
            <ns2:PartialShipAllowedFlag>false</ns2:PartialShipAllowedFlag>
            <ns2:Comments/>
            <ns2:TaxExempt>S</ns2:TaxExempt>
            <ns2:ShipToPartyName>FOM-Customer-001</ns2:ShipToPartyName>
            <ns2:ShipToAddress1>1045, 5th Avenue</ns2:ShipToAddress1>
            <ns2:ShipToCity>San Diego Country Estate</ns2:ShipToCity>
            <ns2:ShipToPostalCode>92065</ns2:ShipToPostalCode>
            <ns2:ShipToState>CA</ns2:ShipToState>
            <ns2:ShipToCountry>US</ns2:ShipToCountry>
            <ns2:ShipToPartyContactName>James Pattison</ns2:ShipToPartyContactName>
            <ns2:BillToPartyType>ORGANIZATION</ns2:BillToPartyType>
            <ns2:BillToCustomerName>FOM-Customer-001</ns2:BillToCustomerName>
            <ns2:BillToCustomerIdentifier>300100046859202</ns2:BillToCustomerIdentifier>
            <ns2:BillToAddress1>1045, 5th Avenue</ns2:BillToAddress1>
            <ns2:BillToCity>San Diego Country Estate</ns2:BillToCity>
            <ns2:BillToPostalCode>92065</ns2:BillToPostalCode>
            <ns2:BillToState>CA</ns2:BillToState>
            <ns2:BillToCountry>US</ns2:BillToCountry>
            <ns2:BillToAccountContactName>James Pattison</ns2:BillToAccountContactName>
            <ns2:Project xmlns:pjc="http://xmlns.oracle.com/apps/flex/scm/doo/processOrder/pjcDff/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
              <ns2:PJCDFFVA xsi:type="pjc:OmSalesOrder">
                <pjc:projectId_Display>PDSC-CT-PDSCM1X-004</pjc:projectId_Display>
                <pjc:taskId_Display>1.1.1</pjc:taskId_Display>
                <pjc:expenditureItemDate>2019-03-20</pjc:expenditureItemDate>
                <pjc:expenditureTypeId_Display>Material</pjc:expenditureTypeId_Display>
                <pjc:organizationId_Display>Vision Operations</pjc:organizationId_Display>
              </ns2:PJCDFFVA>
            </ns2:Project>
            <ns2:AdditionalFulfillmentLineInformationCategories xsi:type="ns12:j_FulfillLineEffDooFulfillLinesAddInfoprivate" xmlns:ns12="http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineCategories/" xmlns:ns22="http://xmlns.oracle.com/apps/scm/doo/processOrder/flex/fulfillLineContextsB/" xmlns:ns8="http://xmlns.oracle.com/apps/scm/doo/processOrder/model/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
              <ns8:Category>DOO_FULFILL_LINES_ADD_INFO</ns8:Category>
              <ns12:FulfillLineEffBShipment__InstructionsprivateVO>
                <ns8:ContextCode>Shipment Instructions</ns8:ContextCode>
                <ns22:packInstructions>OM-PI-Test</ns22:packInstructions>
                <ns22:shipInstructions>OM-SI-Test</ns22:shipInstructions>
                <ns22:handlingCost>12.5</ns22:handlingCost>
                <ns22:needByDate>2018-10-15</ns22:needByDate>
                <ns22:expectedPickDate>2018-10-15T12:12:12</ns22:expectedPickDate>
              </ns12:FulfillLineEffBShipment__InstructionsprivateVO>
            </ns2:AdditionalFulfillmentLineInformationCategories>
          </ns2:Line>
          <ns2:Line>
        </ns2:Order>
      </ns1:request>
    </ns1:createOrders>
  </soap:Body>
</soap:Envelope>

For brevity, this payload contains only one order line. To see a more complete payload, go to Technical Reference for Order Management (Doc ID 2051639.1), then download the Payloads and Files attachment.

Validate Project Details in Fulfillment Lines

Use web service orderImportService to validate the combination of project attributes on a fulfillment line. Do it right after you submit a new order or revises an existing one, or during a shipment task.

The web service validates the business unit for the selling profit center and the warehouse during the On Submission event.

For example, the web service makes sure.

  • The user provides values for each required attribute in the Edit Project Details dialog.

    • Project Number

    • Task Number

    • Expenditure Organization

    • Expenditure Item Date

    • Expenditure Type

  • The flow has assigned a contract to the project.

  • The expenditure item date that you set happens within the project start date and finish date.

  • The bill-to address on the sales order matches the bill-to address of the contract.

  • The ship-to address on the sales order matches the ship-to address of the contract.

If validation fails, then Order Management displays a warning or error and a suggestion of how to fix it.

Order Management does these validations to prevent problems from happening during shipping or when it invoices the contract. For example, if the ship-to location on the sales order doesn't match the ship-to location on at least one of the contract lines, then the sales order might use an incorrect tax when Order Management invoices the contract for the project. Shipping might also ship the item to an incorrect location. The user would need to change the fulfillment line and manually recover the order so Order Management can send the corrected lines to shipping.

Here's an example response that the web service sends when the expenditure item date happens outside the project dates.

<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Body>
    <ns1:createOrders 
<ns0: createOrdersResponse xmlns:ns0="http://xmlns.oracle.com/apps/scm/fom/importOrders/orderImportService/types/">
      <ns1:result xsi:type="ns0:OrderImportResponse xmlns:ns1=
"http://xmlns.oracle.com/apps/scm/fom/importOrders/orderImportService/">
        <ns0:Order>
          <ns0:SourceTransactionNumber>RRFPDSC_TEST_112</ns0:SourceTransactionNumber>
          <ns0:SourceTransactionIdentifier>RRFPDSC_TEST_112</ns0:SourceTransactionIdentifier>
          <ns0:SourceTransactionSystem>LEG</ns0:SourceTransactionSystem>
          <ns0:OrderNumber>514626</ns0:OrderNumber>
          <ns0:HeaderId>xsi:nil="true"</ns0:HeaderId>
          <ns0:OrderStatus>DOO_DRAFT</ns0:OrderStatus>
          <ns0:ReturnStatus>ERROR</ns0:ReturnStatus>
          <ns0:MessageName>env:Server</ns0:MessageName>
          <ns0:MessageText>The submit failed for sales order RRFPDSC_TEST_112 on order line1, in schedule 1. The expenditure item date happens outside the project dates. Change the project start and finish dates, or change the expenditure item date.</ns0:MessageText>
          <ns0:flowType>xsi_nil="true"</ns0:flowType>

Import Through Files

Use the DOO_PROJECTS_INT worksheet in the Order Import Template to import your project details.

  • Import a batch. Import sales order lines that include project details and lines that don't in the same batch.

  • Import project details for shippable items.

  • Import configured items.

  • Validate the combination of project attributes as part of the order submission process.

  • Use the DOO_PROJECTS_INT worksheet in the template to capture project attributes on the sales order line.

Here are the required attributes.

Attribute

Value

Source Transaction Identifier

Enter any alphanumeric text, such as FBDI_SRK_0318_08.

Source Transaction System

Enter any alphanumeric text, such as GPR.

Source Transaction Line Identifier

Identify the order line in the source transaction, such as 1.

Source Transaction Schedule Identifier

Identify the schedule in the source transaction, such as 1.

Project Number, or Project Name, or Project ID

Identify the project.

Include a value for at least one of these attributes, such as 300100113461421 for Project ID.

Task Number, Task Name, Task ID

Identify the task.

Include a value for at least one of these attributes, such as 1.1 for Task Number.

Expenditure Item Date

Date to expense the item.

You must use the Year-Month-Day format.

For example, 2019-03-20 indicates March 20, 2019.

Expenditure Type or Expenditure Type ID

Identify the type of expenditure.

Include a value for at least one of these attributes, such as Material for Expenditure Type.

Expenditure Organization or Expenditure Organization ID

Identify the business unit, such as Vision Operations for Expenditure Organization.

Contract Number or Contract ID

If you enable grants for the project, then identify the contract.

Include a value for at least one of these attributes.

Funding Source Number or Funding Source Id

If you enable grants for the project, then identify the funding source.

Include a value for at least one of these attributes.

Include values for optional attributes, as necessary.

  • BillableFlag

  • CapitalizableFlag

  • ContractLineId

  • WorkType

  • WorkTypeId

  • FundingAllocationId

  • UserDefinedAttribute 1 through UserDefinedAttribute n

  • ReservedAttribute 2 through ReservedAttribute n

For some templates that include example values, go to Technical Reference for Order Management (Doc ID 2051639.1), then download the Payloads and Files attachment.

For details, see Overview of Importing Orders Into Order Management. If you need help using the template to import project details, contact Oracle Support.

Integrate Through REST API

Use project resources in the Sales Orders for Order Hub REST API.

Resource

Description

Project

Includes the DooOrderPrjId attribute. It identifies the project, such as 300100010341182.

Project Detail.

Includes other project attributes.

Here are attributes from an example payload that uses the project detail resource.

"DooOrderPrjId": 300100181049087,
"__FLEX_Context": "OM_Sales_Order",
"__FLEX_Context_DisplayValue": "SCM: General",
"projectId": 300100010341182,
"projectId_Display": "Projects-TL-Int-01",
"taskId": 300100010341193,
"taskId_Display": "1.1",
"expenditureItemDate": null,
"expenditureTypeId": 10028,
"expenditureTypeId_Display": "Material",
"organizationId": 204,
"organizationId_Display": "Vision Operations",
"contractId": null,
"contractId_Display": null,
"reservedAttribute1": null,
"reservedAttribute1_Display": null,
"billableFlag": null,
"billableFlag_Display": null,
"capitalizableFlag": null,
"capitalizableFlag_Display": null,
"workTypeId": null,
"workTypeId_Display": null,

Here's an example payload that creates a sales order for item AS92888 in a project named Projects-TL-Int-01. It includes display attributes that use values to identify the project, such as projectId_Display.

URL: https://fuscdrmsmc347-fa-ext.myCompany.com:443/fscmRestApi/resources/11.13.20.01/salesOrdersForOrderHub
METHOD: POST
{
  "SourceTransactionNumber": "R13_project_valueattrs_01",
  "SourceTransactionSystem": "GPR",
  "SourceTransactionId": "R13_project_valueattrs_01",
  "BusinessUnitId": 204,
  "BuyingPartyId": 1006,
  "BuyingPartyContactId": 2663,
  "TransactionalCurrencyName": "US Dollar",
  "RequestedShipDate": "2019-01-20T20:51:21+00:00",
  "PartialShipAllowedFlag": false,
  "RequestingBusinessUnitId": 204,
  "RequestingLegalEntityId": 204,
  "FreezePriceFlag": "N",
  "FreezeTaxFlag": "N",
  "RequestedFulfillmentOrganizationId":207,
  "PaymentTerms": "30 Net",
  "SubmittedFlag": true,
  "billToCustomer": [
    {
      "CustomerAccountId": 1006,
      "SiteUseId": 1025,
      "ContactFirstName": "Sarah",
      "ContactLastName": "Takesh"
    }
  ],
  "shipToCustomer": [
    {
      "PartyId": 1006,
      "SiteId": 1036
    }
  ],
  "lines": [
    {
      "SourceTransactionLineId": "1",
      "SourceTransactionLineNumber": "1",
      "SourceScheduleNumber": "1",
      "SourceTransactionScheduleId": "1",
      "ProductNumber": "AS92888",
      "OrderedUOMCode": "Ea",
      "PurchasingUOMCode": "Ea",
      "OrderedQuantity": 1,
      "project": [
        {
          "projectDetail": [
            {
              "projectId_Display": "Projects-TL-Int-01",
              "taskId_Display": 1.1,
              "expenditureTypeId_Display": "Material",
              "organizationId_Display": "Vision Operations",
              "contractId": null,
              "reservedAttribute1": null,
              "billableFlag": null,
              "capitalizableFlag": null,
              "workTypeId": null
            }
          ]
        }
      ]
    }
  ]
}

Here's another example that creates a sales order for item AS92888 in project 300100010341182. It includes attributes that use an identifier to identify the project, such as projectId.

URL: https://fuscdrmsmc347-fa-ext.myCompany.com:443/fscmRestApi/resources/11.13.20.01/salesOrdersForOrderHub
METHOD: POST
 
{
    "SourceTransactionNumber": "R13_project_Idattrs_01",
    "SourceTransactionSystem": "GPR",
    "SourceTransactionId": "R13_project_Idattrs_01",
    "BusinessUnitId": 204,
    "BuyingPartyId": 1006,
    "BuyingPartyContactId": 2663,
    "TransactionalCurrencyName": "US Dollar",
    "RequestedShipDate": "2019-01-20T20:51:21+00:00",
    "PartialShipAllowedFlag": false,
    "RequestingBusinessUnitId": 204,
    "RequestingLegalEntityId": 204,
    "FreezePriceFlag": "N",
    "FreezeTaxFlag": "N",
    "RequestedFulfillmentOrganizationId":207,
    "PaymentTerms": "30 Net",
    "SubmittedFlag": true,
    "billToCustomer": [
        {
            "CustomerAccountId": 1006,
            "SiteUseId": 1025,
            "ContactFirstName": "Sarah",
            "ContactLastName": "Takesh"
        }
    ],
    "shipToCustomer": [
        {
            "PartyId": 1006,
            "SiteId": 1036
        }
    ],
    "lines": [
        {
            "SourceTransactionLineId": "1",
            "SourceTransactionLineNumber": "1",
            "SourceScheduleNumber": "1",
            "SourceTransactionScheduleId": "1",
            "ProductNumber": "AS92888",
            "OrderedUOMCode": "Ea",
            "PurchasingUOMCode": "Ea",
            "OrderedQuantity": 1,
            "project": [
                {
                    "projectDetail": [
                        {
                            "projectId": 300100010341182,
                            "taskId": 300100010341193,
                            "expenditureTypeId": 10028,
                            "organizationId": 204,
                            "expenditureItemDate": "2019-09-24",
                            "contractId": null,
                            "reservedAttribute1": null,
                            "billableFlag": null,
                            "capitalizableFlag": null,
                            "workTypeId": null
                        }
                    ]
                }
            ]
        }
    ]
}

For details and examples, go to REST API for Oracle Supply Chain Management Cloud, then expand Order Management > Sales Orders for Order Hub.