MES Client Extensions

This appendix describes the APIs integrated into Oracle MES for Discrete Manufacturing.

This appendix covers the following topics:

Overview of MES Client Extensions

Oracle MES for Discrete Manufacturing provides custom programming instructions to control job operation readiness, transaction movements, and reordering features. Three client extensions are provided:

Ready Status

In the Dispatch List, the Ready Status icon for each job operation is set in the Ready Status Criteria parameter. The options are No Exceptions, No Shop Floor Status Assigned, and Quantity in Queue or Run. When a job operation meets the conditions, the Ready check mark is automatically updated and displayed as Ready. This client extension enables custom logic to determine if a job operation is ready with your specific definitions. In addition to the Ready Status icon visual indicator in the Dispatch List, the Ready Status client extension's value displays on the Work Content page. The program returns one of two different values, Yes or No:

A PL/SQL package, WIP_WS_HOOKS_UTI, contains the custom programming instructions invoked.

Note: When the job operation is not ready prior to implementation of the client extension, the program does not effect the ready status of the job, displaying a Not Ready status.

When the job operation is ready prior to implementation of the client extension, if the program returns a Yes value—the job status in the Dispatch List is ready with the Ready status visual indicator enabled. If the client extension return a No value, the job status in the Dispatch List is not ready.

Ready Status Function—get_custom_ready_status

Parameter IN/OUT Type Description
wip_entity_id IN NUMBER WIP entity identification of the job
operation_seq_num IN NUMBER Operation sequence number
serial_number IN VARCHAR2 Serial number of assembly
attribute1 IN VARCHAR2 Reserved for future use
attribute2 IN VARCHAR2 Reserved for future use
attribute3 IN VARCHAR2 Reserved for future use
return_value OUT VARCHAR2 Value is Yes or No indicating whether the job operation passes the Ready Status program

Custom Ordering Attributes

You can use the sequence attributes, Custom Order Attribute 1 and Custom Order Attribute 2, in the Dispatch List Ordering Criteria parameter to customize your dispatch list order.

To create customized values for the Dispatch List Ordering Criteria parameter

  1. In the wipwsctb.pls file, add Custom Order Attribute values:

    • wip_ws_customer.get_orderby_attribute_1()

    • wip_ws_customer.get_orderby_attribute_2()

  2. Navigate to the Dispatch List Ordering Criteria parameter page.

  3. In the Sequence Attribute field, select the applicable Custom Order Attributes.

  4. Select your other values for the parameter, see: Dispatch List Ordering Criteria

  5. Save your work.

Transaction Validation

This client extension enables custom logic to determine if move, scrap, reject, and completion transactions are processed or stopped. The program returns one of several values. If the value returned is:

A PL/SQL package, WIP_WS_HOOKS_UTI, contains the custom programming instructions invoked.

Transaction Validation Function—get_transaction_validation_value

Parameter IN/OUT Type Description
wip_entity_id IN Number WIP entity identification of the job
mtl_header_id IN Number Material header identification
txn_type f IN Varchar2 Transaction type
from_op_seq IN Number From operation sequence
from_step IN Varchar2 From operation step
to_op_seq IN Number To operation sequence
to_step IN Varchar2 To operation step
txn_quantity IN Number Transaction quantity
txn_uom IN Varchar2 Transaction unit of measure
scrap_quantity IN NUMBER Scrap quantity (for combination transaction)
reject_quantity IN NUMBER Reject quantity (for combination transaction)
subinv locator_id IN VARCHAR2 Subinventory locator identification
assembly_lot IN NUMBER Assembly lot number.
assembly_serial IN VARCHAR2 Assembly serial number
reason_id IN NUMBER Reason identification
reference IN VARCHAR2 Transaction reference
sales_order_id IN VARCHAR2 Sales order identification
sales_order_line_id IN NUMBER Sales order line identification
overcompletion IN STRING Overcompletion
project_id IN NUMBER Project identification
task_id IN NUMBER Task identification
scrap_acct_id IN NUMBER Scrap account identification
kanban_id IN NUMBER Kanban identification
attribute1 IN VARCHAR2 Reserved for future use
attribute2 IN VARCHAR2 Reserved for future use
attribute3 IN VARCHAR2 Reserved for future use
attribute4 IN VARCHAR2 Reserved for future use
attribute5 IN VARCHAR2 Reserved for future use
return_status OUT VARCHAR2 Indicates return status of the program: Yes, No, Warning, Informational
return_message OUT VARCHAR2 Custom message returned by the program
return_attribute1 OUT VARCHAR2 Reserved for future use
return_attribute2 OUT VARCHAR2 Reserved for future use

Component Shortage Calculation

