Oracle® Retail Pricing Cloud Service Operations Guide Release 16.0.029 E99962-02 |
|
![]() Previous |
![]() Next |
This chapter discusses Java-based batch processing within RPM.
Table 3-1 Functional Descriptions and Dependencies
Batch processes | Details |
---|---|
ClearanceInductionBatch |
This batch program allows the user to upload clearance events in bulk. |
ClearancePriceChangePublishBatch |
This batch process formats and stages output of clearance price change price events to be published via a flat file format. |
futureRetailPurgeBatch |
This timed multi-threaded batch deletes records from future retail tables that are past the retention period of the associated price events. |
FutureRetailRollUpBatch.sh |
This batch attempts to roll up timelines at a lower level by comparing lower level timelines to higher levels and removing any lower level timelines that match higher level timelines exactly. |
itemReclassBatch |
When items are moved from one department/class/subclass to another in the merchandising system, this batch process accordingly sets the correct department/class/subclass for these items in the RPM_FUTURE_ RETAIL table. |
NewItemLocationBatch |
This batch ranges item locations by putting them into the future retail table and RPM_ITEM_LOC. Item and locations are fed to this program via the RPM_ITEM_LOC_WS table, which is populated by an RMS process. |
NightlyBatchCleanup |
This batch performs "clean up" logic against Pricing database objects. |
PriceChangeInductionBatch |
This batch program allows the user to upload regular price changes in bulk. |
PriceEventExecutionBatch |
This batch process performs the necessary work to start (regular price change, clearance price change, promotions) and end (price clearances, promotions) pricing events. |
PurgeBatch |
This generic purge batch calls most of the purge batches into one purge process. |
PurgeGttCaptureBatch |
This batch process deletes records from gtt data capture tables. |
RegularPriceChangePublishBatch |
This batch process formats and stages output of regular price change price events. |
RefreshPosDataBatch |
The RefreshPosDataBatch program deletes the contents of the payload tables. |
Table 3-2 ClearanceInductionBatch Details
Module Name |
ClearanceInductionBatch.sh |
Description |
Clearance bulk upload process |
Functional Area |
Clearance |
Module Type |
Business Processing |
Module Technology |
Java |
Catalog ID |
|
Runtime Parameters |
ClearanceInductionBatch.sh <user alias> <incoming-dir-path> <Template_Key> [filter_Str ]
|
Note: File naming standardsXML file: The file should have a prefix of CLIND. Ex: CLIND_ABC-10.10.18.xml The file should contain the data in the format suggested by standard clearance upload template. ZIP file: The file should have a prefix of CLIND. Ex: CLIND_ABC.ZIP The xml files with in the zip file should also have the prefix of CLIND. |
The clearance induction batch process perform the necessary work to upload clearances in bulk. For the bulk upload, clearance data will be present in XML format with the data formatted in the standard clearance upload template. This batch accepts the clearance data present in XML format and also as zip files of xml files formatted in the standard template.
Table 3-4 ClearanceInductionBatch Key Tables Affected
Table | Select | Insert | Update | Delete |
---|---|---|---|---|
S9T_TEMPLATE |
Yes |
No |
No |
No |
SVC_PROCESS_TRACKER |
Yes |
No |
No |
No |
S9T_ERRORS |
Yes |
Yes |
Yes |
No |
RPM_CORESVC_CLEARANCE_ERR |
Yes |
No |
No |
No |
RPM_SVC_CLEARANCE |
Yes |
No |
Yes |
No |
RPM_CLEARANCE |
Yes |
No |
No |
No |
RPM_CLEARANCE_GROUP |
No |
Yes |
No |
No |
Table 3-5 ClearancePriceChangePublishBatch Details
Module Name |
ClearancePriceChangePublishBatch.sh |
Description |
Clearance events are exported |
Functional Area |
Clearance |
Module Type |
Business Processing |
Module Technology |
Java |
Catalog ID |
|
Runtime Parameters |
ClearancePriceChangePublishBatch.sh <user_alias> <outgoing-dir-path> |
The ClearancePriceChangePublishBatch program formats and stages output of clearance price change price events.
The corresponding clearancePriceChangePublishExport shell script produces a pipe ("|") delimited flat-file export based on the output of the ClearancePriceChangePublishBatch.
The batch looks for price events in the RPM_PRICE_EVENT_PAYLOAD table with a RIB_FAMILY of 'ClrPrcChg' and distributes those events to multiple threads based on the settings in the RPM_BATCH_CONTROL table. Each thread reads in its set of clearance price change events from tables RPM_PRICE_EVENT_PAYLOAD and RPM_ CLEARANCE_PAYLOAD and generates output in RPM_PRICE_PUBLISH_DATA. After the flat file is successfully generated by the Export script (see the following format), the associated records in the payload tables are deleted.
Then the flat-files per location based on the data from payload table that need to be published/processed will be created and zipped and copied to the outgoing-dir-path provided as a batch parameter.
Table 3-6 ClearancePriceChangePublishBatch Scheduling Constraints
Schedule Information | Description |
---|---|
Frequency |
Ad hoc, Recurring |
Scheduling Considerations |
N/A |
Pre-Processing |
N/A |
Post-Processing |
N/A |
Threading Scheme |
The ClearancePriceChangePublishBatch program is threaded, using RPM_BATCH_CONTROL. The LUW is a single clearance price change event. |
FHEAD - REQUIRED: File identification, one line per file.
FDETL - OPTIONAL: Price Change Event (Create or Modify).
FDELE - OPTIONAL: Price Change Event (Delete).
FTAIL - REQUIRED: End of file marker, one line per file.
Note: File naming standardsThe naming convention for the flat file will be (CLRPC_<timestamp>_<location>_<loc_type>.dat), where <timestamp> is the current system time stamp, <location> is the location id and <loc_type> is the type of the location where 'S' is for Store and 'W' is for Warehouse. The zip file naming convention will be (CLRPC_<timestamp>.zip). |
Table 3-8 Output File Layout
Record Name | Field Name | Field Type | Default Value | Description |
---|---|---|---|---|
FHEAD |
Record Descriptor |
Char(5) |
FHEAD |
File head marker |
Line id |
Number(10) |
1 |
Unique line identification |
|
File Type |
Char(5) |
CLRPC |
Clearance Price Changes |
|
Export timestamp |
Timestamp |
System clock timestamp (YYYYMMDDHHMISS) |
||
Location |
Number(10) |
Location identifier |
||
Location Type |
Char(1) |
S = Store, W = Warehouse |
||
FDETL |
Record Descriptor |
Char(5) |
FDETL |
File Detail Marker (1 per clearance create or modify) |
Line id |
Number(10) |
Unique line identification |
||
Event Type |
Char(3) |
CRE = Create, MOD = Modify |
||
Id |
Number(15) |
Clearance identifier |
||
Item |
Char(25) |
Item identifier |
||
Effective Date |
Date |
Clearance Effective Date (YYYYMMDDHH24MISS) |
||
Selling Retail |
Number(20,4) |
Selling retail with price change applied |
||
Selling Retail UOM |
Char(4) |
Selling retail unit of measure |
||
Selling Retail Currency |
Char(3) |
Selling retail currency |
||
Reset Clearance Id |
Number(15) |
Clearance reset identification |
||
FDELE |
Record Descriptor |
Char(5) |
FDELE |
File Detail Delete Marker (1 per clearance delete) |
Line id |
Number(10) |
Unique line identification |
||
Id |
Number(15) |
Clearance identifier |
||
Item |
Char(25) |
Item identifier |
||
FTAIL |
Record Descriptor |
Char(5) |
FTAIL |
File tail marker |
Line id |
Number(10) |
Unique line identification |
||
Number of lines |
Number(10) |
Number of lines in file not counting FHEAD and FTAIL |
Table 3-9 FutureRetailPurgeBatch Details
Module Name |
FutureRetailPurgeBatch.sh |
Description |
Purges future retail data that are past the retention period. |
Functional Area |
Future Retail |
Module Type |
Business Processing |
Module Technology |
Java |
Catalog ID |
|
Runtime Parameters |
futureRetailPurgeBatch.sh <user alias> |
This batch is a timed multi-threaded process that purges future retail data that are past the retention periods of their corresponding price events.
Table 3-10 FutureRetailPurgeBatch Scheduling Constraints
Schedule Information | Description |
---|---|
Frequency |
Ad hoc |
Scheduling Considerations |
This process must be executed during the batch window. As it runs, other processes must not access the future retail tables. This batch can be run ad-hoc. |
Pre-Processing |
N/A |
Post-Processing |
N/A |
Threading Scheme |
The batch uses bookmark logic to process merchandise hierarchies in a round robin fashion and running for a specific timeframe depending on the value of BATCH_TIME_LIMIT_HOURS in RPM_ BATCH_CONTROL. |
Restart/Recovery is inherent in the design of this program, as records are deleted after processing they would not be picked up if the program is run again.
Table 3-12 FutureRetailRollUpBatch Details
Module Name |
FutureRetailRollUpBatch.sh |
Description |
Attempts to roll up timelines on future retail if lower level timelines match higher levels. |
Functional Area |
Future Retail |
Module Type |
Business Processing |
Module Technology |
Java |
Catalog ID |
|
Runtime Parameters |
futureRetailRollUpBatch.sh <user alias> |
This batch attempts to roll up lower level timelines to existing higher level timelines (for example, from Item/Location to Parent/Zone) by comparing two related timelines and removing the lower level timelines if the two match exactly for all records.
Table 3-13 FutureRetailRollUpBatch Scheduling Constraints
Schedule Information | Description |
---|---|
Frequency |
Ad hoc |
Scheduling Considerations |
This process must be executed during the batch window. As it runs, other processes must not access the future retail tables. This batch can be run ad-hoc. |
Pre-Processing |
N/A |
Post-Processing |
N/A |
Threading Scheme |
This batch is threaded by item. |
The batch uses bookmark logic to process merchandise hierarchies in a round robin fashion and running for a specific timeframe depending on the value of BATCH_TIME_LIMIT_HOURS in RPM_ BATCH_CONTROL.
Table 3-15 ItemReclassBatch Details
Module Name |
ItemReclassBatch.sh |
Description |
Updates Pricing tables when a merchandise hierarchy change is made in RMS. |
Functional Area |
Future Retail |
Module Type |
Business Processing |
Module Technology |
Java |
Catalog ID |
|
Runtime Parameters |
ItemReclassBatch.sh <user alias> |
When items are moved from one department/class/subclass to another in the merchandising system, this batch process accordingly sets the correct department/class/subclass for these items in the RPM_FUTURE_RETAIL table and the RPM_ITEM_LOC table if the item has move departments.
Table 3-16 ItemReclassBatch Scheduling Constraints
Schedule Information | Description |
---|---|
Frequency |
Ad hoc |
Scheduling Considerations |
Must be run during the batch window. |
Pre-Processing |
The RPM_ITEM_MODIFICATION table has been populated by the RMS reclassification batch process. |
Post-Processing |
N/A |
Threading Scheme |
N/A |
Table 3-18 NewItemLocationBatch Details
Module Name |
NewItemLocationBatch.sh |
Description |
Updates Pricing tables for new item/locations in RMS |
Functional Area |
Future Retail |
Module Type |
Business Processing |
Module Technology |
Java |
Catalog ID |
|
Runtime Parameters |
NewItemLocationBatch.sh <user alias> [N / {E <error commit count>} / {R [<process id>]}] Where The 'status' argument (N/E/R) is optional and directs the application as to what "status" to process. If it's not specified, the batch will default it to 'N'ew mode. The last argument can be optional or required depending upon the status argument as describe in the section below: Valid values for the status argument are: 'N'ew: This will process records with status of N (New) from the staging table. When the batch is run in this mode, the last argument is not needed. 'E'rror: This will process records with status of E (Error) from the staging table. When the batch is run in this mode, the batch can have the error commit count argument as an optional argument. Error commit count is optional and is used only when the status argument is 'E'. If not specified, the batch will use the logical unit of work for processing 'R'estart: When the batch is run in this mode, then the process_id argument is required. This mode will only restart the rolling up functionality that is part of location move. It will call the RPM_NEW_ITEM_LOC_SQL.ROLLUP_NIL_DATA for the threads that are not in completed status in RPM_NIL_ROLLUP_THREAD. A required valid process ID parameter will also need to be passed in as well to indicate what process ID the batch should restart. |
The NewItemLocationBatch program ranges item locations by putting them into the future retail table. Item locations are fed to this program via the RPM_ITEM_LOC_WS table, which is populated by an RMS process.
Table 3-19 NewItemLocationBatch Scheduling Constraints
Schedule Information | Description |
---|---|
Frequency |
Ad hoc |
Scheduling Considerations |
Must not have more than one instance running at a time. |
Pre-Processing |
N/A |
Post-Processing |
N/A |
Threading Scheme |
The NewItemLocationBatch is a multi-step and multi-threaded batch, meaning each of the two steps (inheritance process and rollup process) has its own independent threading. The first part, which is the insert to future retail and item loc tables and inheritance process, is threaded by related item-locations where "related" means transaction items under a single parent items and locations within a zone that is part of a primary zone group. If there are price events, then it chooses a path based on batch control settings similar to the ones for a price event approval from UI, and it chooses to go to chunking or bulking based on setting and the volume of data. |
Processing Stage Rows in Error Status
This program is set up to re-process (re-attempt) rows that end up in error status. In the event that an error occurs during the processing of new status rows, the program should update the status on the stage table with E along with an error message.Once the error has been fixed, you can re-run this program with status E in an attempt to get the item/loc into RPM.
Processing Stage Rows in Restart Status
When running in Restart mode, the batch will attempt to re-process the future retail roll up functionality and to clean up item location staging tables. It will delete the records that were completely processed from the staging tables.
This mode has to be executed when there are threads/process ID that have errors or did not complete the roll-up process and clean-up of staging tables. This should be part of the business process. For example, clients can do this ad-hoc when no one is using the application. They also have to establish how they are going to retrieve process id and threads that need reprocessing. If there won't be an established process for running NIL Batch in restart mode, the NIL thread status and staging tables data will increase and won't be cleaned up.
Table 3-21 NightlyBatchCleanup Details
Module Name |
NightlyBatchCleanup.sh |
Description |
Nightly clean up on pricing tables |
Functional Area |
All |
Module Type |
Business Processing |
Module Technology |
Java |
Catalog ID |
|
Runtime Parameters |
NightlyBatchCleanupBatch.sh <user_alias> PRE/POST |
The nightlyBatchCleanup batch program performs "clean up" logic against certain database structures.
Table 3-22 NightlyBatchCleanup Scheduling Constraints
Schedule Information | Description |
---|---|
Frequency |
Nightly batch cycle |
Scheduling Considerations |
This batch should be run before the nightly batch window in "pre" mode and after the nightly batch window in "post" mode. |
Pre-Processing |
N/A |
Post-Processing |
N/A |
Threading Scheme |
N/A |
Table 3-23 NightlyBatchCleanup Key Tables Affected
Table | Select | Insert | Update | Delete |
---|---|---|---|---|
S9T_TEMPLATE |
Yes |
No |
No |
No |
SVC_PROCESS_TRACKER |
Yes |
No |
No |
No |
S9T_ERRORS |
Yes |
Yes |
Yes |
No |
RPM_CORESVC_PRICE_CHANGE_ERR |
Yes |
No |
No |
No |
RPM_SVC_PRICE_CHANGE |
Yes |
No |
Yes |
No |
RPM_PRICE_CHANGE |
Yes |
No |
No |
No |
RPM_PRICE_CHANGE_GROUP |
No |
Yes |
No |
No |
Table 3-24 PriceChangeInductionBatch Details
Module Name |
PriceChangeInductionBatch.sh |
Description |
Price Change bulk upload process |
Functional Area |
Price Change |
Module Type |
Business Processing |
Module Technology |
Java |
Catalog ID |
|
Runtime Parameters |
PriceChangeInductionBatch .sh <user alias> <incoming-dir-path> <Template_Key> [filter_Str ]
|
Note: File naming standardsXML file: The file should have a prefix of PCIND. Ex: PCIND_ABC-10.10.18.xml The file should contain the data in the format suggested by standard price change upload template. ZIP file: The file should have a prefix of PCIND. Ex: PCIND_ABC.ZIP The xml files with in the zip file should also have the prefix of PCIND |
PriceChangeInductionBatch uploads regular price changes in bulk. For the bulk upload, price change data will be present in XML format with the data formatted in the standard price change upload template. This batch accepts the price change data present in XML format and also as zip files of xml files formatted in the standard template.
Table 3-26 PriceChangeInductionBatch Key Tables Affected
Table | Select | Insert | Update | Delete |
---|---|---|---|---|
S9T_TEMPLATE |
Yes |
No |
No |
No |
SVC_PROCESS_TRACKER |
Yes |
No |
No |
No |
S9T_ERRORS |
Yes |
Yes |
Yes |
No |
RPM_CORESVC_PRICE_CHANGE_ERR |
Yes |
No |
No |
No |
RPM_SVC_PRICE_CHANGE |
Yes |
No |
Yes |
No |
RPM_PRICE_CHANGE |
Yes |
No |
No |
No |
RPM_PRICE_CHANGE_GROUP |
No |
Yes |
No |
No |
Table 3-27 PriceEventExecutionBatch Details
Module Name |
PriceEventExecution.sh |
Description |
Starts events that need to be executed on a given date. |
Functional Area |
Price Change |
Module Type |
Business Processing |
Module Technology |
Java |
Catalog ID |
|
Runtime Parameters |
PriceEventExecutionBatch.sh <user_alias> [restartInd Y|N] Where the last argument of the PriceEventExecutionBatch indicates if the run should start over (use a value of N) or pick up where the previous run left off (use a value of Y). |
The price event execution batch process performs the necessary work to start (regular price change and clearance price change) and end (reset) clearance pricing events.
The batch programs process regular price change and clearance price change events that are scheduled for the run date. Restartability features allow events missed in past runs of the batch to be picked up in later runs. When posting information in the ITEM_LOC and PRICE_HIST table, the batch process respects the active dates of their associated price events.
Clearances
Clearance markdowns that are scheduled to take place are executed. These include all clearances whose effective dates are <= VDATE+1.
Clearances that are scheduled to be completed (reset) are completed.
Regular price changes
Regular price changes that are scheduled to take place are executed. These include all price changes whose effective dates are <= VDATE+1.
Table 3-28 PriceEventExecutionBatch Scheduling Constraints
Schedule Information | Description |
---|---|
Frequency |
Ad hoc, Recurring |
Scheduling Considerations |
Salstage (RMS) should run before Price Event Execution.Price Event Execution should run before the Storadd (RMS) batch. |
Pre-Processing |
N/A |
Post-Processing |
N/A |
Threading Scheme |
N/A |
The program is restartable and will pick up any events remaining to be processed in a given run.
Table 3-30 PurgeGTTCaptureBatch Details
Module Name |
PurgeGttCaptureBatch.sh |
Description |
Truncates data from the GTT capture related tables. |
Functional Area |
Various |
Module Type |
Business Processing |
Module Technology |
Java |
Catalog ID |
|
Runtime Parameters |
PurgeGttCaptureBatch.sh <user_alias> |
Table 3-33 RegularPriceChangePublishBatch Details
Module Name |
RegularPriceChangePublishBatch.sh |
Description |
Price Change events are exported for integration to other systems. |
Functional Area |
Price Changes |
Module Type |
Business Processing |
Module Technology |
Java |
Catalog ID |
|
Runtime Parameters |
RegularPriceChangePublishBatch.sh <user_alias> <outgoing-dir-path> |
The RegularPriceChangePublishBatch program formats and stages output of regular price change price events.
The corresponding regularPriceChangePublishExport shell script produces a pipe ("|") delimited flat-file export based on the output of the RegularPriceChangePublishBatch.
The batch looks for price events in the RPM_PRICE_EVENT_PAYLOAD table with a RIB_FAMILY of "REGPRCCHG" and distributes those events to multiple threads based on the settings in the RPM_BATCH_CONTROL table. Each thread reads in its set of regular price change events from tables RPM_PRICE_EVENT_PAYLOAD and RPM_PRICE_CHG_PAYLOAD and generates output in RPM_PRICE_PUBLISH_ DATA.
A flat-file per location based on the data from payload table that need to be published/processed will be created. The naming convention for the flat file will be (REGPC_<timestamp> _<location>_<loc_type>.dat), where <timestamp> is the current system time stamp, <location> is the location id and <loc_type> is the type of the location where 'S' is for Store and 'W' is for Warehouse.
Table 3-34 RegularPriceChangePublishBatch Scheduling Constraints
Schedule Information | Description |
---|---|
Frequency |
Ad hoc, Recurring |
Scheduling Considerations |
N/A |
Pre-Processing |
N/A |
Post-Processing |
N/A |
Threading Scheme |
The RegularPriceChangePublishBatch program is threaded, using RPM_BATCH_CONTROL. The LUW is a single price change event. |
FHEAD (required): File identification, one line per file.
FDETL (optional): Price Change Event (Create or Modify).
FDELE (optional): Price Change Event (Delete).
FTAIL (required): End of file marker, one line per file.
Note: File naming standardsThe naming convention for the flat file will be (REGPC_<timestamp>_<location>_<loc_type>.dat), where <timestamp> is the current system time stamp, <location> is the location id and <loc_type> is the type of the location where 'S' is for Store and 'W' is for Warehouse. The zip file naming convetion will be (REGPC_<timestamp>.zip). |
Table 3-36 Output File Layout
Record Name | Field Name | Field Type | Default Value | Description |
---|---|---|---|---|
FHEAD |
Record Descriptor |
Char(5) |
FHEAD |
File head marker |
Line id |
Number(10) |
1 |
Unique line identifier |
|
File Type |
Char(5) |
REGPC |
Regular Price Changes |
|
Export timestamp |
Timestamp |
System clock timestamp (YYYYMMDDHHMISS) |
||
Location |
Number(10) |
Location identifier |
||
Location Type |
Char(1) |
S = Store, W = Warehouse |
||
FDETL |
Record Descriptor |
Char(5) |
FDETL |
File Detail Marker (1 per price change create or modify) |
Line id |
Number(10) |
Unique line identifier |
||
Event Type |
Char(3) |
CRE = Create, MOD = Modify |
||
Id |
Number(15) |
Price Change identifier |
||
Item |
Char(25) |
Item identifier |
||
Effective Date |
Date |
Effective Date of price change (YYYYMMDDHH24MISS) |
||
Selling Unit Change Ind |
Number(1) |
Did selling unit retail change with this price event (0 = no change, 1 = changed) |
||
Selling Retail |
Number(20,4) |
Selling retail with price change applied |
||
Selling Retail UOM |
Char(4) |
Selling retail unit of measure |
||
Selling Retail Currency |
Char(3) |
Selling retail currency |
||
Multi-Unit Change Ind |
Number(1) |
Did multi-unit retail change with this price event (0 = no change, 1 = changed) |
||
Multi-Units |
Number(12,4) |
Number of multi-units |
||
Multi-Unit Retail |
Number(20,4) |
Multi-Unit Retails |
||
Multi-Unit UOM |
Char(4) |
Multi-Unit Retail Unit Of Measure |
||
Multi-Unit Currency |
Char(3) |
Multi-Unit Retail Currency |
||
FDELE |
Record Descriptor |
Char(5) |
FDELE |
File Detail Delete Marker (1 per price change delete) |
Line id |
Number(10) |
Unique line identifier |
||
Id |
Number(15) |
Price Change identifier |
||
Item |
Char(25) |
Item identifier |
||
FTAIL |
Record Descriptor |
Char(5) |
FTAIL |
File tail marker |
Line id |
Number(10) |
Unique line identifier |
||
Number of lines |
Number(10) |
Number of lines in file not counting FHEAD and FTAIL |