19 Quality Control
This section describes the common functionality and configurations available for Quality Control.
Implementation Overview
This section provides an implementation overview.
Functionality
Quality Control module gives the possibility to create and maintain Jobs for Quality Control checks (either by UI or by file export/import).
Status Workflow
Figure 19-1 Quality Control Status Workflow

Quality Control follows a workflow path, and the status can change depending on:
- The user permissions
- The current Status of the Job
Job Status:
- New (N) – New is the status of a Job when the user creates it. In this status a Job can be Cancelled or, when a user starts execution, can be set to In Execution.
- In Execution (IE) – In Execution status a Job can be updated and Submitted/Completed or can be Cancelled.
- Submitted (S) – Submitted is a status used when a user without approved permission tried to complete a Job. A Job can be set to this status when integration fails, to integrate RTV again.
- Completed (C) – A Completed Job is a Job completed without issues. The Job is not editable whilst on this status.
- Completed with Issues (CI) – A Completed with Issues Job is a Job with issues. The Job is not editable whilst on this status.
- Cancelled (X) – In Cancelled Status a Job cannot be updated.
Configuration
This section describes Quality Control configurations.
POM Configuration
Batch scheduler details with all batches, dependencies and frequencies can be downloaded following the steps in the Supply Chain Hub Frameworks section.
Figure 19-3 Quality Control Batch Schedule Overview