The Component Shortages tab in the Shopfloor Progress region lists shortages according to the values calculated by the Component Shortage Calculation concurrent request. This request program calculates and lists the job operations by operation start date and time, and then the components allocated. You can change this display sequence and use additional criteria or attributes for the allocation of components through the Component Shortage Calculation client extension.

Use the following information to supply the algorithm to reorder in the procedure. The reordered list is used as input for the shortage calculation program.

Operation Reordering Procedure—reorder_ops_for_shortage

Parameter IN/OUT Type Description
p_wip_job_op_tbl IN OUT NOCOPY WIP_WS_SHORTAGE.wip_job_op_tbl_type Job operations list
p_return_status OUT NOCOPY VARCHAR2 Value S determines success, otherwise the unexpected exception is called.
p_retcode OUT NOCOPY NUMBER Reserved for future use

WIP_WS_SHORTAGE .wip_job_op_rec_type record type

Parameter Type Description
ORGANIZATION_ID NUMBER Organization identification
WIP_ENTITY_ID NUMBER WIP entity identification of the job
OPERATION_SEQ_NUM NUMBER Operation sequence number
DEPARTMENT_ID NUMBER Department identification
FIRST_UNIT_START_DATE DATE First unit scheduled receipt date
START_QTY NUMBER Number of units scheduled for the operation (subtracted by) Total number of assemblies scrapped in previous operations
OPEN_QTY NUMBER Number of units scheduled for the operation (subtracted by) Total number of assemblies scrapped in previous operations
SCHEDULED_QTY NUMBER Number of units scheduled for the operation

Note: The wip_job_op_rec_type record is indexed by BINARY_INTEGER.

Integration with Time and Attendance Systems

Actual time spent on a work order by an operator is recorded using the Clock In and Clock Out capability. This time input is used to charge the manual resource transactions for calculating the work in process inventory value for particular accounting periods. MES for Discrete Manufacturing can be integrated other time and attendance systems to collect actual time. Third party systems are often deployed to collect definite and exact actual recorded times, and pass the data to a payroll application. These systems might be used by organizations where labor costs are high, or actual time recording is a mandatory requirement for government regulations.

To integrate other time and attendance systems into MES, an interface table and concurrent program are used:

WIP_TIME_ENTRY_INTERFACE Table

The TIME_ENTRY_TYPE column is used for differentiating between various time type records and records for Direct Labor Hours, Scheduled Available Hours, and Actual Attendance Hours.

Column Name Type Description
INTERFACE_ID NUMBER Unique record identification
TIME_ENTRY_TYPE NUMBER Time entry record types:
  • 1- Direct Labor Hours

  • 2 - Actual Attendance Hours

  • 3 - Scheduled Available Hours

ORGANIZATION_ID NUMBER Organization identifier
ORGANIZATION_CODE VARCHAR2 Organization code
WIP_ENTITY_ID NUMBER Work order identifier
JOB_NAME VARCHAR2 Job name
OPERATION_SEQ_NUMBER NUMBER Operation sequence number
DEPARTMENT_CODE VARCHAR2 Department code
DEPARTMENT_ID NUMBER Department identifier
RESOURCE_SEQ_NUM NUMBER Resource sequence number
RESOURCE_CODE VARCHAR2 Resource code
RESOURCE_ID NUMBER Resource identifier
UOM_CODE VARCHAR2 Unit of Measure code
EMPLOYEE_ID NUMBER Employee identifier
ACTUAL_START_DATE DATE Actual start date
ACTUAL_END_DATE DATE Actual end date
DURATION NUMBER Duration
ACTION_FLAG NUMBER Action:
  • 1- Add

  • 2 - Subtract

  • Null - Actual time entry record

PROCESS_STATUS NUMBER Process status
ERROR VARCHAR2 Error Message
REQUEST_ID NUMBER Concurrent request identification
PROGRAM_ID NUMBER Program identification
PROGRAM_APPLICATION_ID NUMBER Program application identification
Program_update_date
PROGRAM_UPDATE_DATE
DATE Program update date
CREATED_BY NUMBER Created by
CREATION_DATE DATE Record date creation
LAST_UPDATED_BY NUMBER Last updated by action
LAST_UPDATE_DATE DATE Last update date
LAST_UPDATE_LOGIN NUMBER Login information for last update

Import Time Entry (WIP_TIME_ENTRY_DATA) Concurrent Program

The Import Time Entry concurrent request imports actual times captured through the WIP_TIME_ENTRY_INTERFACE table into MES for calculation of labor performance metrics.

For each valid row in the interface table, the API, WIP_TIME_ENTRY_PUB.process reads all pending transactions for the given organization, and performs the following validations: