27 Supply Chain Hub Frameworks
This section covers the Frameworks and some of the key considerations and common component details when implementing these solutions.
Getting Started
ReST Web Services Endpoints
To call ReST Web Services Endpoints in Retail Supply Chain Hub it is required to use a ReST Client that can connect over HTTP protocol. The ReST Client must be able to reach the server URL and requires authentication with the appropriate permissions granted to perform the HTTP method of GET, POST, PUT and DELETE as per service requirements.
The following details must be taken in consideration:
- REST Server URL
-
Throughout this document you will see several references to a placeholder <BASE_URL>, when calling the service, the placeholder needs to be replaced by the REST Server URL.
-
- IDCS, Access Token URL and scope to obtain Oauth 2.0 Access Token
-
More details about configuration are available in Security, Rest Services Authentication.
-
Configure your REST client
With the information gathered so far, you are ready to configure your client to send a REST HTTP request.
- Construct the request URL. The URL is built using the reference URL from the webservice you are using by substituting the <BASE_URL> placeholder by the REST server URL
- Choose a ReST Client and perform authentication:
- Using cURL to obtain Oauth Access Token:
This will return a JSON payload containing access token like below:curl -u <client id>:<client secret> -H ‘Content-Type: application/x-www-form-urlencoded;charset=UTF-8’ –request POST https://<IDCS_BASE_URL>/oauth2/v1/token -d ‘grant_type=client_credentials&scope=rgbu:orcv:merch’
Include this access token in the ‘Authorization’ header of the request. If you are using cURL, use –header or –H as follows:{“access_token”:”<access token>”,”token_type”:”Bearer”,”expires_in”:3600}
{--header ‘Authorization: Bearer <access token>’}
-
Using Postman with Oauth 2.0 authorization token. To receive an Oauth token, go to the Authorization tab and select Oauth 2.0 from the drop down. Enter the URL, Client ID, Client Secret and Scope and click Get New Access Token. Then click Proceed and Use Token in the next dialog. Then click Send to call the endpoint.
- Using cURL to obtain Oauth Access Token:
Batch Framework
This section describes the Batch Framework.
Batch Engine Components
Figure 27-1 Batch Engine Components

Configuration
Configuration table: ORCV_BATCH_CONFIG
- Defines:
-
What is the program batch, and each function name for the Pre, Processor, and Post Processor execution steps
-
Maximum number of threads, the maximum number of retry attempts, the maximum number of retry lock attempts, and the maximum number of retry counts
-
Defined whether a process is ordered or not
-
Pre Processor
- Checks if the process ID is a retry
- Starts audit log process for the batch program
- If it is not a retry process, calls the PRE function associated with the program batch and sets thread control.
Note:
All process batches use the ORCV_THREAD_CONTROL table to set the weight of threads and control the retry mechanism.
Processor
- Gets the program batch configuration
-
Max concurrent threads
-
Retry lock attempts
-
Retry wait time
-
-
If the process is Asynchronous:
-
Creates scheduled jobs until reaching the maximum number of concurrent threads defined in the configuration
-
-
Calls the Processor function associated with the program batch in the configuration table
Configuration
Table | Description |
---|---|
ORCV_BATCH_ENGINE |
This table contains the configuration settings for batch programs: Batch program name Pre, Processor, and Post functions If batch status will be controllable in ORCV_BATCH_STATUS_CONTROL |
ORCV_BATCH_CONFIG |
This table contains batch program configuration settings: Max threads, max retry attempts, max retry count Retry rule implemented as FIFO |
Technical Batch Recovery Actions
If there is a technical issue with a particular batch execution and the batch shows as In Progress on a New Start and does not allow a new execution, records related to the execution/process ID with issues need to be deleted from the following table to allow a new start:
- ORCV_BATCH_STATUS_CONTROL
- ORCV_BATCH_THREAD_CONTROL
- ORCV_BATCH_ENGINE_THREADS
Batch Dependency Framework
Batch Framework will allow handling batches whose execution depends on others, which may be internal jobs or external.
Main Database Functions
Package: ORCV_COMMON_BATCH_DEPENDENCY
- RUN_DEPENDENCIES:
-
Function that orchestrates the steps necessary to handle the dependencies between batches
-
- CHECK_DEPENDENCY
-
Checks if, for the given program name, there is an active dependency configuration to handle
-
If not, returns TRUE
-
- GET_DEPENDENCY_DETAILS
-
Gets the dependencies configuration for a program name
-
If no dependency details exist, it returns FALSE
-
- EXEC_DEPENDENCIES
-
Executes actions/rules defined at dependencies configuration
-
Executes/calls the validation event configured as a dependency for the program name
-
If it ends successfully, will return the time (in minutes) the batch must wait before it can start
-
It will return a time_to_wait of 0 if the batch must run immediately
-
- VALIDATE_RPM
-
Used for batch jobs that need to run after RPCS/RPM jobs.
-
It checks the synonym DCV_WV_JOB_AUDIT_LOG for an entry of the job name from the configuration details to validate the dependency
-
- VALIDATE_RMS_WRAPPER
-
Used for batch jobs that need to run after MFCS batches running an RMS Wrapper
-
It checks the synonym DCV_WV_JOB_AUDIT_LOG for an entry of the job name in the configuration details to validate the dependency
-
- VALIDATE_ORCV_AUDIT
-
Validation function for internal batches that only need ORCV_BATCH_AUDIT_STATUS table validation
-
- VALIDATE_TRUE
-
Validation function for batches that only return true. Always returns a time_to_wait of 0
-
- GET_LAST_AUDIT
-
This function will return the last date time and activity status that the “child” batch was written into the table ORCV_BATCH_AUDIT_STATUS
-
The last status and date time will be returned with values only if the “child” batch has a date time higher than the logs date time of the “parent” batch:
- Or if there are no logs for the “parent” batch
- Or in case the “parent” batch has logs (it has been executed) at a moment right before the child is being executed.
-
System Parameters
Default batch configuration is based on System Parameters defined below.
Area | Parameter | Description | Value 1 | Value 2 |
---|---|---|---|---|
BATCH | BATCH_USER | Default integration user. | MFCS_RDS_CUSTOM (Schema Owner) | NA |
BATCH | MAX_THREADS_ENGINE | The default number of concurrent threads on the batch engine | 240 | 5 |
BATCH | TIME_INTERVAL | Time interval in minutes for "AuditStatus" and "AuditLogs" validation for batch dependencies | 30 | NA |
BATCH | TOTAL_WAIT_TIME | Total wait time in minutes for "AuditStatus" and "AuditLogs" validation for batch dependencies | 720 | NA |
BATCH | WAIT_PROCESS | Default time in second to wait for next loop | 1 | NA |
Batch Dependency Configuration Example
Configuration table: ORCV_BATCH_DEPENDENCY_HEAD
Column Name | Description | Example |
---|---|---|
PROGRAM_NAME | This field contains the program name | ORCV_MV_PCEG_ORDRCV_TRAN_DATA |
ACTIVE | This field is a flag to indicate if rule is Y - Active or N - Inactive | Y |
Configuration table: ORCV_BATCH_DEPENDENCY_DTL
Column Name | Description | Example |
---|---|---|
PROGRAM_NAME | This field contains the program name | ORCV_MV_PCEG_ORDRCV_TRAN_DATA |
CHILD_PROGRAM_NAME | This field contains the program name which the parent program is dependent on |
MERCH_DUMMY_START_NIGHT_ BATCH_PROCESS |
CHILD_ACTIVITY_NAME | This field contains the activity name which the parent program is dependent on | SALSTAGE_JOB |
VALIDATION_TYPE | This field contains the type of validation for the dependency. TIME or VALIDATION | VALIDATION |
VALIDATION_TIME | This field contains the time to wait for the program name before checking again | 10 |
VALIDATION_EVENT | This field contains the time to wait for the program name before checking again |
ORCV_COMMON_BATCH_DEPENDENCY. VALIDATE_RMS_WRAPPER |
POST_DATE_CHECK | Value to subtract to VDATE in the validation process | NULL |
JOB_NAME | Job name on job_audit_log table | Salstage |
HAS_WRAPPER | Controls if the dependency job uses a wrapper. Y - Yes, N - No | Y |
MESSAGE_CHECK | Message to check on job_audit_log table for the end of single execution batches | salstage |
Custom Validations Framework
The Custom Validations Framework works as a validation engine, allowing you to create or extend validation groups with multiple validation functions and then execute the validations group in bulk in an atomic or non-atomic way.
Custom validations are defined in multiple tables with prefix ORCV_CVAL and their executions are controlled by the table ORCV_CVAL_PROCESS_CONTROL. The validations result in case of errors are consolidated in the tables ORCV_CVAL_RESULTS_HEAD and ORCV_CVAL_RESULS_DETAIL.
Database Objects
Object Type | Name | Sub Object Type | Sub Object Name | Description |
---|---|---|---|---|
Table |
ORCV_CVAL_GROUP_ HEAD |
NA | NA | This table contains the custom validation group header information |
Table |
ORCV_CVAL_GROUP_ DETAIL |
NA | NA | This table contains the functions of the validation group |
Table |
ORCV_CVAL_PROCESS _CONTROL |
NA | NA | This table contains the control of process validation |
Table |
ORCV_CVAL_PROCESS_ ATTRIBUTES |
NA | NA | This table contains the attributes to the functions of the process |
Table |
ORCV_CVAL_RESULT_ HEAD |
NA | NA | This table contains the attributes to the functions of the process |
Table |
ORCV_CVAL_RESULT_ DETAIL |
NA | NA | This table contains the attributes to the functions of the process |
Package | ORCV_CVAL_ENGINE | Function | PRE_PROCESS | Generate process id and populate process tables |
Function | PROCESS | Process Function: Populate process tables | ||
Function | POST_PROCESS | Post Process Function: Update process status and create record in Result Head Table according to parameters | ||
Function |
EXECUTE_ VALIDATION |
Create process entry in ORCV_CVAL_PROCESS_CONTROL |
Configuration
# | Step | Example |
---|---|---|
1 | Create the validation functions into its module, respecting the function parameter types of the Custom Validation module | ORCV_SPIM_MGMT_ITEM_VAL.VALIDATE_HEADER |
2 | Create a group of validations into ORCV_CVAL_GROUP_HEAD | INSERT INTO ORCV_CVAL_GROUP_HEAD (GROUP_ID, GROUP_DESC, APP_ALIAS, ENTITY_ID, ATOMIC_IND) VALUES ('SPIM_ITEM_SUBMIT', 'ITEM SUBMIT VALIDATIONS', 'SPIM', 'ITEM', 'N'); |
3 | Insert into ORCV_CVAL_GROUP_DETAIL all validations functions for the group | INSERT INTO ORCV_CVAL_GROUP_DETAIL (GROUP_ID, FUNCTION, ERROR_KEY, SEQ_NO, STATUS) VALUES ('SPIM_ITEM_SUBMIT', 'ORCV_SPIM_MGMT_ITEM_VAL.VALIDATE_HEADER', 'ORCV_SPIM_ERR.ERR$SPIM_VALIDATE_HEADER', 1, 'A'); |
Custom Flex Attributes
Custom Flex Attribute Solution (CFAS) is a metadata-driven framework that enables setting up additional attributes on pre-enabled entities without modifying base code.
The entities enable with this framework are configured in tables with prefix ORCV_CFA.
Database Objects
This section describes the Database Objects.
Tables
Name | Description |
---|---|
ORCV_CFA_ENTITY | This table holds the Entities available on CFA. |
ORCV_CFA_ENTITY_KEY | This table holds the columns by CFA Entity. |
ORCV_CFA_ATTRIB_GROUP_SET | This table holds the attributes group set. |
ORCV_CFA_ATTRIB_GROUP_SET_TL | This table holds the translated description for group set. |
ORCV_CFA_ATTRIB_GROUP | This table holds the attributes group. |
ORCV_CFA_ATTRIB_GROUP_TL | This table holds the labels for groups. |
ORCV_CFA_ATTRIB | This table holds the attributes. |
ORCV_CFA_ATTRIB_TL | This table holds the attributes labels. |
ORCV_CFA_GEN_VIEW_GROUP | This table holds the group IDs to generate CFA views by batch ORCV_COMMON_CFA_GEN_JOB. |
Packages
Name | Function | Description |
---|---|---|
ORCV_COMMON_CFA | GEN_VIEW_GRP | Generates views group according input parameters (I_entity_id, I_entity_table, I_group_set_id, I_group_id). |
GEN_VIEW_GRP_ BY_GRP |
Generates views group according input parameter (I_group_id). Calls GEN_VIEW_GRP with all parameters with NULL value except I_group_id. | |
ORCV_APEX_CFA_UI | SAVE_DATA | Saving data to table (staging or temporary table as defined on ORCV_CFA_ENTITY table). This function calls the functions in ORCV_APEX_CFA package. |
ORCV_APEX_CFA | GET_ATTRIBUTES | Sets attributes table object based on GROUP_ID. |
PROCESS_DATA | Prepares data to be validated and saved to table (staging or temporary table as defined on ORCV_CFA_ENTITY table). | |
VALIDATE_DATA | Validates if the data is consistent with the rules defined on ORCV_CFA_ATTRIBUTES table. | |
GET_SAVE_QUERY | Gets one query to save data to table (staging or temporary table as defined on ORCV_CFA_ENTITY table). | |
ORCV_CVAL_CFA | VALIDATE | Function to validate CFAs data. |
ORCV_COMMON_CFA_ GEN_BATCH |
PRE_PROCESSOR | Insert into ORCV_THREAD_CONTROL table all groups to generate view, groups must be in table ORCV_CFA_GEN_VIEW_GROUP. |
PROCESSOR | Function to generate the Group View calling ORCV_COMMON_CFA.GEN_VIEW_GRP_BY_GRP |
Configuration
The following is an example of a potential CFA configuration for Event Planning:
# | Step | Example |
---|---|---|
1 | Add Entity | INSERT INTO orcv_cfa_entity (entity_id, entity_table, cfa_table, cfa_tmp_table, ext_entity_id) VALUES ('EVENT', 'PCEP_EVENT', 'ORCV_PCEP_EVENT_CFA', NULL, NULL); |
2 | Add Entity Key | INSERT INTO orcv_cfa_entity_key (entity_id, entity_table, key_col, key_number, data_type) VALUES ('EVENT', 'PCEP_EVENT', 'EVENT_ID', 1, 'NUMBER'); |
3 | Add Attribute Group Set | INSERT INTO orcv_cfa_attrib_group_set (group_set_id, group_set_desc, entity_id, entity_table, display_seq) VALUES (ORCV_CFA_ATTRIB_GROUP_SET_SEQ.NEXTVAL, 'Group set – Event', 'EVENT', 'PCEP_EVENT', 1); |
4 | Add Attribute Group Set translation | INSERT INTO orcv_cfa_attrib_group_set_tl (group_id, lang, group_set_desc) VALUES (ORCV_CFA_ATTRIB_GROUP_SET_SEQ.CURRVAL, 1, 'Group set desc translated'); |
5 | Add Attribute Group | INSERT INTO orcv_cfa_attrib_group (group_id, group_desc, group_set_id, group_default_id, group_view_name, display_seq) VALUES (ORCV_CFA_ATTRIB_GROUP_SEQ.NEXTVAL, 'Attrib Grupo #1 – Event', NULL, NULL, 'NB_CFA_PCEP_GROUP1',1); |
6 | Add Attribute Group translation | INSERT INTO orcv_cfa_attrib_group_tl (group_id, lang, group_desc) VALUES (ORCV_CFA_ATTRIB_GROUP_SEQ.CURRVAL, 1, 'Group desc translated'); |
7 | Add Attributes | INSERT INTO orcv_cfa_attrib (attrib_id, attrib_desc, group_id, view_col_name, storage_col_name, display_Seq, data_type, ui_widget, code_type, default_Value, enable_ind, value_req, maximum_length, lowest_allowed_value, highest_allowed_value) VALUES (ORCV_CFA_ATTRIB_SEQ.NEXTVAL, 'Attrib event 1', ORCV_CFA_ATTRIB_GROUP_SEQ.CURRVAL, 'attr event-1', 'VARCHAR2_1', 1, 'VARCHAR2', 'TI', NULL, 'Default-1' , 'Y', 'Y', NULL, NULL, NULL); |
8 | Add Attributes translation | INSERT INTO orcv_cfa_attrib_tl (attrib_id, lang, attrib_desc) VALUES (ORCV_CFA_ATTRIB_SEQ.CURRVAL, 1, 'Attrib event 1 translated'); |
The tables defined for the CFA must respect the expected structure, so the framework is able to insert records to it.
Column | Type | Notes |
---|---|---|
PRIMARY_KEY_1 to 5 | Same as ORCV_CFA_ENTITY_KEY table definition for the key. | Column names and types must match with ORCV_CFA_ENTITY_KEY configuration. |
GROUP_ID | NUMBER(10) | This field will be populated with the GROUP_ID defined for the CFA. |
VARCHAR2_1 to 10 | VARCHAR2(250) | 10 VARCHAR2 columns named VARCHAR2_1, VARCHAR2_2, VARCHAR2_N ... VARCHAR2_10. |
NUMBER_11 to 20 | NUMBER | 10 NUMBER columns named NUMBER_11, NUMBER_12, NUMBER_N … NUMBER_20. |
DATE_21 to 25 | DATE | 5 DATE columns named DATE_21, DATE_22, DATE_N … DATE_25. |
After configuration and tables are created, it is required to execute the batch to generate the views required for the CFA. To do it is required to insert the new group ID to ORCV_CFA_GEN_VIEW_GROUP and execute batch ORCV_COMMON_CFA_GEN_PROCESS_ADHOC. After the CFA views are generated for the groups in ORCV_CFA_GEN_VIEW_GROUP the entries are removed.
Other implementation Considerations
This section describes implementation considerations.
Custom Validations
It is possible to execute validations by using Custom Validations framework. Those are controlled in the application to which the CFA is being added to the entity. For the Custom Validations groups where those validations are required new entries should be added with the new functions to validate the CFAs values. More details are available in the Custom Validations chapter.
Example:
# | Step | Example |
---|---|---|
1 | Define a CFA validation for Event Planning. | INSERT INTO orcv_cval_group_detail (group_id, function, error_key, seq_no, status) values ('PCEP_OFFER_WORKSHEET', 'ORCV_PCEP_CVAL_OFFER.VALIDATE_OFFER_CFA', 'ORCV_PCEP_CVAL_ERR.ERR$PCEP_OV_VLD_OCFA', 26, 'A'); |
CFA Group View Generator Batch
The CFA Group View Generator Batch service creates the views for CFA Groups. Those views are required to maintain CFAs data. The batch process uses the table ORCV_CFA_GEN_VIEW_GROUP to find the views that are to be generated. When new attributes are created, changed, or delete from the attributes group it is necessary recreate the view.
- Job: ORCV_COMMON_CFA_GEN_JOB
- Frequency: Ad-hoc
- Dependency: None
- Inter Scheduler Dependency: None
Figure 27-5 CFA Group View Generator Batch Overview

