18 Supplier Performance
This section describes the common functionality and configurations available for Supplier Performance.
Configuration
This section describes Supplier Performance 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.
Other Implementation Considerations
This section contains Supplier Performance implementation considerations.
Specific Batch Configuration
This section describes specific batch configurations.
On Time Delivery
This batch will compare a Shipment Estimated Arrival Date (or PO Not after date if no Estimated Arrival Date exists) with the first receipt date of an ASN.
- Job: ORCV_SPPF_ON_TIME_DLV_JOB
- Frequency: Nightly
- Dependency: None
- Inter Scheduler Dependency: MFCS.SQLSTAGE_JOB
Batch configuration table: ORCV_BATCH_CONFIG
COLUMN NAME | DEFAULT VALUES |
---|---|
PROGRAM_NAME | ORCV_SPPF_ON_TIME_DLV_JOB |
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 |
Quantity Compliance
This batch will compare the Shipment Expected Quantity vs Received Quantity.
- Job: ORCV_SPPF_QTY_COMP_JOB
- Frequency: Nightly
- Dependency: None
- Inter Scheduler Dependency: None
Batch configuration table: ORCV_BATCH_CONFIG
COLUMN NAME | DEFAULT VALUES |
---|---|
PROGRAM_NAME | ORCV_SPPF_QTY_COMP_JOB |
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 |
Invoice Compliance
This batch will calculate the number of Merchandise Invoices with discrepancies vs the total amount of Merchandise Invoices from the Supplier.
- Job: ORCV_SPPF_INVC_COMP_JOB
- Frequency: Nightly
- Dependency: None
- Inter Scheduler Dependency: None
Batch configuration table: ORCV_SPPF_INVC_COMP_JOB
COLUMN NAME | DEFAULT VALUES |
---|---|
PROGRAM_NAME | ORCV_SPPF_INVC_COMP_JOB |
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 |
Return Percentage
This batch will calculate the % of RTVs vs the total PO intake on the last SCORE_AVG_DAYS at the time the refresh is performed.
- Job: ORCV_SPPF_RETURN_PCT_JOB
- Frequency: Nightly
- Dependency: None
- Inter Scheduler Dependency: None
Batch configuration table: ORCV_BATCH_CONFIG
COLUMN NAME | DEFAULT VALUES |
---|---|
PROGRAM_NAME | ORCV_SPPF_RETURN_PCT_JOB |
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 |
Defect Percentage
This batch will calculate the % of Defects vs the total PO intake on the last SCORE_AVG_DAYS at the time the refresh is performed.
- Job: ORCV_SPPF_DEFECT_PCT_JOB
- Frequency: Nightly
- Dependency: None
- Inter Scheduler Dependency: None
Batch configuration table: ORCV_BATCH_CONFIG
COLUMN NAME | DEFAULT VALUES |
---|---|
PROGRAM_NAME | ORCV_SPPF_DEFECT_PCT_JOB |
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 |
Overall Compliance
This batch will calculate the score for each Supplier of each metric along with an overall score of the last days based on SCORE_AVG_DAYS System Parameter.
- Job: ORCV_SPPF_OVERALL_COMP_JOB
- Frequency: Nightly
- Dependency: ORCV_SPPF_ON_TIME_DLV_JOB, ORCV_SPPF_QTY_COMP_JOB, ORCV_SPPF_INVC_COMP_JOB, ORCV_SPPF_RETURN_PCT_JOB, ORCV_SPPF_DEFECT_PCT_JOB
- Inter Scheduler Dependency: None
Batch configuration table: ORCV_BATCH_CONFIG
COLUMN NAME | DEFAULT VALUES |
---|---|
PROGRAM_NAME | ORCV_SPPF_OVERALL_COMP_JOB |
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 |
Materialized Views
This application requires some results to be materialized in tables using the Materialized View Framework described in the Supply Chain Hub Frameworks section, below is the list for this application. Materialized views used in Supplier Performance are listed in this section.
ORCV_MV_SPPF_SUP_T_ORD
Returns all Total count, value and last creation date of completed Orders with status C and Total count, value and last creation date of open Orders status A, by supplier. Value currency is on MFCS system configuration options reference currency. Used by the Supplier Performance homepage.
Pre-Dependencies: ORCV_SPPF_OVERALL_COMP_JOB
Post-Dependencies: ORCV_MV_SPPF_SUP_ORDERS_JOB
Frequency: Ad-hoc, Nightly
ORCV_MV_SPPF_SUP_ORDERS
Returns the order number, status, supplier, currency code, received and not after date, total value, quantity ordered and received for all supplier orders. Used on Supplier Performance page.
Pre-Dependencies: ORCV_MV_SPPF_SUP_T_ORD_JOB
Post-Dependencies: None
Frequency: Ad-hod, Nightly
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 |
---|---|
SPCL | Supplier Performance Classification, to be used on the dashboard screen. |
SPMT | Supplier Performance Metrics, to be used on the dashboard screen. |
SPRT | Supplier Performance Ratings. |
Templates
Supplier Performance 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 SPPF Questionnaire
Table 18-1 Template key: ORCV_SPPF_QUESTN
ACTION TYPE | ROLE NAME |
---|---|
Download Blank | ORCV_SPPF_APP_JOB |
Upload | ORCV_SPPF_SCORE_EDIT_JOB |
Table 18-2 Worksheet Questionnaire - SPPF_QUESTN_HEADER
ACTION | MANDATORY CELLS / FIELDS | NOTES |
---|---|---|
Create |
Template Name Template ID |
Create new questionnaire template. Template ID is a placeholder ID while creating the questionnaire template to be referenced by the Questionnaire Detail sheet. |
Update | Template ID | Update an existing questionnaire template. |
Delete | Template ID | Delete an existing questionnaire template. |
Table 18-3 Worksheet Questionnaire Detail - SPPF_QUESTN_DETAIL
ACTION | MANDATORY CELLS / FIELDS | NOTES |
---|---|---|
Create |
Template ID Mandatory Indicator Criteria ID Criteria Text |
Create new questionnaire template criteria. When creating new criteria the Criteria ID is mandatory, to be used as placeholder ID and the template ID needs to keep the reference ID to the header sheet. |
Update |
Template ID Criteria Text Mandatory Indicator |
Update existing template criteria. |
Delete |
Template ID Criteria Text |
Delete criteria detail from existing questionnaire template. |
Template SPPF Questionnaire Reply
Table 18-4 Template key: ORCV_SPPF_QUESTN_REPLY
ACTION TYPE | ROLE NAME |
---|---|
Download | ORCV_SPPF_APP_JOB |
Upload | ORCV_SPPF_SCORE_EDIT_JOB |
Table 18-5 Worksheet Questionnaire Reply - SPPF_QUESTN_REPLY
ACTION | MANDATORY CELLS / FIELDS | NOTES |
---|---|---|
Create |
Criteria ID Criteria Text Mandatory Indicator Supplier |
Creates a new questionnaire reply for the supplier. An upload file can only have the reply for a single supplier. |
Operations
This section describes Supplier Performance Operations.
Batch by Module
This section describes batches by module.
On Time Delivery
Authentication Method: OAuth2
BaseURL: https://<BASE_URL>/ords/mfcs/orcv/merch/supplierperformance/ontimedelivery/batch/<URL_PATH>
URL PATH | REQUEST METHOD | REQUEST BODY | AFFECTED TABLES |
---|---|---|---|
start | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "", "jobName": "ORCV_SPPF_ON_TIME_DLV_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SPPF_ON_TIME_DLV |
restart | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_SPPF_ON_TIME_DLV_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SPPF_ON_TIME_DLV |
log | GET |
URL query parameters: /log?jobName=ORCV_SPPF_ON_TIME_DLV_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
kill | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_SPPF_ON_TIME_DLV_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
status | GET |
URL query parameters: /status?jobName=ORCV_SPPF_ON_TIME_DLV_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
Quantity Compliance
Authentication Method: OAuth2
BaseURL: https://<BASE_URL>/ords/mfcs/orcv/merch/supplierperformance/quantitycompliance/batch/<URL_PATH>
URL PATH | REQUEST METHOD | REQUEST BODY | AFFECTED TABLES |
---|---|---|---|
start | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "", "jobName": "ORCV_SPPF_QTY_COMP_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SPPF_QTY_COMP |
restart | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_SPPF_QTY_COMP_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SPPF_QTY_COMP |
log | GET |
URL query parameters: /log?jobName=ORCV_SPPF_QTY_COMP_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
kill | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_SPPF_QTY_COMP_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
status | GET |
URL query parameters: /status?jobName=ORCV_SPPF_QTY_COMP_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
Invoice Compliance
Authentication Method: OAuth2
BaseURL: https://<BASE_URL>/ords/mfcs/orcv/merch/supplierperformance/invoicecompliance/batch/<URL_PATH>
URL PATH | REQUEST METHOD | REQUEST BODY | AFFECTED TABLES |
---|---|---|---|
start | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "", "jobName": "ORCV_SPPF_INVC_COMP_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SPPF_INVC_COMP |
restart | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_SPPF_INVC_COMP_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SPPF_INVC_COMP |
log | GET |
URL query parameters: /log?jobName=ORCV_SPPF_INVC_COMP_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
kill | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_SPPF_INVC_COMP_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
status | GET |
URL query parameters: /status?jobName=ORCV_SPPF_INVC_COMP_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
Return Percentage
Authentication Method: OAuth2
BaseURL: https://<BASE_URL>/ords/mfcs/orcv/merch/supplierperformance/returnpercentage/batch/<URL_PATH>
URL PATH | REQUEST METHOD | REQUEST BODY | AFFECTED TABLES |
---|---|---|---|
start | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "", "jobName": "ORCV_SPPF_RETURN_PCT_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SPPF_RETURN_PCT |
restart | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_SPPF_RETURN_PCT_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SPPF_RETURN_PCT |
log | GET |
URL query parameters: /log?jobName=ORCV_SPPF_RETURN_PCT_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
kill | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_SPPF_RETURN_PCT_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
status | GET |
URL query parameters: /status?jobName=ORCV_SPPF_RETURN_PCT_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
Defect Percentage
Authentication Method: OAuth2
BaseURL: https://<BASE_URL>/ords/mfcs/orcv/merch/supplierperformance/defectpercentage/batch/<URL_PATH>
URL PATH | REQUEST METHOD | REQUEST BODY | AFFECTED TABLES |
---|---|---|---|
start | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "", "jobName": "ORCV_SPPF_DEFECT_PCT", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SPPF_RETURN_PCT |
restart | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_SPPF_DEFECT_PCT", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SPPF_RETURN_PCT |
log | GET |
URL query parameters: /log?jobName=ORCV_SPPF_DEFECT_PCT &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
kill | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_SPPF_DEFECT_PCT", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
status | GET |
URL query parameters: /status?jobName=ORCV_SPPF_DEFECT_PCT &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
Overall Compliance
Authentication Method: OAuth2
BaseURL: https://<BASE_URL>/ords/mfcs/orcv/merch/supplierperformance/defectpercentage/batch/<URL_PATH>
URL PATH | REQUEST METHOD | REQUEST BODY | AFFECTED TABLES |
---|---|---|---|
start | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "", "jobName": "ORCV_SPPF_OVERALL_COMP_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SPPF_SUPP_SCORE_HIST ORCV_SPPF_SUPP_SCORE |
restart | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_SPPF_OVERALL_COMP_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SPPF_SUPP_SCORE_HIST ORCV_SPPF_SUPP_SCORE |
log | GET |
URL query parameters: /log?jobName=ORCV_SPPF_OVERALL_COMP_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
kill | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_SPPF_OVERALL_COMP_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
status | GET |
URL query parameters: /status?jobName=ORCV_SPPF_OVERALL_COMP_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
Materialized Views Refresh Details
This section describes the Materialized Views Refresh Details.
ORCV_MV_SPPF_SUP_T_ORD
COLUMN | DESCRIPTION | VALUE |
---|---|---|
Result Synonym | Name of the synonym pointing to the result table. | ORCV_MV_SPPF_SUP_T_ORD |
Result Table A | Name of _A result table. | ORCV_SPPF_SUP_T_ORD_A_R |
Result Table B | Name of _B result table. | ORCV_SPPF_SUP_T_ORD_B_R |
Source View | The View contains business logic to be used to populate the result table. | ORCV_V_SPPF_SUP_T_ORD_R |
Driving View | This field contains the view to distribute the refresh process. | ORCV_V_SPPF_SUP_T_ORD_RC |
Pre-Processor | Name of the pre-process procedure if applicable. |
ORCV_COMMON_MV_REFRESH. COMMON_PRE_PROCESSOR |
Check Function | Name of the check function to validate if there is a need to refresh or if there are any batch dependencies. | NULL |
Preserve Data | Flag to decide if the data needs to be preserved until the next run cycle. | Y |
Restart Indicator | Flag to indicate if to allow restart batch processor or not. | N |
Max Concurrent Threads | This field contains the max_concurrent_threads that created the record. | 4 |
Filter Fields | Column name of the view to be used for threading. | SUPPLIER |
ORCV_MV_SPPF_SUP_ORDERS
COLUMN | DESCRIPTION | VALUE |
---|---|---|
Result Synonym | Name of the synonym pointing to the result table. | ORCV_MV_SPPF_SUP_ORDERS |
Result Table A | Name of _A result table. | ORCV_SPPF_SUP_ORDERS_A_R |
Result Table B | Name of _B result table. | ORCV_SPPF_SUP_ORDERS_B_R |
Source View | The View contains business logic to be used to populate the result table. | ORCV_V_SPPF_SUP_ORDERS_R |
Driving View | This field contains the view to distribute the refresh process. | ORCV_V_SPPF_SUP_ORDERS_RC |
Pre-Processor | Name of the pre-process procedure if applicable. |
ORCV_COMMON_MV_REFRESH. COMMON_PRE_PROCESSOR |
Check Function | Name of the check function to validate if there is a need to refresh or if there are any batch dependencies. | NULL |
Preserve Data | Flag to decide if the data needs to be preserved until the next run cycle. | Y |
Restart Indicator | Flag to indicate if to allow restart batch processor or not. | N |
Max Concurrent Threads | This field contains the max_concurrent_threads that created the record. | 4 |
Filter Fields | Column name of the view to be used for threading. | ORDER_NUMBER |