This appendix describes the APIs integrated into Oracle MES for Discrete Manufacturing.
This appendix covers the following topics:
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
Based on your predefined setup criteria, triggering points are identified where the client extension will return a Yes or No status to execute actions for move transactions.
Transaction Validation
Enables custom logic to determine if transactions are processed or stopped.
Component Shortage Calculation
Enables reordering the sequence component shortages are displayed in the Shopfloor Progress region.
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:
If the job operation is ready for transactions, the program returns a Yes value, and the Ready Status visual indicator is enabled.
If the client extension returns a No value, the Ready Status icon is disabled.
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 |
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
In the wipwsctb.pls file, add Custom Order Attribute values:
wip_ws_customer.get_orderby_attribute_1()
wip_ws_customer.get_orderby_attribute_2()
Navigate to the Dispatch List Ordering Criteria parameter page.
In the Sequence Attribute field, select the applicable Custom Order Attributes.
Select your other values for the parameter, see: Dispatch List Ordering Criteria
Save your work.
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:
Yes, the transaction page proceeds as normal.
No, the transaction page is aborted displaying an error message.
Warning, you are redirected to a dialog page. You can cancel the dialog page, and return to the transaction page. Or select Continue and process the transaction.
Informational, the transaction proceeds as normal. The custom message is displayed in the returning transaction page.
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 |
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.
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:
The WIP_TIME_ENTRY_INTERFACE table is used to enter records for direct labor hours and actual attendance hours.
The Import Time Entry Records concurrent program moves records from this table and imports them into the MES system.
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.
If the WIP_ENTITY_TYPE or JOB_NAME columns are null—the record entered is considered either Scheduled Available Hours or Actual Attendance Hours.
If these columns not null, the record entered is considered Direct Labor Hours.
Column Name | Type | Description |
---|---|---|
INTERFACE_ID | NUMBER | Unique record identification |
TIME_ENTRY_TYPE | NUMBER | Time entry record types:
|
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:
|
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 |
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:
Actual times are imported for valid badges (employee identification numbers), job operations, and organizations.
If the Departmental Access parameter is set to Assigned, Clock In and Clock Out times are imported if the employee is attached as a resource instance for a department.
If the Shift In and Shift Out flags are enabled in the Time Entry Mode parameter, captured attendance hour records are not imported.
If Clock In and Clock Out flags are enabled in the Time Entry Mode parameter, labor hours are not imported.