Other Implementation Considerations
This section describes Quality Control implementation considerations.
Notifications and Alerts
Quality Control uses the Events Framework to inform users about events occurred in scope of Quality Control with notifications and alerts. Below is the list of notifications available. The notifications are implemented via the Rule Engine Framework documented in the Supply Chain Hub Frameworks section.
Notifications
QLCT_EVENT_NEW_JOB_LOC
Job id %s1 was created.
Property | Value |
---|---|
Event Name | QLCT_EVENT_NEW_JOB_LOC |
Event Type | ORCV_QLCT_EVENT_NEW_JOB_LOC |
Description | Triggered for new Jobs being created. |
Trigger | UI/S9T |
Target Users | The retailer users that are assigned to the specified location will receive a notification. |
QLCT_EVENT_COMP_JOB_SUP
Job id %s1 was completed with issues.
Property | Value |
---|---|
Event Name | QLCT_EVENT_COMP_JOB_SUP |
Event Type | ORCV_QLCT_EVENT_COMP_JOB_SUP |
Description | A Job was completed with issues. |
Trigger | UI/S9T |
Target Users | The supplier users with access to the supplier will receive a notification. |
Alerts
QLCT_EVENT_NEW_JOB_EMAIL
Quality Control Job created.
Property | Value |
---|---|
Event Name | QLCT_EVENT_NEW_JOB_EMAIL |
Event Type | ORCV_QLCT_EVENT_NEW_JOB_EMAIL |
Alert Type | |
Description | A new Job was created. |
Trigger | UI/S9T |
Target Users | The retailer users that are assigned to the specified location will receive an e-mail. |
Custom Validations
The application performs validations by implementing Custom Validation Groups of the Custom Validations Framework described in the Supply Chain Hub Frameworks section. The groups are listed below.
QLCT_JOB_CREATE
Triggered when the user creates a Job by UI or S9T.
All validation functions for this Custom Validation Group are available in ORCV_QLCT_JOB_VAL package.
FUNCTION | VALIDATION | SEQ NO |
---|---|---|
VALIDATE_SUPPLIER | Supplier exists and user has access. | 1 |
VALIDATE_LOCATION | Location exists and user has access. | 2 |
VALIDATE_BASED_ON | Entity type (PO / ASN / ADHOC) exists. | 3 |
VALIDATE_ENTITY | Entity (PO / ASN) is valid. | 4 |
VALIDATE_TEMPLATE | Template exists. | 5 |
VALIDATE_ITEM_LOC | Item exists and item / location range is valid. | 6 |
QLCT_JOB_MODIFY
Triggered when the user updates a Job detail by UI or S9T.
All validation functions for this Custom Validation Group are available in ORCV_QLCT_JOB_VAL package.
FUNCTION | VALIDATION | SEQ NO |
---|---|---|
VALIDATE_EXIST_JOB | Job exists. | 1 |
VALIDATE_COUNTED_QTY | Counted quantity is >= 0 and is filled in whenever required. | 2 |
VALIDATE_RESULT | Job / item result is valid. When NOK, a valid reason is provided. | 3 |
VALIDATE_ISSUES_QTY | Issues quantity is >= 0 and <= expected quantity. When result is not “No action”, it must be > 0. | 4 |
QLCT_JOB_SUBMIT
Triggered when the user submits a Job by UI or S9T.
All validation functions for this Custom Validation Group are available in ORCV_QLCT_JOB_VAL package.
FUNCTION | VALIDATION | SEQ NO |
---|---|---|
VALIDATE_EXIST_JOB | Job exists. | 1 |
VALIDATE_ALL_CHECKS | All checks were done. | 2 |
VALIDATE_INSP_STATUS | Job inspection status and action are valid. | 3 |
QLCT_JOB_CANCEL
Triggered when the user cancels a Job by UI or S9T.
All validation functions for this Custom Validation Group are available in ORCV_QLCT_JOB_VAL package.
FUNCTION | VALIDATION | SEQ NO |
---|---|---|
VALIDATE_EXIST_JOB | Job exists. | 1 |
VALIDATE_INSP_STATUS | Job inspection status and action are valid. | 2 |
VALIDATE_ITEMS_RELEASED | Items are unreleased. | 3 |
QLCT_JOB_COMPLETE
Triggered when the user completes a Job with or without issues by UI.
All validation functions for this Custom Validation Group are available in ORCV_QLCT_JOB_VAL package.
FUNCTION | VALIDATION | SEQ NO |
---|---|---|
VALIDATE_EXIST_JOB | Job exists. | 1 |
VALIDATE_ALL_CHECKS | All checks were done. | 2 |
VALIDATE_REASON_CODE | Reason code exists. | 3 |
VALIDATE_SUPPLIER_RTV | Supplier allows RTVs. | 4 |
VALIDATE_AUTH_CODE_RTV | Supplier requires authorization code for RTVs. | 5 |
VALIDATE_INSP_STATUS | Job inspection status and action are valid. | 6 |
VALIDATE_ITEM_RTYP_RCOD | Item / Reason Type / Reason Code are unique. | 7 |
QLCT_JOB_RELEASE_ITEM
Triggered when the user releases one or more items by UI.
All validation functions for this Custom Validation Group are available in ORCV_QLCT_JOB_VAL package.
FUNCTION | VALIDATION | SEQ NO |
---|---|---|
VALIDATE_EXIST_JOB | Job exists. | 1 |
VALIDATE_ALL_CHECKS | All checks were done. | 2 |
VALIDATE_ITEMS_RELEASED | Items are unreleased. | 3 |
VALIDATE_INSP_STATUS | Job inspection status and action are valid. | 4 |
Specific Batch Configuration
This section describes specific batch configurations.
PO ASN Received Batch
The PO ASN Received batch generates Quality Control jobs for received PO ASNs. For all PO ASNs that are in received status and were not yet previously processed, this batch calls the manage function of QLCT, providing the required information for the job creation. This batch uses the Rule Engine framework.
- Job: ORCV_RLEG_QLCT_PO_ASN_JOB
- Frequency: Ad-hoc
- Dependency: None
- Inter Scheduler Dependency: None
This batch uses the Rule Engine Framework described in the Supply Chain Hub Frameworks section with the following configurations.
Rule default configuration (ORCV_RLEG_RULE):
RULE KEY | RULE NAME | PROGRAM_NAME | APP ALIAS | RULE MODE |
---|---|---|---|---|
QLCT_PO_ASN | PO ASN Received | ORCV_RLEG_QLCT_PO_ASN | QLCT | BATCH |
Rule default parameters (ORCV_RLEG_PARAMETERS):
PARAMETER | DESCRIPTION | VALUE 1 | VALUE 2 | VALUE 3 | VALUE 4 |
---|---|---|---|---|---|
APPLY_TEMPLATE_TYPE | Indicates if it is to apply template Type PO/ASN in the Job Header. | Y | NA | NA | NA |
Batch default configuration (ORCV_BATCH_CONFIG):
COLUMN NAME | DEFAULT VALUES |
---|---|
PROGRAM_NAME | ORCV_RLEG_QLCT_PO_ASN |
MAX_CHUNK_SIZE | 1000 |
MAX_CONCURRENT_THREADS | 4 |
RETRY_LOCK_ATTEMPTS | 3 |
RETRY_WAIT_TIME | 3 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
Old Stock Batch
The Old Stock Batch generates Jobs for items without transactions for a period of time. It takes users the last transaction date, stock level and last inspection, this batch calls Manage Job API for each considered location, providing the required information for the job creation.
- Job: ORCV_RLEG_QLCT_OLD_STOCK_JOB
- Frequency: Daily
- Dependency: None
- Inter Scheduler Dependency: None
This batch uses Rule Engine Framework described in the Supply Chain Hub Frameworks section with the following configurations.
Rule default configuration (ORCV_RLEG_RULE):
RULE KEY | RULE NAME | PROGRAM_NAME | APP ALIAS | RULE MODE |
---|---|---|---|---|
QLCT_OLD_STOCK | Old Stock | ORCV_RLEG_QLCT_OLD_STOCK | QLCT | BATCH |
Rule default parameters (ORCV_RLEG_PARAMETERS):
PARAMETER | DESCRIPTION | VALUE 1 | VALUE 2 | VALUE 3 | VALUE 4 |
---|---|---|---|---|---|
APPLY_ADHOC_TEMPLATE | Ad-Hoc template key to apply to job’s items. | NULL | NA | NA | NA |
DAYS_SINCE_LAST_TRANSACTION | Number of days since item’s last transaction. | 60 | NA | NA | NA |
SOH_THRESHOLD | Maximum SOH for inspection. | NULL | NA | NA | NA |
DAYS_SINCE_LAST_CHECK | Number of days since item’s last inspection. | 30 | NA | NA | NA |
APPLY_TO_LOCATION | Location for which the rule should run. | NULL | NA | NA | NA |
Batch default configuration (ORCV_BATCH_CONFIG):
COLUMN NAME | DEFAULT VALUES |
---|---|
PROGRAM_NAME | ORCV_RLEG_QLCT_OLD_STOCK |
MAX_CHUNK_SIZE | 1 |
MAX_CONCURRENT_THREADS | 4 |
RETRY_LOCK_ATTEMPTS | 3 |
RETRY_WAIT_TIME | 3 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
Codes
Certain operations require codes to define the options available at system level. Below you can find the list of code types available.
The codes are defined in the ORCV_CODE_HEAD and ORCV_CODE_DETAIL tables.
CODE TYPE | CODE TYPE DESCRIPTION |
---|---|
CKST | Check status |
EXEC | Checks execute |
INVA | Inventory adjustment reason |
JCST | Job check status |
JHET | Entity type (based on) |
JHST | Job Status |
JIRT | Job item/check result |
JRRT | Job result type |
NARE | No action reason |
QCEL | QLCT error level. To be used in the error screen. |
QCES | QLCT error source. To be used in the error screen. |
REPR | Repair type |
RLSI | Release indicator |
RSRE | Result reason |
THST | Template Status |
THTY | Template Type |
Templates
Quality Control uses a spreadsheet download and upload process, developed as part of the Retail Supply Chain Hub Frameworks, for creation, maintenance, and extraction of data. To support these processes there are some templates which must be configured, and several configurations should be reviewed as part of the implementation.
Template QLCT Job
Table 19-1 Template key: QLCT_JOB
ACTION TYPE | ROLE NAME |
---|---|
Download | ORCV_QLCT_QCJOB_CREATE_JOB |
Download | ORCV_QLCT_QCJOB_VIEW_JOB |
Download | ORCV_QLCT_QCINSPECT_APPR_JOB |
Download | ORCV_QLCT_QCINSPECT_EDIT_JOB |
Download | ORCV_QLCT_QCINSPECT_VIEW_JOB |
Download Blank | ORCV_QLCT_APP_JOB |
Upload | ORCV_QLCT_QCJOB_CREATE_JOB |
Upload | ORCV_QLCT_QCINSPECT_APPR_JOB |
Upload | ORCV_QLCT_QCINSPECT_EDIT_JOB |
Table 19-2 Worksheet Job Header
ACTION | MANDATORY CELLS / FIELDS | NOTES |
---|---|---|
CREATE |
Job ID Job Description Status Location Supplier Entity ID Entity Type Template |
Creates a new Job with status New. |
SUBMIT | Job ID | Submit Job. |
CANCEL | Job ID | Cancel Job. |
Table 19-3 Worksheet Job Detail
ACTION | MANDATORY CELLS / FIELDS | NOTES |
---|---|---|
CREATE |
Job ID Check ID Item/VPN |
Creates a new mapping between Job and Item. |
UPDATE |
Job ID Check ID Item/VPN Quantity Counted Quantity Issues Result Reason Comments |
Updates Job and Items Checks. |
Interactive Grid Additional Columns
This application supports adding additional fields to the Interactive Grids by using the Interactive Grid Additional Columns functionality described in the Supply Chain Hub Frameworks section.
The Interactive Grids that support this functionality are listed below:
Interactive Grid | Grid ID | User Types | Page | Non Based View | Entity Primary Key |
---|---|---|---|---|---|
Jobs Dashboard Grid | P100_IG_JOBS | Retail Administrator, Retailer User, Supplier Administrator, Supplier User | Home |
ORCV_V_QLCT_ JOB_NB |
JOB_ID |
Job Items Grid |
P200_IG_ITEMS_ TO_INSPECT |
Retail Administrator, Retailer User, Supplier Administrator, Supplier User | Create or Edit Cost Job |
ORCV_V_QLCT_ ITEM_NB |
ITEM |
References
Quality Control also uses the Queries module to enable communication between retailer and supplier users, details about Queries are available in the Supply Chain Hub Frameworks section.
Operations
This section contains Quality Control operations.
Integration by Module
Figure 19-4 Quality Control Integration by Module

STEP | DESCRIPTION |
---|---|
0 | RSCH Data Access of MFCS data |
1 | Quality Control calls MFCS Return To Vendor Rest endpoint in MerchIntegrations to publish new RTVs. |
2 | Quality Control calls Upload Download Java Service to transform files, depending on the request details, Upload Download Java Service might need to callback to Quality Control to get more details. |
3 | Event Alert Java Service checks if there are alerts to be triggered. |
Batch by Module
This section describes batches by module.
PO ASN Received Batch
The PO ASN Received batch uses the Rule Engine Framework described in the Supply Chain Hub Frameworks section. To execute this batch call Rule Engine Web Service with Rule Key QLCT_PO_ASN.
Old Stock Batch
The Old Stock batch uses the Rule Engine Framework described in the Supply Chain Hub Frameworks section. To execute this batch call Rule Engine Web Service with Rule Key QLCT_OLD_STOCK.