Oracle E-Business Suite · Arazzo Workflow

Oracle EBS Discrete Job Execution

Version 1.0.0

Create a WIP discrete job, issue material to it, then complete the assembly into inventory.

1 workflow 1 source API 1 provider
View Spec View on GitHub Business ApplicationsE-Business SuiteEnterpriseERPOracleArazzoWorkflows

Provider

oracle-e-business-suite

Workflows

execute-discrete-job
Create a discrete job, issue material, and complete the assembly.
Creates a WIP discrete job for an assembly item, reads it back to confirm its entity identifier, issues a component to the job, and records the assembly completion into a subinventory.
4 steps inputs: componentItemId, componentQuantity, organizationId, primaryItemId, scheduledCompletionDate, scheduledStartDate, startQuantity, subinventoryCode, transactionDate, uom, wipEntityName outputs: completionTransactionId, issueTransactionId, wipEntityId
1
createJob
createDiscreteJob
Create a WIP discrete job for the assembly item with the requested start quantity and schedule.
2
confirmJob
getDiscreteJobById
Read the discrete job back by entity identifier to confirm it was created and capture its status.
3
issueComponent
issueMaterial
Issue the component material to the job from the subinventory.
4
completeAssembly
completeAssembly
Record the assembly completion moving finished units from WIP into the subinventory.

Source API Descriptions

Arazzo Workflow Specification

oracle-e-business-suite-discrete-job-execution-workflow.yml Raw ↑
arazzo: 1.0.1
info:
  title: Oracle EBS Discrete Job Execution
  summary: Create a WIP discrete job, issue material to it, then complete the assembly into inventory.
  description: >-
    A Work in Process shop-floor flow for Oracle Manufacturing. The workflow
    creates a discrete job for an assembly, reads it back to capture its WIP
    entity identifier, issues component material to the job, and records the
    assembly completion that moves finished units into inventory. Each step
    inlines its request so the execution chain can be run without opening the
    OpenAPI source.
  version: 1.0.0
sourceDescriptions:
- name: manufacturingApi
  url: ../openapi/manufacturing-api.yml
  type: openapi
workflows:
- workflowId: execute-discrete-job
  summary: Create a discrete job, issue material, and complete the assembly.
  description: >-
    Creates a WIP discrete job for an assembly item, reads it back to confirm
    its entity identifier, issues a component to the job, and records the
    assembly completion into a subinventory.
  inputs:
    type: object
    required:
    - wipEntityName
    - primaryItemId
    - organizationId
    - startQuantity
    - scheduledStartDate
    - scheduledCompletionDate
    - componentItemId
    - componentQuantity
    - uom
    - subinventoryCode
    - transactionDate
    properties:
      wipEntityName:
        type: string
        description: Job name/number to create.
      primaryItemId:
        type: integer
        description: Primary assembly item identifier.
      organizationId:
        type: integer
        description: Manufacturing organization identifier.
      startQuantity:
        type: number
        description: Quantity of assemblies to build.
      scheduledStartDate:
        type: string
        description: Scheduled start date-time (ISO 8601).
      scheduledCompletionDate:
        type: string
        description: Scheduled completion date-time (ISO 8601).
      componentItemId:
        type: integer
        description: Component inventory item to issue to the job.
      componentQuantity:
        type: number
        description: Quantity of the component to issue.
      uom:
        type: string
        description: Unit of measure for the transactions.
      subinventoryCode:
        type: string
        description: Subinventory to issue from and complete into.
      transactionDate:
        type: string
        description: Transaction date-time (ISO 8601).
  steps:
  - stepId: createJob
    description: >-
      Create a WIP discrete job for the assembly item with the requested start
      quantity and schedule.
    operationId: createDiscreteJob
    requestBody:
      contentType: application/json
      payload:
        wipEntityName: $inputs.wipEntityName
        primaryItemId: $inputs.primaryItemId
        organizationId: $inputs.organizationId
        startQuantity: $inputs.startQuantity
        scheduledStartDate: $inputs.scheduledStartDate
        scheduledCompletionDate: $inputs.scheduledCompletionDate
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      wipEntityId: $response.body#/wipEntityId
  - stepId: confirmJob
    description: >-
      Read the discrete job back by entity identifier to confirm it was
      created and capture its status.
    operationId: getDiscreteJobById
    parameters:
    - name: wipEntityId
      in: path
      value: $steps.createJob.outputs.wipEntityId
    successCriteria:
    - condition: $statusCode == 200
    outputs:
      statusType: $response.body#/statusType
  - stepId: issueComponent
    description: >-
      Issue the component material to the job from the subinventory.
    operationId: issueMaterial
    requestBody:
      contentType: application/json
      payload:
        wipEntityId: $steps.createJob.outputs.wipEntityId
        organizationId: $inputs.organizationId
        inventoryItemId: $inputs.componentItemId
        transactionQuantity: $inputs.componentQuantity
        transactionUom: $inputs.uom
        transactionType: WIP_ISSUE
        subinventoryCode: $inputs.subinventoryCode
        transactionDate: $inputs.transactionDate
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      issueTransactionId: $response.body#/transactionId
  - stepId: completeAssembly
    description: >-
      Record the assembly completion moving finished units from WIP into the
      subinventory.
    operationId: completeAssembly
    requestBody:
      contentType: application/json
      payload:
        wipEntityId: $steps.createJob.outputs.wipEntityId
        organizationId: $inputs.organizationId
        transactionQuantity: $inputs.startQuantity
        transactionUom: $inputs.uom
        subinventoryCode: $inputs.subinventoryCode
        transactionDate: $inputs.transactionDate
    successCriteria:
    - condition: $statusCode == 201
    outputs:
      completionTransactionId: $response.body#/transactionId
  outputs:
    wipEntityId: $steps.createJob.outputs.wipEntityId
    issueTransactionId: $steps.issueComponent.outputs.issueTransactionId
    completionTransactionId: $steps.completeAssembly.outputs.completionTransactionId