Configuration
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_COMMON_CFA_GEN_JOB |
MAX_CHUNK_SIZE | 1 |
MAX_CONCURRENT_THREADS | 1 |
RETRY_LOCK_ATTEMPTS | 3 |
RETRY_WAIT_TIME | 3 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
Operations
Frequency: Ad-hoc
Base URL: <BASE_URL>/ords/mfcs/orcv/common/<URL_PATH>
URL PATH | REQUEST METHOD | REQUEST BODY | AFFECTED TABLES |
---|---|---|---|
batch/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_COMMON_ CFA_GEN_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG |
batch/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":<EXEC_ID>, "jobName":" ORCV_COMMON_ CFA_GEN_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG |
batch/log | GET |
URL query parameters: /log?jobName= ORCV_COMMON_CFA_GEN_JOB& executionId=<EXEC_ID>& logDate=YYYY-MM-DD |
N/A |
batch/kill | POST |
{ "executionId": <EXEC_ID>, "jobName":"ORCV_COMMON_ CFA_GEN_JOB" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
batch/status | GET |
URL query parameters: /status?jobName=ORCV_COMMON_ CFA_GEN_JOB &executionId=<EXEC_ID> |
N/A |
/ping | GET | Empty | N/A |
Rules Engine Framework
This section describes the Rules Engine Framework.
Process Overview
Rule Engine framework acts as an engine for rule execution, allows rules to be configured in either batch or function mode and execute them via a single point of entry web service.
Rules defined as batch mode are executed using the Batch Engine Framework.
The web service requests require the rule key identifier in parameter RULE_KEY in the request payload.
Database Objects
Object Type | Name | Sub Object Type | Sub Object Name | Description |
---|---|---|---|---|
Table | ORCV_RLEG_RULE | NA | NA |
This table holds the rule definition. The column program name is a concatenation of ORCV_RLEG_ and rule key in upper case, it will represent the reference to the table ORCV_BATCH_CONFIG in case the rule mode is batch. |
Table |
ORCV_RLEG_ FUNCTION |
NA | NA | This table contains the functions list associated to the rule. |
Table |
ORCV_RLEG_ PARAMETERS |
NA | NA | This table contains the parameters associated to the rule. |
Table | ORCV_RLEG_ATTR | NA | NA | This table contains the attributes associated to the rule. |
Table |
ORCV_RLEG_MAP_ ATTR_HEAD |
NA | NA | This table contains the mapping of the columns that will be displayed in the Rule Attributes dynamic grid. |
Table |
ORCV_RLEG_MAP_ ATTR_DETAIL |
NA | NA | This table contains details of the mapping of the columns that will be displayed in the Rules Attributes dynamic grid. |
Package | ORCV_RLEG_ORDS | Function |
WRP_JSON_TO_STG_ OBJECT |
Deconstructs the body CLOB from the web service request and retrieves the rule key parameter. |
Function | BATCH_START_ORDS | Calls WRP_JSON_TO_STG_OBJ and, if the rule mode is batch, calls the batch engine framework with the rule program name as the batch to be executed. | ||
Function |
BATCH_RESTART_ ORDS |
Calls WRP_JSON_TO_STG_OBJ and in case the rule mode is batch calls the batch engine framework with the rule program name as the batch to be executed and the execution id to be restarted. |
Configuration
# | Step | Example |
---|---|---|
1 | Insert rule key into ORCV_RLEG_RULE | INSERT INTO ORCV_RLEG_RULE (ROW_ID, RULE_KEY, RULE_NAME, APP_ALIAS, RULE_MODE, STATUS) VALUES (ORCV_RLEG_RULE_SEQ.NEXTVAL, 'SPIM_ITEM_EVT_PND', 'ORCV_RLEG_SPIM_EVENT_ITEM_JOB','SPIM','B','A'); |
2 | Insert the mapping of the columns into ORCV_RLEG_MAP_ATTR_HEAD | INSERT INTO ORCV_RLEG_MAP_ATTR_HEAD (RULE_KEY, VIEW_NAME, VALIDATION_FUNC) VALUES (‘SPPY_QA_DEFECT’, ‘ORCV_V_SPPY_RLEG_QA_DEFECT’, ‘ORCV_SPPY_RLEG_RULE_ATTR_VAL.SUPP_OR_PO_TYPE_IS_NOT_NULL’); |
3 | Insert details of the mapping of the columns into ORCV_RLEG_MAP_ATTR_DETAIL | INSERT INTO ORCV_RLEG_MAP_ATTR_DETAIL (RULE_KEY, SEQ, COLUMN_ATTR, LABEL_VIEW, LABEL_APEX, TYPE, LIST_VALS, REQUIRED, DEFAULT_VALUE, MAX_SIZE) VALUES (‘SPPY_QA_DEFECT’, 1, ‘NUMBER_1’, ‘SUPPLIER’, ‘Supplier’, ‘SELECTLIST’, ‘ORCV_V_SPPY_RLEG_SUPP_TL’, 0, NULL, NULL); |
4 | Insert batch engine configuration for the rule key program name into ORCV_BATCH_ENGINE | INSERT INTO ORCV_BATCH_ENGINE (PROGRAM_NAME, SEQ_NO, PRE_PROCESSOR, PROCESSOR, POST_PROCESSOR, ENABLED, PURGE_PROGRAM) VALUES ('ORCV_RLEG_SPIM_ITEM_EVT_PND', 1, 'ORCV_SPIM_EVENT_ITEM_BATCH.PRE_PROCESSOR', 'ORCV_SPIM_EVENT_ITEM_BATCH.PROCESSOR', NULL, 'Y', 'N'); |
5 | Insert batch configuration for the rule key program name into ORCV_BATCH_CONFIG | INSERT INTO ORCV_BATCH_CONFIG (PROGRAM_NAME, MODULE_HIER_ID, MAX_CHUNK_SIZE, MAX_CONCURRENT_THREADS, RETRY_LOCK_ATTEMPTS, RETRY_WAIT_TIME, RETRY_MAX_ATTEMPTS_COUNT, RETRY_ORDERED, RETRY_IND) VALUES ('ORCV_RLEG_SPIM_ITEM_EVT_PND', ORCV_COMMON_UTILS.GET_MODULE_HIER_ID(I_module_id => 'ITEMS_MANAGEMENT', I_sub_module_id_1 => 'EVENTS'), 1000, 4, 3, 3, 3, 'N', 'N'); |
Web Service
Authorization Method: OAuth 2.0
Base URL: <BASE_URL>/ords/mfcs/orcv/ruleengine/rules/<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
batch/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_RLEG_JOB", "agentExecutionId":"", "parameters":"RULE_KEY=<RULE_KEY>" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG |
batch/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId": <EXEC_ID>, "jobName":"ORCV_RLEG_JOB", "agentExecutionId":"", "parameters":"RULE_KEY=<RULE_KEY>" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG |
batch/log | GET |
URL query parameters: /log?jobName=ORCV_RLEG_JOB &executionId=<EXEC_ID>&logDate=YYYY-MM-DD |
N/A |
batch/kill | POST |
{ "executionId": <EXEC_ID>, "jobName":"ORCV_RLEG_JOB", } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG |
batch /status | GET |
URL query parameters: /status?jobName=ORCV_RLEG_JOB &executionId=<EXEC_ID> |
N/A |
ping | GET | Empty | N/A |
Profile
This section describes the Profile application.
Implementation Overview
This section provides an Implementation Overview.
Functionality
The Profile application will be used to manage existing and new users. Using this application an administrator can associate a user with a department and assign user permissions to the applications.
Retail Supply Chain Hub functional security supports a role-based, declarative model where resources are protected by roles that are assigned to users. In this manner, an application role becomes the container that grants permissions to its members to access the application tasks, screens, and functionalities within.
Roles, also referred to as Job Roles, align with the application’s functionalities. Roles are used to classifying users based on job responsibilities and actions to be performed in the application. When a user logs into the application, based on the roles assigned to the user, the system determines which roles have been granted to the user, and the system features are enabled accordingly.
The roles definition follows a hierarchy permission type definition from lower to high priority inheriting the previous definition:
- Access to the Application
- No Access to Entity
- View Only
- Edit Access
- Approval
For all the applications a denomination will be followed considering the application alias, the entity, and the permission type definition. For example, for Procure to Pay, the application alias is SPPP, one of the entities supported in Purchase Orders with ID ORDER, and applying the hierarchy permission type definition logic is:
- ORCV_SPPP_APP_JOB – user with access to the application
- ORCV_SPPP_ORDER_NA_JOB – the user doesn’t have access to entity Purchase Orders in Procure to Pay
- ORCV_SPPP_ORDER_VIEW_JOB – user can view purchase order details in Procure to Pay.
- ORCV_SPPP_ORDER_EDIT_JOB – user can view and edit purchase order details in Procure to Pay.
- ORCV_SPPP_ORDER_APPR_JOB – user can view, edit, and approve purchase orders in Procure to Pay.
Configuration
This section describes the Profile configurations.
Security
To have access to the applications it is required to assign roles to users, Profile application requires the user to be created in Supplier Evaluation with the required permissions.
The application level security is defined in table ORCV_SEC_APP_ROLES.
Column Name | Description | Example |
---|---|---|
USER_ID | Unique identifier for the user | JOHN.DOE@CUSTOMER.COM |
APP_ALIAS | Unique identifier for application alias. | SPCH |
ENTITY_ID | This field contains entity ID | NA |
PERMISSION_TYPE | This field contains the user permissions to applications | APP |
NOTIFICATION_IND | This field contains if notifications are active: (Y)es,(N)o | N |
ROLE_NAME | This field contains user role | ORCV_SPCH_APP_JOB |
Once the user is created in Supplier Evaluation with the required permissions the user will be assigned to one of the 4 Application Roles:
- RETAILER_ADMINISTRATOR: Role name that determines user type is retailer and admin.
- RETAILER_USER: Role name that determines user type is retailer.
- SUPPLIER_ADMINISTRATOR: Role name that determines user type is supplier and admin.
- SUPPLIER_USER: Role name that determines user type is supplier.
Any record that is being mastered in Supplier Evaluation is marked as read-only in the Profile application and even an administrator user type will not be able to change this information, only in Supplier Evaluation or IDCS. The access to the multiple modules in Retail Supply Chain Hub is managed in Profile.
The admin permission allows a retailer the access to Profile application in admin mode which allows the configuration of new suppliers and define the access level for each user and entity. If the user is a supplier user, then in Profile the user can define the permissions of each supplier user to their own suppliers.
Application Configuration
This section describes Application Configurations.
Application Options
Some applications require options to be configured at different levels, Global applied to the complete application and Supplier Defaults to define the default configuration of suppliers.
Those configurations can be defined in the ORCV_PRFL_CFG_APP_OPTIONS (more details can be found in the Data Model document).
Column Name | Description |
---|---|
APP_ALIAS | The App Alias of the application to be configured |
ATTRIBUTE_ID | Attribute identifier |
ATTRIBUTE_DESC | Attribute description |
ATTRIBUTE_VALUE | Value of the attribute |
CFG_LEVEL | Configuration level: (G)lobal, (S)upplier Defaults, (C)ustomers Defaults |
Supplier Configurations
Configurations for Suppliers at the application level are also required and those can be defined in two tables ORCV_PRFL_CFG_APP_SUPP and ORCV_PRFL_CFG_APP_SUPP_OPTIONS, the first defines the applications configured for suppliers, and the second the details of the options for the suppliers.
Association between suppliers and applications is defined in ORCV_PRFL_CFG_APP_SUPP (more details can be found in Retail Supply Chain Hub Data Model document).
Column Name | Description |
---|---|
SUPPLIER | Supplier ID |
APP_ALIAS | Application Alias |
Application Supplier Options are defined in ORCV_PRFL_CFG_APP_SUPP_OPTIONS (more details can be found in the Data Model document).
Column Name | Description |
---|---|
SUPPLIER | Supplier ID |
APP_ALIAS | Application Alias |
ATTRIBUTE_ID | Attribute identifier, aligned with ORCV_PRFL_CFG_APP_OPTIONS |
ATTRIBUTE_VALUE | Value of the attribute |
Other Implementation Considerations
This section provides additional Implementation Considerations.
Specific Batch Configuration
This section describes specific batch configurations.
IDCS Synchronization Batch
Synchronizes users from IDCS to Profile configuration tables ORCV_SEC_USER and ORCV_SEC_USER_APP. It will create non existing users and inactivate the removed users from IDCS. Only users with the roles identified in the SECURITY System Parameters for parameters RETAILER_ADMIN_ROLE, RETAILER_ROLE, SUPPLIER_ADMIN_ROLE and SUPPLIER_ROLE will be considered and only one can be assigned to each individual user otherwise the batch will return an error. Existing entries identified with ORIGIN different from IDCS will not be changed by the batch.
- Job: ORCV_PRFL_IDCS_SYNC_JOB
- Frequency: Ad-hoc
- Dependency: None
- Inter Scheduler Dependency: None
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_PRFL_IDCS_SYNC_JOB |
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 | Description |
---|---|
PRSS | Profile Supplier Status |
PRSU | Profile Supplier Undefined |
USPM | User Permission |
USST | User Status |
Operations
This section describes available operations.
Batch by Module
This section describes the batch by module.
IDCS Synchronization Batch
Authentication Method: OAuth2
BaseURL: <BASE_URL>/ords/mfcs/orcv/profile/batch/idcssync/batch/<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
start | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "", "jobName": "ORCV_PRFL_IDCS_SYNC_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SEC_USER ORCV_SEC_USER_APP ORCV_SEC_USER_APP_TMP ORCV_SEC_USER_TMP |
restart | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_PRFL_IDCS_SYNC_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SEC_USER ORCV_SEC_USER_APP ORCV_SEC_USER_APP_TMP ORCV_SEC_USER_TMP |
log | GET |
URL query parameters: /log?jobName=ORCV_PRFL_IDCS_SYNC_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
kill | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_PRFL_IDCS_SYNC_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SEC_USER ORCV_SEC_USER_APP ORCV_SEC_USER_APP_TMP ORCV_SEC_USER_TMP |
status | GET |
URL query parameters: /status?jobName=ORCV_PRFL_IDCS_SYNC_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
status/all | GET |
URL query parameters: /status?<EXEC_IDs> |
N/A |
config | GET | Empty | N/A |
Configuration Management
The configuration management application is an aggregator of configuration pages links for different applications. Depending on the roles assigned to a user different application configuration links can be visible to the user.
Configuration management setup is configurable in the table ORCV_CFGM_CONFIG_LINK, and by default has the following configuration:
Column Name | Example | Description |
---|---|---|
LINK_ID | RLEG_SPCH | This field contains the key uniquely identifying each row on the table. |
LINK_TITLE | Rule Engine Configuration | This field contains the link configuration label. |
LINK_TEXT | NA | This field contains the link configuration description. |
APP_ID | 100801010 | This field contains the application id of the configuration link. |
APP_ALIAS | RLEG | This field contains the application alias. |
PAGE_NO | 100 | This field contains the default page number of the configuration link. |
ICON_IMG | fa fa-server-play | This field contains the icon image |
PARENT_APP_ALIAS | SPCH | This field contains the hub alias in which this configuration link entry is displayed. |
Inventory
Inventory is a module available in Retail Supply Chain Hub. This chapter describes the implementation considerations and the operation details for this application.
Functionalities
Supply Chain Hub works as the entry point to a group of applications that combines retailers and suppliers in the same portal. Depending on which applications are available in the Hub the users will be presented with a summary in the homepage and according to the user type (supplier or retailer) will have visibility on Operational News and Queries.
Operational News is a functionality that allows the retailers to share news with targeted suppliers in a central place, the retailers have permissions to create and edit them while the suppliers can only view them.
Another functionality is Queries, this functionality aims to allow the dialog between retailers and suppliers regarding a specific entity, like a Purchase Order or Shipment. This way the dialog is focused on that specific entity and makes easier the context.
Working as true Hub, Supply Chain Hub adapts to the applications that are installed in the system not only with different charts being presented in the homepage but also with a menu with access to all those applications so switching between applications keeps the context of the user in a seamless experience.
Configuration
This application has multiple configurations to support its functionalities and in the subsections below those configurations are highlighted.
Other Implementation Considerations
This section describes additional Implementation Considerations.
Materialized Views
This application requires some results to be materialized in tables using the Materialized View Framework described in MCEFIO and below is the list for this application.
Specific Batch Configuration
This section describes specific batch configurations.
Daily Item Loc History
Loads history table ORCV_INV_DAILY_IL_HIST with data from ORCV_MV_INV_IF_TRAN_DATA snapshot with currencies converted to the local currency aggregated by day, item, location, transaction type and disc type.
- Job: ORCV_INV_DAILY_IL_HIST_JOB
- Frequency: Nightly
- Dependency: None
- Inter Scheduler Dependency: None
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_INV_DAILY_IL_HIST_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 |
Weekly Item Loc History
Loads history table ORCV_INV_WEEKLY_IL_HIST with data from ORCV_INV_DAILY_IL_HIST aggregated by end of weekday, item, location, transaction type and disc type.
- Job: ORCV_INV_WEEKLY_IL_HIST_JOB
- Frequency: Nightly
- Dependency: ORCV_INV_DAILY_IL_HIST_JOB
- Inter Scheduler Dependency: None
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_INV_WEEKLY_IL_HIST |
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 |
Operations
This section describes operations.
Materialized Views Refresh Details
This section describes Materialized Views Refresh Details.
ORCV_MV_INV_IF_TRAN_DATA
Column | Description | Value |
---|---|---|
Result Synonym | Name of the synonym pointing to the result table. | ORCV_INV_IF_TRAN_DATA_A_R |
Result Table A | Name of _A result table. | ORCV_INV_IF_TRAN_DATA_B_R |
Result Table B | Name of _B result table. | ORCV_V_INV_IF_TRAN_DATA_R |
Source View | The View that contains business logic to be used to populate the result table. | ORCV_V_INV_IF_TRAN_DATA_RC |
Driving View | This field contains the view to distribute the refresh process. |
ORCV_COMMON_MV_REFRESH. COMMON_PRE_PROCESSOR |
Pre-Processor | Name of the pre-process procedure if applicable. |
ORCV_INV_MV. CHECK_TRAN_DATA |
Check Function | Name of the check function to validate if there is a need to refresh or if there are any batch dependencies. | NA |
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. | LOCATION |
ORCV_MV_INV_ITEM_LOC_SOH
Column | Description | Value |
---|---|---|
Result Synonym | Name of the synonym pointing to the result table. | ORCV_INV_ITEM_LOC_SOH_A_R |
Result Table A | Name of _A result table. | ORCV_INV_ITEM_LOC_SOH_B_R |
Result Table B | Name of _B result table. | ORCV_V_INV_ITEM_LOC_SOH_R |
Source View | The View that contains business logic to be used to populate the result table. | ORCV_V_INV_ITEM_LOC_SOH_RC |
Driving View | This field contains the view to distribute the refresh process. |
ORCV_COMMON_MV_REFRESH. COMMON_PRE_PROCESSOR |
Pre-Processor | Name of the pre-process procedure if applicable. | NA |
Check Function | Name of the check function to validate if there is a need to refresh or if there are any batch dependencies. | NA |
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. | LOC |
Batch by Module
This section describes batches by module.
Daily Item Loc History
Authentication Method: OAuth2
BaseURL: <BASE_URL>/ords/mfcs/orcv/merch/inventory/dailyilhist/URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
start | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "", "jobName": " ORCV_INV_DAILY_IL_HIST_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_INV_IF_TRAN_DATA_CNVCURR ORCV_INV_DAILY_IL_HIST |
restart | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_INV_DAILY_IL_HIST_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_INV_IF_TRAN_DATA_CNVCURR ORCV_INV_DAILY_IL_HIST |
log | GET |
URL query parameters: /log?jobName=ORCV_INV_DAILY_ IL_HIST_JOB &executionId=<EXEC_ID>&logDate= YYYY-MM-DD |
N/A |
kill | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_INV_DAILY_IL_HIST_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_INV_IF_TRAN_DATA_CNVCURR ORCV_INV_DAILY_IL_HIST |
status | GET |
URL query parameters: /status?jobName=ORCV_INV_DAILY_IL_ HIST_JOB&executionId=<EXEC_ID>& logDate=YYYY-MM-DD |
N/A |
status/all | GET |
URL query parameters: /status?<EXEC_IDs> |
N/A |
config | GET | Empty | N/A |
Weekly Item Loc History
Authentication Method: OAuth2
BaseURL: <BASE_URL>/ords/mfcs/orcv/merch/inventory/wklyilhist/URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
start | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "", "jobName": " ORCV_INV_WKLY_IL_ HIST_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_INV_WEEKLY_IL_HIST |
restart | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_INV_WKLY_IL_ HIST_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_INV_WEEKLY_IL_HIST |
log | GET |
URL query parameters: /log?jobName=ORCV_INV_WKLY_IL_ HIST_JOB &executionId=<EXEC_ID>&logDate= YYYY-MM-DD |
N/A |
kill | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": <EXEC_ID>, "jobName": "ORCV_INV_WKLY_IL_ HIST_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_INV_WEEKLY_IL_HIST |
status | GET |
URL query parameters: /status?jobName=ORCV_INV_WKLY_IL_ HIST_JOB &executionId=<EXEC_ID>&logDate= YYYY-MM-DD |
N/A |
status/all | GET |
URL query parameters: /status?<EXEC_IDs> |
N/A |
config | GET | Empty | N/A |
Queries
This section describes the common functionality and configurations available for Queries.
Functionalities
Queries aims to allow the dialog between retailers and suppliers regarding a specific entity, like a Purchase Order or Shipments. Therefore, it is possible for multiple users to discuss topics about a particular entity in its own context.
Configuration
This application has multiple configurations to support its functionalities and, in the subsections, below, those configurations are highlighted.
Application Options
Application Options core functionality is detailed in Profile, Queries has the following Application Options defined.
The application options are defined in table ORCV_PRFL_CFG_APP_OPTIONS.
App Alias | Attribute | Description | Default Value | Configuration Level |
---|---|---|---|---|
QUERY | QUERY_CUT_OFF | Number of days post closure, a query is cut off from the Queries Screen | 14 | Global |
Security
The application security is also described in Profile, the permissions defined for this application are defined below.
The security is defined in table ORCV_SEC_APP_ROLES.
App Alias | Entity | User Type | Permission Type | Role Name | Role Description |
---|---|---|---|---|---|
QUERY | NA | NA | APP | ORCV_QUERY_APP_JOB | Query Access |
System Parameters
Listed below is the list of configurations at the system level that are used by this application. Those configurations include configurations specific to the module.
The parameters are defined in table ORCV_SYSTEM_PARAMETERS.
Area | Parameter | Description | Value 1 | Value 2 |
---|---|---|---|---|
CONFIG | QUERY_EXIST_CLASS | Class used in the APEX button where there are new updates to the queries for the user. | t-Button--danger | - |
CONFIG | QUERY_N_EXIST_CLASS | Class used in the APEX button where there are no new updates to the queries for the user. | t-Button--hot | - |
PURGE | PURGE_DAYS | Default purge Period. | ORCV_QUERY_HEAD | 120 |
QUERY | AUTO_CLS_QUERY_DELAY | Number of days to automatically close Queries. | 7 | - |
Codes
Certain operations require codes to define the options available at system level. Below you can find the list of code types and the codes available, the sequence and their description.
The codes are defined in tables ORCV_CODE_HEAD and RCV_CODE_DETAIL.
Code Type | Description |
---|---|
QMST | Query Message Status |
QRST | Query Status Description |
Batch WebServices
This section describes the list of batch jobs used by this application.
ORCV_QUERY_MAINTENANCE_JOB
Description: Query Maintenance Job closes queries without updates for a certain number of days defined in system parameter AUTO_CLS_QUERY_DELAY. This batch job is based on the Batch Framework detailed in this document.
Pre-Dependencies: None
Post-Dependencies: None
Web Services:
- Authorization Method: OAuth 2.0
- Frequency: Ad-hoc
- URL: <BASE_URL>/ords/mfcs/orcv/query/maintenance/<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
batch/start | POST | Empty |
ORCV_QUERY_HEAD ORCV_QUERY_DETAIL |
batch/restart | POST |
{ "executionId": <EXEC_ID> } |
ORCV_QUERY_HEAD ORCV_QUERY_DETAIL |
batch/log | GET |
URL query parameters: /log?jobName=ORCV_QUERY_MAINTENANCE_JOB &executionId=<EXEC_ID>&logDate=YYYY-MM-DD |
N/A |
batch/kill | POST |
{ "executionId": <EXEC_ID> } |
N/A |
batch/status | GET |
URL query parameters: /status?jobName=ORCV_QUERY_MAINTENANCE_JOB &executionId=<EXEC_ID>&logDate=YYYY-MM-DD |
N/A |
/ping | GET | Empty | N/A |
Upload and Download Framework
This section describes the common functionality, configurations, and process overview available for Upload Download Framework.
Functionalities
Upload Download Framework adds to Retail Supply Chain Hub a common core functionality to process upload and download of files that can be used by multiple modules in applications and integrations.
The framework includes the Upload Download application to have direct access to all the templates available for the user so they can download a blank template and upload a new file based on those blank templates. It is also possible to check the results of the upload where the user can validate if it was processed successfully or if any error occurred with the details of the failure. Other applications import the Upload Download application which allows the upload of files using the framework in the context of the application itself.
Note: The column SEQ_NO_MANDATORY in ORCV_S9T_WKSHT table defines which lines in the uploaded file must be processed. In case the value is defined the Upload Download Framework checks the value against SEQ_NO in ORCV_S9T_WKSHT_COLS table and if the line does not have value for the column the line is discarded and not processed. In case SEQ_NO_MANDATORY is NULL all lines are processed.
Process Overview
Figure 27-9 Upload/Download Process Overview

Upload
From an upload perspective, the information being uploaded follows the defined template structure accordingly and will be processed synchronously or asynchronously based on the parameter being passed in the REST service call payload.
-
The upload can be initiated by APEX, or any external entity.
-
It can be configured for each template and file type in column AVAILABLE_FOR of table ORCV_S9T_TEMPLATE_FILE_TYPE that indicates whether it is available for APEX, ORDS, or ALL.
-
To start the upload, it will be required at least to pass:
-
The template type
-
The corresponding action type (in this case Upload)
-
The processing type: ASYNC or SYNC
-
What kind of file type: XLSX / JSON
-
And correspondent file object
-
- The Java service will parse the request and check the required template format for the operation and accordingly will stage that information on the database using ORDS.
- Depending on the operation type the return to the user can be just the process identifier, for asynchronous operations or the information if it was successful or not the upload in synchronous operation.
- Additional to the normal upload process, this can trigger an integration that can result in a corresponding notification to the user once all the records or successfully integrated or not.
Note:
Upload Download Framework has a size limit of 20mb per compressed file and files larger than that might not be possible to process.APEX
Considering that we do not have a continuous flow of authorization between APEX/Java/ORDS it will be required to register the request from APEX associated with a specific process on Java so that once the ORDS is invoked we can understand who the owner of this upload process is and enable data filter policy at database side.
During the request to ORDS, the process identifier will be handover to ensure that the correct database context will be injected during the upload process.
Figure 27-10 Upload and Download Framework Oracle APEX Upload Implementation Overview

- User Login on Apex application.
- The user session and roles will be injected using the security framework.
- APEX prehook sets the database context for the user.
- The user specifies the template and uploads the file.
- The S9T process table will keep the information about the user and session.
- During the process, the S9T process will check the information about the process identifier that was received and will inject the context into the database.
- With this information the process will check what user permissions are; for example, if the user has access to supplier information or if can upload the required information.
JSON Upload
The upload in JSON follows the same process flow as the upload in XLSX from APEX UI but is only available as a ReST web service, the request payload structure is based on the template key defined on ORCV_S9T_TEMPLATE, ORCV_S9T_WKSHT, and ORCV_S9T_WKSHT_COLS tables.
For a template to be enabled for JSON upload, the template key needs to have a record in table ORCV_S9T_TEMPLATE_FILE_TYPE where file_type is JSON.
The upload with JSON implements Client Credentials security flows described on chapter ‘Oracle REST Data Services (ORDS) and Application Express (APEX)’.
Configuration requirements for request with Client Credential:
- IDCS Application scope mapped to the appropriate S9T role from ORCV_S9T_TEMPLATE_EVENT_ROLE for the template upload action on ORCV_SEC_ROLES_SCOPES.
- User created on IDCS with the name matching the IDCS application client ID used to request the token.
- User configured on Profile application with the appropriate roles and security level permission for the actions that want to be performed via JSON upload.
On upload as JSON, the columns keys defined for the template key on ORCV_S9T_WKSHT_COLS are mapped on the upload payload as attributes with any underscore character removed and the next character after it in uppercase, transformed to camel case.
Download
From a download perspective, it will be possible to download a blank template in the format required or with data accordingly to data restrictions and filter criteria.
Figure 27-11 Download Flow

-
User Login on Apex application.
-
The user session and roles will be injected using the security framework.
-
APEX prehook sets the database context for the user.
-
The user specifies the template and uploads the file.
-
APEX request the download through a database call and not using the UPLDLND Java API.
-
The database will call the same PL\SQL method has exposed by ORDS.
-
Applying data filter policy and returning the corresponding JSON.
-
Get the credentials configured on APEX to do a call to the Java service.
-
Invokes the Java service with the JSON output from the database call.
-
The Java service based on JSON will do the transformation to the file type requested.
ORDS Download Processing Flow
After the Java Service sends the user information and file template, the ORDS service will try to complement this information to process the download.
The first step will be to use a function called WRP_JSON_TO_STG_OBJECT, which receives a JSON payload as the response from the Java service. This function will parse the JSON and retrieve information about the user, filter criteria, and template file.
Then, ORDS will use another function, BUILD_PROCESS_OBJ, to get more information about the template file structure such as how many worksheets and columns are part of this template.
Finally, to proceed to the action of Download, ORDS will call a generic function, PROCESS, responsible for validating the template file structure and will call another function responsible to perform the action.
Figure 27-12 ORDS Service Download Flow

Web Service
This section describes the web service.
ORDS
Authorization Method: OAuth 2.0
Base URL: <BASE_URL>/ords/mfcs/orcv/upldnld/<URL_PATH>
Excel Format
URL Path | Request Method | Request Body |
---|---|---|
/downloadui | POST |
{ "fileType": "XLSX", "downloadType": "D", "filters": [ { "filterValues": [ "FILTER1, FILTER2" ] } ], "templateKey": "TEMPLATE_KEY", "appCode": "APP_CODE" } |
JSON Format
URL Path | Request Method | Request Body |
---|---|---|
/upload | POST |
{ "templateKey": "SPIM_ITEM_DATA", "appCode": "SPIM", "isAsync": "Y", "fileType": "JSON", "fileName": "example.json", "file": { "data": { "userLang": "1", "worksheets": [ { "wkshtKey": "ITEM_HEADER", "lines": [ { "attributes": { "action": "NEW", "item": "1", "itemType": "SKU", "vpn": null, "supplier": 6200, "status": "A", "vendorDesc": "TestSKULC_MultiSupps", "itemDesc": "Example", "inventoryInd": "Y", "orderableInd": "Y", "sellableInd": "Y", "diff1": null, "diff2": null, "diff3": null, "diff4": null, "dept": 3081, "class": 2, "subclass": 1, "brandName": null, "seasonPhase": null, "onSaleDate": null, "offSaleDate": null, "stockAvailable": 2, "rrp": null, "ref1": null, "ref2": null, "ref3": null, "ref4": null, "ref5": null } } ] } ] } } } |
Materialized View Framework
The Materialized View Framework will allow a configurable approach to create, maintain, and refresh data on tables based on the principle of materialized views.
Refresh Materialize View Web Service
Service that starts the refresh materialized view batch.
Frequency: Ad-hoc
Request Method: POST
Refresh Materialize View | |
---|---|
Url Path | <BASE URL>/ords/mfcs/orcv/common/refreshmv/batch/start |
Request Method | POST |
Sample Request Body |
{ "jobName": "ORCV_COMMON_MV_REFRESH_JOB", "parameters": "PROCESS_TYPE=<PROCESS_TYPE>||PROCESS_TYPE_VALUE=<RESULT_SYNONYM>" } |
Sample Success Message |
{ "executionId": 181, "status": "Submitted", "executionInfo": "null" } Response Code: 200 (Success) |
Parameters:
Parameter | Description | Mandatory |
---|---|---|
PROCESS_TYPE |
Valid values are: VIEW MOD (Module) CHAIN This value indicates the definition of process type value. |
Y |
PROCESS_TYPE_VALUE | Result Synonym from ORCV_REFRESH_MV_CONFIG by process_type | Y |
REFRESH |
Valid values are: F (force refresh without checking if the materialized view needs refreshing or checks for its dependency batch) |
N |
Database Objects
Object Type | Name | Sub Object Type | Sub Object Name | Description |
---|---|---|---|---|
Table |
ORCV_REFRESH_MV_ CONFIG |
NA | NA | Configuration of refresh process. |
Table |
ORCV_REFRESH_MV_ DEPENDENCY |
NA | NA | Configuration of refresh process dependency. |
Table Type |
ORCV_REFRESH_MV_ CONFIG_OBJ |
NA | NA | NA |
Package |
ORCV_COMMON_MV_ REFRESH |
Function |
COMMON_PRE_ PROCESSOR |
Function that segregates in threads all records the view source. |
Function | VALIDATION | Validate if there is a need to Refresh the Materialized View. | ||
Function | PRE_PROCESSOR | Prepare all records for Processor step, organize head when MOD or CHAIN, created detail views and set level dependency. | ||
Function | PROCESSOR | Apply the Rule like an example, truncated the current table A and fill table, by threads or not. | ||
Function | POST_PROCESSOR | Rebuild indexes, switch synonym if process step has executed with success. |
Configurations
Objects
Object Type | Name | Description |
---|---|---|
Table | ORCV_[APP/MODULE]_A_R | Table that will contain info. Used for synonym |
Table | ORCV_[APP/MODULE]_B_R | Table that will contain info. Used for synonym. |
View | ORCV_V_[APP/MODULE]_R | View with information to insert into A_R or B_R tables. |
View | ORCV_V_[APP/MODULE]_RC | View used to control threads. |
View | ORCV_V_[APP/MODULE]_VL | View used to control if there is new data. |
Note:
A Synonym ORCV_MV_[APP/MODULE] for ORCV_[APP/MODULE]_A_R table will need to be created.Purge Framework
This section describes the Purge Framework.
Overview
As part of Retail Supply Chain Hub, the mechanism for purging data from all applications is provided by a framework that can be configured with the entities, frequencies, and dependencies between them.
Out of the box, the purging framework can be configured with two different purging mechanisms implemented depending on the target table to be purged. If the table that needs to be purged is partitioned by a date type column, then a purge by date method can be used. In this scenario partitions older than the PURGE_DAYS system parameter will be dropped.
As an alternative, the approach is based on a delete view driving logic that requires a driving view configuration. This view will return the rows to be purged for each table and each thread, returning the selected column to filter the row, as FILTER_FIELDS, and the thread number that will purge the record. Both the filter column and the number of threads that can be configured in the table ORCV_PURGE_CONFIG.
Configuration
Affected Table | Purge Days |
---|---|
ORCV_THREAD_CONTROL | 30 |
ORCV_LOGS | 30 |
ORCV_BATCH_AUDIT_LOG | 30 |
ORCV_WORKSPACE_LOGIN | 2 |
Purge Web Service
Request Method: POST
Authorization Method: OAuth 2.0
Frequency: Nightly
URL: <BASE_URL>/ords/mfcs/orcv/merch/common/purge/<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
batch/start | POST | Empty | Configured purge tables |
batch/restart | POST |
{ "executionId": <EXEC_ID> } |
Configured purge tables |
batch/log | GET |
URL query parameters: /log?jobName=ORCV_COMMON_PURGE_JOB& executionId=<EXEC_ID>&logDate=YYYY-MM-DD |
N/A |
batch/kill | POST | Empty | N/A |
batch/status | GET |
URL query parameters: /status?jobName=ORCV_COMMON_PURGE_JOB& executionId=<EXEC_ID> |
N/A |
/ping | GET | Empty | N/A |
Events Framework
The Events Framework supports the overall managing of notifications on screen and alerts between all applications.
This includes notifying the user in-app whenever an event occurs of type Notification and alerting the configured users outside of the applications, through e-mail or others for events of type Alert. An Event can originate one or multiple Notifications and/or Alerts.
The notifications and alerts are driven by a template that can be defined at the database or calling external services, for example for:
- Alerts – For a specific alert it will be possible to configure an Oracle Business Intelligence Publisher that on request, through a ReST endpoint, return a Portable Document Format (PDF) that will be include has an attachment on the email.
- Notifications – For a specific notification will be possible to configure a URL that once the user receives the notification on app can to a contextual launch for example to a specific entity on the screen.
Considering that the framework is configurable it will be possible to extend existing events with new notifications or even alerts.
The Events Framework has a retry mechanism that is responsible for handling the cases when there is an error creating the alert, or it was created but cannot be sent.
Configuration
This section describes configurations.
Configuration Tables
Configuration table: ORCV_EVENT
This table will contain events.
Column Name | Description | Example |
---|---|---|
EVENT_TYPE | This field contains the event type uniquely identifying each row on the table | ORCV_PRICE_INT_PC_EVENT |
EVENT_DESC | This field contains the event description | Message error in RPCS integration |
ALERT_ENQUEUE_EVENT | This column holds the function for alert enqueue event | ORCV_EVENT_ALERT_AQP.ENQUEUE |
NOTIF_ENQUEUE_EVENT | This column holds the function for notif enqueue event | NULL |
STATUS | This field contains the event status | A |
Configuration table: ORCV_EVENT_NOTIF_CONFIG
The table contains the notifications configurations.
Column Name | Description | Example |
---|---|---|
EVENT_TYPE | Indicates the event type. The convention to create the event type ID is to use the first number as the identifier for a given entity | ORCV_PCEG_EVENT_NORMAL |
NOTIF_TEMPLATE_NAME | The Notification Event Template name. | PCEG_EVENT_NORMAL |
CONTENT_FUNCTION | This field contains the name of the function that returns content notification |
ORCV_PCEG_EVENT. CREATE_CONTENT_NOTIF |
QUEUE_NAME | This column holds the queue name of the template | ORCV_EVENT_NOTIF_AQ |
NUMBER_QUEUES | This column holds the number of queues | 4 |
MAX_RETRY | This field contains the max retry attempts count that was used in the process of retry | NULL |
WAIT_TIME_RETRY | This field contains the wait time to retry attempts | NULL |
STATUS | This field contains the status code of the event (A - Active; I - Inactive) | A |
DISCARD_BUSINESS_ID | Indicates if the notification will discard business ID, valid values (Y, N), Defaults "N" | Y |
Configuration table: ORCV_EVENT_NOTIF_TEMPLATE
The table containing the notifications templates.
Column Name | Description | Example |
---|---|---|
NOTIF_TEMPLATE_NAME | The Notification Event Template unique name. | SPIM_EVENT_SUBM_NEW_ITEM |
SEVERITY | The severity of the template Notification (1-Critical, 2_Important, 3-Normal) | 3 |
LAUNCHABLE | Indicates if the notification URL is launchable | N |
APPLICATION_CODE | Application where notification came from | SPIM |
NAME | This column contains the name of the template | SPIM_EVENT_SUBM_NEW_ITEM |
DESC_TEMPLATE | Free message text, to be associated to template | New Items submitted |
URL | This column contains the URL associated with the notif template | NULL |
NOTIF_TYPE | Notification type of the Notification Template | NULL |
NOTIF_TARGET | Notification target | NULL |
CONTENT_ENDPOINT_ID | Endpoint ID for the content | NULL |
Configuration table: ORCV_EVENT_NOTIF_TEMPLATE_TL
The table containing the notifications templates translations.
Column Name | Description |
---|---|
LANG | Contains a number that uniquely identifies a language |
SEVERITY | The severity of the template Notification (1-Critical, 2_Important, 3-Normal) |
LAUNCHABLE | Indicates if the notification URL is launchable |
APPLICATION_CODE | Application where notification came from |
NAME | This column contains the name of the template |
DESC_TEMPLATE | Free message text, to be associated to template |
URL | This column contains the URL associated with the notif template |
NOTIF_TYPE | Notification type of the Notification Template |
NOTIF_TARGET | Notification target |
CONTENT_ENDPOINT_ID | Endpoint ID for the content |
Configuration table: ORCV_EVENT_ALERT_CONFIG
Table that defines the alert templates for each Event Type.
Column Name | Description | Example |
---|---|---|
IS_ASYNC | This column holds the flag to show if the alert is asynchronous. | Y |
ATTRIBUTE_FUNCTION | This field contains the name of the function that returns the attributes for the event. |
ORCV_SPIM_EVENT_NOTIF_ALERT. GET_EVENT_ALERT_ATTRIBUTES |
ALERT_TEMPLATE_NAME | This column contains the unique name of the template | SPIM_EVENT_ITEMS_PENDING_ACTION |
EVENT_TYPE | This field contains the event type. | ORCV_SPIM_EVENT_ITEMS_PENDING |
STATUS | This field contains the status. Valid values (A-Active, I - Inactive). | A |
CONTENT_FUNCTION | This field contains the name of the function that return content alert. |
ORCV_SPIM_EVENT_NOTIF_ALERT. CREATE_CONTENT_ALERT_ PENDING_ACTION |
QUEUE_NAME | This column holds the queue name of the template. | ORCV_EVENT_ALERT_AQ |
NUMBER_QUEUES | This column holds the number of queues. | 4 |
MAX_RETRY | This field contains the max retry attempts count that was used in the process of retry. | 3 |
WAIT_TIME_RETRY | This field contains the wait time to retry attempts. | NULL |
Configuration table: ORCV_EVENT_ALERT_TEMPLATE
The table containing the alerts configuration.
Column Name | Description | Example |
---|---|---|
ALERT_TEMPLATE_NAME | This column contains the name of the template. | ORCV_SPIM_EVENT_ITEMS_PENDING |
ALERT_TYPE | Indicates what kind of alert the context corresponds to. Valid values (EMAIL, SMS, and so on). | |
FORMAT_FILE | Indicates what kind of title (HTML, CSV, or TEXT). | HTML |
CONTENT_VALUE | Content value. | NULL |
CONTENT_ENDPOINT_ID | Content WS endpoint ID. | NULL |
CONTENT_WALLET_KEY | Content WS endpoint wallet key. | NULL |
CONTENT_WALLET_MAP | Content WS endpoint wallet map. | NULL |
TITLE_TYPE | Indicates what kind of title (for example: BIP, EXTERNAL-WS ). | DB_TEXT |
TITLE_ENDPOINT_ID | Title WS endpoint ID. | NULL |
TITLE_VALUE | The description of the title the alert. | Items Pending |
TITLE_WALLET_KEY | Title WS endpoint wallet key. | NULL |
TITLE_WALLET_MAP | Title WS endpoint wallet map. | NULL |
SUBJECT_TYPE | Indicates what kind of subject (U-rl or T-ext). | DB_TEXT |
SUBJECT_ENDPOINT_ID | Subject WS endpoint ID. | NULL |
SUBJECT_VALUE | The description of the subject the alert. | Items Pending |
SUBJECT_WALLET_KEY | Subject WS endpoint wallet key. | NULL |
SUBJECT_WALLET_MAP | Subject WS endpoint wallet map. | NULL |
BODY_TYPE | Indicates what kind of body (U-rl or T-ext). | BIP |
BODY_ENDPOINT_ID | Body WS endpoint ID. | ORCV_BIP_REPORTS |
HEADER_VALUE | The description of the header the alert. | NULL |
BODY_VALUE | The description of the body the alert. |
MFCS%252FOrders%252Ford_det %252Ford_det.xdo/run |
FOOTER_VALUE | The description of the footer the alert. | NULL |
BODY_WALLET_KEY | Body WS endpoint wallet key. | bipBasicClient |
BODY_WALLET_MAP | Body WS endpoint wallet map. |
oracle.retail.apps.platform.services.bip. security.basic |
CONTENT_AUTH_TYPE | Content authorization type: BASIC, IDCS. | BASIC |
CONTENT_AUTH_URL | Content URL for non-basic authorization type. | NULL |
CONTENT_SCOPE | Content scope for non-basic authorization type. | NULL |
TITLE_AUTH_TYPE | Title authorization type: BASIC, IDCS. | NULL |
TITLE_AUTH_URL | Title URL for non-basic authorization type. | NULL |
TITLE_SCOPE | Title scope for non-basic authorization type. | NULL |
SUBJECT_AUTH_TYPE | Subject authorization type: BASIC, IDCS. | NULL |
SUBJECT_AUTH_URL | Subject URL for non-basic authorization type. | NULL |
SUBJECT_SCOPE | Subject scope for non-basic authorization type. | NULL |
BODY_AUTH_TYPE | Body authorization type: BASIC, IDCS. | NULL |
BODY_AUTH_URL | Body URL for non-basic authorization type. | NULL |
BODY_SCOPE | Body scope for non-basic authorization type. | NULL |
BODY_LIST_LIMIT | Maximum body list size for sending the alert by email. If not defined the System Parameters BODY_LIST_LIMIT should be used as a default. | NULL |
Configuration table: ORCV_EVENT_ALERT_TEMPL_ATTACH
The table containing the alerts configuration.
Column Name | Description | Example |
---|---|---|
ALERT_TEMPL_ATTACH_ID | Unique identifier for rows in this table. | 1 |
ALERT_TEMPLATE_NAME | This column contains the unique name of the template | ORCV_SPIM_EVENT_ITEMS_PENDING |
FORMAT_FILE | Indicates what kind of file format; for example: CSV, PDF | |
ATTACH_NAME | This column contains the name of the attach. | application/octet-stream |
ATTACH_TYPE | Indicates what kind of attachment type (URL or TEXT). | BIP |
ATTACH_MIME_TYPE | Indicates what kind of MIME type. | application/octet-stream |
ATTACH_VALUE | This column contains the attached, which could be a base64 string. |
{BIP_SERVER}/xmlpserver/services /rest/v1/reports/MFCS%252FOrders%252F ord_det%252Ford_det.xdo/run |
ATTACH_WALLET_KEY | This field contains the wallet key. | bipBasicClient |
ATTACH_WALLET_MAP | This field contains the wallet map. |
oracle.retail.apps.platform.services.bip. security.basic |
ATTACH_AUTH_TYPE | Content authorization type: BASIC, IDCS. | BASIC |
ATTACH_AUTH_URL | Content URL for non-basic authorization type | NULL |
ATTACH_SCOPE | Content scope for non-basic authorization type | NULL |
Configuration table: ORCV_EVENT_ALERT_BATCH_CONFIG
This table contains the batch configurations for the event_type/alert_type combination.
Column Name | Description | Example |
---|---|---|
EVENT_TYPE | The event type identifier (Order creation, Order update, and so on). | ORCV_SPIM_EVENT_ITEMS_PENDING |
ALERT_TYPE | Indicates what kind of Alert it is. Valid values (EMAIL, SMS, and so on). | |
STATUS | This field contains the status of the configuration. (A-Active, I-Inactive). | A |
ADHOC_IND | This column indicates whether the flow is classified as an ad hoc flow. Valid values are: 'Y', 'N'. | N |
System Parameters
Listed below is the list of configurations at system level that are used by Events Framework.
The parameters are defined in table ORCV_SYSTEM_PARAMETERS.
Area | Parameter | Description | Value 1 | Value 2 |
---|---|---|---|---|
BATCH | THRESHOLD_INT | Default threshold limit | 10 | NA |
CONFIG | MAX_JOBS_RUNNING | Maximum jobs to run in parallel to process events_notifications | 16 | NA |
CONFIG | MAX_JOBS_RUNNING | Maximum jobs to run in parallel to process event_alerts | 16 | NA |
NOTIF |
APEX_NOTIF_MAX_ ROWS |
Default value for the max number of rows to show in the apex list of notifications | 10 | NA |
PURGE |
NOTIF_RETENTION_ PERIOD |
Default retention period in days before purging deleted notifications | 60 | NA |
PURGE | PURGE_DAYS | Default purge Period | ORCV_EVENT_ALERT | 30 |
PURGE | PURGE_DAYS | Default purge Period |
ORCV_EVENT_ALERT_ ATTACH |
30 |
PURGE | PURGE_DAYS | Default purge Period |
ORCV_EVENT_ALERT_ ERROR |
30 |
PURGE | PURGE_DAYS | Default purge Period | ORCV_EVENT_NOTIF | 30 |
PURGE | PURGE_DAYS | Default purge Period |
ORCV_EVENT_NOTIF_ GRP_STATUS |
30 |
PURGE | PURGE_DAYS | Default purge Period |
ORCV_EVENT_NOTIF_ USER_STATUS |
30 |
PURGE | PURGE_DAYS | Default purge Period | ORCV_EVENT_PROCESS | 30 |
PURGE | PURGE_DAYS | Default purge Period |
ORCV_EVENT_PROCESS_ ATTRIBUTES |
30 |
PURGE | PURGE_DAYS | Default purge Period |
ORCV_EVENT_PROCESS_ ROLE_NAME |
30 |
PURGE | PURGE_DAYS | Default purge Period |
ORCV_EVENT_PROCESS_ TARGET_APP |
30 |
PURGE | PURGE_DAYS | Default purge Period |
ORCV_EVENT_PROCESS_ TARGET_ROLE |
30 |
Codes
Certain operations require codes to define the options available at system level. Below you can find the list of code types and the codes available, the sequence and their description.
The codes are defined in tables ORCV_CODE_HEAD and RCV_CODE_DETAIL.
Code Type | Description |
---|---|
ALET | Alert Error Types |
ALST | Alert Status |
NTST | Notifications Status |
NTST | Notifications Status |
Web Service
Frequency: Ad-hoc
Authorization Method: OAuth 2.0
Base URL: <BASE_URL>/EventAlertsJavaServicesWeb/services/orcv/merch/event/integration/alerts/<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
batch/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_EVENT_ALERT_JOB", "agentExecutionId":"", "parameters":"EVENT_TYPE=<EVENT_ TYPE>" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_EVENT_PROCESS ORCV_EVENT_ALERT ORCV_EVENT_ALERT_ATTACH ORCV_EVENT_NOTIF ORCV_EVENT_ALERT_ERROR |
batch/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId": <EXEC_ID>, "jobName":"ORCV_EVENT_ALERT_JOB", "agentExecutionId":"", "parameters":"EVENT_TYPE=<EVENT_ TYPE>" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_EVENT_PROCESS ORCV_EVENT_ALERT ORCV_EVENT_ALERT_ATTACH ORCV_EVENT_NOTIF ORCV_EVENT_ALERT_ERROR |
batch/log | GET |
URL query parameters: /log?jobName=ORCV_EVENT_ALERT_JOB& executionId=<EXEC_ID>&date= YYYY-MM-DD |
N/A |
batch/kill | POST |
{ "executionId": <EXEC_ID>, "jobName":"ORCV_EVENT_ALERT_JOB" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
batch/status | GET |
URL query parameters: /status?jobName=ORCV_EVENT_ ALERT_JOB&executionId=<EXEC_ID> |
N/A |
/ping | GET | Empty | N/A |
POM (Process Orchestration and Monitoring)
Batch Schedule Download
Download Through Upload Download Application UI
Retail Supply Chain Hub has multiple batch jobs that must be scheduled in POM, to allow for the initial setup and update of the ORCV POM schedule, the Base Schedule spreadsheet can be downloaded through the Upload Download application.
Download requirements:
- Retailer type user with access provided to POM Module application through the Profile.
For a user that fulfills the download requirements the download can be done from the Upload Download application on the Download Blank tab with the following selections:
- Template Source: POM Module
- Template Name: Pom Batch Schedule Template
- File Type: XLSX
Download through Web Service
As an alternative way of downloading the ORCV schedule in POM, the following service can be invoked through ReST and provides the default spreadsheet for ORCV schedule.
Request Method: POST
Authorization Method: OAuth 2.0 with Password Credentials Token
Note: Password Credentials Token needs to be requested for a user with group ORCV_POM_APP_JOB assigned to him in IDCS or in ORCV_SEC_USER_APP.
Base URL: <BASE_URL>/ords/mfcs/orcv/upldnld/<URL_PATH>/
URL Path | Request Method | Request Body | Response |
---|---|---|---|
/downloadui | POST |
{ "fileType": "XLSX", "downloadType": "B", "filters": [ { "filterValues": [ "" ] } ], "templateKey": "BATCH_ SCHEDULE_DATA", "appCode": "POM" } |
Base64 encoded XLSX file, named: BATCH_SCHEDULE_DATA.XLSX |
Batch Schedule Configuration Download
Download Through Upload Download Application UI
Retail Supply Chain Hub has multiple batch jobs that must be scheduled in POM with different frequencies, to allow for the initial setup, the Schedule Configuration spreadsheet can be downloaded through the Upload Download application.
Download requirements:
- Retailer type user with access provided to POM Module application through the Profile.
For a user that fulfills the download requirements the download can be done from the Upload Download application on the Download Blank tab with the following selections:
- Template Source: POM Module
- Template Name: Pom Batch Schedule Configuration Template
- File Type: XLSX
Download through Web Service
As an alternative way of downloading the ORCV schedule in POM, the following service can be invoked through ReST and provides the default spreadsheet for ORCV schedule.
Request Method: POST
Authorization Method: OAuth 2.0 with Password Credentials Token
Note: Password Credentials Token needs to be requested for a user with group ORCV_POM_APP_JOB assigned to him in IDCS or in ORCV_SEC_USER_APP.
Base URL: <BASE_URL>/ords/mfcs/orcv/upldnld/<URL_PATH>/
URL Path | Request Method | Request Body | Response |
---|---|---|---|
/downloadui | POST |
{ "fileType": "XLSX", "downloadType": "B", "filters": [ { "filterValues": [ "" ] } ], "templateKey": "BATCH_ SCHEDULE_CONFIG_DATA", "appCode": "POM" } |
Base64 encoded XLSX file, named: BATCH_SCHEDULE_CONFIG_DATA.XLSX |
Callback Service
The POM callback service allows Retail Supply Chain Hub to receive notifications of external batch status, which can then be set as data dependencies to processes like the materialized view refresh or other internal batches. The main objective of this callback is to log the batch process status that can then be used to trigger dependencies, from a data replication perspective from other batches.
Web Service
This section describes the web service.
ORDS Web Service
Request Method: POST
Authorization Method: OAuth 2.0
Base URL: <BASE_URL>/ords/mfcs/orcv/common/batch/pom/<URL_PATH>
URL Path | Request Method | Request Body | Response |
---|---|---|---|
/auditlogcallback | POST |
{ "callerId": "XXX", "correlationId": "37", "processName": "MERCH_BATCH_PROCESS_01", "processExecutionId": "MERCH_BATCH_PROCESS_01", "activityName": "MERCH_BATCH_JOB", "activityExecutionId": "123456", "status": "COMPLETED", "activityStatus": "ACTIVITY_COMPLETED", "failedActivity": null } |
ORCV_BATCH_AUDIT_LOG |
/ping | GET | Empty | NA |
Aggregator Framework
The Aggregator Framework (AGG) creates a common identifier based on given keys and rules. It receives the details to determine the configuration to be applied and the key values, then concatenates multiple columns and values and resulting in a return object with the identifier.
Database Objects
This section describes database objects.
Tables
This section describes tables.
ORCV_AGGID_CONFIG
This table contains the configuration for generation of aggregation identifiers based on table data.
Table Columns
Column Name | Data Type | Description |
---|---|---|
APP_ALIAS | VARCHAR2 | Unique number that identifies a price event. Fed by a sequence. |
AGG_NAME | VARCHAR2 | Unique identifier for this config inside this app alias. |
ENTITY_TABLE | VARCHAR2 | Name of the table to be used as source for the identifier creation. |
ENTITY_KEY_1 | VARCHAR2 | Name of the column to use to filter from entity table. |
ENTITY_KEY_2 | VARCHAR2 | Name of the column to use to filter from entity table. |
ENTITY_KEY_3 | VARCHAR2 | Name of the column to use to filter from entity table. |
ENTITY_KEY_4 | VARCHAR2 | Name of the column to use to filter from entity table. |
ENTITY_KEY_5 | VARCHAR2 | Name of the column to use to filter from entity table. |
AGG_DELIMITER | VARCHAR2 | Delimiter to use between AGG fields in the identifier created. |
AGG_FIELD_1 | VARCHAR2 | Name of the column to use in identifier creation. |
AGG_FIELD_2 | VARCHAR2 | Name of the column to use in identifier creation. |
AGG_FIELD_3 | VARCHAR2 | Name of the column to use in identifier creation. |
AGG_FIELD_4 | VARCHAR2 | Name of the column to use in identifier creation. |
AGG_FIELD_5 | VARCHAR2 | Name of the column to use in identifier creation. |
CREATE_ID | VARCHAR2 | This field contains the user that created the record. |
CREATE_DATETIME | DATE | This field contains the datetime when the record is created. |
LAST_UPDATE_ID | VARCHAR2 | This field contains the user that last updated the record. |
LAST_UPDATE_ DATETIME |
DATE | This field contains the datetime when the record is last updated. |
ACTIVE_IND | VARCHAR2 | This field indicates if the config is active. |
Table Constraints
Table | Columns | Constraint |
---|---|---|
ORCV_AGGID_CONFIG | APP_ALIAS, AGG_NAME | APP_ALIAS, AGG_NAME must be unique. |
Packages
This section describes packages.
Package ORCV_COMMON_AGGID
Function | Description |
---|---|
VALIDATE_DATA_TYPES | Validates whether the input parameters data types against the table columns data types and return all the WHERE clause conditions to use in SELECT |
GET_AGG_ID |
Return an aggregation identifier for a given configuration for the following parameters: O_error_message O_agg_id I_entity_keys_values |
GET_AGG_ID |
Return an aggregation identifier for a given configuration for the following parameter: I_entity_keys_values |
GET_AGG_ID |
Return an aggregation identifier for a given configuration for the following parameters: I_app_alias I_agg_name I_entity_value_1_char I_entity_value_1_number I_entity_value_1_date I_entity_value_2_char I_entity_value_2_number I_entity_value_2_date I_entity_value_3_char I_entity_value_3_number I_entity_value_3_date I_entity_value_4_char I_entity_value_4_number I_entity_value_4_date I_entity_value_5_char I_entity_value_5_number I_entity_value_5_date |
Configuration
# | Step | Example |
---|---|---|
1 | Add the configuration to ORCV_AGGID_CONFIG |
MERGE INTO orcv_aggid_config c USING (SELECT 'SPPM' app_alias, 'SPPM_PRM' agg_name, 'ORCV_V_SPPM_PRM_AGG' entity_table, 'PRICE_EVENT_ID' entity_key_1, NULL entity_key_2, NULL entity_key_3, NULL entity_key_4, NULL entity_key_5, '_' agg_delimiter, '''SPPM_SUPPLIER''' agg_field_1, 'SUPPLIER' agg_field_2, 'START_DATE' agg_field_3, 'EXCLUSIVE_DISCOUNT_IND' agg_field_4, NULL agg_field_5, 'Y' active_ind FROM DUAL) tbl ON (c.app_alias = tbl.app_alias AND c.agg_name = tbl.agg_name) WHEN NOT MATCHED THEN INSERT (app_alias, agg_name, entity_table, entity_key_1, entity_key_2, entity_key_3, entity_key_4, entity_key_5, agg_delimiter, agg_field_1, agg_field_2, agg_field_3, agg_field_4, agg_field_5,active_ind) VALUES (tbl.app_alias, tbl.agg_name, tbl.entity_table, tbl.entity_key_1, tbl.entity_key_2, tbl.entity_key_3 tbl.entity_key_4, tbl.entity_key_5, tbl.agg_delimiter, tbl.agg_field_1, tbl.agg_field_2, tbl.agg_field_3, tbl.agg_field_4, tbl.agg_field_5, tbl.active_ind); |
2 | Add a call to the API with the required parameters. |
ORCV_COMMON_AGGID.GET_AGG_ID( I_app_alias => 'SPPM', I_agg_name => 'SPPM_PRM', I_entity_value_1_number => price_event_id); |
View Join Framework
View Join is a Framework that joins multiple views or tables together in a specific order defined in its configuration as a pipelined function.
Database Objects
This section describes database objects.
Tables
This section describes tables.
ORCV_COMMON_VJOIN_CONFIG
This table contains the configuration for Views Join.
Table Columns
Column Name | Data Type | Description |
---|---|---|
APP_ALIAS | VARCHAR2 | This field indicates the APP Alias. |
VJOIN_NAME | VARCHAR2 | This field indicates the View Join name. |
SEQ_NO | NUMBER | This field indicates the view sequence number execution. |
WEIGHT | NUMBER | This field indicates Weight for the view, higher weight means higher priority on view execution. |
VIEW_NAME | VARCHAR2 | This field indicates the Source View Name. |
CREATE_ID | VARCHAR2 | This field contains the user that created the record. |
CREATE_DATETIME | DATE | This field contains the datetime when the record is created. |
LAST_UPDATE_ID | VARCHAR2 | This field contains the datetime when the record is last updated. |
LAST_UPDATE_ DATETIME |
DATE | This field contains the user that last updated the record. |
Table Constraints
Table | Columns | Constraint |
---|---|---|
ORCV_COMMON_VJOIN_CONFIG | APP_ALIAS, VJOIN_NAME, SEQ_NO | APP_ALIAS, VJOIN_NAME, SEQ_NO must be unique. |
Packages
This section describes packages.
Package ORCV_COMMON_VJOIN
Function | Description |
---|---|
GET_COLUMNS | Prepares a string with all columns names to build the final query. |
GET_WHERE_CLAUSE | Prepares the where clause of one column (reference/filter column) to build the final query. |
GET_WHERE_CLAUSE_ALL |
Prepares the WHERE clause of all columns (reference/filter columns) to build the final query. Evokes the GET_WHERE_CLAUSE function for each reference/filter column. |
GET_VIEWS |
Prepares a string to obtain data from all parameterized views in the ORCV_COMMON_VJOIN_CONFIG table. The views to be aggregated are defined in the ORCV_COMMON_VJOIN_CONFIG.VIEW_NAME column and are grouped by the ORCV_COMMON_VJOIN_CONFIG.VJOIN_NAME column. The function ORCV_COMMON_VJOIN.GET_VIEWS will return data as a pipelined table object. |
Views
All views defined in table/column ORCV_COMMON_VJOIN_CONFIG/VIEW_NAME must comply with the format below:
Column | Type | Description |
---|---|---|
REF_VARCHAR2_1 | VARCHAR2 | Varchar Column-1 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
REF_VARCHAR2_2 | VARCHAR2 | Varchar Column-2 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
REF_VARCHAR2_3 | VARCHAR2 | Varchar Column-3 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
REF_VARCHAR2_4 | VARCHAR2 | Varchar Column-4 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
REF_VARCHAR2_5 | VARCHAR2 | Varchar Column-5 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
REF_NUMBER_6 | NUMBER | Number Column-6 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
REF_NUMBER_7 | NUMBER | Number Column-7 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
REF_NUMBER_8 | NUMBER | Number Column-8 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
REF_NUMBER_9 | NUMBER | Number Column-9 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
REF_NUMBER_10 | NUMBER | Number Column-10 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
REF_DATE_11 | DATE | Data Column-11 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
REF_DATE_12 | DATE | Data Column-12 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
REF_DATE_13 | DATE | Data Column-13 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
REF_DATE_14 | DATE | Data Column-14 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
REF_DATE_15 | DATE | Data Column-15 used to filter data when we call the ORCV_COMMON_VJOIN.GET_VIEWS function. |
VARCHAR2_1 | VARCHAR2 | Column-1 used to store alphanumeric type column. |
VARCHAR2_1 | VARCHAR2 | Column-2 used to store alphanumeric type column. |
VARCHAR2_1 | VARCHAR2 | Column-3 used to store alphanumeric type column. |
VARCHAR2_1 | VARCHAR2 | Column-4 used to store alphanumeric type column. |
VARCHAR2_1 | VARCHAR2 | Column-5 used to store alphanumeric type column. |
NUMBER_6 | NUMBER | Column-6 used to store numeric type column. |
NUMBER_7 | NUMBER | Column-7 used to store numeric type column. |
NUMBER_8 | NUMBER | Column-8 used to store numeric type column. |
NUMBER_9 | NUMBER | Column-9 used to store numeric type column. |
NUMBER_10 | NUMBER | Column-10 used to store numeric type column. |
DATA_11 | DATE | Column-11 used to store date type column. |
DATA_12 | DATE | Column-12 used to store date type column. |
DATA_13 | DATE | Column-13 used to store date type column. |
DATA_14 | DATE | Column-14 used to store date type column. |
DATA_15 | DATE | Column-15 used to store date type column. |
Configuration
# | Step | Example |
---|---|---|
1 | Create a View to be joined |
CREATE OR REPLACE FORCE EDITIONABLE VIEW ORCV_V_SPPF_DASH_ALERTS1 AS WITH count_tb AS (SELECT qmf.no_days no_days, COUNT(1) ccount FROM orcv_v_sppf_suppliers sups, orcv_v_sppf_quest_min_freq qmf WHERE qmf.no_days > 0 AND NOT EXISTS (SELECT 0 FROM orcv_sppf_questn_reply_head qrh WHERE qrh.supplier = sups.supplier AND qrh.reply_Date >= sysdate - qmf.no_days) SELECT NULL ref_varchar2_1, NULL ref_varchar2_2, NULL ref_varchar2_3, NULL ref_varchar2_4, NULL ref_varchar2_5, TO_NUMBER(NULL) ref_number_6, TO_NUMBER(NULL) ref_number_7, TO_NUMBER(NULL) ref_number_8, TO_NUMBER(NULL) ref_number_9, TO_NUMBER(NULL) ref_number_10, TO_DATE(NULL) ref_date_11, TO_DATE(NULL) ref_date_12, TO_DATE(NULL) ref_date_13, TO_DATE(NULL) ref_date_14, TO_DATE(NULL) ref_date_15, REPLACE(REPLACE(err.error_text, '%s1', TO_CHAR(ctb.ccount)), '%s2', TO_CHAR(ctb.no_days)) varchar2_1, (SELECT cd.code_desc FROM orcv_v_das_code_detail_tl cd WHERE cd.code_type = 'ISST' AND cd.code = ac.alert_title) varchar2_2, ac.alert_type varchar2_3, ac.alert_icon varchar2_4, NULL varchar2_5, NULL number_6, NULL number_7, NULL number_8, NULL number_9, NULL number_10, NULL date_11, NULL date_12, NULL date_13, NULL date_14, NULL date_15 FROM orcv_sppf_alert_cfg ac, orcv_errors err, count_tb ctb WHERE ac.alert_id = 'DASH_SUP_NO_QST' AND err.error_key = ac.alert_message; |
2 | Create another View to be joined |
CREATE OR REPLACE FORCE EDITIONABLE VIEW ORCV_V_SPPF_DASH_ALERTS2 AS WITH count_tb AS (SELECT qmf.no_days no_days, COUNT(1) ccount FROM orcv_v_sppf_suppliers sups, orcv_v_sppf_quest_min_freq qmf WHERE qmf.no_days > 0 AND NOT EXISTS (SELECT 0 FROM orcv_sppf_questn_reply_head qrh WHERE qrh.supplier = sups.supplier AND qrh.reply_Date >= sysdate - qmf.no_days) SELECT NULL ref_varchar2_1, NULL ref_varchar2_2, NULL ref_varchar2_3, NULL ref_varchar2_4, NULL ref_varchar2_5, TO_NUMBER(NULL) ref_number_6, TO_NUMBER(NULL) ref_number_7, TO_NUMBER(NULL) ref_number_8, TO_NUMBER(NULL) ref_number_9, TO_NUMBER(NULL) ref_number_10, TO_DATE(NULL) ref_date_11, TO_DATE(NULL) ref_date_12, TO_DATE(NULL) ref_date_13, TO_DATE(NULL) ref_date_14, TO_DATE(NULL) ref_date_15, REPLACE(REPLACE(err.error_text, '%s1', TO_CHAR(ctb.ccount)), '%s2', TO_CHAR(ctb.no_days)) varchar2_1, (SELECT cd.code_desc FROM orcv_v_das_code_detail_tl cd WHERE cd.code_type = 'ISST' AND cd.code = ac.alert_title) varchar2_2, ac.alert_type varchar2_3, ac.alert_icon varchar2_4, NULL varchar2_5, NULL number_6, NULL number_7, NULL number_8, NULL number_9, NULL number_10, NULL date_11, NULL date_12, NULL date_13, NULL date_14, NULL date_15 FROM orcv_sppf_alert_cfg ac, orcv_errors err, count_tb ctb WHERE ac.alert_id = 'DASH_SUP_NO_QST' AND err.error_key = ac.alert_message; |
3 | Insert the VJOIN configuration to the configuration table |
INSERT INTO ORCV_COMMON_VJOIN_CONFIG (app_alias, vjoin_name, seq_no, weight, view_name) VALUES ('SPPF', 'DASH_ALERTS', 1, 0, 'ORCV_V_SPPF_DASH_ALERTS1'); -- INSERT INTO ORCV_COMMON_VJOIN_CONFIG (app_alias, vjoin_name, seq_no, weight, view_name) VALUES ('SPPF', 'DASH_ALERTS', 2, 0, 'ORCV_V_SPPF_DASH_ALERTS2'); |
4 | Call the API |
SELECT varchar2_1 alert_desc, varchar2_2 alert_title, varchar2_3 alert_type, varchar2_4 alert_icon, varchar2_5 alert_action FROM TABLE(ORCV_COMMON_VJOIN.GET_VIEWS(I_app_alias => 'SPPF', I_vjoin_name => 'HOME_ALERTS')) |
Database Integration Framework
The Database Integration Framework enables common functionalities in Retail Supply Chain Hub for integration with external endpoints.
Publish
This framework has the capability to publish to external systems by enabling APIs that implement the publish mechanism.
Process Overview
This section provides a process overview.
Publish Flow
Publish allows the call of integration endpoints in synchronous mode. Those calls can be either atomic or non-atomic. Atomic is in case all the entries need to be integrated together in bulk while the non-atomic deals with each entry individually.
Figure 27-23 Database Integration Framework Publish Flow

Configuration
Publish API is available as the ORCV_INT_SERVICE.PUBLISH function that handles the generic publication process.
Publish Function
ORCV_INT_SERVICE.PUBLISH function is a generic call that handles the generic publication process and returns Boolean, true in case of success and false otherwise.
Parameter | In/Out | Parameter Type | Description |
---|---|---|---|
O_error_message | OUT |
ORCV_LOGS.BACKTRACE _DESC%TYPE |
Error message in case of error during function call |
O_service_res_tbl | OUT | ORCV_INT_SERVICE_RES_TBL | TBL with the output of the integration process |
I_service_keys_tbl | IN | ORCV_INT_SERVICE_TBL | TBL of the keys of the entities to be integrated. |
I_entity_id | IN |
ORCV_INT_SERVICE_ENTITY. ENTITY_ID%TYPE |
Integration Entity ID from ORV_INT_SERVICE_ENTITY |
I_app_alias | IN | VARCHAR2 | Application Alias |
I_integration_type | IN | VARCHAR2 | Type of Integration. Accepted values are SYNC, ASYNC, and BATCH. |
I_is_retry | IN | BOOLEAN | Flag indicating whether the entity should be attempt to retry if it fails |
Table ORCV_INT_SERVICE_ENTITY
This table holds the publication and subscription mappings for synchronous integrations.
Column | Data Type | Description |
---|---|---|
Entity ID | VARCHAR2(10) | This field contains the integration entity. |
Publication Function | VARCHAR2(61) | This field contains the function responsible for publishing information to the base product. |
Table ORCV_INT_SERVICE_MAPPING
This table holds mapping information for synchronous integrations to fetch data from.
Column | Data Type | Description |
---|---|---|
Application Alias | VARCHAR2(10) | This field contains the app alias mapping to the entity. |
Application Entity Get Data Function | VARCHAR2(61) | This field contains the function responsible for fetching data. |
Application Status Function | VARCHAR2(61) | This field contains the function responsible setting application data status. |
Atomic Indicator | VARCHAR2(1) | This field contains the indication about whether the integration process should be processed in an atomic way: ''N'' for entries to be processed individually, ''Y'' for entries to be processed in bulk. |
Integration Object Type
ORCV_INT_SERVICE_OBJ is a base object type for handling the reference keys sent for integration and each Entity must be under this object following the entity specific requirements.
Field | Data Type | Description |
---|---|---|
SEQ_NO | NUMBER(10) | Sequence that can define the order of entries. |
ACTION | VARCHAR2(6) | Action to be taken for the entry. |
EXT_SOURCE | VARCHAR2(50) | Source of the Integration Entity. |
EXT_REF_NO_1 | VARCHAR2(15) | External Reference Number 1 |
EXT_REF_NO_2 | VARCHAR2(15) | External Reference Number 2 |
EXT_REF_NO_3 | VARCHAR2(15) | External Reference Number 3 |
EXT_REF_NO_4 | VARCHAR2(15) | External Reference Number 4 |
KEY_1_VARCHAR | VARCHAR2(15) | Entity Varchar2 identifier 1. |
KEY_1_NUMBER | NUMBER(15) | Entity Number identifier 1. |
KEY_1_DATE | DATE | Entity Date identifier 1. |
KEY_2_VARCHAR | VARCHAR2(15) | Entity Varchar2 identifier 2. |
KEY_2_NUMBER | NUMBER(15) | Entity Number identifier 2. |
KEY_2_DATE | DATE | Entity Date identifier 2. |
KEY_3_VARCHAR | VARCHAR2(15) | Entity Varchar2 identifier 3. |
KEY_3_NUMBER | NUMBER(15) | Entity Number identifier 3. |
KEY_3_DATE | DATE | Entity Date identifier 3. |
KEY_4_VARCHAR | VARCHAR2(15) | Entity Varchar2 identifier 4. |
KEY_4_NUMBER | NUMBER(15) | Entity Number identifier 4. |
KEY_4_DATE | DATE | Entity Date identifier 4. |
EXT_GROUP_NO | VARCHAR2(15) | External Group Number |
Integration Response Object Type
ORCV_INT_SERVICE_RES_OBJ is a base object for the handling the response of the integration process.
Field | Data Type | Description |
---|---|---|
STATUS | VARCHAR2(2) | Response Status Code. |
MESSAGE | VARCHAR2(50) | Response Message Body. |
EXT_SOURCE | VARCHAR2(50) | Source of the Integration Entity. |
SEQ_NO | NUMBER(10) | Sequence that can define the order of entries. |
RETRY_ATTEMPT_COUNT | NUMBER(3) | Number of retry attempts. |
EXT_REF_NO_1 | VARCHAR2(15) | External Reference Number 1. |
EXT_REF_NO_2 | VARCHAR2(15) | External Reference Number 2. |
EXT_REF_NO_3 | VARCHAR2(15) | External Reference Number 3. |
EXT_REF_NO_4 | VARCHAR2(15) | External Reference Number 4. |
KEY_1_VARCHAR | VARCHAR2(15) | Entity Varchar2 identifier 1. |
KEY_1_NUMBER | NUMBER(15) | Entity Number identifier 1. |
KEY_1_DATE | DATE | Entity Date identifier 1. |
KEY_2_VARCHAR | VARCHAR2(15) | Entity Varchar2 identifier 2. |
KEY_2_NUMBER | NUMBER(15) | Entity Number identifier 2. |
KEY_2_DATE | DATE | Entity Date identifier 2. |
KEY_3_VARCHAR | VARCHAR2(15) | Entity Varchar2 identifier 3. |
KEY_3_NUMBER | NUMBER(15) | Entity Number identifier 3. |
KEY_3_DATE | DATE | Entity Date identifier 3. |
KEY_4_VARCHAR | VARCHAR2(15) | Entity Varchar2 identifier 4. |
KEY_4_NUMBER | NUMBER(15) | Entity Number identifier 4. |
KEY_4_DATE | DATE | Entity Date identifier 4. |
EXT_GROUP_NO | VARCHAR2(15) | External Group Number. |
Entity Publish Function
This is a generic definition of the function being called by ORCV_INT_SERVICE.PUBLISH that needs to be implemented for each integration entity. It must follow the specification below and returns Boolean true in case of success and false otherwise.
Parameter | In/Out | Parameter Type | Description |
---|---|---|---|
O_error_message | OUT |
ORCV_LOGS.BACKTRACE_ DESC%TYPE |
Error message in case of error during function call |
O_service_res_tbl | OUT | ORCV_INT_SERVICE_RES_TBL | Table with the output of the integration process |
I_service_keys_tbl | IN | ORCV_INT_SERVICE_TBL | Table of the keys of the entities to be integrated. |
I_app_alias | IN | VARCHAR2 | Application Alias |
I_integration_type | IN | VARCHAR2 | Type of Integration. Accepted values are SYNC, ASYNC, and BATCH. |
I_is_retry | IN | BOOLEAN | Flag indicating if the entity should be attempted to retry in case it fails |
Application Entity Get Data Function
This is a generic definition of the function being called by ORCV_<ENTITY>_SERVICE.PUBLISH that retrieves the entity data based on application data. It must follow the specification below and returns Boolean true in case of success and false otherwise.
Parameter | In/Out | Parameter Type | Description |
---|---|---|---|
O_error_message | OUT |
ORCV_LOGS.BACKTRACE_ DESC%TYPE |
Error message in case of error during function call |
IO_int_service_obj | IN/OUT | ORCV_INT_<ENTITY>_OBJ | TBL of Entity to be populated with data by the function. The object type needs to be under ORCV_INT_SERVICE_OBJ |
Entity Configuration Table
ORCV_INT_SERVICE_ENTITY table holds the publication and subscription mappings for synchronous integrations.
Column | Data Type | Nullable | Comment |
---|---|---|---|
ENTITY_ID | VARCHAR2(10) | N | This field contains the integration entity. |
PUBLICATION_FUNCTION | VARCHAR2(61) | Y | This field contains the function responsible for publishing information to the base product. |
SUBSCRIPTION_FUNCTION | VARCHAR2(61) | Y | This field contains the function responsible for subscribing information from the base product. |
Integration Service Mapping Table
ORCV_INT_SERVICE_MAPPING table holds mapping information for synchronous integrations to fetch data from the Application.
Column | Data Type | Nullable | Comment |
---|---|---|---|
ENTITY_ID | VARCHAR2(10) | N | This field contains the integration entity. |
APP_ALIAS | VARCHAR2(10) | N | This field contains the app alias mapping to the entity. |
DATA_FUNCTION | VARCHAR2(61) | N | This field contains the function responsible for fetching data. |
ATOMIC_IND | VARCHAR2(1) | N | This field contains the indication about whether the integration process should be processed in an atomic way: ''N'' for entries to be processed individually, ''Y'' for entries to be processed in bulk. |
Example Configuration
In the example below is the configuration for RTV Entity used by Quality Control.
Configuration | Value | Configuration Table |
---|---|---|
Entity ID | RTV | ORCV_INT_SERVICE_ENTITY |
Publication Function | ORCV_INV_INT_RTV_SERVICE.PUBLISH | ORCV_INT_SERVICE_ENTITY |
Subscription Function | ORCV_INT_SERVICE_ENTITY | |
Application Alias | QLCT | ORCV_INT_SERVICE_MAPPING |
Application Entity Get Data Function |
ORCV_QLCT_PUB_RTV. GET_RTV_INTEGRATION_DATA |
ORCV_INT_SERVICE_MAPPING |
Atomic Indicator | N | ORCV_INT_SERVICE_MAPPING |
Entity Integration Object | ORCV_INV_INT_RTV_HEAD_OBJ | N/A |
Interactive Grid Additional Columns
Oracle APEX Interactive Grids can be extended to have additional reference data available, it is possible by replacing default views that are available as placeholders out of the box.
To use this functionality, it is necessary to change the provided “NB” views, keeping the Key columns and the reference columns names, and set the HIDDEN_ID to “N” on ORCV_IG_HIDDEN_COLUMN table.
The configuration of each of the relevant “NB” views and grid details can be found on each application’s implementation operations guide.
Database Objects
This section describes database objects.
Tables
Name | Description |
---|---|
ORCV_IG_HIDDEN_COLUMN | This table holds the columns that should be hidden for each application, grid and user role. The column ORCV_IG_HIDDEN_COLUMN must be set to true so it is visible and column ORCV_IG_HIDDEN_COLUMN can be changed to the required column header. |
ORCV_IG_HIDDEN_COLUMN_TL | This table holds the columns translations that should be hidden for each application, grid and user role. |
Views
All views defined are defined with the naming convention ORCV_V_<APP_ALIAS>_<ENTITY>_NB and must comply with the format below:
Column | Data Type | Notes |
---|---|---|
<KEY_COLUMN_N> | NUMBER / VARCHAR2 / DATE | The number of key columns vary depending on the number of columns for the entity, it must align with the base table being replaced. |
REF_1 | VARCHAR2(255) | The reference column 1. |
REF_2 | VARCHAR2(255) | The reference column 2. |
REF_3 | VARCHAR2(255) | The reference column 3. |
REF_4 | VARCHAR2(255) | The reference column 4. |
REF_5 | VARCHAR2(255) | The reference column 5. |
REF_6 | VARCHAR2(255) | The reference column 6. |
REF_LINK | VARCHAR2(4000) | The reference link to be added. |
REF_LINK_TEXT | VARCHAR2(255) | The text to be added to the REF_LINK column. |
Dynamic Execution Framework
Retail Supply Chain Hub applications flows are designed and developed in code. The purpose of Dynamic Execution Framework is to provide an easy way to customize the process flow of an application:
- Add Additional Steps
- Disable Steps
- Modify Validations
- Modify Permissions to execute Steps
- Use User Groups to manage permissions to user actions
- Enable/Disable action buttons based on Status/User permissions
Dynamic Button Rendering Overview
Buttons can be divided in two types, static and dynamic. Static buttons always have the same label and row action and they are defined on the application itself. Dynamic buttons may vary their label and row action according to their render condition. Dynamic buttons need to have two support page items <button_static_id>_LBL and <button_static_id>_ACTION to store their label and row action in the page. Bellow there is a diagram with the button dynamic rendering using the Dynamic Execution engine.
Figure 27-28 Dynamic Execution Framework Dynamic Button Rendering Overview

Extended Application Flow Helpers
The Application states flow extension using Dynamic Execution can be done in two ways:
- Develop a new function(s) from scratch that handles the behavior of the new state(s)
- Use the existing pre built helper functions available in DE and the Generic Function
built on the Application side.
-
For cases where the new state just has the objective of changing the status of the entity, this approach does not require a new execute function.
-
To make this option available, when integrating the Dynamic Execution Engine into an Application, the generic function development must be coded in the Application side and use DE pre and post processor for generic steps.
-
When changing the status of an entity data integrity must be enforced from the previous state and run the base validation and custom validations that assure that guarantee.
Figure 27-29 Dynamic Execution Framework Extended Application Flow Helpers Overview

Database Objects
This section describes database objects.
Tables
Name | Description |
---|---|
ORCV_DE_ENTITY | Available entities in Dynamic Execution |
ORCV_DE_ENTITY_KEY | Key column(s) definition for DE entities/entity tables |
ORCV_DE_ENTITY_STEPS | Available steps for each DE Entity |
ORCV_DE_GROUP_HEAD | DE Group header information |
ORCV_DE_GROUP_DETAIL | Functions to be executed for DE groups |
ORCV_DE_GROUP_DETAIL_CUSTOM | Custom Functions to be executed for DE groups |
ORCV_DE_GROUP_DTL_COND | Configuration of valid steps for each group detail |
ORCV_DE_GROUP_USER_GROUPS | User group's permissions for the group steps |
ORCV_DE_ELEMENT_RENDER | Dynamic render conditions for application elements |
ORCV_DE_ELEMENT_RENDER_FILTER | Dynamic render elements filters |
ORCV_DE_ELEMENT_RND_FILTER_DETAIL | Dynamic render element filter parameters |
ORCV_DE_PROCESS_CONTROL | Logs information about group execution |
ORCV_DE_PROCESS_CTRL_EXE_CND | Configuration of valid steps for each group detail at the time of the DE execution request |
ORCV_DE_PROCESS_PARAMETERS | Keeps information about the process parameters of a DE execution request |
ORCV_DE_PROCESS_ATTRIBUTES | Keeps information about the attributes to be processed on a DE execution request |
ORCV_DE_PROCESS_ATTR_CONTROL | Logs information about process attributes execution |
ORCV_DE_PROCESS_AUX_ATTRIBUTES | Keeps information about the auxiliar attributes to be processed on a DE execution request |
Views
Name | Description |
---|---|
ORCV_V_DE_PROC_ATTR_CTRL_PRG | View to be used to purge old data on DE process attributes control table |
ORCV_V_DE_PROC_CTRL_EXEC_PRG | View to be used to purge old data on DE process control execution table |
ORCV_V_DE_PROCESS_ATTR_PRG | View to be used to purge old data on DE process attributes table |
ORCV_V_DE_PROCESS_AUX_ATTR_PRG | View to be used to purge old data on DE process aux attributes table |
ORCV_V_DE_PROCESS_CONTROL_PRG | View to be used to purge old data on DE process control table |
ORCV_V_DE_PROCESS_PARAM_PRG | View to be used to purge old data on DE process parameters table |
Sequences
Name | Description |
---|---|
ORCV_DE_PROCESS_SEQ | Sequence to be used on a new process execution instance |
Types
Name | Description |
---|---|
ORCV_DE_ACTION_OBJ | Represents an action/function to be executed on a DE process |
ORCV_DE_ATTRIBUTES_CONTROL_OBJ | Represents the DE process attributes control data |
ORCV_DE_ATTRIBUTES_OBJ | Represents the DE process auxiliar attributes data |
ORCV_DE_AUX_ATTRIBUTES_OBJ | Represents the DE process auxiliar attributes data |
ORCV_DE_ENTITY_KEY_OBJ | Represents the DE entity data |
ORCV_DE_GROUP_DTL_CUSTOM_OBJ | Represents DE custom functions data |
ORCV_DE_PARAMETERS_OBJ | Represents the DE process parameters data |
Configuration Example - Cost Changes Management
This example configuration is based on Cost Changes Management application available in Retail Supply Chain Hub and follows the below base workflow.
Before the creation of DE configurations for SPCC it is necessary to understand the status flow of the application. Below there a simplified version of SPCC status flow.
Figure 27-30 Dynamic Execution Framework Configuration Example Cost Changes Management Base Flow

For Custom Flows it’s possible to:
- Rename status: some Status should not be changed as they are part of the integral functionality of the Application, however they can be renamed if required. In Cost Changes Management: New and Approved
- Add Additional Steps:
-
If the additional steps only require validation (using Custom Validation Groups) and security control can be configured using a pre-existing generic function and setup.
- Generic Action Function: ORCV_SPCC_COSTCHG.EXEC_ACTION_GENERIC
- Security can be set at Role Level or Role + User Group Level to further detail permissions (Default workflow uses Role Level).
-
If not, then a custom function can be used and configured to be used instead
-
Example Custom Flow:
Figure 27-31 Dynamic Execution Framework Configuration Example Cost Changes Management Custom Flow

Step from New to Approved was removed and an additional step was added in the middle that requires an additional approval.
ORCV_CODE_DETAIL
Add a new Status code for the new flow.
CODE_TYPE | CODE | CODE_DESC |
---|---|---|
CCST | PM | Pending Manager Approval |
ORCV_SEC_GROUPS
Add two additional groups to enable permissions for the additional Status.
GROUP_ID | GROUP_DESC |
---|---|
SPCC_APPR_MNGR | SPCC Approval Managers |
SPCC_SUBMIT_USER | SPCC Submit Users |
ORCV_DE_ENTITY_STEPS
ENTITY_ID | STEP_ID | FROM_STATUS | ROW_ACTION | ACTIVE_IND |
---|---|---|---|---|
COSTCHG | STEP_PM_A | PM | A | A |
COSTCHG | STEP_PM_M | PM | A | A |
COSTCHG | STEP_PM_R | PM | A | A |
ORCV_DE_GROUP_DETAIL
DETAIL_ID | GROUP_ID | EXEC_FUNCTION | EXEC_FUNCTION_DESC | SCOPE_FUNCTION | SEQ_NO | ACTIVE_IND | CUSTOM_IND |
---|---|---|---|---|---|---|---|
SPCC_EXEC_ACTION_SUBMIT | SPCC_COST_MGMT | ORCV_SPCC_COSTCHG.EXEC_ACTION_SUBMIT | Submit Cost Change | NA | 10 | A | N |
SPCC_EXEC_ACTION_REJECT | SPCC_COST_MGMT | ORCV_SPCC_COSTCHG.EXEC_ACTION_REJECT | Reject Cost Change | NA | 20 | A | N |
SPCC_EXEC_ACTION_N_APPROVE | SPCC_COST_MGMT | ORCV_SPCC_COSTCHG.EXEC_ACTION_GENERIC | Approve New Cost Change | NA | 30 | A | N |
SPCC_EXEC_ACTION_APPROVE | SPCC_COST_MGMT | ORCV_SPCC_COSTCHG.EXEC_ACTION_APPROVE | Approve Cost Change | NA | 31 | A | N |
ORCV_DE_GROUP_DETAIL_CUSTOM
DETAIL_ID | TO_STATUS | ROW_ACTION | HIST_REASON_CODE | VALIDATION_FUNCTION | CVAL_GROUP_ID | NOTIF_EVENT_TYPE | PERMISSION_TYPE |
---|---|---|---|---|---|---|---|
SPCC_EXEC_ACTION_N_APPROVE | PM | A | APRVCC | ORCV_SPCC_COSTCHG_VAL.VALIDATE_APPROVE | SPCC_COSTCHG_APPROVE | NA | APPR |
ORCV_DE_GROUP_DTL_EXE_COND
DETAIL_ID | ENTITY_ID | STEP_ID |
---|---|---|
SPCC_EXEC_ACTION_SUBMIT | COSTCHG | STEP_PM_M |
SPCC_EXEC_ACTION_REJECT | COSTCHG | STEP_PM_R |
SPCC_EXEC_ACTION_APPROVE | COSTCHG | STEP_PM_A |
SPCC_EXEC_ACTION_N_APPROVE | COSTCHG | STEP_N_A |
SPCC_EXEC_ACTION_N_APPROVE | COSTCHG | STEP_N_M |
SPCC_EXEC_ACTION_N_APPROVE | COSTCHG | STEP_R_M |
SPCC_EXEC_ACTION_N_APPROVE | COSTCHG | STEP_NULL_C |
SPCC_EXEC_ACTION_SUBMIT | COSTCHG | STEP_NULL_C |
SPCC_EXEC_ACTION_SUBMIT | COSTCHG | STEP_N_M |
SPCC_EXEC_ACTION_SUBMIT | COSTCHG | STEP_R_M |
SPCC_EXEC_ACTION_SUBMIT | COSTCHG | STEP_A_M |
SPCC_EXEC_ACTION_SUBMIT | COSTCHG | STEP_P_M |
SPCC_EXEC_ACTION_REJECT | COSTCHG | STEP_N_R |
SPCC_EXEC_ACTION_REJECT | COSTCHG | STEP_P_R |
SPCC_EXEC_ACTION_REJECT | COSTCHG | STEP_A_R |
SPCC_EXEC_ACTION_APPROVE | COSTCHG | STEP_P_M |
SPCC_EXEC_ACTION_APPROVE | COSTCHG | STEP_A_M |
SPCC_EXEC_ACTION_APPROVE | COSTCHG | STEP_P_A |
ORCV_DE_GROUP_USER_GROUPS
GROUP_ID | USER_GROUP_ID | ENTITY_ID | STEP_ID |
---|---|---|---|
SPCC_COST_MGMT | SPCC_APP_MNGR | COSTCHG | STEP_A_M |
SPCC_COST_MGMT | SPCC_APP_MNGR | COSTCHG | STEP_A_R |
SPCC_COST_MGMT | SPCC_APP_MNGR | COSTCHG | STEP_NULL_C |
SPCC_COST_MGMT | SPCC_APP_MNGR | COSTCHG | STEP_N_A |
SPCC_COST_MGMT | SPCC_APP_MNGR | COSTCHG | STEP_N_M |
SPCC_COST_MGMT | SPCC_APP_MNGR | COSTCHG | STEP_N_R |
SPCC_COST_MGMT | SPCC_APP_MNGR | COSTCHG | STEP_PM_A |
SPCC_COST_MGMT | SPCC_APP_MNGR | COSTCHG | STEP_PM_M |
SPCC_COST_MGMT | SPCC_APP_MNGR | COSTCHG | STEP_PM_R |
SPCC_COST_MGMT | SPCC_APP_MNGR | COSTCHG | STEP_P_A |
SPCC_COST_MGMT | SPCC_APP_MNGR | COSTCHG | STEP_P_M |
SPCC_COST_MGMT | SPCC_APP_MNGR | COSTCHG | STEP_P_R |
SPCC_COST_MGMT | SPCC_APP_MNGR | COSTCHG | STEP_R_M |
SPCC_COST_MGMT | SPCC_SUMBIT_USER | COSTCHG | STEP_A_M |
SPCC_COST_MGMT | SPCC_SUMBIT_USER | COSTCHG | STEP_A_R |
SPCC_COST_MGMT | SPCC_SUMBIT_USER | COSTCHG | STEP_NULL_C |
SPCC_COST_MGMT | SPCC_SUMBIT_USER | COSTCHG | STEP_N_A |
SPCC_COST_MGMT | SPCC_SUMBIT_USER | COSTCHG | STEP_N_M |
SPCC_COST_MGMT | SPCC_SUMBIT_USER | COSTCHG | STEP_N_R |
SPCC_COST_MGMT | SPCC_SUMBIT_USER | COSTCHG | STEP_P_A |
SPCC_COST_MGMT | SPCC_SUMBIT_USER | COSTCHG | STEP_P_M |
SPCC_COST_MGMT | SPCC_SUMBIT_USER | COSTCHG | STEP_P_R |
SPCC_COST_MGMT | SPCC_SUMBIT_USER | COSTCHG | STEP_R_M |
ORCV_DE_ELEMENT_RENDER
ELEMENT_ID | ELEMENT_DESC | APP_ALIAS | PAGE_NO | STATIC_ID | ROW_ACTION | LABEL |
---|---|---|---|---|---|---|
SPCC_P200_B_APPROVE | Approve button. | SPCC | 200 | P200_B_APPROVE | A | Approve |
SPCC_P200_B_SAVE | Save button. | SPCC | 200 | P200_B_SAVE | NA | NA |
SPCC_P200_B_EDIT | Edit button. | SPCC | 200 | P200_B_EDIT | NA | NA |
SPCC_P200_B_REJECT | Reject button. | SPCC | 200 | P200_B_REJECT | NA | NA |
SPCC_P200_B_APPROVE_PM | Approve button for PM Status. | SPCC | 200 | P200_B_APPROVE | A | Approve |
SPCC_P200_B_EDIT_PM | Edit button for PM Status. | SPCC | 200 | P200_B_EDIT | NA | NA |
SPCC_P200_B_REJECT_PM | Reject button for PM Status. | SPCC | 200 | P200_B_REJECT | NA | NA |
ORCV_DE_ELEMENT_RENDER_FILTER
ELEMENT_ID | PARAMETER_NAME | PARAMETER_TYPE | PARAMETER_DELIMITER |
---|---|---|---|
ELEMENT_ID | PARAMETER_NAME | PARAMETER_TYPE | PARAMETER_DELIMITER |
SPCC_P200_B_EDIT_PM | P200_MODE | VARCHAR | NA |
SPCC_P200_B_EDIT_PM | P200_USER_PERM | VARCHAR | NA |
SPCC_P200_B_EDIT_PM | P200_STATUS | VARCHAR | NA |
SPCC_P200_B_EDIT_PM | P200_I_USER_GROUPS | VARCHAR | : |
SPCC_P200_B_REJECT_PM | P200_MODE | VARCHAR | NA |
SPCC_P200_B_REJECT_PM | P200_USER_PERM | VARCHAR | NA |
SPCC_P200_B_REJECT_PM | P200_STATUS | VARCHAR | NA |
SPCC_P200_B_REJECT_PM | P200_I_USER_GROUPS | VARCHAR | : |
SPCC_P200_B_APPROVE_PM | P200_MODE | VARCHAR | NA |
SPCC_P200_B_APPROVE_PM | P200_USER_PERM | VARCHAR | NA |
SPCC_P200_B_APPROVE_PM | P200_STATUS | VARCHAR | NA |
SPCC_P200_B_APPROVE_PM | P200_I_USER_GROUPS | VARCHAR | : |
SPCC_P200_B_APPROVE | P200_I_USER_GROUPS | VARCHAR | : |
SPCC_P200_B_REJECT | P200_I_USER_GROUPS | VARCHAR | : |
SPCC_P200_B_EDIT | P200_I_USER_GROUPS | VARCHAR | : |
SPCC_P200_B_SAVE | P200_I_USER_GROUPS | VARCHAR | : |
ORCV_DE_ELEMENT_RND_FILTER_DTL
ELEMENT_ID | PARAMETER_NAME | PARAMETER_VALUE_VARCHAR |
---|---|---|
SPCC_P200_B_EDIT_PM | P200_MODE | VIEW |
SPCC_P200_B_EDIT_PM | P200_USER_PERM | APPR |
SPCC_P200_B_EDIT_PM | P200_STATUS | SPCC_APPRF_MNGR |
SPCC_P200_B_EDIT_PM | P200_I_USER_GROUPS | PM |
SPCC_P200_B_REJECT_PM | P200_MODE | VIEW |
SPCC_P200_B_REJECT_PM | P200_USER_PERM | APPR |
SPCC_P200_B_REJECT_PM | P200_STATUS | SPCC_APPRF_MNGR |
SPCC_P200_B_REJECT_PM | P200_I_USER_GROUPS | PM |
SPCC_P200_B_APPROVE_PM | P200_MODE | VIEW |
SPCC_P200_B_APPROVE_PM | P200_USER_PERM | APPR |
SPCC_P200_B_APPROVE_PM | P200_STATUS | SPCC_APPRF_MNGR |
SPCC_P200_B_APPROVE_PM | P200_I_USER_GROUPS | PM |
SPCC_P200_B_APPROVE | P200_I_USER_GROUPS | SPCC_SUBMIT_USER |
SPCC_P200_B_APPROVE | P200_I_USER_GROUPS | SPCC_APPRF_MNGR |
SPCC_P200_B_REJECT | P200_I_USER_GROUPS | SPCC_SUBMIT_USER |
SPCC_P200_B_REJECT | P200_I_USER_GROUPS | SPCC_APPRF_MNGR |
SPCC_P200_B_EDIT | P200_I_USER_GROUPS | SPCC_SUBMIT_USER |
SPCC_P200_B_EDIT | P200_I_USER_GROUPS | SPCC_APPRF_MNGR |
SPCC_P200_B_SAVE | P200_I_USER_GROUPS | SPCC_SUBMIT_USER |
SPCC_P200_B_SAVE | P200_I_USER_GROUPS | SPCC_APPRF_MNGR |
Integration
This section describes integrations.
Price Change Integration to RPCS
The price change integration batch has a maximum chunk size configuration and has a thread aggregator by effective date and new group batch, which is a reference to the event that generated the price recommendations.
As the chunk size determines the maximum number of records that will be sent in each request to RPCS, this means that in case the number of recommendations for the thread aggregator is higher than the chunk size, the integration will do two requests to RPCS price change induction service. The price changes from the second request will have the price change group description equal to the ones from the first request, but price change group id will be different.
Process Overview
The Price Strategies integration will support the integration of price changes in RPCS through the induction service.
Figure 27-32 Price Change Integration Process Overview

Set Integration Status
Figure 27-36 Set Integration Status Flow for Price Change Integration to RPCS

Configuration
This section describes configurations.
Initial Batch Configuration for ORCV_PRICE_INT_PC_RPCS_JOB
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_PRICE_INT_PC_RPCS_JOB |
MAX_CHUNK_SIZE | 5000 |
MAX_CONCURRENT_THREADS | 8 |
BULK_LIMIT | 1000 |
RETRY_LOCK_ATTEMPTS | 4 |
RETRY_WAIT_TIME | 2 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
System Parameters
Listed below is the list of configurations at system level that are required by this integration.
The parameters are defined in table ORCV_SYSTEM_PARAMETERS.
Area | Parameter | Description | Value 1 |
---|---|---|---|
AREA | PARAMETER | DESCRIPTION | VALUE_1 |
BATCH | MAX_CHUNK_SIZE | Default price max chunck size | 1000 |
BATCH | THRESHOLD_INT | Default threshold limit | 10 |
PURGE | PURGE_DAYS | Default purge Period. | ORCV_PRICE_INT_PC |
PURGE | PURGE_DAYS | Default purge Period. | ORCV_PRICE_INT_PC_ERR_SVC |
PURGE | PURGE_DAYS | Default purge Period. | ORCV_PRICE_INT_PC_EVENT |
PURGE | PURGE_DAYS | Default purge Period. | ORCV_PRICE_INT_PC_GRP_XREF |
Web Service
Frequency: Ad-hoc
Base URL: <BASE_URL>>/PromotionIntRpcsJavaServicesWeb/services/orcv/merch/price/integration/promotionintrpcs/batch/<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_PRICE_INT_PC_ RPCS_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_ENGINE_THREADS ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG ORCV_PRICE_INT_PC_SVC ORCV_PRICE_INT_PC_ERR_SVC ORCV_PRICE_INT_PC ORCV_PRICE_INT_PC_EVENT ORCV_PRICE_INT_PC_GRP_XREF |
/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":<EXEC_ID>, "jobName":"ORCV_PRICE_INT_PC_ RPCS_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_ENGINE_THREADS ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG ORCV_PRICE_INT_PC_SVC ORCV_PRICE_INT_PC_ERR_SVC ORCV_PRICE_INT_PC ORCV_PRICE_INT_PC_EVENT ORCV_PRICE_INT_PC_GRP_XREF |
/log | GET |
URL query parameters: /log?jobName=ORCV_PRICE_INT_PC_ RPCS_JOB& executionId=<EXEC_ID>&date=YYYY-MM-DD |
N/A |
/kill | POST |
{ "executionId": <EXEC_ID>, "jobName":"ORCV_PRICE_INT_PC_ RPCS_JOB" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
/status | GET |
URL query parameters: /status?jobName=ORCV_PRICE_INT_ PC_RPCS_JOB&executionId=<EXEC_ID> |
N/A |
/ping | GET | Empty | N/A |
Promotion Induction to RPCS
This section describes the promotion induction to RPCS.
Process Overview
The Promotion induction batch service will support the integration of Promotions into RPCS through the induction REST service.
Figure 27-37 Promotion Induction to RPCS Batch Process Overview

Set Integration Status
Figure 27-42 Set Integration Status Flow for Promotion induction to RPCS Integration

Configuration
This section describes configurations.
Initial Batch Configuration for ORCV_PRICE_INT_PRM_RPCS_JOB
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_PRICE_INT_PRM_RPCS_JOB |
MAX_CHUNK_SIZE | 1000 |
MAX_CONCURRENT_THREADS | 4 |
BULK_LIMIT | 1000 |
RETRY_LOCK_ATTEMPTS | 4 |
RETRY_WAIT_TIME | 3 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
System Parameters
Listed below is the list of configurations at system level that are required by this integration.
The parameters are defined in table ORCV_SYSTEM_PARAMETERS.
Area | Parameter | Description | Value 1 | Value 2 |
---|---|---|---|---|
CONFIG | INDUCTION_TEMPLATE | Template key. |
RPCS_PROMOTION_ INDUCTION |
NA |
INTEGRATION |
LOCK_PROMOTION_ PROCESS |
Promotion Ext Source that will not be processed by the batch. | SPDM | NA |
PURGE | PURGE_DAYS | Default purge Period. |
ORCV_PRICE_INT_ PRM_XREF |
30 |
Web Service
Frequency: Ad-hoc
Base URL: <BASE_URL>/PromotionIntRpcsJavaServicesWeb/services/orcv/merch/price/integration/promotionintrpcs/batch/<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_PRICE_INT_PRM_ RPCS_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_ENGINE_THREADS ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG ORCV_PRICE_INT_PRM_HEAD_SVC ORCV_PRICE_INT_PRM_HEAD ORCV_PRICE_INT_PRM_OF_SVC ORCV_PRICE_INT_PRM_OF ORCV_PRICE_INT_PRM_OFC_SVC ORCV_PRICE_INT_PRM_OFC ORCV_PRICE_INT_PRM_OFC_ITM_SVC ORCV_PRICE_INT_PRM_OFC_ITM ORCV_PRICE_INT_PRM_OFR_SVC ORCV_PRICE_INT_PRM_OFR ORCV_PRICE_INT_PRM_OFR_ITM_SVC ORCV_PRICE_INT_PRM_OFR_ITM ORCV_PRICE_INT_PRM_OFLOC_SVC ORCV_PRICE_INT_PRM_OFLOC ORCV_PRICE_INT_PRM_ERR_SVC ORCV_PRICE_INT_PRM_XREF |
/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":<EXEC_ID>, "jobName":"ORCV_PRICE_INT_PRM_ RPCS_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_ENGINE_THREADS ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG ORCV_PRICE_INT_PRM_HEAD_SVC ORCV_PRICE_INT_PRM_HEAD ORCV_PRICE_INT_PRM_OF_SVC ORCV_PRICE_INT_PRM_OF ORCV_PRICE_INT_PRM_OFC_SVC ORCV_PRICE_INT_PRM_OFC ORCV_PRICE_INT_PRM_OFC_ITM_SVC ORCV_PRICE_INT_PRM_OFC_ITM ORCV_PRICE_INT_PRM_OFR_SVC ORCV_PRICE_INT_PRM_OFR ORCV_PRICE_INT_PRM_OFR_ITM_SVC ORCV_PRICE_INT_PRM_OFR_ITM ORCV_PRICE_INT_PRM_OFLOC_SVC ORCV_PRICE_INT_PRM_OFLOC ORCV_PRICE_INT_PRM_ERR_SVC ORCV_PRICE_INT_PRM_XREF |
/log | GET |
URL query parameters: /log?jobName=ORCV_PRICE_INT_PRM_ RPCS_JOB& executionId=<EXEC_ID>&date= YYYY-MM-DD |
N/A |
/kill | POST |
{ "executionId": <EXEC_ID>, "jobName":"ORCV_PRICE_INT_PRM_ RPCS_JOB" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
/status | GET |
URL query parameters: /status?jobName=ORCV_PRICE_INT_ PRM_RPCS_JOB&executionId=<EXEC_ID> |
N/A |
/ping | GET | Empty | N/A |
Clearance Induction to RPCS
This section describes the clearance induction to RPCS.
Process Overview
The Clearance induction batch service will support the integration of Clearances into RPCS through the induction REST service.
Figure 27-43 Clearance Induction to RPCS Batch Process Overview

Set Integration Status
Figure 27-47 Set Integration Status Flow for Clearance induction to RPCS Integration

Configuration
This section describes configurations.
Initial Batch Configuration for ORCV_PRICE_INT_CLR_RPCS_JOB
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_PRICE_INT_CLR_RPCS_JOB |
MAX_CHUNK_SIZE | 1000 |
MAX_CONCURRENT_THREADS | 4 |
BULK_LIMIT | 1000 |
RETRY_LOCK_ATTEMPTS | 4 |
RETRY_WAIT_TIME | 3 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
System Parameters
Listed below is the list of configurations at system level that are required by this integration.
The parameters are defined in table ORCV_SYSTEM_PARAMETERS.
Area | Parameter | Description | Value 1 | Value 2 |
---|---|---|---|---|
CONFIG |
CLEAR_MARKDOWN_ NBR_DEFAULT |
Markdown NBR for clearance. Default set with -999 (means NULL).Valid values: MFCS Code Type MKDN(except "reset") | -999 | NA |
PURGE | PURGE_DAYS | Default purge Period. | ORCV_PRICE_INT_CLEARANCE | 30 |
PURGE | PURGE_DAYS | Default purge Period. | ORCV_PRICE_INT_CLR_XREF | 30 |
Web Service
Clearance Induction Batch Service
Frequency: Ad hoc
Base URL: <BASE_URL>/ClearanceIntRpcsJavaServicesWeb/services/orcv/merch/price/integration/
clearanceintrpcs/URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
batch/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_PRICE_INT_CLR_ RPCS_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_ENGINE_THREADS ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG ORCV_PRICE_INT_CLEARANCE ORCV_PRICE_INT_CLR_GRP_XREF ORCV_PRICE_INT_CLEARANCE_SVC ORCV_PRICE_INT_CLR_XREF ORCV_PRICE_INT_CLEARANCE_ERR |
batch/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":<EXEC_ID>, "jobName":"ORCV_PRICE_INT_CLR_ RPCS_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_ENGINE_THREADS ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG ORCV_PRICE_INT_CLEARANCE ORCV_PRICE_INT_CLR_GRP_XREF ORCV_PRICE_INT_CLEARANCE_SVC ORCV_PRICE_INT_CLR_XREF ORCV_PRICE_INT_CLEARANCE_ERR |
batch/log | GET |
URL query parameters: /log?jobName=ORCV_PRICE_INT_CLR_RPCS_JOB&executionId=<EXEC_ID>&date=YYYY-MM-DD |
N/A |
batch/kill | POST |
{ "executionId": <EXEC_ID>, "jobName":"ORCV_PRICE_INT_CLR_ RPCS_JOB" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
batch/status | GET |
URL query parameters: /status?jobName=ORCV_PRICE_INT_CLR_RPCS_JOB&executionId=<EXEC_ID> |
N/A |
/ping | GET | Empty | N/A |
Clearance XREF Batch Service
The Clearance XREF batch service allow synchronization of RPCS clearance group display id and clearance display id to the external reference integrated via Clearance Induction to RPCS batch service.
Figure 27-48 Clearance XREF Batch Service Overview

Initial Batch Configuration for ORCV_PRICE_INT_CLR_XREF_JOB
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_PRICE_INT_CLR_XREF_JOB |
MAX_CHUNK_SIZE | 1000 |
MAX_CONCURRENT_THREADS | 4 |
RETRY_LOCK_ATTEMPTS | 4 |
RETRY_WAIT_TIME | 3 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
Web Service
Frequency: Ad hoc
Base URL: <BASE_URL>/ords/mfcs/orcv/merch/price/integration/clearance/xrefupdate/<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
batch/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_PRICE_INT_CLR_ XREF_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_ENGINE_THREADS ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG ORCV_PRICE_INT_CLR_GRP_XREF ORCV_PRICE_INT_CLR_XREF |
batch/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":<EXEC_ID>, "jobName":"ORCV_PRICE_INT_CLR_ XREF_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_ENGINE_THREADS ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG ORCV_PRICE_INT_CLR_GRP_XREF ORCV_PRICE_INT_CLR_XREF |
batch/log | GET |
URL query parameters: /log?jobName=ORCV_PRICE_INT_CLR_ XREF_JOB& executionId=<EXEC_ID>&logDate=YYYY-MM-DD |
N/A |
batch/kill | POST |
{ "executionId": <EXEC_ID>, "jobName":"ORCV_PRICE_INT_CLR_ XREF_JOB" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
batch/status | GET |
URL query parameters: /status?jobName=ORCV_PRICE_INT_ CLR_XREF_JOB&executionId=<EXEC_ID> |
N/A |
/ping | GET | Empty | N/A |
Purchase Order Induction to MFCS
The Purchase Order induction to MFCS batch has a maximum chunk size configuration and has a thread aggregator that is a combination of master purchase order and purchase order. The chunk size determines the maximum number of master purchase order and purchase order that will be sent to MFCS per purchase order induction ODS file, and then consumed by MFCS POINDBATCH_JOB.
Process Overview
The Purchase Order induction service will support the integration of Purchase Orders into MFCS through induction batch.
Figure 27-49 Purchase Order Induction to MFCS Process Overview

Configuration
The Purchase Order integration service has a prerequisite of the interface with ID POINDUCTION being configured in ORCV_BATCH_SFTP and ORCV_BATCH_SFTP_TARGET tables.
Note:
POM configuration for MFCS POINDBATCH_JOB set to run at a high frequency if required and with a final target the merchandising tables.Initial Batch Configuration for ORCV_ORD_INT_POINDUCTION_JOB
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_ORD_INT_POINDUCTION_JOB |
MAX_CHUNK_SIZE | 10000 |
MAX_CONCURRENT_THREADS | 4 |
BULK_LIMIT | 1000 |
RETRY_LOCK_ATTEMPTS | 4 |
RETRY_WAIT_TIME | 2 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
Web Service
Frequency: Ad hoc
Authorization Method: OAuth 2.0
Base URL: <BASE_URL>/PoInductionJavaServicesWeb/services/orcv/merch/integration/<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
batch/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_ORD_INT_ POINDUCTION_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_ORD_INT_ORDHEAD_SVC ORCV_ORD_INT_ORDSKU_SVC ORCV_ORD_INT_ORDLOC_SVC ORCV_ORD_INT_ORDER_CFA_SVC ORCV_ORD_INT_ERR_SVC ORCV_ORD_INT_ORDHEAD ORCV_ORD_INT_ORDSKU ORCV_ORD_INT_ORDLOC ORCV_ORD_INT_ORDHEAD_CFA ORCV_ORD_INT_ORDSKU_CFA ORCV_ORD_INT_ORDLOC_CFA |
batch/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId": <EXEC_ID>, "jobName":"ORCV_ORD_INT_ POINDUCTION_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_ORD_INT_ORDHEAD_SVC ORCV_ORD_INT_ORDSKU_SVC ORCV_ORD_INT_ORDLOC_SVC ORCV_ORD_INT_ORDER_CFA_SVC ORCV_ORD_INT_ERR_SVC ORCV_ORD_INT_ORDHEAD ORCV_ORD_INT_ORDSKU ORCV_ORD_INT_ORDLOC ORCV_ORD_INT_ORDHEAD_CFA ORCV_ORD_INT_ORDSKU_CFA ORCV_ORD_INT_ORDLOC_CFA |
batch/log | GET |
URL query parameters: /log?jobName=ORCV_ORD_INT_ POINDUCTION_JOB &executionId=<EXEC_ID>&date= YYYY-MM-DD |
N/A |
batch/kill | POST |
{ "executionId": <EXEC_ID>, "jobName":"ORCV_ORD_INT_ POINDUCTION_JOB", } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
batch/status | GET |
URL query parameters: /status?jobName=ORCV_ORD_INT_ POINDUCTION_JOB &executionId=<EXEC_ID> |
N/A |
/ping | GET | Empty | N/A |
Shipment ASNIN Integration to RICS
The Shipments ASNIN integration service supports the integration of ASNINs into MFCS through MFCS MerchIntegrations Rest Service and RIB-EXT Rest Service.
This integration has a maximum chunk size configuration and has a thread aggregator per number of ASN numbers. The chunk size determines the maximum number of ASNIN records that will be sent to MFCS.
Process Overview
Figure 27-56 Shipment ASNin Integration to MFCS via MerchIntegrations and RIB-EXT Process Overview

ASNIN Targets Configuration
It is possible to configure the targets for ASNINs in table ORCV_BATCH_CONFIG_PROPS if the Java Service is configured with DATABASE_PROPS_ENABLED set to true and the target id for MFCS is defined as MFCS_TARGET key and RICS as RIB_TARGET key. After setting the Java Service to use the database configurations the details must be added to ORCV_BATCH_CONFIG_PROPS with program name ORCV_SHIP_INT_ASNIN_JOB. Examples are shared below for MFCS MechIntegrations Rest Service and RICS RIB -EXT Rest Service.
Java Service Properties Configuration
Parameter | Description | Example |
---|---|---|
DATABASE_PROPS_ENABLED | If False, target is RIB-EXT and properties are defined within the JAVA application properties file. If True, properties configuration rely on what is defined on ORCV_BATCH_CONFIG_PROPS, accepts multiple targets at the same time. | true |
RIB_TARGET |
Needs to match the KEY defined on ORCV_BATCH_CONFIG_PROPS for VALUE = 'TARGET' |
RIB_EXT |
MFCS_TARGET |
Needs to match the KEY defined on ORCV_BATCH_CONFIG_PROPS for VALUE = 'TARGET' |
MFCS_ASNIN_REST |
TABLE: ORCV_BATCH_CONFIG_PROPS
MFCS MechIntegrations Rest Service Example.
Program Name | Key | Value |
---|---|---|
ORCV_SHIP_INT_ASNIN_JOB | MFCS_ASNIN_REST | TARGET |
ORCV_SHIP_INT_ASNIN_JOB | MFCS_ASNIN_REST.URL | <MFCS Base URL>/MerchIntegrations/services/inventory/shipmentsAndReceipts/inboundAsn/manage |
ORCV_SHIP_INT_ASNIN_JOB | MFCS_ASNIN_REST.ALLOWEDSCOPES | rgbu:merch:MFCS-<EnvId> |
ORCV_SHIP_INT_ASNIN_JOB | MFCS_ASNIN_REST.CLIENT_MAP | oracle.retail.apps.platform.services.mfcs.security.idcs |
ORCV_SHIP_INT_ASNIN_JOB | MFCS_ASNIN_REST.CLIENT_KEY | MFCSAlias |
RICS RIB -EXT Rest Service Example.
Program Name | Key | Value |
---|---|---|
ORCV_SHIP_INT_ASNIN_JOB | RIB_EXT | TARGET |
ORCV_SHIP_INT_ASNIN_JOB | RIB_EXT.URL | <RICS Base URL>/rib-ext-services-web/resources/publisher/publish |
ORCV_SHIP_INT_ASNIN_JOB | RIB_EXT.ALLOWEDSCOPES | rgbu:rics:RICS-<EnvId> |
ORCV_SHIP_INT_ASNIN_JOB | RIB_EXT.CLIENT_MAP | oracle.retail.apps.platform.services.rics.security.idcs |
ORCV_SHIP_INT_ASNIN_JOB | RIB_EXT.CLIENT_KEY | RICSAlias |
Configuration
This section describes configurations.
Initial Batch Configuration for ORCV_SHIP_INT_ASNIN_JOB
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_SHIP_INT_ASNIN_JOB |
MAX_CHUNK_SIZE | 10000 |
MAX_CONCURRENT_THREADS | 4 |
BULK_LIMIT | 1000 |
RETRY_LOCK_ATTEMPTS | 4 |
RETRY_WAIT_TIME | 2 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
Web Service
Frequency: Ad hoc
Authorization Method: OAuth 2.0
Base URL: <BASE_URL>/ShipmentAsnInJavaServicesWeb/services/orcv/merch/integration/rib/ext/batch/<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":" ORCV_SHIP_INT_ASNIN_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SHIP_INT_ASNIN_SVC ORCV_SHIP_INT_ASNIN_PO_SVC ORCV_SHIP_INT_ASNIN_CTN_SVC ORCV_SHIP_INT_ASNIN_ITEM_SVC ORCV_SHIP_INT_ASNIN_UIN_SVC ORCV_SHIP_INT_ASNIN_CFA_SVC ORCV_SHIP_INT_ASNIN_ERR_SVC ORCV_SHIP_INT_ASNIN ORCV_SHIP_INT_ASNIN_PO ORCV_SHIP_INT_ASNIN_CTN ORCV_SHIP_INT_ASNIN_ITEM ORCV_SHIP_INT_ASNIN_UIN ORCV_SHIP_INT_ASNIN_CFA ORCV_SHIP_INT_ASNIN_CTN_CFA |
/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId": <EXEC_ID>, "jobName":" ORCV_SHIP_INT_ASNIN_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_SHIP_INT_ASNIN_SVC ORCV_SHIP_INT_ASNIN_PO_SVC ORCV_SHIP_INT_ASNIN_CTN_SVC ORCV_SHIP_INT_ASNIN_ITEM_SVC ORCV_SHIP_INT_ASNIN_UIN_SVC ORCV_SHIP_INT_ASNIN_CFA_SVC ORCV_SHIP_INT_ASNIN_ERR_SVC ORCV_SHIP_INT_ASNIN ORCV_SHIP_INT_ASNIN_PO ORCV_SHIP_INT_ASNIN_CTN ORCV_SHIP_INT_ASNIN_ITEM ORCV_SHIP_INT_ASNIN_UIN ORCV_SHIP_INT_ASNIN_CFA ORCV_SHIP_INT_ASNIN_CTN_CFA |
/log | GET |
URL query parameters: /log?jobName=ORCV_SHIP_INT_ASNIN_JOB &executionId=<EXEC_ID>&date=YYYY-MM-DD |
N/A |
/kill | POST |
{ "executionId":<EXEC_ID>, "jobName":" ORCV_SHIP_INT_ASNIN_JOB" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
/status | GET |
URL query parameters: /status?jobName=ORCV_SHIP_INT_ASNIN_JOB &executionId=<EXEC_ID> |
N/A |
/ping | GET | Empty | N/A |
Finance EDI Documents to IMCS
This integration has a maximum chunk size configuration and has a thread aggregator per number of documents for each document type. The chunk size determines the maximum number of documents of a certain type that will be sent per EDI file to IMCS.
Process Overview
The Finance EDI Documents Service batch will support the integration of Financial Documents into IMCS through the EDI injection batch.
Figure 27-62 Finance EDI Documents to IMCS Process Overview

System Parameters
Listed below is the list of configurations at system level that are used by this service.
The parameters are defined in table ORCV_SYSTEM_PARAMETERS.
Area | Parameter | Description | Value 1 |
---|---|---|---|
INTEGRATION | INDUCTION_TEMPLATE | Finance Integration template key |
Tax Type = ‘SALES’ MFCS_EDIUPINV_SALES_DATA Tax Type = ‘SVAT’ MFCS_EDIUPINV_SVAT_DATA Tax Type = ‘GTS’ MFCS_EDIUPINV_GTS_DATA |
Note:
The MFCS system option (defined in the localization_config_options table) sets the default tax type used in the environment.
Set Integration Status
Figure 27-67 Set Integration Status Flow for Finance Documents EDI Integration

Configuration
The finance EDI documents integration service has a prerequisite of the interface with ID FINEDI being configured in ORCV_BATCH_SFTP and ORCV_BATCH_SFTP_TARGET tables.
Note:
POM configuration for IMCS REIM_EDI_INJECTOR_JOB set to run at a high frequency if required.Initial Batch Configuration for ORCV_FIN_INT_EDI_JOB
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_FIN_INT_EDI_JOB |
MAX_CHUNK_SIZE | 10000 |
MAX_CONCURRENT_THREADS | 4 |
BULK_LIMIT | 1000 |
RETRY_LOCK_ATTEMPTS | 4 |
RETRY_WAIT_TIME | 2 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
Web Service
Frequency: Ad hoc
Authorization Method: OAuth 2.0
Base URL: <BASE_URL>/ FinanceEdiDocsJavaServicesWeb/services/orcv/merch/finance/integration/
edidocs/<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
batch/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName": "ORCV_FIN_INT_ EDI_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_FIN_INT_DOC_HEAD_SVC ORCV_FIN_INT_DOC_HEAD_CMTS_SVC ORCV_FIN_INT_DOC_TX_SVC ORCV_FIN_INT_DOC_DTL_CMTS_SVC ORCV_FIN_INT_DOC_DTL_RC_SVC ORCV_FIN_INT_DOC_DTL_TAX_SVC ORCV_FIN_INT_DOC_NON_MERCH_SVC ORCV_FIN_INT_DOC_N_MCH_TX_SVC ORCV_FIN_INT_DOC_PO_SVC ORCV_FIN_INT_INV_DTL_SVC ORCV_FIN_INT_ERR_SVC ORCV_FIN_INT_DOC_HEAD ORCV_FIN_INT_DOC_HEAD_CMTS ORCV_FIN_INT_DOC_NON_MERCH ORCV_FIN_INT_DOC_NON_MERCH_TX ORCV_FIN_INT_DOC_PO ORCV_FIN_INT_DOC_TX ORCV_FIN_INT_DOC_XREF ORCV_FIN_INT_DOC_DTL_CMTS ORCV_FIN_INT_DOC_DTL_RC ORCV_FIN_INT_DOC_DTL_TAX ORCV_FIN_INT_DOC_PO ORCV_FIN_INT_INV_DTL |
batch/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":<EXEC_ID>, "jobName":"ORCV_FIN_INT_ EDI_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_FIN_INT_DOC_HEAD_SVC ORCV_FIN_INT_DOC_HEAD_CMTS_SVC ORCV_FIN_INT_DOC_TX_SVC ORCV_FIN_INT_DOC_DTL_CMTS_SVC ORCV_FIN_INT_DOC_DTL_RC_SVC ORCV_FIN_INT_DOC_DTL_TAX_SVC ORCV_FIN_INT_DOC_NON_MERCH_SVC ORCV_FIN_INT_DOC_N_MCH_TX_SVC ORCV_FIN_INT_DOC_PO_SVC ORCV_FIN_INT_INV_DTL_SVC ORCV_FIN_INT_ERR_SVC ORCV_FIN_INT_DOC_HEAD ORCV_FIN_INT_DOC_HEAD_CMTS ORCV_FIN_INT_DOC_NON_MERCH ORCV_FIN_INT_DOC_NON_MERCH_TX ORCV_FIN_INT_DOC_PO ORCV_FIN_INT_DOC_TX ORCV_FIN_INT_DOC_XREF ORCV_FIN_INT_DOC_DTL_CMTS ORCV_FIN_INT_DOC_DTL_RC ORCV_FIN_INT_DOC_DTL_TAX ORCV_FIN_INT_DOC_PO ORCV_FIN_INT_INV_DTL |
batch/log | GET |
URL query parameters: /log?jobName=ORCV_FIN_INT_ EDI_JOB &executionId=<EXEC_ID>&date= YYYY-MM-DD |
N/A |
batch/kill | POST |
{ "executionId":<EXEC_ID>, "jobName":"ORCV_FIN_INT_ EDI_JOB" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
batch/status | GET |
URL query parameters: /status?jobName=ORCV_FIN_INT_ EDI_JOB &executionId=<EXEC_ID> |
N/A |
/ping | GET | Empty | N/A |
Finance EDI Document XREF Service
Finance EDI Document XREF service updates the integrated Finance Document ids from IMCS in table ORCV_FIN_INT_DOC_XREF.
- Job: ORCV_FIN_INT_EDI_XREF_JOB
- Frequency: Ad hoc
- Dependency: None
- Inter Scheduler Dependency: None
Figure 27-69 Finance EDI Document XREF Batch Service Overview

Initial Batch Configuration
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_FIN_INT_EDI_XREF_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 |
Web Service
Authentication Method: OAuth2
BaseURL: <BASE_URL>/orcv/merch/finance/integration/xrefupdate/batch/<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_FIN_INT_EDI_XREF_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_FIN_INT_DOC_XREF |
restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":<EXEC_ID>, "jobName":"ORCV_FIN_INT_EDI_XREF_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_FIN_INT_DOC_XREF |
log | GET |
URL query parameters: /log?jobName=ORCV_FIN_INT_EDI_XREF_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
kill | POST | Empty |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
status | GET |
URL query parameters: /status?jobName=ORCV_FIN_INT_EDI_XREF_JOB &executionId=<EXEC_ID>&logDate=YYYY-DD-MM |
N/A |
ping | GET | Empty | N/A |
Item Induction to MFCS
This integration batch has a maximum chunk size configuration and has a thread aggregator per number of level-one items to process. The chunk size represents the maximum number of level-one items that each thread will pick per iteration and maps it to the number of level-one items each output induction ODS file will have and that will be integrated to MFCS through IINDBATCH_JOB.
Note:
Item Induction has different configurations depending on the tax type defined in MFCS, in case the tax type is changed in MFCS the template should also be updated.Process Overview
The Item induction service will support the integration of Items into MFCS through the induction batch.
Figure 27-70 Item Induction to MFCS Process Overview

Configuration
The Item Induction integration service has a prerequisite of the interface with ID ITEMINDUCTION being configured in ORCV_BATCH_SFTP and ORCV_BATCH_SFTP_TARGET tables.
Note:
POM configuration for MFCS IINDBATCH_JOB set to run at a high frequency if required.Initial Batch Configuration for ORCV_ITEM_INT_INDUCTION_JOB
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_ITEM_INT_INDUCTION_JOB |
MAX_CHUNK_SIZE | 1 |
MAX_CONCURRENT_THREADS | 4 |
BULK_LIMIT | 1000 |
RETRY_LOCK_ATTEMPTS | 4 |
RETRY_WAIT_TIME | 2 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
Note:
Worksheet VAT_ITEM will not be displayed if system option (defined in IMFCS localization_config_options table) has GTS or SALES value
System Parameters
Listed below is the list of configurations at system level that are required by this integration.
The parameters are defined in table ORCV_SYSTEM_PARAMETERS.
Area | Parameter | Description | Value 1 |
---|---|---|---|
INTEGRATION | INDUCTION_TEMPLATE | Template key. | ORCV_S9T_MFCS_ITEMS_INDUCTION_V24 |
Web Service
Frequency: Ad hoc
Authorization Method: OAuth 2.0
Base URL: <BASE_URL>/ ItemInductionJavaServicesWeb/services/orcv/merch/item/integration/iteminduct /<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
batch/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_ITEM_INT_ INDUCTION_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_ITEM_INT_IMAGE_SVC ORCV_ITEM_INT_SEASONS_SVC ORCV_ITEM_INT_HTS_SVC ORCV_ITEM_INT_HTS_ASSESS_SVC ORCV_ITEM_INT_IMAGE_TL_SVC ORCV_ITEM_INT_SUP_TL_SVC ORCV_ITEM_INT_MASTER_TL_SVC ORCV_ITEM_INT_XFORM_H_TL_SVC ORCV_ITEM_INT_EXPENSES_SVC ORCV_ITEM_INT_TICKET_SVC ORCV_ITEM_INT_CHRG_SVC ORCV_ITEM_INT_MASTER ORCV_ITEM_INT_SUP ORCV_ITEM_INT_SUPCTRY ORCV_ITEM_INT_SUPCTRY_DIM ORCV_ITEM_INT_SUP_CTRYLOC ORCV_ITEM_INT_SUP_MN_CTRY ORCV_ITEM_INT_SUP_UOM ORCV_ITEM_INT_XFORM_HEAD ORCV_ITEM_INT_XF_H_TL_PUBINFO ORCV_ITEM_INT_EXPENSES_PUBINFO ORCV_ITEM_INT_HTS_PUBINFO ORCV_ITEM_INT_TICKET_PUBINFO ORCV_ITEM_INT_CHRG_PUBINFO ORCV_ITEM_INT_EXPENSES ORCV_ITEM_INT_TICKET ORCV_ITEM_INT_CHRG ORCV_ITEM_INT_ERR_SVC ORCV_ITEM_INT_MASTER_PUBINFO ORCV_ITEM_INT_SUP_PUBINFO ORCV_ITEM_INT_SUPCTRY_PUBINFO ORCV_ITEM_INT_SUPCY_DM_PUBINFO ORCV_ITEM_INT_SUP_CYLC_PUBINFO ORCV_ITEM_INT_SUP_UOM_PUBINFO ORCV_ITEM_INT_SUP_MNCY_PUBINFO ORCV_ITEM_INT_XF_HEAD_PUBINFO ORCV_ITEM_INT_XF_DTL_PUBINFO ORCV_ITEM_INT_PACKITEM_PUBINFO ORCV_ITEM_INT_IZP_PUBINFO ORCV_ITEM_INT_VAT_ITEM_PUBINFO ORCV_ITEM_INT_UDA_LOV_PUBINFO ORCV_ITEM_INT_UDA_DATE_PUBINFO ORCV_ITEM_INT_UDA_FF_PUBINFO ORCV_ITEM_INT_SEASONS_PUBINFO ORCV_ITEM_INT_IMAGE_PUBINFO ORCV_ITEM_INT_IMAGE_TL_PUBINFO ORCV_ITEM_INT_HTS_A_PUBINFO ORCV_ITEM_INT_IEM_TL_PUBINFO ORCV_ITEM_INT_SUP_TL_PUBINFO ORCV_ITEM_INT_XFORM_DETAIL ORCV_ITEM_INT_PACKITEM ORCV_ITEM_INT_IZP ORCV_ITEM_INT_VAT_ITEM ORCV_ITEM_INT_UDA_LOV ORCV_ITEM_INT_UDA_DATE ORCV_ITEM_INT_UDA_FF ORCV_ITEM_INT_IMAGE ORCV_ITEM_INT_SEASONS ORCV_ITEM_INT_HTS ORCV_ITEM_INT_HTS_ASSESS ORCV_ITEM_INT_IMAGE_TL ORCV_ITEM_INT_SUP_TL ORCV_ITEM_INT_MASTER_TL ORCV_ITEM_INT_XFORM_H_TL ORCV_ITEM_INT_MASTER_SVC ORCV_ITEM_INT_SUP_SVC ORCV_ITEM_INT_SUPCTRY_SVC ORCV_ITEM_INT_SUPCTRY_DIM_SVC ORCV_ITEM_INT_SUP_CTRYLOC_SVC ORCV_ITEM_INT_SUP_MN_CTRY_SVC ORCV_ITEM_INT_SUP_UOM_SVC ORCV_ITEM_INT_XFORM_HEAD_SVC ORCV_ITEM_INT_XFORM_DETAIL_SVC ORCV_ITEM_INT_PACKITEM_SVC ORCV_ITEM_INT_IZP_SVC ORCV_ITEM_INT_VAT_ITEM_SVC ORCV_ITEM_INT_UDA_LOV_SVC ORCV_ITEM_INT_UDA_DATE_SVC ORCV_ITEM_INT_UDA_FF_SVC |
batch/restart | POST |
{ "executionId":<EXEC_ID>, "jobName":"ORCV_ITEM_INT_ INDUCTION_JOB" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_ITEM_INT_IMAGE_SVC ORCV_ITEM_INT_SEASONS_SVC ORCV_ITEM_INT_HTS_SVC ORCV_ITEM_INT_HTS_ASSESS_SVC ORCV_ITEM_INT_IMAGE_TL_SVC ORCV_ITEM_INT_SUP_TL_SVC ORCV_ITEM_INT_MASTER_TL_SVC ORCV_ITEM_INT_XFORM_H_TL_SVC ORCV_ITEM_INT_EXPENSES_SVC ORCV_ITEM_INT_TICKET_SVC ORCV_ITEM_INT_CHRG_SVC ORCV_ITEM_INT_MASTER ORCV_ITEM_INT_SUP ORCV_ITEM_INT_SUPCTRY ORCV_ITEM_INT_SUPCTRY_DIM ORCV_ITEM_INT_SUP_CTRYLOC ORCV_ITEM_INT_SUP_MN_CTRY ORCV_ITEM_INT_SUP_UOM ORCV_ITEM_INT_XFORM_HEAD ORCV_ITEM_INT_XF_H_TL_PUBINFO ORCV_ITEM_INT_EXPENSES_PUBINFO ORCV_ITEM_INT_HTS_PUBINFO ORCV_ITEM_INT_TICKET_PUBINFO ORCV_ITEM_INT_CHRG_PUBINFO ORCV_ITEM_INT_EXPENSES ORCV_ITEM_INT_TICKET ORCV_ITEM_INT_CHRG ORCV_ITEM_INT_ERR_SVC ORCV_ITEM_INT_MASTER_PUBINFO ORCV_ITEM_INT_SUP_PUBINFO ORCV_ITEM_INT_SUPCTRY_PUBINFO ORCV_ITEM_INT_SUPCY_DM_PUBINFO ORCV_ITEM_INT_SUP_CYLC_PUBINFO ORCV_ITEM_INT_SUP_UOM_PUBINFO ORCV_ITEM_INT_SUP_MNCY_PUBINFO ORCV_ITEM_INT_XF_HEAD_PUBINFO ORCV_ITEM_INT_XF_DTL_PUBINFO ORCV_ITEM_INT_PACKITEM_PUBINFO ORCV_ITEM_INT_IZP_PUBINFO ORCV_ITEM_INT_VAT_ITEM_PUBINFO ORCV_ITEM_INT_UDA_LOV_PUBINFO ORCV_ITEM_INT_UDA_DATE_PUBINFO ORCV_ITEM_INT_UDA_FF_PUBINFO ORCV_ITEM_INT_SEASONS_PUBINFO ORCV_ITEM_INT_IMAGE_PUBINFO ORCV_ITEM_INT_IMAGE_TL_PUBINFO ORCV_ITEM_INT_HTS_A_PUBINFO ORCV_ITEM_INT_IEM_TL_PUBINFO ORCV_ITEM_INT_SUP_TL_PUBINFO ORCV_ITEM_INT_XFORM_DETAIL ORCV_ITEM_INT_PACKITEM ORCV_ITEM_INT_IZP ORCV_ITEM_INT_VAT_ITEM ORCV_ITEM_INT_UDA_LOV ORCV_ITEM_INT_UDA_DATE ORCV_ITEM_INT_UDA_FF ORCV_ITEM_INT_IMAGE ORCV_ITEM_INT_SEASONS ORCV_ITEM_INT_HTS ORCV_ITEM_INT_HTS_ASSESS ORCV_ITEM_INT_IMAGE_TL ORCV_ITEM_INT_SUP_TL ORCV_ITEM_INT_MASTER_TL ORCV_ITEM_INT_XFORM_H_TL ORCV_ITEM_INT_MASTER_SVC ORCV_ITEM_INT_SUP_SVC ORCV_ITEM_INT_SUPCTRY_SVC ORCV_ITEM_INT_SUPCTRY_DIM_SVC ORCV_ITEM_INT_SUP_CTRYLOC_SVC ORCV_ITEM_INT_SUP_MN_CTRY_SVC ORCV_ITEM_INT_SUP_UOM_SVC ORCV_ITEM_INT_XFORM_HEAD_SVC ORCV_ITEM_INT_XFORM_DETAIL_SVC ORCV_ITEM_INT_PACKITEM_SVC ORCV_ITEM_INT_IZP_SVC ORCV_ITEM_INT_VAT_ITEM_SVC ORCV_ITEM_INT_UDA_LOV_SVC ORCV_ITEM_INT_UDA_DATE_SVC ORCV_ITEM_INT_UDA_FF_SVC |
batch/log | GET |
URL query parameters: /log?jobName=ORCV_ITEM_INT_ INDUCTION_JOB &executionId=<EXEC_ID>&date= YYYY-MM-DD |
N/A |
batch/kill | POST |
{ "executionId":<EXEC_ID>, "jobName":"ORCV_ITEM_INT_ INDUCTION_JOB" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
batch/status | GET |
URL query parameters: /status?jobName=ORCV_ITEM_INT_ INDUCTION_JOB&executionId= <EXEC_ID> |
N/A |
/ping | GET | Empty | N/A |
Item CFAs Rest to MFCS
Item integration to MFCS MerchIntegration extends the Database Integration Framework to publish Items CFAs for Item Master, Item Supplier and Item Supplier Country.
Process Overview
This section describes the process overview.
Publish Flow
Publish allows integration endpoints to be called in either synchronous or asynchronous mode. These calls can be atomic or non-atomic. Atomic calls ensure that all entries are integrated together as a bulk operation, while non-atomic calls handle each entry individually.
Figure 27-76 Items CFAs to MFCS Publish Flow

Configuration
Items publish Items CFAs with the following configurations in Database Integration Framework.
Table ORCV_INT_SERVICE_MAPPING
Item Master
Configuration | Value |
---|---|
Application Alias | ITEM |
Application Entity Get Data Function | ORCV_ITEM_INT_MI_WS.GET_ITEM_INTEGRATION_DATA |
Application Status Function | NA |
Family | ITEM_MASTER |
Atomic Indicator | N |
Item Supplier
Configuration | Value |
---|---|
Application Alias | ITEM |
Application Entity Get Data Function | ORCV_ITEM_INT_MI_WS.GET_ITEM_INTEGRATION_DATA |
Application Status Function | NA |
Family | ITEM_SUPPLIER |
Atomic Indicator | N |
Item Supplier Country
Configuration | Value |
---|---|
Application Alias | ITEM |
Application Entity Get Data Function | ORCV_ITEM_INT_MI_WS.GET_ITEM_SUPCTRY_INT_DATA |
Application Status Function | NA |
Family | ITEM_SUPPLIER_CTRY |
Atomic Indicator | N |
Table ORCV_WS_ENDPOINT
Item Master
Configuration | Value |
---|---|
Endpoint ID | MFCS_MERCH_ITEM_UPDATE |
Credential Static ID | OAUTH_MFCS_INTEGRATION |
URL | <MFCS_MerchIntegrations_URL>/services/items/update |
Action | PUT |
Request Type | REST |
Item Supplier
Configuration | Value |
---|---|
Endpoint ID | MFCS_MERCH_SUP_UPDATE |
Credential Static ID | OAUTH_MFCS_INTEGRATION |
URL | <MFCS_MerchIntegrations_URL>/services/item/supplier/update |
Action | PUT |
Request Type | REST |
Item Supplier Country
Configuration | Value |
---|---|
Endpoint ID | MFCS_MERCH_SUPCTRY_UPDATE |
Credential Static ID | OAUTH_MFCS_INTEGRATION |
URL | <MFCS_MerchIntegrations_URL>/services/item/suppliers/countries/update |
Action | PUT |
Request Type | REST |
Item Rest Publish Asynchronous Batch
This batch processes all entries to be integrated in MFQueue tables for Rest Integrations, it requires the parameter ENTITY to be passed defining the entity to be processed:
- ITEM_MASTER for Item Master CFAs
- ITEM_SUPPLIER for Item Supplier CFAs
- ITEM_SUPPLIER_CTRY for Item Supplier Country CFAs
For those entries to be integrated, this batch enriches the data from the Application Layer generating the payload to call the MFCS MerchIntegrations Rest update endpoints in mode Atomic / Non Atomic depending on configuration setup.
Configuration
Batch configuration table: ORCV_BATCH_CONFIG
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_ITEM_INT_MFCS_JOB |
MAX_CHUNK_SIZE | 10000 |
MAX_CONCURRENT_THREADS | 4 |
RETRY_LOCK_ATTEMPTS | 4 |
RETRY_WAIT_TIME | 2 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
Operations
Authentication Method: OAuth2
Base URL: /ords/mfcs/orcv/merch/item/integration/item/merchint/batch/<URL Path>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
start | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "", "jobName": "ORCV_ITEM_INT_MFCS_JOB", "agentExecutionId": "", "parameters": "ENTITY=ITEM_MASTER| ITEM_SUPPLIER|ITEM_SUPPLIER_CTRY" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_ITEM_INT_SUPCTRY_CFA ORCV_ITEM_INT_SUPCTRY_SVC ORCV_ITEM_INT_SUPCTRY ORCV_ITEM_INT_SUP_CTRYLOC ORCV_ITEM_INT_SUPCTRY_DIM ORCV_ITEM_INT_MFQUEUE ORCV_ITEM_INT_MASTER_SVC ORCV_ITEM_INT_MASTER ORCV_ITEM_INT_MASTER_CFA_SVC ORCV_ITEM_INT_MASTER_CFA ORCV_ITEM_INT_SUP_SVC ORCV_ITEM_INT_SUP ORCV_ITEM_INT_SUPPLIER_CFA_SVC ORCV_ITEM_INT_SUPPLIER_CFA ORCV_ITEM_INT_SUPCTRY_CFA_SVC |
restart | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "<EXEC_ID>", "jobName": "ORCV_ITEM_INT_MFCS_JOB", "agentExecutionId": "", "parameters": "ENTITY=ITEM_MASTER| ITEM_SUPPLIER|ITEM_SUPPLIER_CTRY" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_ITEM_INT_SUPCTRY_CFA ORCV_ITEM_INT_SUPCTRY_SVC ORCV_ITEM_INT_SUPCTRY ORCV_ITEM_INT_SUP_CTRYLOC ORCV_ITEM_INT_SUPCTRY_DIM ORCV_ITEM_INT_MFQUEUE ORCV_ITEM_INT_MASTER_SVC ORCV_ITEM_INT_MASTER ORCV_ITEM_INT_MASTER_CFA_SVC ORCV_ITEM_INT_MASTER_CFA ORCV_ITEM_INT_SUP_SVC ORCV_ITEM_INT_SUP ORCV_ITEM_INT_SUPPLIER_CFA_SVC ORCV_ITEM_INT_SUPPLIER_CFA ORCV_ITEM_INT_SUPCTRY_CFA_SVC |
log | GET |
URL query parameters: ?jobName=ORCV_ITEM_INT_MFCS_JOB& executionId=<EXEC_ID>& logDate=YYYY-DD-MM |
N/A |
kill | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "<EXEC_ID>", "jobName": "ORCV_ITEM_INT_MFCS_JOB", "agentExecutionId": "", "parameters": "" } |
N/A |
status | GET |
URL query parameters: ?jobName=ORCV_ITEM_INT_MFCS_JOB& executionId=<EXEC_ID>& logDate=YYYY-DD-MM |
N/A |
Item Location Integration to MFCS
This integration has a maximum chunk size configuration and has a thread aggregator per number of different hierarchy level records per item. The chunk size represents the maximum number of hierarchy level that each thread iteration will process per item and send to MFCS MerchIntegrations item location service that subscribes items and their locations.
Process Overview
The Item Location integration service will support the integration of item locations into MFCS through the MerchIntegrations ReST endpoint.
Figure 27-80 Item Location Integration to MFCS Process Overview

Configuration
This section describes configurations.
Initial Batch Configuration for ORCV_ITEM_INT_XITEMLOC_JOB
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_ITEM_INT_XITEMLOC_JOB |
MAX_CHUNK_SIZE | 10 |
MAX_CONCURRENT_THREADS | 4 |
BULK_LIMIT | 1000 |
RETRY_LOCK_ATTEMPTS | 4 |
RETRY_WAIT_TIME | 2 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
Web Service
Frequency: Ad hoc
Authorization Method: OAuth 2.0
Base URL: <BASE_URL>/XItemLocJavaServicesWeb/services/orcv/merch/item/integration/xitemloc /<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
batch/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_ITEM_INT_ XITEMLOC_JOB", "agentExecutionId":"", "parameters":"” } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_ITEM_INT_IL_ERR_SVC ORCV_ITEM_INT_ILDTL_SVC ORCV_ITEM_INT_ILDTL ORCV_ITEM_INT_ILTRT_SVC ORCV_ITEM_INT_ILTRT ORCV_ITEM_INT_ILDTL_CFA_SVC ORCV_ITEM_INT_ILDTL_CFA ORCV_ITEM_INT_IL_PUBINFO |
batch/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":<EXEC_ID>, "jobName":"ORCV_ITEM_INT_ XITEMLOC_JOB", "agentExecutionId":"", "parameters":"” } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_ITEM_INT_IL_ERR_SVC ORCV_ITEM_INT_ILDTL_SVC ORCV_ITEM_INT_ILDTL ORCV_ITEM_INT_ILTRT_SVC ORCV_ITEM_INT_ILTRT ORCV_ITEM_INT_ILDTL_CFA_SVC ORCV_ITEM_INT_ILDTL_CFA ORCV_ITEM_INT_IL_PUBINFO |
batch/log | GET |
URL query parameters: /log?jobName=ORCV_ITEM_INT_ XITEMLOC_JOB &executionId=<EXEC_ID>&date= YYYY-MM-DD |
N/A |
batch/kill | POST |
{ "executionId": <EXEC_ID>, "jobName":"ORCV_ITEM_INT_ XITEMLOC_JOB" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
batch/status | GET |
URL query parameters: /status?jobName=ORCV_ITEM_INT_ XITEMLOC_JOB &executionId=<EXEC_ID> |
N/A |
/ping | GET | Empty | N/A |
Cost Change Induction to MFCS
This section describes the Cost Change Induction to MFCS.
Process Overview
The Cost Change induction service will support the integration of Cost Changes into MFCS through the induction batch.
Figure 27-86 Cost Change Induction to MFCS Process Overview

Set Integration Status
Figure 27-90 Set Integration Status Flow for Cost Change Induction to MFCS Integration

Configuration
The Cost Change Induction integration service has a prerequisite of the interface with ID COSTCHANGEINDUCTION being configured in ORCV_BATCH_SFTP and ORCV_BATCH_SFTP_TARGET tables.
Note:
POM configuration for MFCS IINDBATCH_CC_JOB is set to run at a high frequency if required and the final target is Merchandising instead of staging tables. The cost change number should be aligned to avoid collision in Merchandising.Initial Batch Configuration for ORCV_COSTS_INT_CCINDUCT_JOB
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_COSTS_INT_CCINDUCT_JOB |
MAX_CHUNK_SIZE | 1000 |
MAX_CONCURRENT_THREADS | 4 |
BULK_LIMIT | 1000 |
RETRY_LOCK_ATTEMPTS | 4 |
RETRY_WAIT_TIME | 2 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
System Parameters
Listed below is the list of configurations at system level that are required by this integration.
The parameters are defined in table ORCV_SYSTEM_PARAMETERS.
Area | Parameter | Description | Value 1 |
---|---|---|---|
INTEGRATION | INDUCTION_TEMPLATE | Template key. | ORCV_S9T_MFCS_COST_CHANGE |
Web Service
Frequency: Ad hoc
Base URL: <BASE_URL>/CostChangeInductionJavaServicesWeb/services/orcv/merch/costs/integration/
costchangeinduct/<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
batch/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_COSTS_INT_ CCINDUCT_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_COSTS_INT_HEAD_SVC ORCV_COSTS_INT_DETAIL_SVC ORCV_COSTS_INT_DETAIL_LOC_SVC ORCV_COSTS_INT_HEAD ORCV_COSTS_INT_DETAIL ORCV_COSTS_INT_DETAIL_LOC ORCV_COSTS_INT_CC_HEAD_PUBINFO ORCV_COSTS_INT_CC_DTL_PUBINFO ORCV_COSTS_INT_CC_LOC_PUBINFO ORCV_COSTS_INT_ERR_SVC |
batch/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":<EXEC_ID>, "jobName":"ORCV_COSTS_INT_ CCINDUCT_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_COSTS_INT_HEAD_SVC ORCV_COSTS_INT_DETAIL_SVC ORCV_COSTS_INT_DETAIL_LOC_SVC ORCV_COSTS_INT_HEAD ORCV_COSTS_INT_DETAIL ORCV_COSTS_INT_DETAIL_LOC ORCV_COSTS_INT_CC_HEAD_PUBINFO ORCV_COSTS_INT_CC_DTL_PUBINFO ORCV_COSTS_INT_CC_LOC_PUBINFO ORCV_COSTS_INT_ERR_SVC |
batch/log | GET |
URL query parameters: /log?jobName=ORCV_COSTS_INT_ CCINDUCT_JOB& executionId=<EXEC_ID>&date= YYYY-MM-DD |
N/A |
batch/kill | POST |
{ "executionId": <EXEC_ID>, "jobName":"ORCV_COSTS_INT_ CCINDUCT_JOB" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS |
batch/status | GET |
URL query parameters: /status?jobName=ORCV_COSTS_INT_ CCINDUCT_ JOB&executionId=<EXEC_ID> |
N/A |
ping | GET | Empty | N/A |
Return to Vendor to MFCS
Return to Vendor integration to MFCS MerchIntegration extends the Database Integration Framework to Publish RTVs.
Process Overview
This section describes the process overview.
Publish Flow
Publish allows the calling of integration endpoints in synchronous mode. Those calls can be either atomic or non-atomic. Atomic is in case all the entries need to be integrated together in bulk, while the non-atomic deals with each entry individually.
Figure 27-92 Return to Vendor to MFCS Publish Flow

Configuration
Quality Control and Return to Vendor publish RTVs with the following configurations in Database Integration Framework.
Table ORCV_INT_SERVICE_ENTITY
Configuration | Value |
---|---|
Entity ID | RTV |
Publication Function | ORCV_INV_INT_RTV_SERVICE.PUBLISH |
Table ORCV_INT_SERVICE_MAPPING
Quality Control
Configuration | Value |
---|---|
Application Alias | QLCT |
Application Entity Get Data Function | ORCV_QLCT_PUB_RTV.GET_RTV_INTEGRATION_DATA |
Application Status Function | NA |
Atomic Indicator | N |
Return to Vendor
Configuration | Value |
---|---|
Application Alias | SPRV |
Application Entity Get Data Function | ORCV_SPRV_PUB_RTV.GET_RTV_INTEGRATION_DATA |
Application Status Function | NA |
Atomic Indicator | N |
Deals to MFCS
The Deal to MFCS batch service will support the integration of Deals into MFCS as an EDIDU file through the deal upload batch (DEALUPLD_JOB).
Configuration
The Deal to MFCS batch service has a prerequisite of the interface ID DEALEDIDU being configured on ORCV_BATCH_SFTP and ORCV_BATCH_SFTP_TARGET tables.
Note:
POM configuration for ORCV_DEAL_INT_EDIDU_JOB Ad-hoc execution is advised to be set at a high frequency.Initial Batch Configuration for ORCV_DEAL_INT_EDIDU_JOB
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_DEAL_INT_EDIDU_JOB |
MAX_CHUNK_SIZE | 1 (one deal per edidu file) |
MAX_CONCURRENT_THREADS | 4 |
BULK_LIMIT | 1000 |
RETRY_LOCK_ATTEMPTS | 4 |
RETRY_WAIT_TIME | 2 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
System Parameters
Listed below is the list of configurations at system level that are required by this integration.
The parameters are defined in table ORCV_SYSTEM_PARAMETERS.
Area | Parameter | Description | Value 1 |
---|---|---|---|
PURGE | PURGE_DAYS | Default purge Period. | 30 |
INTEGRATION | INDUCTION_TEMPLATE | Deals Integration template key | MFCS_EDIDU_DATA_V23 |
INTEGRATION | THRESHOLD_LOWER_LIMIT | Lower limit of the deal component. This is the minimum value will apply, when multiple_thresholds_ind = 'N' | 0 |
INTEGRATION | THRESHOLD_UPPER_LIMIT | 'Upper limit of the deal component. This is the maximum value will apply, when multiple_thresholds_ind = 'N' | 99999999 |
CONFIG | GENERATE_DEAL_COMPONENT | Apply deal component rule and insert integration tables. |
ORCV_DEAL_INT_EDIDU. INSERT_INT |
Web Service
Frequency: Ad hoc
Base URL: <BASE_URL>/DealsEdiduJavaServicesWeb/services/orcv/merch/deal/integration/edidu/< URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
batch/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_DEAL_INT_ EDIDU_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_ENGINE_THREADS ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG ORCV_DEAL_INT_HEAD_SVC ORCV_DEAL_INT_DETAIL_SVC ORCV_DEAL_INT_COMP_PRM_SVC ORCV_DEAL_INT_IL_ITEM_SVC ORCV_DEAL_INT_POP_TERMS_SVC ORCV_DEAL_INT_THRESHOLD_SVC ORCV_DEAL_INT_ERR_SVC ORCV_DEAL_INT_HEAD ORCV_DEAL_INT_DETAIL ORCV_DEAL_INT_COMP_PRM ORCV_DEAL_INT_IL_ITEM ORCV_DEAL_INT_POP_TERMS ORCV_DEAL_INT_THRESHOLD ORCV_DEAL_INT_XREF ORCV_DEAL_INT_HEAD_PUBINFO |
batch/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":<EXEC_ID>, "jobName":"ORCV_DEAL_INT_ EDIDU_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_ENGINE_THREADS ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG ORCV_DEAL_INT_HEAD_SVC ORCV_DEAL_INT_DETAIL_SVC ORCV_DEAL_INT_COMP_PRM_SVC ORCV_DEAL_INT_IL_ITEM_SVC ORCV_DEAL_INT_POP_TERMS_SVC ORCV_DEAL_INT_THRESHOLD_SVC ORCV_DEAL_INT_ERR_SVC ORCV_DEAL_INT_HEAD ORCV_DEAL_INT_DETAIL ORCV_DEAL_INT_COMP_PRM ORCV_DEAL_INT_IL_ITEM ORCV_DEAL_INT_POP_TERMS ORCV_DEAL_INT_THRESHOLD ORCV_DEAL_INT_XREF ORCV_DEAL_INT_HEAD_PUBINFO |
batch/log | GET |
URL query parameters: /log?jobName=ORCV_DEAL_INT_ EDIDU_JOB& executionId=<EXEC_ID>&date= YYYY-MM-DD |
N/A |
batch/kill | POST |
{ "executionId": <EXEC_ID>, "jobName":"ORCV_DEAL_INT_ EDIDU_JOB" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG |
batch/status | GET |
URL query parameters: /status?jobName=ORCV_DEAL_INT_ EDIDU_JOB&executionId=<EXEC_ID> |
N/A |
ping | GET | Empty | N/A |
Deal XREF Batch Service
The Deal cross reference batch service allow synchronization of MFCS deal ID to the external reference integrated through the Deal Integration Batch Service.
Figure 27-101 Deal XREF Batch Service Overview

Initial Batch Configuration for ORCV_DEAL_INT_EDIDU_XREF_JOB
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_DEAL_INT_EDIDU_XREF_JOB |
MAX_CHUNK_SIZE | 1000 |
MAX_CONCURRENT_THREADS | 4 |
RETRY_LOCK_ATTEMPTS | 4 |
RETRY_WAIT_TIME | 3 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_IND | N |
Web Service
Frequency: Ad-hoc
Base URL: <BASE_URL>/ords/mfcs/orcv/merch/deal/integration/xrefupdate/< URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
batch/start | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":"", "jobName":"ORCV_DEAL_INT_ EDIDU_XREF_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_ENGINE_THREADS ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG ORCV_DEAL_INT_XREF |
batch/restart | POST |
{ "cycleName":"", "flowName":"", "processName":"", "async":"", "executionId":<EXEC_ID>, "jobName":"ORCV_DEAL_INT_ EDIDU_XREF_JOB", "agentExecutionId":"", "parameters":"" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_ENGINE_THREADS ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG ORCV_DEAL_INT_XREF |
batch/log | GET |
URL query parameters: /log?jobName=ORCV_DEAL_INT_ EDIDU_XREF_JOB& executionId=<EXEC_ID>&logDate= YYYY-MM-DD |
N/A |
batch/kill | POST |
{ "executionId": <EXEC_ID>, "jobName":"ORCV_DEAL_INT_ EDIDU_XREF_JOB" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_BATCH_AUDIT_LOG |
batch/status | GET |
URL query parameters: /status?jobName=ORCV_DEAL_INT_ EDIDU_XREF_JOB&executionId=<EXEC_ID> |
N/A |
ping | GET | Empty | N/A |
Fulfillment Order to MFCS
Fulfillment Order to MFCS extends the Database Integration Framework to publish Fulfillment Orders to MFCS Merch Integrations.
Process Overview
This section describes the process overview.
Publish Flow
Publish allows the call of integration endpoints in synchronous and asynchronous mode. Those calls can be either atomic or non-atomic. Atomic is in case all the entries need to be integrated together in bulk while the non-atomic deals with each entry individually.
Figure 27-102 Fulfillment Order to MFCS Publish Flow

Publish Asynchronous Batch
Fulfillment Order Publish to MFCS
The Fulfillment Order Publish to MFCS Batch checks the queue table ORCV_ORD_INT_FO_MFQ for Fulfillment Orders to be published in the table.
- Job: ORCV_ORD_INT_FO_MFCS_JOB
- Frequency: Ad-hoc
- Dependency: None
- Inter Scheduler Dependency: None
Batch default configuration (ORCV_BATCH_CONFIG):
Column Name | Default Values |
---|---|
Program Name | ORCV_ORD_INT_FO_MFCS_JOB |
Maximum Chunk Size | 10000 |
Maximum Concurrent Threads | 4 |
Retry Lock Attempts | 4 |
Retry Wait Time | 2 |
Retry Maximum Attempts | 3 |
Retry Ordered | N |
Retry Indicator | N |
Process Overview
Figure 27-105 Fulfillment Order to MFCS Publish Asynchronous Batch Overview

Configuration
Customer Order Fulfillment publishes Fulfillment Orders with the following configurations in Database Integration Framework:
Table ORCV_INT_SERVICE_ENTITY
Configuration | Value |
---|---|
Entity ID | FO_MFCS |
Publication Function | ORCV_ORD_INT_FO_SERVICE.PUBLISH |
Table ORCV_INT_SERVICE_MAPPING
Configuration | Value |
---|---|
Application Alias | SPCO |
Application Entity Get Data Function | ORCV_SPCO_PUB_FO.GET_FO_INTEGRATION_DATA |
Application Status Function | ORCV_SPCO_PUB_FO.SET_FO_INTEGRATION_STATUS |
Atomic Indicator | N |
Security
Authentication and Single Sign-On
Authentication in Retail Supply Chain Hub is managed through Oracle Cloud Infrastructure Identity and Access Management (OCI IAM). The IDCS or OCI IAM tenant is the same tenant that is used by the rest of the Oracle Retail suite of applications, enabling SSO or federated with another instance.
ReST Services Authentication
ReST Service services endpoints support IDCS Authentication OAuth 2.0 with grant types of Client Credentials. It is applicable to all ReST endpoints in ORDS. The Java Services all support OAuth2.0, but only with grant type Client Credentials.
To ensure a proper security configuration the following must be done:
- Client Credentials for batch executions
- Client Credentials for Integrations:
-
Create an Application in IDCS with a specific scope for the client.
-
Create a user in IDCS with the uppercased name matching the IDCS Application name.
-
Grant IDCS Application Role RETAILER_ADMINISTRATOR for RSCH.
-
Run IDCS Synchronization Batch.
-
Map the client scopes with the appropriate roles of the endpoint in table ORCV_SEC_ROLES_SCOPES.
-
Set appropriate Data permissions for the actions to be performed in Profile.
-
Database
Data Filter Policy
Retail Supply Chain Hub provides an optional layer of data filtering in the application user interface, which limits the data end users see by levels in the merchandise, supplier site and location. Whether or not this is used in your environment is controlled by association to a supplier, department, location, or a specific role that determines if the user is a retailer or a supplier and they are an administrator of the system.
With data filtering enabled for merchandise hierarchy, users will only be able to work with entities that are part of the merchandise hierarchy to which they have been given data filtering access. Otherwise, by default, any retailer user will have access to all departments. This configuration will be persisted in the table ORCV_SEC_USER_DEPT and the user information will need to be set up on the ORCV_SEC_USER table.
GDPR
Retail Supply Chain Hub complies with GDPR requirements that mandates that organizations protect the personal data of individuals and provides individuals with rights regarding their data, such as the right to access, rectification, erasure, and data portability. In essence, the available web-services manage the process of identifying, modifying, and/or deleting personal data across various tables in the ORCV database to comply with GDPR regulations.
Web Services
This section describes the web services.
Right of Access
This service retrieves and returns user information based on the provided user ID.
Endpoint | /ords/mfcs/orcv/common/gdpr/access |
---|---|
Authorization Method | OAuth 2.0 |
Request Method | POST |
Request Body |
The request body should be a JSON object containing the user_id. Example: { "user_id": "MY_USER" } |
Response Body |
A JSON object containing the user's information. Example: { "entity": "User with id RETAILER_ADMIN information.", "list": [ { "USER_ID": "MY_USER", "USER_NAME": "My User", "FIRST_NAME": "My", "LAST_NAME": "User", "USER_STATUS": "A", "JOB_TITLE": null, "EMAIL": "my.user@example.com", "USER_TYPE": "RA" } ] } |
This endpoint will verify the user exists in the system. If the user is confirmed to exist, the function proceeds to gather all the relevant information associated with that user and returns it in a JSON format.
Figure 27-106 GDPR Right of Access Rest Service

Right to be Forgotten
This service initiates the process of forgetting a user's data in accordance with GDPR regulations.
URL | /ords/mfcs/orcv/common/gdpr/forget |
---|---|
Authorization Method | OAuth 2.0 |
Request Method | POST |
Request Body |
The request body should be a JSON object containing the user_id. Example: { "user_id": "RETAILER_ADMIN" } |
Response Body |
A JSON object containing the process id of the batch executing in the background that will obfuscate the user id requested. Example: { "process_id": "1234" } |
This endpoint will verify the user exists in the system. If the user is confirmed to exist, the function proceeds to adding the user to be processed in the batch.
Figure 27-107 GDPR Right to be Forgotten Rest Service

Forget Batch
This process executes the 'forget' functionality for all tables configured in the ORCV_GDPR_CONFIG table where ROA_IND is 'N'. It updates the columns specified in the GDPR_COLUMN to anonymize user data.
Batch configuration table: ORCV_BATCH_CONFIG
Column Name | Default Values |
---|---|
PROGRAM_NAME | ORCV_GDPR_JOB |
MAX_CHUNK_SIZE | 1000 |
MAX_CONCURRENT_THREADS | 4 |
RETRY_IND | N |
RETRY_LOCK_ATTEMPTS | 3 |
RETRY_MAX_ATTEMPTS_COUNT | 3 |
RETRY_ORDERED | N |
RETRY_WAIT_TIME | 3 |
Process Overview
Figure 27-108 Forget Batch Process Overview

Pre-Processor: This function's primary responsibility is to divide the workload of the processing into smaller chunks that can be processed concurrently by different threads. This is achieved by collecting all the configurations in ORCV_GDPR_CONFIG table and defining the threads based on MOD of (TABLE_NAME, MAX_CONCURRENT_THREADS) to ORCV_THREAD_CONTROL.
Processor: The processor function is responsible for the bulk of the execution. It begins by inactivating the user identified for removal to prevent further actions associated with that user. The function updates the ORCV_GDPR_REQ table to mark the process as 'P'. After the handling of the thread number, it will update the ORCV_THREAD_CONTROL table. After this, the function will run through every TABLE_NAME configured on the ORCV_GDPR_CONFIG table and insert all records associated with the user in the configured column into a GTT table (ORCV_GDPR_USER_ACTIV_GTT). It will then finally update all columns with the user to the new created user inserted on the beginning of the process. The function concludes by updating the ORCV_THREAD_CONTROL table to 'PS' for success or 'E' for error."
Post Processor: The post-processor begins by checking the status of the ORCV_THREAD_CONTROL table for the given PROCESS_ID. If all threads completed successfully, the process status in ORCV_GDPR_REQ is set to 'C' (Completed); otherwise, it is set to 'E' (Error). If the status in ORCV_GDPR_REQ is 'C', the user is deleted from the ORCV_SEC_USER_APP, ORCV_SEC_USER_SUPP, ORCV_SEC_USER_DEPT, ORCV_SEC_USER_LOC, ORCV_SEC_TOKEN_HEAD, and ORCV_SEC_USER tables.
Operations
Authentication Method: OAuth2
Base URL: /ords/mfcs/orcv/merch/common/batch/<URL_PATH>
URL Path | Request Method | Request Body | Affected Tables |
---|---|---|---|
start | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "", "jobName": "ORCV_GDPR_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_GDPR_REQ ORCV_SEC_USER ORCV_SEC_USER_APP ORCV_SEC_USER_SUPP ORCV_SEC_USER_DEPT ORCV_SEC_USER_LOC ORCV_SEC_TOKEN_HEAD and tables listed in ORCV_GDPR_CONFIG |
restart | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "<EXEC_ID>", "jobName": "ORCV_GDPR_JOB", "agentExecutionId": "", "parameters": "" } |
ORCV_BATCH_STATUS_CONTROL ORCV_THREAD_CONTROL ORCV_BATCH_AUDIT_STATUS ORCV_GDPR_REQ ORCV_SEC_USER ORCV_SEC_USER_APP ORCV_SEC_USER_SUPP ORCV_SEC_USER_DEPT ORCV_SEC_USER_LOC ORCV_SEC_TOKEN_HEAD and tables listed in ORCV_GDPR_CONFIG |
log | GET |
URL query parameters: ?jobName=ORCV_GDPR_JOB& executionId=<EXEC_ID>& logDate=YYYY-DD-MM |
N/A |
kill | POST |
{ "cycleName": "", "flowName": "", "processName": "", "async": "", "executionId": "<EXEC_ID>", "jobName": "ORCV_GDPR_JOB", "agentExecutionId": "", "parameters": "" } |
N/A |
status | GET |
URL query parameters: ?jobName=ORCV_GDPR_JOB& executionId=<EXEC_ID>& logDate=YYYY-DD-MM |
N/A |
Right to be Forgotten Service
This service retrieves the status of a "forget user" request, identified by its process ID.
URL | /ords/mfcs/orcv/common/gdpr/forget |
---|---|
Authorization Method | OAuth 2.0 |
Request Method | GET |
Request Parameters |
The process_id received on the forget user web service. Example: /ords/mfcs/orcv/common/gdpr/forget?process_id=1234 |
Response Body |
A JSON object containing the status of the forget user process. Example: { "status": "New" } |