Professional Documents
Culture Documents
NCPS DV Reference Manual
NCPS DV Reference Manual
Application
Development
NCPS
DATA VALIDATION
Version 22.12.0
Process Description:
Backdata Loader is used to load data in a batch mode directly to the output tables:
RAWDAILYT60, TBSKT13, PROCKEYST29, from backdata input ASCII files, prepared by the
legacy system. This process is used by countries to initialise their DV environment with already
validated data.
Note : For DT5084 used for loading receipt Id - The alphanumeric receiptId mentioned in input file
will not be directly loaded into tbskt13. Instead, the receipt IDs will be loaded into tdv_receipt
table along with a unique sequence id. This sequence id is loaded into tbskt13's DT5084 column.
Also note that only DT5084 must be used for loading receipt Id and no other datacode must be
used for this purpose.
Note : For python version Hive data refresh is done at the beginning and oracle data refresh is
done at the end of this process in terminateJob for these three tables:
• Prockeyst29
• Rawdailyt60
• Tbskt13
Recommendations:
Constraints:
Input files should come in pairs, one file for the purchase records (rawdaily records) and one for
total basket records (tbsk records). In case the job is submitted for N periods > 1 then these
ASCII files should contain all the records for all the periods submitted.
Single file submission is not allowed in NORMAL Mode, is allowed only in REWORK mode.
Prerequisites:
Before initiating a Backdata Loader job, the following tables should be already loaded with data:
Source of Information:
Table Description
CAL_FACTORT05 Static Parameters table for submission of job
FAMILYT43 It contains the list of the family codes loaded into family usability table.
Updated automatically by the system
SHOPT44 List of Shops
NAN_ITEMST73 List of NAN_KEY loaded from EIMDB
DATACODET20 Purchase datatype layout definition (DT Parameter Screen)
DATATYPEST07 The table contains the list of the datatypes and the position in the record.
RAWDAILYT60 Purchase RAWDA
PROCKEYST29 List of Rawda Processing keys (used here to check if data loaded are
already present in output tables)
TBSKT13 Total basket Rawda
TDV_RECEIPT List of TICKET ID loaded in DV
Table DATATYPEST07 will be used to identify the DTYPEs valid for each of the output tables
(RAWDAILYT60, TBSKT13) based on the ac_destination values.
Having identified the eligible DTYPEs, then the DATACODET20 table will be used to find out the
exact ASCII file position of each DTYPE as well as its length.
Output Files :
Two output ASCII files will be created by the job, one for RAWDATA records and one for TBSK
records.
The layout of these files will be the same as the layout of the Input ASCII files with one additional
column at the end of each record stating the rejected reason (e.g Missing NAN, Missing HHOLD,
Missing SHOP, Zero PRICE, Zero QUANTITY etc)
Static Parameters:
HH_CHECK List Optional When set to OFF, household values in the ASCII file are
not checked if they exist in the familyt43 table
When set to ON, nan key values in the ASCII file are
checked if they exist in the NAN_ITEMST73 table
When set to ON, shop values in the ASCII file are checked
if they exist in the shopt44 table
Rework Management :
Process Description:
This program is loading the purchase data into the Data Validation system. During the loading
phase, quality controls are applied. This will be used to process home scanner data and
homepanel data. Customized rules, by type of panel, will be applied.
This program can be included in a group containing, for example, standard loader, check Family
codes, check shop codes, cross coding and cross coding report.
This program requires a Purchase file and an Info file as input file.
Recommendations :
It is recommended that local reformatting program check basic errors in Purchase File (shop
empty, Household empty…).
Constrains :
The 01P process has been enhanced such that when any records with zero units (DT5650) is
available in input file then these records are excluded from loading any DT type in ALLT11
It is not allowed to re-load purchase key already present in table All, in such a case Rework
option should be used. In rework mode, we delete from T-ALL all the family baskets present in
the input file.
Prerequisites :
The Purchase file and Info file have to be prepared in the standard layout format by the
local reformatting program.
Source of Information :
Input Files:
The purchase file should contain both total basket and detailed purchase records.
It should be ordered by AUDIT/ YEAR/ MONTH/ DAY/ TIME/ HHNUMBER/ SHOP/ SCAN PC/
BARCODE
Output file containing list of basket keys deleted from ALLT11 because present in
purchase input file and already present in ALLT11 (logic only applied in case of REWORK mode).
Parameters :
Static Parameters
TBSK parameter is used in case the standard loader is submitted as part of a group to manage only
purchase keys present in input file (this using File #).
PRICE_INC parameter is used to drive cases of duplicated records with minimum one record price=0 and
minimum one record price>0.
Remark : PRICE_INC has also impact on duplicated records will all prices>0
if PRICE_INC=AVG or null, merge record will have a price computed as sum(pricexqty)/sum(qty)
If PRICE_INC=MAX, merge record will have a price computed as MAX (price)
AVG option should be used to if it is considered that anellist correctly reported a promo (buy one get one
free, buy one get one 50% discount.
MAX option should be used if is considered that anellist wrongly report price=0
If TOTAL_TILL=ON
The Total Basket (DT5941) is computed when missing using to the 2 new collected Data Types:
● Total Gross as datatype DT5898
● Total Discount as datatype DT5899
In the input file either the Total Spent (DT5941) only will be populated with a value different to 0,
Either the Total Gross (DT5898) and/or Total Discount (DT5899)
Dynamic Parameters
Homescanner
Homepanel
1
When Total Gross > Total Discount only.
Rework Management :
HomeScanner
Homepanel
Rework XXXX 0000.000 normal Delete in T-ALL same baskets into file,
Then normal process
Rework XXXX 0000.000 F# Not allowed, run like normal rework
Rework XXXX YYYY.PPP PC Not allowed
Process Description:
Recommendations :
Constrains :
Prerequisites :
Loading family in holiday information, we require that a single record for each day of
holiday has to be loaded inside the system
Source of Information :
Table Description
TDV_FAMILY_ACTIVITY It contains the Family activity information
FAMILYT43 It contains the list of the family codes loaded into family usability table.
Updated automatically by the system
Files:
Input Files:
File id : FILEI1
Position Length Name Description
1 4 AUDIT Xxxx
5 8 DATE Yyyymmdd
13 4 TIME Hhmm
17 10 FAMILY 00xxxxxxxx
27 10 SHOP 0000000000
37 4 SCAN PC 0000
41 30 BAR CODE 0000000000…..
71 4 DATACODE Xxxx
75 16.5 DATAVALUE 1 ( xxxxxxxxxx.xxxxx )
Output Files :
File id : FILEO1
File id : FILEO2
This output file contains the HHOLDS records (as they appear in the INPUT file) which are
rejected from loading due to the dates reported are out of range of the loaded period.
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Process Description:
This program will be used to process Homescanner data. It’s checking the status of the
links in table ALLT11 and it is reporting missing links in cross coding in one output file.
Criteria for prioritisation are reported in the report (number of purchase transactions by
Group_ID/Barcode).
Xcoding model there is similar to the one of Xcoding job (08P), so we have 3 Xcoding logics :
➔Cross coding by exception (by shop)
➔Cross coding by barcode type
➔Standard cross coding
Recommendations :
This job can be used after Xcoding job to report non Xcoded barcodes to EIMDB coding
team. The counter of purchase acts can be used for prioritise the coding.
Constraints :
Prerequisites :
Source of Information :
Table Description
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are separated
in datatypes and loaded in the table ALL as separate records
CROSSCODING_INSTRUCTIO Crosscoding links information extracted from EIMDB
NST49
CROSS_CODE_GROUPST26 List of Xcode Group to be used for Xcoding (Xcode Group screen)
SHOPCOLLID_LINKT19 Instructions for Xcoding by shop
BARCODE_TYPET23 Instructions for Xcoding by barcode type
NAN_ITEMST73 List of Nan_keys extracted from EIMDB
Files:
Input Files:
No input file.
Counter: we report the number of purchase transactions associated to the same Group_ID &
barcode
File Manual Exceptions, contains barcodes without any link for EIMDB load. (File id :
FILEO2)
Group-id :
Contains EIMDB Group if Xcoding by retailer or by barcode type
Contains value for static parameter MIS_GR_ID in case of standard Xcoding
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Xcoding instructions are the same as the one used for Xcoding (08P) and standard Re-Xcoding
(61P).
Those instructions are defined in GUI screens:
Services → X-Coding →XcodingGroup : list of Xcode group to be used for Xcoding
Services → X-Coding → Bar Code-Type: set up of Xcoding instruction by Barcode Type
Services → X-Coding → Shop-Group Id: set up of Xcoding instruction by Shop code
Process Description:
This program is adding the NAN_KEY code, from EIMDB, to the original barcode delivered from
the household.
The NAN_KEY code is required as all the data validation system (Instructions / category
definition) is based on the EIMDB Crosscoding instruction table.
This Xcoding should be used for EAN / UPC codes and for I codebook products
If the standard x coding (same link for all shops) is requested, the search for the link will be based
on :
BARCODE || DATE FROM & DATE TO
Only collaborator id’s present in the system with Xflag value = 1 in Services → X-Coding
→XcodingGroup screen will be used.
The COLLABORATOR-ID’s belonging to the “x coding by exception” area will be excluded from
the search
Only the links with the right date range will be selected
DT_EFFECTIVEFROM <= date of the purchase transaction <= DT_EFFECTIVETO
In case more than one NAN_KEY is found we select the first NAN_KEY by ordering as follows :
DT_EFFECTIVEFROM DESC, DT_UPDATE DESC, NC_NAN_KEY DESC
Exception table contains the link of all the “shops || collaborator-id“ requiring a dedicated set of
instructions.
This table is filled using Services → X-Coding → Shop-Group Id screen
First the system is searching for a link in CrosscodingInstruction table from EIMDB using :
BARCODE || GROUP_ID || DATE FROM & DATE TO
If no link found :
Then if the flag parameter in Shop-Group Id screen is set to ‘Y’, then we search the missing
link among the collaborator-id’s belonging to the area of the standard x coding.
The screen Services → X-Coding → Bar Code-Type is setting up Xcoding instruction by Barcode
Type
Any purchase act in ALLT11 table with DT5098<>0 will be Xcoded using this logic.
It is mandatory to have a Xcode group id linked to for each possible value of DT5098 in ALLT11
The system is searching for a link in CrosscodingInstruction table from EIMDB using :
BARCODE || GROUP_ID || DATE FROM & DATE TO
If more than one Xcoding instruction found: Xcoding is not applied, record in written in output file
FILEO2.
-This file should be in CSV format (separated by ;)
- This file contains 4 columns : GroupId, Barcode, Description GroupId and Number of Barcodes
by GroupId
Recommendations :
Constraints :
Prerequisites :
Source of Information :
Table Description
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are separated
in datatypes and loaded in the table ALL as separate records
CROSSCODING_INSTRUCTIO Crosscoding links information extracted from EIMDB
NST49
CROSS_CODE_GROUPST26 List of Xcodes group to be used for Xcoding (Xcode Group screen)
SHOPCOLLID_LINKT19 Instructions for Xcoding by shop
BARCODE_TYPET23 Instructions for Xcoding by barcode type
NAN_ITEMST73 List of Nan_keys extracted from EIMD
Files:
Input Files:
No input file.
Output Files :
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Xcoding instructions are the same as the one used for Xcoding report (07P) and standard Re-
Xcoding (61P).
Those instructions are defined in GUI screens :
Services → X-Coding →XcodingGroup : list of Xcode group to be used for Xcoding
Services → X-Coding → Bar Code-Type : set up of Xcoding instruction by Barcode Type
Services → X-Coding → Shop-Group Id : set up of Xcoding instruction by Shop code
Process Description:
The collection of the promotions is a part of the purchase transactions we receive from
the families. We need to verify that all the promotion values in the data files are known to the
NCPS system. Promotion values are used in the data processing system and in the PFW special
analysis.
We can define in the system a list of promotion codes. The list is flexible; any country can
add any promotion code and value. Only the codes in the list will be verified by the program.
We compare the list of the promotion codes and their values in T-359 by timestamp with
the promotion codes and values in the promotion table.
For each promotion code (datatype code), we select from T-359 by timestamp all the values of
the promotion.
If the promotion value in the T-359 is not inside the list of the promo values in the table, a
condition code 16 is issued.
➢ The promotion value is missing from the promotion table and the user has to update the
promotion table
➢ The promotion table is wrong and the user is allowed to correct the T-359 by the on line
correction screen applying the reclassification of the promotion value.
After the online correction or the updating of the promotion table, it is requested to run again the
validation of the promotions to complete the validation cycle.
The online correction is used to modify the value of a promotion and not to delete a promotion (by
value = 0).
If you want to eliminate a promotion from a purchase transaction you have to use the job “rawda
correction”
Recommendations :
Constraints :
Prerequisites :
Source of Information :
Table Description
OCCASIONT04 Contains list of possible promotion code / values by cycle
P359_1T12 DV validation area data
Files:
Input Files:
No input file.
Output Files :
No output file.
Parameters :
Static Parameters
No static parameter.
Dynamic Parameters
Rework Management :
Process Description:
In some countries, prices are collected from the families. The procedure for the price collection is
established from the country.
In some countries, the price can be collected only for some categories or some type of shops.
The missing prices will then be filled with RMS prices or by ad hoc estimation procedures.
The formal price validation is driven by the “price group” concept: the prices are validated within a
set of shops with similar characteristics for the price fixing. Shop characteristic used for Price
group is instructed in static parameter IDCH01.
Control 1 :
We control the price reported by the family by an interval around the standard price of period P-1
using the lower and upper limits [PVPL and PVPU are static parameters driving this check].
If the price is inside the limits ( i.e. > PVPL x STD PRICE and < PVPU x STD PRICE), the
inspection is completed successfully.
If the test is not satisfied, we control the absolute difference between the price and the standard
price with a reference value stored in static parameter table (MINDIF parameter).
If the absolute difference is less or equal than the reference value, the inspection is completed
successfully
If the above tests are not satisfied : the price of the purchase act will be written in to Data log. The
price value will be proposed to the user for the manual inspection and the on line correction.
Control 2 :
If the price of the purchase transaction is missing, FPV process is imputing a price using following
steps :
Std Price for period P-1 by price look for std price look for stnd price
group (shop characteristic) by nan || price group by product group || price group
Latest std Price for period range look for std price
[P-1- N ; P-2] by price group by nan || price group
(shop characteristic)
Std Price for period P-1 for all look for stnd price look for stnd price
shops by nan || price group = 0 by product group || price group=0
[ optional]
Price group XXXX Step 2 bis
A price correction flag datatype (5904) is updated with specific value based on imputation step
(see appendix for datatype values)
Compute ratio R : (number of purchase acts imputed step 3 + number of purchase acts imputed
step 4 ) / total number of purchase acts selected by FPV
Once all the above steps finished, some items have a price, others have standard price equal
to zero these items have records with temporary datacode 9998. These items should be
Imputed with DEF_STD_PRICE in the following condions :
- If number of disnct nan non assigned with price < NB_ITEMS_MAX and each nan
has the purchase < NB_PURCHASE_MAX then the price should be assigned with
DEF_STD_PRICE. These items should be updated into the GT_STDPT999 with the
Recommendations :
Constraints :
Any missing price after Step1/2/3/4 should be loaded using load Std price.
Prerequisites :
Shop usability table updated with the shop characteristic file from the sample by the “cycle/period
to be validated”. The price-group must be one of the shop characteristics.
The computation of the standard price must be prepared before the validation starts.
The standard price is computed on the data of the past period(s) already validated and loaded in
the rawda.
Source of Information :
Table Description
P359_1T12 DV validation area data
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by
shop by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
CNANPRICET34 Table containing standard price and MAD by cycle, price Group
DATALOGT55 The table contains the outliers of the quality controls system candidate
for the user inspection and on line selection.
Files:
Input Files:
No input file.
Output Files :
File containing values with no standard price, this file can be amended manually and reloaded
with Load Standard Price job (File id: FILEO1):
File containing more details about missing prices (barcode, shop), this file can be used to retrieve
prices from other system (File id: FILEO2) :
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Process Description:
The purchase inspection is detecting the unusual behaviour of the family based on the
purchase units compared with the behaviour of all the families purchasing the same product.
The outliers of the purchase transactions are proposed to the user for the manual inspection and
the correction by the on line correction screen.
By NAN_KEY,
14. Select the T observations who have the largest volumes x (among x>0; if less then T
available, we just select the ones we have available).
The L observations we obtain in this way are sorted and stored in an array x
Where Mn = Minimum(x)-1
Md = Median(x)
Recommendations :
Constrains :
Prerequisites :
Source of Information :
Table Description
P359_1T12 DV validation area data
DATALOGT55 The table contains the outliers of the quality controls system candidate for
the user inspection and on line selection.
Files:
Input Files:
No input file.
Output Files :
No output file.
Static Parameters
Dynamic Parameters
Rework Management :
Process Description:
This program is used to validate the “multipack information” reported by the families using a
purchase unit inspection process.
We select Multipack product by selecting all items with multi-pack factor EIMDB characteristic > 1
(this characteristic is defined in static parameter MLPK).
We check quantity reported by the family using following logic :
➢ check if the purchase unit is greater than a given “parameter x” ( by product group )
➢ if both the conditions are satisfied, the purchase unit reported by the family will be
corrected by
purchase unit = purchase unit / multi-pack factor in IMDB
Recommendations :
Constrains :
Prerequisites :
Source of Information :
Table Description
FAMILY_LOGT67 List of changes applied by DV automatic validation jobs
Files:
Input Files:
No input file.
Output Files :
No output file.
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Process Description:
The “private brand” validation is checking the consistency between the “retailer” where the family
went shopping with the manufacturer of the products included in the shopping basket.
Whether we find an inconsistency and we identify a “private brand product” associated to the
wrong retailer, we apply an automatic correction and we re-classify the purchase transaction into
a new basket where we build the consistency between the “retailer” and the “manufacturer” of the
product (retailer itself).
EHDV21019P process
We need define the rules for the recognition of the private brand product.
Recommendations :
Constrains :
Prerequisites :
Source of Information :
Files:
Input Files:
No input file.
Output Files :
No output file.
Parameters :
Static Parameters
Dynamic Parameters
Process Description:
EHDV21020P process
The validation of the Private Brands will be applied to a limited set of purchase transactions by
the following criteria:
➢ we will inspect only the shop types selected by the user
➢ we will inspect only the private brands selected by the user
shop types :
User selects the list of the shop types by an on line screen (Validation → Private Brand
→ Shop Type)
Shop/Shop Type instruction are stored in shop usability table
one or more shop types can be selected.
Private brands
➢ user can select the list of the private brands to be inspected by an on line screen
(as instructed in Validation → Private Brand → PB)
➢ if a PB present in the IMDB is not selected and included in the list of the on line
instructions , we will ignore all the products of that retailer and we will treat the
products of that PB as standard products belonging to a manufacturer (no
checks for error, no reclassification in case of errors)
when we identify an inconsistency between a product and the characteristics of the shops to
which the product has been assigned, we reclassify the purchase transaction by the following
rules :
if
➢ a shopping basket doesn’t contain retailer products , we stop the inspection
➢ a shopping basket contains a product ( or more than one ) belonging to the
same retailer and the chain code of the shop of the shopping basket is not
representing the retailer of the products , we change the shop code of the
whole basket selecting a new shop code having the same shop type and the
shop chain of the retailer owning the PB products.
The shop code used for reclassification is instructed in following online screen :
Validation → Private Brand → PB Shop.
➢ shopping basket contains more than one PB products belonging to different
retailers ( more than one ),
We leave all the original purchase transactions ( manufacturer only) into the
original basket with the same original shop.
➢ the total basket information are not modified and they will be adjusted
later in the rawda by a dedicated procedure ( basket adjustment ,
basket validation )
All changes applied are logged in FAMILYLOGT67 table and can be checked using FamilyLog
online screen.
Recommendations :
Constrains :
Prerequisites :
Source of Information :
Table Description
CHAR_TYPEST17 List of product characteristic codes from EIMDB
PRIVLAB_PCITEMT66
KEYST14 Keys present in DV validation area
PRIVATE_LABELT21 Data as defined in screen :Validation → Private Brand → PB
PRIVATELABEL_SHOPT22 Data as defined in screen :Validation → Private Brand → Shop
Files:
Input Files:
No input file.
Output Files :
No output file.
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Process Description:
The rawda loader is moving data validated from P359_1T12 table to the final rawda tables :
➢ RAWDAILYT60
➢ TBSKT13
➢ PROCKEYST29
1. Loading phase
➔ If key coming from table P359 is already present in Rawda, the key is not inserted and
if File# is >0 the job is failing
In table RAWDAILYT60 we load detailed purchase data coming from table P359 (keys with
Barcode>0).
In table TBSKT13 we load total basket data coming from table P359 (keys with Barcode=0).
All keys loaded in both RAWDAILYT60 and TBSKT13 are loaded also in PROCKEYST29
When RERUN=Y
o Only the data for filenumber = -1 are taken in consideration as part of process
o ALLT11 data removal will use the initial file number instead of the -1 stored in validation
area using the basket key
2. Deletion of the data and instructions just loaded from the working tables
The same purchase transactions will be deleted from the intermediate tables of the system where
we perform the validation of the data.
➔ delete intermediate table P359_1T12 for all keys related to the current Timestamp
➔ delete intermediate table KEYST14 for all keys related to the current Timestamp
➔ delete intermediate table DATALOGT55 for all keys related to the current Timestamp
➔ delete keys moved to the rawda from the initial loaded table (ALLT11 )
Remark : for Homescanner system, in table ALL now only un-coded purchase
transactions remain
Note : For python version Hive data refresh is done at the beginning and oracle data refresh is
done at the end of this process in terminateJob for these four tables:
1.Allt11
2.Prockeyst29
3.Rawdailyt60
4.Tbskt13
Recommendations :
Constrains :
Prerequisites :
Source of Information :
Table Description
DATATYPEST07 The table contains the list of the datatypes and the position in the record.
TBSKT13 Total basket Rawda
FILE_LOGT59 List of Files # loaded in DV (can be access in screen Services → File log)
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are separated
in datatypes and loaded in the table ALL as separate records
P359_1T12 DV validation area data
KEYST14 Keys present in DV validation area
RAWDAILYT60 Purchase RAWDA
DATALOGT55 The table contains the outliers of the quality controls system candidate for
the user inspection and online selection.
FAMILY_LOGT67 Table containing all information related to HH collaboration at daily level.
PROCKEYST29 List of Rawda Processing keys
Input Files:
No input file.
Output Files :
No output file.
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Process Description:
In CPS purchase data collected from families we can have some errors like:
➢ assignment of a private brand product to a generic shop or a shop of a different
retailer
➢ assignment of a product to a wrong shop type
During the data validation process, DV will correct these errors by dedicated routines:
➢ private brand validation
➢ basket validation…
DV applies in such case a reclassification of the whole basket or part of it by changing shop code
(or family code or the time of the shopping trip in other cases).
The new basket generated contains purchase transactions only. The information of the shopping
trip is not duplicated from the original basket to the new basket during the validation steps.
Trip data alignment is used to align the content of the RAWDA and the content of the TBSK
after the loading phase of the final tables by copying the following information into the new
basket:
When a family introduces an error, like a product into a wrong shop type, we assume that the
total basket information reported by the family are correct as copied from the cash-lip of that
shopping trip.
When we correct the error, by the basket validation, and we generate a new basket, we accept
the concept that all the information of the original basket are correct.
We will compute the quantitative information of the new basket using DV “basket validation
program” (24P), This 24P should be so submitted after “basket adjustment program” and before
the “lock of the production cycle”.
The trip data alignment program doesn’t substitute the set of quality control routines for the total
basket transaction finalized to prepare the information for application using total basket
information (like PFW – trip data file …)
Trip data alignment is checking all total basket record without any purchase data
For all those records program is checking if any purchase date is remaining in table ALL (un-
xcoded data)
In case that the job is submitted with the static parameter EMPTY_BASKET=N or without defining
an EMPTY_BASKET static parameter then any total basket records without any purchase
transaction in Rawda or in Table ALL will be deleted from TBSKT13 and PROCKEYST29.
Submitting the job with this option will delete not only the reclassified records but also records in
TBSKT13 and PROCKEYST29 which have only total basket information coming from input data
itself.
Otherwise if the job is submitted with the static parameter EMPTY_BASKET=Y then only the
basket records which have been reclassified and lead to empty baskets will be deleted.
At end of job the orphan baskets in T13 are deleted and count is informed to user via error
message number.
Note : For python version Hive data refresh is done at the beginning for these four tables:
1.Allt11
2.Prockeyst29
3.Rawdailyt60
4.Tbskt13
For python version oracle data refresh is done at the end of this process in terminateJob for these
three tables:
1.Prockeyst29
2.Rawdailyt60
3.Tbskt13
Recommendations:
Trip data alignment and trip data validation are managing alignment between purchase
keys & tbskt keys. This alignment is mandatory for aggregation system computing Tbskt
facts (DP09 onward). For this reason 23P & 24P are highly recommended to be included in
standard DV flow.
Constraints:
Prerequisites:
Source of Information:
Table Description
TBSKT13 Total basket Rawda
PROCKEYST29 List of Rawda Processing keys
FAMILY_LOGT67 List of changes applied by DV automatic validation jobs
ALLT11 All the data collected by the families are loaded inside TALL
Files:
Input Files:
No input file.
Output Files:
No output file
Parameters:
Static Parameters
Dynamic Parameters
By visiting Services -> Job DT layout - > JDT1 - Services - job DT layout page user can view
the list of data types instructed in the screen.
Below is the list of mandatory DT’s which job will copy from source to destination basket
DT code DT description
5695 Points Voucher Used
5071 Day of the week
5944 Primary Shopper Sex
5945 Primary Shopper Year Born
5946 Secondary Shopper Sex
5694 Home delivery code
5943 Payment Type
5949 Fidelity Card
5084 Receipt ID
5082 Conversion Rate
5693 internet order
5947 Secondary Shopper Year Born
5892 Historical Total Shop Expenses
Additional if there is a need to instruct any other datatype please use the GUI Services -> Job
DT layout - > JDT1 - Services - job DT layout page and insert in a new position
Process Description:
The data validation system includes some routines for the validation / preparation of the total
basket data.
This program is the part of the project is to provide a “set of tools” in order to fill into the “total
basket table“and “ready to use” information required by the business applications.
The total basket data are used for the following business purposes:
➢ Trip data file for PFW
➢ Infact DB with projected data by the Standard Processor ( early indicator for retailers )
➢ Shopper track service for retailers
The information for the trip data file can be generated by different sources:
➢ from DV standard flow, as information coming from panellists ( barcode = 0 )
➢ By a process, located into the data validation system, deriving the data from the purchase
data rawda (RAWDAILYT60).
Sometimes, not all the information are present into the 359 file or the data validation system can
modify the original values loaded inside the database and therefore a subsequent batch process
is required in order to generate the missing / valid data into the total basket table.
➢ For each key compute total basket datatypes based on instructed rule.
➢ If basket key is present in TBSKT13 table => updating computed datatype values for
existing key
➢ If basket key is not present in TBSKT13 table => insert key with computed datatype
Selection by TBSK and File Number not used in this program as we can have the same basket
composed by data coming from different file numbers:
• Original basket file
• data manipulation activity
• rework from a new file number
If file number is applied, we can have not correct results.
The routines for the validation can be viewed online via screen Validations→TBSK
Recommendations:
Trip data alignment and trip data validation are managing alignment between purchase keys &
tbskt keys. This alignment is mandatory for aggregation system computing Tbskt facts (DP09
onward). For this reason, 23P & 24P are highly recommended to be included in standard DV flow.
Constraints:
Prerequisites:
Table Description
PROCKEYST29 List of Rawda Processing keys (used here to check if data loaded are
already present in output tables)
TBSKT13 Total basket Rawda
RAWDAILYT60 Purchase RAWDA
TBSKCOMPT70 Contains DT computation instruction, defined in GUI TBSKT screen
OCCASIONT04 Contains list of possible promotion code / values by cycle
Files:
Input Files:
No input file.
Output Files:
No output file
Parameters:
Static Parameters
Dynamic Parameters
The routines for the validation can be viewed on line screen Validations→TBSK
Process Description:
This job is computing Lower Bound limit for Weekly Usability Computation
Lower bound is the minimum value that a family should have reported to be considered as usable
for Expansion factor computation.
Lower bound may depend from the size of the family, so this job has been designed to computed
a Lower bound by family size.
Lower bound is computed for each period, based on the purchase acts values present in the DV
Rawda.
Get the list of families present in FamilyusabilityT41 for submission period & cycle
Compute total spent (DT5650 x DT5675) by family for submission period & cycle
Recommendations:
➢ Job locking production cycle [EHDV21026P] has to be submitted before launching 25P
Prerequisites:
Source of Information:
Table Description
PROCKEYST29 List of Rawda Processing keys
RAWDAILYT60 Purchase Rawda
FAMILYUSABILITYT41 Family characteristics table
HHPARAMT06 Family usability parameters by cycle/period/HH_Char_id/HH_Char_Val
Files:
Input Files:
No input file.
Output Files:
No output file.
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
Process Description:
In the data validation, we have decided to have the possibility to move to the rawda
➢ the family baskets received after the data processing completion
➢ the purchase transactions linked after the data processing completion
in addition we have decided to guarantee the stability of the information delivered by the
“tracking” service.
In order to conciliate these two requirements, we will mark all the purchase transactions validated
and ready for the “data processing” for a selected cycle/period.
All the purchase transactions moved to the output tables after the above process will not be used
by the processing system. In case of rework we are able to produce the same information for the
clients.
In case we need for the “data processing” the data loaded in the final table after the “update
processing keys” process, we give to the user the possibility to run again the “update
processing keys” process in rework mode and to define a new set of purchase transactions for
the processing system.
Data for the client will be changed under the responsibility of the Operation Department.
➢ when we run the job in processing mode , we take all the purchase transactions in the
selected cycle-period
➢ when we run the job in rework mode , we take all the purchase transactions in the
selected cycle-period
➢ when we run the job in rework mode by F# , we take only the purchase transactions
identified by F# selected in the job submission screen for the selected
cycle-period
➢ when we run the job in rework mode by PC(s) , we take only the purchase transactions
identified by the PC code(s) selected in the job submission screen for the selected cycle-
period
➢ the lock flag can be assigned to any purchase transaction when we load the information
by the “rawda correction” job.
Process Logic:
At the end of 26P, if the job completes succesfully or completes with warning, the value for
COPY_ON_CLOUD in Setup_Param will be checked. If it is 'N', no action performed.
If it is 'Y', a python module will be launched which will copy the data from DV server(source) to
DP server(destination).
• COPY_ON_CLOUD : This param can be set for the country to have one of the two
values: 'Y' or 'N' - By default, the param_id ‘COPY_ON_CLOUD’ in Setup_param is set to
‘N’.Whenever the user wants to initiate a copy, the user must set ‘COPY_ON_CLOUD’ to
‘Y’
• ADLS_CONTAINER : azure ADLS container
• AZCOPY_APPLICATION_ID : azure application id
• AZCOPY_SPA_CLIENT_SECRET : azure client secret
• AZCOPY_TENANT_ID : azure tenant id
• AZURE_PORTAL_URL : azure portal url
• DP_HIVE_REMOTE_ADDRESS: remote(destination) DP server db address
• DP_REMOTE_DB_NAME: remote(destination) DP server dbname
• DP_TABLES: List of tables that needs to be refreshed to cloud separated by ',' Eg:
rawdailyt60,tbskt13
Recommendations :
Constrains :
Prerequisites :
Source of Information :
Table Description
PROCKEYST29 List of Rawda Processing keys
RAWDAILYT60 Purchase RAWDA
TBSKT13 Total basket Rawda
TDV_ITEM_EVENT_TRACKING Item event tracking
Files:
Input Files:
Output Files :
No output file.
Static Parameters
Dynamic Parameters
Rework Management :
Process Description:
This job is computing a weekly usability flag at Audit / Period / Household level.
The weekly usability flag is stored in FAMILYMONITORT42, structure for this table is following:
AC_CYCLE Cycle code
NC_PERIOD Period code
AC_HHOLD Panellist code
AC_DATACODE Datatype code
NC_DATAVALUE Datatype value
DT_UPDATE Update date
Job is selecting from T41 all Household present for submission cycle/period.
Reset FamilyMonitoT42
All records for DT 5900 are deleted from T42 for submission cycle/period range
All force activity flags log are deleted from T67 for submission cycle/period range
Family is declared usable if: DT5097 >= Total spent value on period >= DT5092
Family is declared usable if: Total spent value on period >= DT5091
Write report
For all families with Holidays flag or No Shopping flag or total spent>0, we produce a flat
file containing usability flag and total spent value.
For all families selected for weekly usability computation we load DT5900 value (1 if
family usable, 0 if not)
Update in Prockeyst29
Recommendations:
➢ 28P is resetting all 5900 flags in T42, which means that any manual change on 5900 by
35P should be re-applied in case 28P is re-submitted
Constraints:
➢ Job locking production cycle [EHDV21026P] has to be submitted before launching 28P
Prerequisites:
Table Description
TBSKT13 Total basket Rawda
PROCKEYST29 List of Rawda Processing keys
RAWDAILYT60 Purchase Rawda
FAMILYMONITORT42 Table containing weekly usability information
FAMILYLOGT67 Log of Families collaboration information
FAMILYUSABILITYT41 Family characteristics table
HHPARAMT06 Family usability parameters by cycle/period/HH_Char_id/HH_Char_Val
Files:
Input Files:
No input file.
Output Files:
This file is containing list of households that declared holidays or No shopping for this period
This file is containing details about households not OK based on HHCELL model.
Static Parameters
Dynamic Parameters
Rework Management:
Instruction of limits by for purchase values by period, char value => Services -> HH Parameters
Process Description:
This job is computing usability of the family for the computation of the expansion factor
by index/period/common sample. It creates a flat file that can be then loaded in Sample DB using
job: JES137 – Load Production Condition.
The usability of the family for the expansion is based on the weekly usability flags in the
FamilyMonitor table computed by job 28P.
Get the list of families present in FamilymonitorT42 with period <= submission period and
cycle=submission cycle
For each common sample get number of periods, min number of periods for usability
for each family
compute number of weekly usability flag = 1 for list of common sample periods
if >= to minimum instructed then common sample usability flag set to 1
for this family/cs
else common sample usability flag set to 1 for this family/cs
Recommendations:
Constraints:
➢ Job locking production cycle [EHDV21026P] has to be submitted before launching 29P
Prerequisites:
Source of Information:
Files:
Input Files:
No input file.
Output Files:
Parameters:
Static Parameters
Dynamic Parameters
PHASE 4 – SERVICES
Process Description:
The family characteristics are extracted from the Sample DB or from any other repository present
in the company and they are loaded into the FAMILY USABILITY TABLE.
We use the family characteristics in data validation system in the following areas:
➢ For the management information system area where we determine the family usability
by
o The “total spent” by family by CELL
o The “minimum spent” by family by HH SIZE (the “lower bound” criteria)
➢ For the alignment of the family codes from the data collection area and the list of families
in the “family usability table” (job Check Family Code Ehdv21066P)
➢ To supply the family characteristics to PFW file
➢ For some Data Validation routines (Heavy Buyer Edit)
➔ In case FILE mode is used, hh chars info should be providing in a flat file (see details bellow).
➔ In case DBLINK mode is used, data are retrieved by DBLink from SampleDB system (this
option is valid for countries using NCPS Sample DB).
Logic to retrieve data from Sample DB by DBLINK is similar to the logic used by Sample DB job
JE3030. Sample DB source type and index should be instructed as static parameter of 37P. Then
data will be extracted from Sample DB T55 tables using list of chars, length and tags instructed
as JE3030 static parameter in Sample DB for submission Index.
In sample DB T55 table, chars values with date_from < DATE1 and date_to > DATE1
If DV period = 0, DATE1=system date
If DV period <>0, DATE1= end date of DV submission period
Recommendations :
Constrains :
Prerequisites :
Source of Information :
The input file can be extracted from European Sample DB using Sample job JE3030.
In case of DBLINK option, data are retrieved from Sample DB Oracle database.
Table Description
FAMILYUSABILITYT41 It contains the characteristic identifier and the characteristic value by Family
by cycle and period (YYYYPPP)
To be updated by cycle/period at each validation cycle
FAMILYT43 It contains the list of the family codes loaded into family usability table.
Updated automatically by the system
Files:
Input Files:
Output Files :
No output file.
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Process Description:
This job is to be used to update the HH Monitor table by exception. Update is done based on an
input file prepared by the user
This is a single period job. Multiple periods inside input file not allowed
Any datatype belonging to FAMILYMONITORT42 table can be loaded in this table, structure for
this table is following :
One datatype has a special management: datatype defined by static parameter IDDT02: [HH
activity flag in HH Monitor]. Standard value for this static parameter is – 5900
For each record in input file we check if there is already information in T42:
➔ If there is already a record present for this Cycle/Period/HH/datatype, the datatype value is
updated
In case the updated datatype is the datatype [HH activity flag in HH Monitor] a record is
inserted in FAMILYLOGT67 to keep a trace of this change.
In case static parameters IDDT01 and IDDT02 are both different from 0, the update of
PROCKEYST29 family activity is applied.
Step 1 :
Program is selecting from HH monitor the list of Households for submission Cycle/Period with
IDDT02 [5900] = 1
➔ we update PROCKEYST29 with IDDT01 [5096] =1 for the submission
Cycle/Period
Step 2:
Program is selecting from PROCKEYST29 all families present for job submission Cycle/Period
From this list we get all Households that are not present in FAMILYMONITORT42 with
IDDT02 [5900] = 1
Recommendations:
This job should be used to perform corrections to the family usability computed by Family
Usability program.
Constrains:
Following checks are performed on input file, if one check is not OK, job is ending with severe
error :
Household code should be present in table T43 (any Household with one char
loaded in DV is automatically loaded in T43)
The cycle & period code in input file are not used and not checked by the program. The
submission 105anel & period will be used to insert in FAMILYMONITORT42.
Prerequisites:
This job should be used after Family usability computation and after Rawda load of data (to
ensure that family usability change are applied on Prockeyst29).
Source of Information :
Table Description
FAMILYMONITORT42 Table containing family usability flag by period
FAMILY_LOGT67 List of changes applied by DV automatic validation jobs and family
collaboration data
PROCKEYST29 Table containing processing keys for purchase and tbskt records
FAMILYT43 List of Households present in FAMILYUSABILITYT41 table
Input Files:
Output Files :
No output file.
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
PHASE 4 – SERVICES
Process Description:
We keep inside the system a directory of all the shops used within the CPS system.
These shops are the “source of purchases” declared by the families when they report the
information of the shopping trip. The description is used to facilitate the activities of the user
during the preparation of the on-line instructions.
List of shops codes with their description can be loaded in DV using two modes : DBLINK or
FILE.
➔ In case FILE mode is used, list of shops should be providing in a flat file (see details bellow).
➔ In case DBLINK mode is used, data are retrieved by DBLink from SampleDB system (this
option is valid for countries using NCPS Sample DB). No input file is required when this option is
used.
Logic to retrieve data from Sample DB by DBLINK is similar to the logic used by Sample DB job
JES023. Sample DB source type should be instructed as static parameter of 36P.
In sample DB T51 table, only shop codes with date_from < DATE1 and date_to > DATE1
If DV period = 0, DATE1=system date
If DV period <>0, DATE1= end date of DV submission period
Recommendations :
Constrains :
Prerequisites :
Source of Information :
The input file can be extracted from European Sample DB using Sample job JES023.
In case of DBLINK option, data are retrieved from Sample DB Oracle database.
Input Files:
Output Files :
No output file.
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
PHASE 4 – SERVICES
Process Description:
The shop characteristics are extracted from the Sample DB or from any other repository present
in the company and they are loaded into the SHOP USABILITY TABLE.
We use the shop characteristics in data validation system in the following areas:
➢ For the data validation routines (basket validation, private brand validation, Formal
price validation, Automatic Price Validation)
➢ For price imputation
➢ For the alignment of the shop codes from the data collection area and the list of
shops in the “shop usability table (job Check Shop Code Ehdv21067P)
➢ To supply the shop characteristics to CASE file
➔ In case FILE mode is used, shop chars info should be providing in a flat file (see details
bellow).
➔ In case DBLINK mode is used, data are retrieved by DBLink from SampleDB system (this
option is valid for countries using NCPS Sample DB).
When the mode is DBLINK, get the list of back periods PERIOD_REC_ARRAY according to the
Period and #Periods parameters. 1 means submitted period only. O is not possible.
Logic to retrieve data from Sample DB by DBLINK is similar to the logic used by Sample DB job
JE3030. Sample DB source type and index should be instructed as static parameter of 37P. Then
data will be extracted from Sample DB T55 tables using list of chars, length and tags instructed
as JE3030 static parameter in Sample DB for submission Index.
In sample DB T55 table, chars values with date_from < DATE1 and date_to > DATE1
If DV period = 0, DATE1=system date
If DV period <>0, DATE1= end date of DV submission period
DV is managing a logic to Xcode barcodes by shop code. This logic is driven by link between
shop code and Xcoding group stored in table SHOPCOLLID_LINKT19.
In case of countries where individual shop codes are used, maintenance of shop code/Xcode
group can be quite huge workload. To manage this case, 37P has an option to refresh shop
code/Xcode group link automatically using :
Link between Shop Chain and Xcoding group stored in CHAINCOLLID_LINKT110 (this
info should be stable)
Link between Shop Chain and Shop code stored in SHOPUSABILITYT40
In case FULL refresh option is used, data in SHOPCOLLID_LINKT19 are deleted for submission
cycle, then full list of Shop code / XcodeGroup links are refreshed.
All the shop group related to the submitted cycle will be resolved and its respective shop contents
will be stored in TDV_SHOP_GROUP_CONTENTS and its respective resolved entry is added in
TDV_SG_RESOL_TRACKING.
Recommendations :
Constrains :
The list of shops codes is unique in a country for all DV Audits, but characteristic can be
different by Cycle.
Prerequisites :
All shop codes present in Shop char file should have been loaded before in DV using
Load Shop Description.
File with Shop characteristics available in case of FILE option.
In case of DBLINK option, DBLINK should be existing, JE3030 static parameter should
be present and data in T55 table of Sample DB should be up to date.
Source of Information :
The input file can be extracted from European Sample DB using Sample job JE3030.
In case of DBLINK option, data are retrieved from Sample DB Oracle database.
Table Description
SHOPST44 It contains the shop code and the shop description
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop by
cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
SHOPCOLLID_LINKT19 Instructions for Xcoding by shop
CHAINCOLLID_LINKT110 Instruction for Xcoding by chain
Input Files:
Output Files :
No output file.
Parameters :
Static Parameters
Rework Management :
PHASE 4 – SERVICES
Process Description:
This program is computing Median Absolute Deviation (MAD) of prices present in Rawda.
This MAD factor will then be used by APV process to validate prices delivered by the panellists.
The datatype used to compute MAD is DT5667 (historical price, before APV process).
MAD is computed by Price Group (price group is a shop characteristic used to build group of
shops congruent in term of price). Price group characteristic to be used are defined as static
parameter PRPRG.
MAD is computed using historical price stored in Rawda (original price loaded in Rawda before
any correction by Price Validation).
- If FPV_3_4_EXCLUDE is ‘YES’ then in the prices are extracted from the RAWDAILYT60 to
store into GT_PROCKEYST29, exclude the prices coming from FPV by applying the filter
DT5904 <> 3 and DT5904 <> 11 and DT5904 <> 20.
- Else let the current behaviour
MAD is computed using Rawda purchase information of submission period + a number of periods
backward defined in static parameter NUM_PER (number of periods in Job submission screen is
not used here).
Computed MAD values are stored in CNANPRICET34 table (same table where is stored
Standard Price)
• For each cycle / period / NAN_KEY / price group, following logic is applied :
• median price
• we compute price_deviation = ABS ( price – median_price )
• compute median of price deviation
• if number of observations is less than MINOBS (Static parameter value), median
price and MAD are not computed
• we compute also MAD for price group 0 (all the observations by NAN_KEY )
On top of MAD at NAN_KEY level, a deviation factor at Product Group level is computed using
following logic:
Recommendations:
This job should be submitted after all Families are loaded in Rawda and before APV.
Prerequisites:
Source of Information:
Table Description
RAWDAILYT60 Purchase rawda
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
CNANPRICET34 Table containing standard price and MAD by NAN_KEY,cycle, period, price
Group
PROCKEYST29 List of RAWDA processing keys (purchase + Tbskt)
NAN_ITEMST73 List of NAN_KEY loaded from EIMDB
MODULEST31 Definition of Modules, Product Groups, Super Groups extracted from EIMD
Files:
Input Files:
No input file.
Output Files :
No output file.
Parameters:
Static Parameters
Rework Management :
PHASE 4 – SERVICES
Process Description:
Standard Price is computed by Price Group (price group is a shop characteristic used to build
group of shops congruent in term of price). Price group characteristic to be used are defined as
static parameter PRPRG.
Standard Price is computed using historical price stored in RAWDA (original price loaded in
RAWDA before any correction by Price Validation).
- If FPV_3_4_EXCLUDE is ‘YES’ then in the prices are extracted from the RAWDAILYT60 to
store into GT_PROCKEYST29, exclude the prices coming from FPV by applying the filter
DT5904 <> 3 and DT5904 <> 11 and DT5904 <> 20.
- Else let the current behaviour
For each audit / period / NAN / price group, the following formula is applied :
w=n/(n+k)
n is the number of observations by NAN/price group
K is a parameter given to the program by the static parameter table
• if the number of observations is less than MINOBS (defined as static parameter), the
standard price is not computed
• we compute also by default the standard price for the price group 0
(all the observations by CNAN )
It will be used in the price validation if the requested NAN/price group std price is missing.
• we compute also standard price at Product Group / price group level, using same logic
Recommendations :
This program can be included in same group as Load Std price job (40P)
This job should be submitted after all Families are loaded in Rawda and before APV.
Prerequisites:
Source of Information:
Table Description
RAWDAILYT60 Purchase rawda
CNANPRICET34 Table containing standard price and MAD by NAN_KEY,cycle, period, price
Group
DATATYPEST07 The table contains the list of the datatypes and the position in the record.
PROCKEYST29 List of RAWDA processing keys (purchase + Tbskt)
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
Files:
Input Files:
No input file.
Output Files :
Parameters :
Static Parameters
Dynamic Parameters
Rework Management:
PHASE 4 – SERVICES
Process Description:
This program is used to load standard price into CNANPRICET34 table from external file.
If the period in Input File is defined as 0 then consider that it is not mismatching with
the job submission period otherwise if Input File period is defined different from 0 or
the job submission period the job does not accept it and terminates with error.
Only standard price related to price groups instructed in static parameters are loaded.
Recommendations:
This program can be used along with Compute Standard Price program
Constrains:
Prerequisites:
Availability of the file containing the standard price values
Source of Information:
Table Description
CNANPRICET34 Table containing standard price and MAD by NAN_KEY, cycle, period, price
Group
NAN_ITEMST73 List of NAN_KEY loaded from EIMDB
MODULEST31 List of Modules extracted from EIMD (used there only in case of Rework PC
for Homepannel only)
Files:
Input Files:
Standard price (File id: FILEI1) :
Position Length Name Description
1 4 CYCLE CHAR(4)
5 7 PERIOD NUMBER
12 4 PRODUCT_GROUP CHAR (product group or 0)
16 16 NAN NUMBER (nan_key or 0)
Output Files:
No output file
Parameters :
Static Parameters
Rem : if no CHVLXX are available, all price group values present in flat file are loaded
Dynamic Parameters
Rework Management:
Process Description:
This program is an utility to extract information from the rawda to an output file.
Datatype selection :
Datatypes to be extracted are defined when submitting the job in DT Selection screen.
It’s mandatory to have at least one datatype selected.
This program can use only datatypes present in the output tables. If other datatypes are selected
during the job submission, these datatypes will be ignored.
This program can only extract datatype from following final tables :
1. RAWDAILYT60
2. TBSKT13
3. PROCKEYST29
Note:For python version, Hive data refresh is done at the beginning of this process for the
submission audit, period (back-periods included) for the following tables:
1. RAWDAILYT60
2. TBSKT13
3. PROCKEYST29
Logic of extraction :
Those new input files are mandatory to submit the job. For each of those 3 files:
- if input file is empty or does not have correct header the filtering is not applied
- if header is correct and at list of record is present only instructed HHOLD/SHOP/NAN or
BARCODE will be extracted.
Case 1 :
Shop file is containing:
SHOP
0000000016
DT5650 is instructed
➔All DT5650 datatypes values for selected period range for shop=0000000016,
HHOLD=0000003173 or =0000003472, for all products will be extracted from RAWDAILYT60
Case 2:
Shop file is containing:
SHOP
0000000016
DT5650 is instructed
➔ All DT5650 datatypes values for selected period range for shop=0000000016,
HHOLD=0000003173 or =0000003472, barcode=6408430004324 will be extracted
Case 3:
Shop file is containing:
SHOP
0000000016
➔All TBSKT13 datatypes values for DT5941 for selected period range for shop=0000000016,
HHOLD =0000003173 and 0000003472 will be extracted
Recommendations :
Constraints :
Prerequisites :
Source of Information :
Oracle Tables Involved :
Table Description
DATATYPEST07 The table contains the list of the datatypes and the position in the record.
PROCKEYST29 List of Rawda Processing keys
RAWDAILYT60 Purchase rawda
TBSKT13 Total basket Rawda
NAN_ITEMST73 List of Nan_keys extracted from EIMDB
MODULEST31 List of Modules extracted from EIMDB
Files:
Input Files:
• Input file 1 : HHOLD selection file (File id: FILEI1)
Main
Main
Main
Output Files :
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Process Description:
After the rawda loader, the user can run any customized quality control on the data. After the
inspection, a data correction may be requested.
This program is applying data correction to the data in the final tables. Performing some controls
in order to guarantee the final consistency of the data.
Rawda Correction is driven by an external flat file. Input file layout is same as Rawda Extraction
(one record per Datatype)
Recommendations :
Prerequisites :
Source of Information :
Table Description
RAWDAILYT60 Purchase RAWDA
FAMILYT43 It contains the list of the family codes loaded into family usability table.
Updated automatically by the system
SHOPT44 List of Shops
NAN_ITEMST73 List of Nan_keys extracted from EIMD
PROCKEYST29 List of Rawda Processing keys
TBSKT13 Total basket Rawda
CROSSCODING_INSTRU Crosscoding links information extracted from EIMDB
CTIONST49
Files:
Input Files:
Output Files:
No output file.
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Process Description:
We have developed a software utility to extract the information already validated into a sequential
file. This program extracts the data from the output tables, according to the user selection, and
generates a flat file to be used for any kind of application.
The extraction is driven by a set of instructions. Only the data present in the output tables can be
extracted.
Extraction process is modied such that only the validated records are extracted I,e the locked
flag(DT5090=1)
No data-type selection is required in the job submission system as we take the filedefinition and
its data-types from the table T20 (DT parameter screen) by the audit code.
DT parameter screen can contain :
one layout for purchase records (dt of RawdailyT60 and/or ProckeysT29)
one layout for total basket records (dt of TbsktT13 and/or ProckeysT29)
The date range of this program is determined by the period code and the number of periods
selected by the user
The output file, at the end of the job, is sorted by the key of the file
Recommendations :
Constraints :
Prerequisites :
➢ Parameter table by audit available ( DT parameter screen where the file layout is defined
)
Table Description
DATATYPEST07 The table contains the list of the datatypes and the position in the record.
PROCKEYST29 List of Rawda Processing keys
DATACODET20 Purchase datatype layout definition (DT Parameter Screen)
RAWDAILYT60 Purchase RAWDA
TBSKT13 Total basket Rawda
Input Files:
Main
Main
Main
Output Files :
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Process Description:
This program cleans the data from DB based on the user static parameter selection or via the
online cleaning
The process submitted via job submission or production flow will expect the static parmater
TABLE_NAME to be filled mandatory. Values can be RAWDA , TOTAL BASKET, FAMILY LOG,
BEVERAGES OR MODULE PRICES.
If the job is submitted via the online cleaning, the below tables can be cleaned
Process steps:
Parameters:
Dynamic Parameters
Cleaning Matrix:
PHASE 4 – SERVICES
Process Description:
This program loads the prices provided from retailer (for example “Picard” in France) into “price
by supplier” table : SUPPLIER_PRICEST98.
Those prices are fixed prices (same for all shops) for a given periods.
In case of submission rework, all existing price for submission source/chain are deleted before
load of data.
Any price with date_from lower than submission date – number of days defined as static
parameter DAYS are automatically deleted
Job is also providing functionality to copy in supplier price table prices instructed in €imdb as
characteristics (these are prices collected from manufacturer (by features…) )
Note : For python version Hive data refresh is done at the beginning and oracle data refresh is
done at the end of this process in terminateJob for these three tables:
• Prockeyst29
• Rawdailyt60
• Tbskt13
Recommendations:
Constraints:
Prerequisites:
Table Description
SUPPLIER_PRICEST98 Table containing catalogue prices provided by retailer
CROSSCODING_INSTRU Xcoding instruction table
CTIONST49
Files:
Input Files:
Input file is not fixed layout file, but file with ; delimiter
Output Files:
No output file
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
Process Description:
This is program copies the prices of retailer “Picard” from “price by supplier” table into Table ALL.
So, we copy the prices by using price group, only for price values = 0
Model
Shop selection
Selection of shops to be included in this process using price_group char and char value
instructed as static parameter
Update of price=0 with price selected from SUPPLIER_PRICEST98 for selected source,
price_group for T98.dt_datefrom<=purchase date < T98.dt_dateto;
If Price is not found for the barcode within the period date range, then search again
without date range filtering and update ALLT11 with most recent price.
In case no supplier price is found for any date, following logic is applied based on static
parameter MODL :
If MODL=DELETE, purchase act is deleted from ALLT11
If MODL=DEFAULT, a default price is copied, default value is defined by static
parameter DETAULT
If MODL=NULL, no update
Rem : All purchase acts for which price has been imputed, are flagged with DT5904= 9 (price
correction flag).
Remark : In REWORK mode all purchase acts are updated in ALLT11 with price in
SUPPLIER_PRICEST98 (even if price>0 in ALLT11)
Recommendations:
Constraints:
• The prices delivered by Picard are copied only
Prerequisites:
Source of Information:
Table Description
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are separated
in datatypes and loaded in the table ALL as separate records
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
SUPPLIER_PRICEST98 Table containing catalogue prices provided by retailer
Files:
Input Files:
No input file.
Output Files:
No output file
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
PHASE 4 – SERVICES
Process Description:
The objective of this procedure is to load Pharma prices from Pharma price flat file to table
SUPPLIER_PRICEST98
In the PriceBySupplierT98 will be kept the historical average price values for each EAN/APO.
To manage historical values a ‘validity period’ (DateFrom/DateTo) will be define following these
rules:
DateFrom = InsertDate ( as defined by static parameter)
The average price values are computed based on the Pharma prices input file and calculated by
EAN/APO code.
Input file can contain 2 distinct external codes: minsan and ean8_13, those cases are managed
as follows:
➢ For all barcode present in input file, program is checking if there is a record already present in
T98 and if exists selects the latest one
• In case barcode is not present in T98: a new record will be inserted. The
‘validity period’ for this new record will be set in this way:
DateFrom = InsertDate and DateTo = 99991231
Rework mode:
➢ For all barcode present in input file, program is checking if there is a record already present in
T98 and if exists selects the latest one
• In case barcode is not present in T98: a new record will be inserted. The
‘validity period’ for this new record will be set in this way:
DateFrom = InsertDate and DateTo = 99991231
• In case barcode is already present in T98: the median price will be updated
with the newest value.
➢ For all barcode present in T98 input file, but doesn’t exist in the pharma input file
The record with DateFrom= InsertDate will be deleted and the record with DateTo=
InsertDate-1 will be updated setting the DateTo field equals at 99993112.
Constraints:
Prerequisites:
Source of Information:
Table Description
SUPPLIER_PRICEST98 Table containing fixed prices provided by supplier and Pharma prices
Input Files :
Output Files:
ReportFilename (FILEO1)
Position Length Name Description
1 20 EAN Code
21 7 Old Pharma xxxx.xx
Price
28 7 New Pharma xxxx.xx
Price
This file will be filled only in case of REWORK mode and will contain:
-All the newest pharma price values that dit not already exist in PriceBySupplierT98 table
-All the oldest pharma price values that exist in PriceBySupplierT98 table but don’t exist
into the input file
DiscardFilename (FILEO2)
Position Length Name Description
1 20 pr_minsan Codice MinSan
21 20 pr_ean8_13 Codice EAN8 o EAN13
41 07 pr_preuro C Prezzo in euro
This file will contains all records in input file with pr_minsan = 0 or pr_ean8_13 or pr_preuro C
BadtFilename (FILEO3)
Position Length Name Description
1 160 NOTUSED1
161 09 pr_minsan Codice MinSan
170 80 NOTUSED2
250 13 pr_ean8_13 Codice EAN8 o EAN13
263 90 NOTUSED3
353 08 pr_preuro C Prezzo in euro
This file will contains all records with un-correct format that can not be loaded.
Parameters:
Rework Management:
Process Description:
This program copies the RMS prices stored in table SHOP_PRICEST99 into table P359_1T12.
Shop code local: filled only if shop reclassification has been required in Load NRSP price job.
Imputation Model :
We select in P359_1T12 only shop codes for which price should be imputed from RMS.
Selection is done in SHOPUSABILITYT40 using static parameter char + value.
We select all the keys in table P359 = shop || NAN || purchase date for shops to be
imputed form RMS for select date range
If no price is found and if static parameter DAYS>0 we check if a price is available in past
periods :
Check all prices available in SHOP_PRICEST99 table with
P359.shop= SHOP_PRICEST99.shop
Nan_key = SHOP_PRICEST99.NAN_KEY
P_date_from-DAYS <= purchasing date <= P_date_to
If more than one price value, we take the most recent one
If price in P359=0
If RMS price found = we impute RMS price
If RMS price not found,
if static parameter MODL=’DELETE’, we delete purchase act in P359, if
MODL=’NULL’ do nothing
If price in P359>0
If RMS price found, if static parameter MINMAX=’YES’, we check if price in inside
min/max range of price for this nan computed for all RMS shops, if not replace existing
price by RMS price
Rem : All purchase acts for which price has been imputed, are flagged with DT5904= 4 (price
correction flag).
Recommendations:
It is recommended to submit this job before other RMS price imputation jobs (copy cluster price,
FPV)
Constraints:
• The prices delivered by NRSP are copied only
• The NRSP’s prices must not be changed by any validation routine
Prerequisites:
Source of Information:
Table Description
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
P359_1T12 DV validation area data
SHOP_PRICEST99 Table containing prices by period, shop, NAN_KEY
Files:
Input Files:
No input file.
Output Files:
No output file
Static Parameters
Dynamic Parameters
Rework Management:
PHASE 4 – SERVICES
Process Description:
This program is used to compute median price on prices loaded from RMS. Computation
is done using RMS prices loaded in SHOPPRICET99 table by job Load price NRSP (74P).
Computed standard prices are stored in CNANPRICET34 table. They will be used by FPV
process (15P) to impute missing prices.
- We process all the NRSP prices of a week in a single run. It is a weekly process (or cycle /
period / # periods). Selection in SHOPPRICET99 is : select dt_from inside submission date
range.
- Median price is computed using Price Group concept (shop characteristic used to group
shops with congruent price policy). Price group are defined in SHOPUSABILITYT40 table.
Price group to be used for this process are defined as static parameter (PG01,CHVL01,
CHVL02…)
- Median price is computed also for Price group 0 (all shops)
- Median price at Product group level is also computed.
- Median price at Product group level & Price Group 0is also computed.
Remark: Steps 3 is in used only in case Static parameter Price Group 0 is enabled, Step 4 is in
used only if static parameter PG_PRG0 is set to 1
- Median price is computed only if number of observation is greater than minimum number of
observations required to compute median price ( # shops by NAN_KEY or product group) set
by static parameter NOBS.
- Prices are extracted from SHOPPRICET99 using SOURCE as defined in static parameter
SOURCE
- Median Price are loaded in CNANPRICET34 with period computed as the previous as the
submission period (this because FPV process is checking std price for previous period).
Note:
CNANPRICET34 table can be loaded by several processes :
o Compute/Load std price
o Compute Median price NRSP
o Load Std price based on output file of FPV
In case for example std price computation based on Rawda has been submitted already on
same cycle/period, median price from RMS will substitute to the one already present
Recommendations:
Constraints:
Only shops defined in SHOPUSABILITYT40 with expected Price Group are selected to compute
Median Price.
Prerequisites:
Price group defined in SHOPUSABILITYT40 table.
Prices to be delivered by NRSP and loaded in SHOPPRICET99 table (74P).
Source of Information:
Table Description
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
SHOP_PRICEST99 Contains prices from RMS at NAN_KEY/ Shop code level
NAN_ITEMST73 List of NAN_KEY loaded from EIMDB
MODULEST31 List of Modules extracted from EIMD (used there only in case of Rework PC
for Homepannel only)
CNANPRICET34 Table containing standard price and MAD by cycle, price Group
Files:
Input Files:
No input file.
Output Files:
No output file
Parameters :
Static Parameters
Dynamic Parameters
Rework Management:
Phase:
PHASE 4 – SERVICES
Process Description:
This program computes the median price by CLUSTER (geo / chain) for RMS prices.
Prices used for computation are selected from “scantack price table” (SHOP_PRICEST99)
The assumption of this job is we process all the NRSP prices of a week in a single run.
The job allow to compute cluster price for different sources in T99.
Model
Shop selection
Shops instructed to be included for this process are selected in SHOPUSABILITYT40 table
job using price_group characteristic and char values instructed as static parameter
Prices selection
Prices to be used for this computation are selected from T99 using SOURCE static
parameter and T99 dt_from computed using PERIODS_BX parameter (defined by
SOURCE)
The price allocation by copy cluster price will be then be performed according to the following
hierarchy:
Recommendations:
This job can be instructed in a group as successor of NRSP price loader job
Constraints:
Prerequisites:
Source of Information:
Table Description
CLUSTER_PRICEST100 Table containing RMS median prices computed at CHAIN/GEO level
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
SHOP_PRICEST99 Table containing prices by period, shop, NAN_KEY
Files:
Input Files:
No input file.
Output Files:
No output file
Static Parameters
Dynamic Parameters
Rework Management:
Process Description:
This program copies the prices of retailer organized by “CLUSTER” into table P359_1T12.
Model :
Shop selection
Selection of shops to be included in this process using price_group char and char values
instructed as static parameter
Cluster resolution
Assignment of shops to cells (GEO/CHAIN)
Geo and chain are shop characteristics. We do not use family char to supply the GEO
information
For each purchase transaction with the price value = 0, we search first for the best detail:
chain x and geo x If missing, we search by chain x only.
Rem : All purchase acts for which price has been imputed are flagged :
with DT5904= 6 (price of cluster Chain/Geo).
With DT5904= 7 (price of cluster Chain/0).
Recommendations:
This job can be set-up as a successor of NRSP price copy job (53P)
Constraints:
Prerequisites:
Table Description
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
CLUSTER_PRICEST100 Table containing RMS median prices computed at CHAIN/GEO level
P359_1T12 DV validation area data
Files:
Input Files:
No input file.
Output Files:
No output file
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
Process Description:
The main concept of this program is to copy standard price in CNANPRICET34 from a source
cycle to a target cycle for a particular range of periods.
This job is to be submitted using destination cycle (where std price should be copied). The source
cycle is defined as static parameter.
Recommendations:
This job can be used alone or in a group (for example with compute and load standard prices)
Constraints:
All the periods defined in the target cycle are equal to the periods in the source cycle
i. Same label
ii. Same definition
Prerequisites:
Source of Information:
Table Description
CNANPRICET34 Std price table
Files:
Input Files:
No input file.
Output Files:
No output file
Static Parameters
Dynamic Parameters
Rework Management:
Process Description:
Shop weight computation job is computing a total FMCG at basket level based on basket
purchase acts.
This information can be then used for panellist usability or expansion factor computation.
The shop weight is computhe from the original purchase transaction basket filtering the purchase
transactions by
➢ List of shop type and/or shop chain
➢ Specific scope of products (based on IBD screen)hop weight will be
identified as a “total basket information” and stored into TBSK table
➢ with a dedicated “datatype code”with the same key of the purchase
basket of the family
From RAWDAILYT60 job is selecting purchase records based on date range, list of
nan_key, list of shops.
Then job is computing value spent at basket level (AUDIT/DATE/TIME/HH/SHOP) by
DT5650 x DT5675
Insert/update in TBSKT13
-If the key is existing already in TBSK13 datatype shop weight is updated with computed value
(DT code instructed as static parameter, recommended value is 5128)
-If the key is not existing TBSK13 a new key is inserted with only shop weight DT >0
Also a Prockey record is inserted with
DT5090 = MAX(DT5090 of purchase acts)
DT5096 = MAX(DT5096 of purchase acts)
Other DT as default values
Note : For python version, Hive data refresh is done at the beginning of this process for the
submission audit, period (back-periods included) for the following tables:
oracle data refresh is done at the end of this process for the submission audit, period
(back-periods included) for following tables:
• Prockeyst29
• Tbskt13
Recommendations:
Constraints:
MAX DT-LOCK VALUE = 1 CASE NOT VALID RWRK option is mandatory (data
( into PR-KEYS ) validated + late arrival)
Prerequisites:
Source of Information:
Table Description
TBSKT13 Total basket Rawda
PROCKEYST29 List of Rawda Processing keys
RAWDAILYT60 Purchase Rawda
Files:
Input Files:
No input file.
Output Files:
No output file
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
Phase :
Process Description:
This job is re-Xcoding based on EIMDB Xcoding instruction the purchase records present in:
Output rawda (tables RAWDAILYT60 and PROCKEYST29)
FamilyLog table (table FAMILYLOGT67)
The Xcoding logic used here is the same as the one used in Crosscoding process (job 08P), so
Xcoding models are :
- by barcode Type
- by Shop/Xcode Group
- standard Xcoding
-Zero coded
Logic available to select barcodes to be reclassified, selection of the logic is done by value of
Static parameter MODL:
- Select all barcodes present in Rawda for submission Date Range (based on submission
period + # of periods defined in Job submission screen)
- Xcode all barcodes based on given Published Copy. Static parameter PARM PUBL is
defining Published copy to be used.
In case PARM PUBL=0, the latest full published copy loaded in DV is selected
For Barcodes that can not be Xcoded, Nan_Key is set to 0
-A new static parameter LAC_EXCLUDE parameter is introduced to add an extra filter to
select all AC_BCTYPE_MNEM different from LAC or not.
-the below picture describes the LAC_EXCLUDE parameter usage.
Rem: Using Xcoding onDate, only new items and Re-classified barcodes should be selected.
The Xcoding is using the purchase date to look for correct link to be applied: it is looking for a link
with EIMDB_date_from < Purchase date < EIMDB_date_to
GROUPID BARCODE BC_SUFFIX DT_EFFFROM XCODE_KEY BT_MNEM NAN_KEY NAN_CODE MODULE P_G DT_EFF_TO
PUB_NUM CURRENT_REC DT_CREATED DT_UPDATE
This EAN 3059941004407 will be Xcoded to NAN_KEY 116797 for any purchase date before
2006/03/05 and to 5581680 for any purchase date greater than 2006/03/05
At the end of the process TDV_REX_LOG table is filled using RAWDAILYT60 and the process
temp table.The process will insert record only when there is a nankey change and insert job
submission time as timestamp.
Recommendations:
Constraints:
Source of Information:
Table Description
SHOPCOLLID_LINKT19 Instructions for Xcoding by shop
BARCODE_TYPET23 Instructions for Xcoding by barcode type
NAN_ITEMST73 List of Nan_keys extracted from EIMD
PROCKEYST29 List of Rawda Processing keys (used here to check if data loaded are
already present in output tables)
RAWDAILYT60 Purchase RAWDA
NAN_ITEMST73 List of NAN_KEY loaded from EIMDB
FAMILY_LOGT67 List of changes applied by DV automatic validation jobs
CROSSCODING_INSTRU Crosscoding links information extracted from EIMDB
CTIONST49
LAST_PUB_EVENTT30 List of loaded published copy
CROSS_CODE_GROUPS List of Xcodes group to be used for Xcoding (Xcode Group screen)
T26
TDV_REX_LOG Stores the list of transactions and nankey change detaiils
Files:
Input Files:
No input file.
Output Files:
Static Parameters
Dynamic Parameters
Xcoding instructions are the same as the one used for Xcoding (08P). Those instructions are
defined in GUI screens:
Services → X-Coding →XcodingGroup : list of Xcode group to be used for Xcoding
Services → X-Coding → Bar Code-Type: set up of Xcoding instruction by Barcode Type
Services → X-Coding → Shop-Group Id: set up of Xcoding instruction by Shop code
PHASE 4 – SERVICES
Process Description:
• This program loads load prices supplied by an In Store Observation Service (OPUS –
France) into the OPUS_PRICEST93 table.
• The Prices in the Input File are at Barcode level but are loaded in the OPUS_PRICEST93
table at NAN_KEY level (after Xcoding).
Process Flow
• Get Static Parameters
• Read Input File
• Perform XCoding
IF IDCH01 is defined
Reclassify RMS shops to CPS shops
• Perform XCoding
• Load records in OPUS_PRICEST93 table as shown below:
Recommendations:
Constraints:
Prerequisites:
Table Description
OPUS_PRICEST93 OPUS_PRICEST93 table contains item prices only for a month
data. No history retained in this table.
CROSS_CODE_GROUPST26 List of Xcode Group ID for the country
CROSSCODING_INSTRUCTIONST49 Crosscoding links information extracted from OGRDS
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic
value by shop by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if
requested)
Files:
Input Files:
Output Files:
No output file
Parameters:
Static Parameters
Rework Management:
Process Description:
This program copies the OPUS prices stored in table OPUS_PRICEST93 into table P359_1T12.
Shop code local: local shop list not belonging to RMS standards..
Imputation Model :
• Check the existence of records in the KEYST14 table for the submitted Audit and Timestamp.
• Select all records from the KEYST14 for the submitted Audit and Timestamp where ac_item
<> 0 nan_key > 0)
• For the purchase keys selected from the KEYST14, select the corresponding keys from
p359_1t12 where Price = 0
• Check if matching records found in OPUS_PRICEST93 (for the records with shop and
Nankey)
• All purchase acts for which price has been imputed, are flagged with DT5904= 8 (price
correction flag).
Recommendations:
The NRSP price copy must be run before this job (OPUS Price copier)
Constraints:
• Only the OPUS prices are copied
• The OPUS prices must not be changed by any validation routine
Prerequisites:
Source of Information:
Table Description
P359_1T12 DV validation area data
KEYST14 DV validation area keys
OPUS_PRICEST93 Table containing prices by shop, NAN_KEY
Files:
Input Files:
No input file.
Output Files:
No output file
Static Parameters
Dynamic Parameters
Rework Management:
Process Description:
This program is responsible for the cleaning of Joblogt52 & MsglogT53 tables.
The cleaning is based on the jobstart time which is present in both tables. The user defines for
each table separately in the static parameter table the number of periods to retain in the
database. This is a physical delete in database.
Recommendations :
This job can be submitted inside a group containing other Housekeeping jobs.
Constraints :
Prerequisites :
Source of Information :
Table Description
CYCLEPERIODT03 Definition of periods (date from, date to, lock flag) by Cycle
JOBLOGT52 Table containing a Log of all submitted jobs (one record by job submission).
Table displayed in Job Submission → Job Log screen
MSGLOGT53 Table containing detailed report of each job submission (table accessed by
Job Log → View Messages)
Files:
Input Files:
No input file.
No input file.
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Rework XXXX YYYY.PPP normal Not allowed, run “normal” option x process
Rework XXXX YYYY.PPP F# Not allowed, run “normal” option x process
Rework XXXX YYYY.PPP PC Not allowed, run “normal” option x process
Process Description:
This procedure is responsible for the cleaning of ShopUsabilityT40 & FamilyUsabilityT41 tables.
The cleaning is based on the period which is present in both tables. The user defines for each
table separately in the static parameter table the number of periods to retain in the database. This
is a physical delete in database.
➔ Job is retrieving the max period locked in CycleperiodT03 for the submission cycle
➔ Job is retrieving number periods to retain in T40 (defined by user as static param T40)
➔ Based on Cycle/ Period definition (CycleperiodT03), program is computing the first
period to retain : p_from
➔ Job is deleting from T40 all records for submission cycle
with period < p_from
Recommendations :
This job can be submitted inside a group containing other Housekeeping jobs.
Constraints :
Prerequisites :
Source of Information :
Table Description
CYCLEPERIODT03 Definition of periods (date from, date to, lock flag) by Cycle
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
FAMILYUSABILITYT41 It contains the characteristic identifier and the characteristic value by Family
by cycle and period (YYYYPPP)
Files:
Input Files:
No input file.
No input file.
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Rework XXXX YYYY.PPP normal Not allowed, run “normal” option x process
Rework XXXX YYYY.PPP F# Not allowed, run “normal” option x process
Rework XXXX YYYY.PPP PC Not allowed, run “normal” option x process
Process Description:
This procedure is responsible for the cleaning of HHParamT06 & FamilyMonitorT42 tables.
The cleaning is based on the period which is present in both tables. The user defines for each
table separately in the static parameter table the number of periods to retain in the database.
➔ Job is retrieving the max period locked in CycleperiodT03 for the submission cycle
➔ Job is retrieving number periods to retain in T06 (defined by user as static param T06)
➔ Based on Cycle/ Period definition (CycleperiodT03), program is computing the first
period to retain : p_from
➔ Job is deleting from T06 all records for submission cycle
with period < p_from
Recommendations :
This job can be submitted inside a group containing other Housekeeping jobs.
Constraints :
Prerequisites :
Source of Information :
Table Description
CYCLEPERIODT03 Definition of periods (date from, date to, lock flag) by Cycle
HHPARAMT06
FAMILYMONITORT42 Store panellist collaboration by week
Files:
Input Files:
No input file.
No input file.
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Rework XXXX YYYY.PPP normal Not allowed, run “normal” option x process
Rework XXXX YYYY.PPP F# Not allowed, run “normal” option x process
Rework XXXX YYYY.PPP PC Not allowed, run “normal” option x process
Process Description:
Functionality for Supplier_PricesT98 is similar to EHDV21065U job. The cleaning is based on the
date_from.
➔ Job is retrieving the max period locked in CycleperiodT03 for the submission cycle
➔ Job is retrieving number periods to retain in T98 (defined by user as static param T98)
➔ Based on Cycle/ Period definition (CycleperiodT03), program is computing the first
period to retain
➔ Job is computing date_from of the first period to retain: v_ac_dtfrom
➔ Job is deleting from T98 all records for submission cycle
with dt_datefrom < v_ac_dtfrom
Functionality for Shop_PricesT99 is specific as this table is can contain huge amount of data and
is a partitioned table.
The cleaning is based on the partition name.
The user defines in the static parameter table the number of periods to retain in the database.
➔ Job is retrieving the max period locked in CycleperiodT03 for the submission cycle
➔ Job is retrieving number periods to retain in T99 (defined by user as static param T99)
➔ Based on Cycle/ Period definition (CycleperiodT03), program is computing the first
period to retain
➔ Job is computing date_from of the first period to retain: v_ac_dtfrom
➔The starting date of periods to be retained is then converted to following format
‘P’YYYYMMDD (format of partition name of T99).
➔ Job is deleting from T98 all records for submission cycle
with dt_datefrom < v_ac_dtfrom
Recommendations :
This job can be submitted inside a group containing other Housekeeping jobs.
As volume in T99 can growth to huge amount of data, it is recommended to not retain
more than 12 weeks in this table.
Constraints :
Prerequisites :
Source of Information :
Table Description
CYCLEPERIODT03 Definition of periods (date from, date to, lock flag) by Cycle
CNANPRICET34 Contains standard prices and MAD by cycle, period, price group, product
group, NAN_KEY
CLUSTERPRICEST100 Table containing cluster prices computed by 55P job
SHOP_PRICEST99 Table containing RMS prices by period, shop, NAN_KEY
SUPPLIER_PRICEST98 Table containing catalogue prices provided by retailer
Files:
Input Files:
No input file.
Output Files :
No input file.
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Rework XXXX YYYY.PPP normal Not allowed, run “normal” option x process
Rework XXXX YYYY.PPP F# Not allowed, run “normal” option x process
Rework XXXX YYYY.PPP PC Not allowed, run “normal” option x process
Process Description:
This program validates the family codes inside the purchase data loaded in table ALLT11.
It Checks whether the families inside the purchase data are present in the family list (T41 table)
HH present in OK
HH LIST table ----------
Recommendations:
It is recommended to submit this job before Data Selection and adjust situation if needed, as any
purchase record with HH not present in Family List will remain in table ALLT11 and will not be
moved to the validation area.
As families’ characteristics are loaded by period, it is recommended to submit this job at real
period level (so not using period 0)
Constraints:
Prerequisites:
Source of Information:
Table Description
Input Files:
No input file.
Output Files:
No input file.
Parameters :
Static Parameters
No static parameter.
Dynamic Parameters
Rework Management:
Rework XXXX YYYY.PPP normal Not allowed, run “normal” option x process
Rework XXXX YYYY.PPP F# Not allowed, run “F #” option x process
Rework XXXX YYYY.PPP PC Not allowed, run “normal” option x process
Process Description:
This program validates the shop codes inside the purchase data file. It Checks whether the shops
inside the purchase data are present in the shop list table / shop usability table (SHOPT44)
SH present in
SH usability tab OK ----------
SH not present in
SH usability tab WARNING ----------
CC 08
Recommendations :
It is recommended to submit this job before Data Selection and adjust situation if needed, as any
purchase record with Shop not present in Shop List will remain in table ALLT11 and will not be
moved to the validation area.
Constraints :
Prerequisites :
Source of Information :
Table Description
ALLT11 Parking place of all the purchase transactions before validation.
Area of the cross coding or new item classification.
Files:
Input Files:
No input file.
Output Files :
No output file.
Parameters :
Static Parameters
No static parameter.
Dynamic Parameters
Rework Management :
Process Description:
This is the starting point of the data validation. This program selects the set of data to be
processed by the criteria defined by the user and it distributes the other data to the related tables.
Only valid purchase data are moved to P359_1T12 and KEYST14, this means:
• keys Xcoded
• keys not present in the new item table
• date of the purchase transaction consistent with the activity dates of the pc-item
inside the IMDB ( dt_val_from <= key date <= dt_val_to )
• panelist code present in Familyusability table
• shop code present in Shopusability table
• keys not present in validation area
If the key is already in validation area, we do not move any data of the same basket in T-359 until
the validation has been completed, the rawda loaded and the data already validated deleted from
T-359, T- ALL and KEY table
When we load a basket (all purchase transactions of a family in a shopping trip), we associate to
all purchase transactions a “file number” to identify the origin of the data and to control the flow
and the consistency of the operations inside DV system.
The file number is a unique identifier, generated automatically by the system during the loading
phase of the data in T-ALL (01P), and it will be associated to all the purchase transactions within
the same input file.
This file number will control the processing system and the rework system in order to prevent
data disruption due to wrong processing options selected by the user.
The File log screen is displaying information about loaded files with details about number of
records loaded, also information flag if data have been loaded or not in Final tables.
If a file number is loaded in to final table, the field DT_RAWDALOAD in File log table will not be
null for that file number. If this value is null, it indicates that the file number is not loaded yet.
We always load the full basket of the purchase transactions for each family in Table ALL, for
standard load process there is no distinction between:
• standard loading,
• loading by File#,
• loading by pc
In case of normal processing mode (no Rework), it is not allowed to have in DataSelection
records belonging to a basket already present in final with a file# not already loaded in
final table.
To manage new File# on already loaded data, Rework mode is required (take care that rework
mode will delete data in Rawda).
The job is checking if basket key selected by DataSelection are already present in output tables
(PR-KEYS of HHLOG) with different File#
If this is the case, then all purchase keys & tbskt keys related to this basket key are excluded
from Dataselection
➔ In case of process mode 3 (submission for a list of PC) following control is applied:
The job is checking if basket key-PC combination selected by DataSelection are already present
in output tables (PR-KEYS of HHLOG) with different File#
If this is the case, then all purchase keys & tbskt keys related to this basket key are excluded
from Dataselection
Rework mode:
If the data present in ALLT11 table is from a file number, which is already present in Final tables,
then rework option is not allowed.
The option is not allowed, because, this case will happen only under the following circumstances:
A file is loaded in to ALLT11. It is cross coded. Part of the file is not cross coded.
The part, which is cross coded is moved into Final tables.
Now the remaining part is cross coded and the user is trying to move it to final tables.
All data in final tables related to submission cycle/ data range are deleted.
All keys related to basket keys selected by DataSelection are deleted from final tables
Recommendations:
Constraints:
Prerequisites:
Source of Information:
Table Description
PROCKEYST29 List of Rawda Processing keys (used here to check if data loaded are
already present in output tables)
P359_1T12 DV validation area data
FAMILY_LOGT67 List of changes applied by DV automatic validation jobs
TBSKT13 Total basket Rawda
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
FAMILYUSABILITYT41 It contains the characteristic identifier and the characteristic value by Family
by cycle and period (YYYYPPP)
To be updated by cycle/period at each validation cycle
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are separated
in datatypes and loaded in the table ALL as separate records
NAN_ITEMST73 List of NAN_KEY loaded from EIMDB
MODULEST31 List of Modules extracted from EIMD (used there only in case of Rework PC
for Homepannel only)
DATATYPEST07 The table contains the list of the datatypes and the position in the record.
RAWDAILYT60 Purchase RAWDA
No input file.
Output Files :
No output file.
Parameters :
Static Parameters
No static parameter.
Dynamic Parameters
Rework Management :
Process Description:
This program is used to copy total basket records in TBSKT13 table into purchase records in
RAWDAILYT60.
The purchase records copied have same key as Tbasket records except Barcode that is
instructed as dummy barcode by static parameter. The Nan_Key is also instructed as static
parameter.
One or several datatypes values can be copied from T13 to T60. Source and destination
datatypes are instructed as static parameter.
Recommendations:
Constraints:
Prerequisites:
This copy should be possible when validation is completed, after the Update Processing Key
submitted
Table Description
RAWDAILYT60 Purchase RAWDA
PROCKEYST29 List of Rawda Processing keys (used here to check if data loaded are
already present in output tables)
TBSKT13 Total basket Rawda
Files:
Input Files:
No input file.
Output Files:
No output file
Static Parameters
Dynamic Parameters
Rework Management:
PHASE 4 – SERVICES
Process Description:
This process loads/refreshes the OGRDS product referential tables in NCPS DV from the
published copy of the OGRDS system through a DB Link interface. Those tables are used by
many other DV jobs to retrieve Xcoding instructions, product characteristics, weight, units etc
The OGRDS FULL published copy is a set of tables containing a full consistent product
referential. This is a full snapshot of OGRDS. This set is published every week-end.
Each published copy is identified by a unique identifier, the OGRDS “Publication number”.
Recommendations:
Constraints:
All OGRDS tables are unique across audits (one product referential for all audits).
Prerequisites:
Source of Information:
Table Description
CROSS_CODE_GROUPST26 List of Xcode Group ID for the country
CROSSCODING_INSTRUCTIONST49 Crosscoding links information extracted from
OGRDS
CHAR_TYPEST17 List of product characteristic codes from OGRDS
CHAR_TYPES_TRANST18 Description of product characteristic codes from
OGRDS
CHAR_VALUEST24 List of product characteristic values from OGRDS
CHAR_VALUES_TRANST25 Description of product characteristic values from
OGRDS
CVALS_IN_USET27 List of characteristic values in use
IMDB_LANGUAGEST16 List of languages in use in OGRDS
MODULEST31 List of Modules (link to Product group, SuperGroup
MODULES_TRANST32 Description of modules
MOD_CTYPE_ASGNST77 List of characteristic assigned to Modules
MOD_WEIGHT_ASGNST78 List of weight codes assigned to Modules
NAN_CHAR_VALUEST75 Nan Characteristic values
Files:
Input Files:
No input file.
Output Files:
No output file
Setup_Param:
OGRDS_HEADINGS can be set for the country to have one of the two values:
ONLINE or HHT.
• When ONLINE is set the NAN descriptions are taken from the OGRDS
Imdb_Pub_F_Nan_Items_Alt_Descs_cty_v view.
• When ONLINE is set the NAN descriptions are taken from the OGRDS
Imdb_Pub_F_Nan_Items_cty_v view.
Static Parameters:
The country (eg GB) is used to filter xcoding instructions, only information with Xcode group
starting with country code.
Using this static parameter the EAN Xcode group is loaded on top of country Xcode Group. This
Xcode group is built by program in OGRDS, this is containing all EAN external codes present in
any country and Xcoded with same NAN_KEY in all countries.
This Xcode group is built from scratch (no history, all update date are set to the publication date).
Using this static parameter the dummy nan_key zero is loaded in NAN_ITEMST73 table. This
isZero NanKey value is used by the DV logic.
PGI option
This option can be used to include or no include non fully coded items and multilink items in
Xcoding instruction.
PGI items are Product Group Item, these are generic nan_key that represent one category, for
such nan_key some characteristics are not filled (like Brand…). In some country when a new
barcode is codified, it is in some cases first linked to a PGI item for a temporary period and then
linked to a full coded nan_key.
Multilink Ean are generic items that are linked to more than one barcode.
Dynamic Parameters
Rework Management:
Process Description:
This program extracts flat file with NAN_KEY activity for the NRSP factory.
This program will be used to generate the list of items to be included in the item-list resolution
process.
This list of the items will be assigned to the production unit named COUNTRY / CHANNEL
The NRSP system requires a full updating of the list of the active items before starting
each production cycle.
We need to identify the list of active items present in the whole RAWDA.
This list of items will replace the list of active items already present in the NRSP repository.
All child banded pack items are extracted in addition to all NAN_KEY present in Rawda.
This process extracts the nankeys from PROCKEYST29 table and active dates based on the
ITEM_ACTIV_DATE parameter in SETUP_PARAM table. Value could be either REAL_DATES or
PERIOD_END, where PERIOD_END represents current functionality and REAL_DATES skips
date transformations.
This process has a functionality to submit an external shell script than can send the extracted file
to NRSP system.
Extraction module will use it to detect all cycles/audits within same RMS file to be extracted at
once.
In case the job is submitted with period 0, the job will replace period 0 with the latest locked
period in DV for submission audit. This period will be used for output filename and also for end
date inside output file.
Recommendations:
Constraints:
Prerequisites:
Source of Information:
Table Description
PROCKEYST29 List of Rawda Processing keys
NAN_ITEM_LINKST76 Link between banded pack items (parents) and banded back components
(childs)
No input file.
Output Files:
<ExternalCountry>.<ExternalChannel>.<YYYY>WK<0ww>.<YYYY>WK<0ww>.SGALL.DAT
where :
ExternalCountry is Country Code : eg “GB”
ExternalChannel is Channel Code : eg “NCPS”
YYYY = year such as 2006 : is the submission year
ww = week number such as 52, : is the submission period
Parameters:
Static Parameters
Dynamic Parameters
PHASE 4 – SERVICES
This program loads the RMS prices extracted from SIRVAL. These prices are used by other DV
process to impute prices on purchase data where price is missing.
A facility is available in SIRVAL system to extracte the required shop price file in CSV file format.
In DV, prices are loaded in table SHOP_PRICEST99, structure for this table is the following :
price =0
shop code=0
NAN_KEY=0
When rework mode is selected, program is deleting all the records already loaded for the number
of selected weeks ( # periods).
Shop reclassification:
In some countries, shop codes in RMS and CPS are different. In that case, if a copy of prices at
shop code level is required, it is necessary to “reclassify” the shop code coming from RMS to the
correct shop code present in NCPS DP.
To use this functionality, RMS shop code should have been loaded previously in Shop Usability
table (as all other shop char).
Then, if static parameter CHID is filled with correct shop characteristic code.
For each shop code in file coming from RMS, program is checking if this shop code is present in
shop_usability as 237uthor shop char value and if it is present, then RMS shop code is
substituted to the shop code of the key of the shop usability table (CPS shop code).
Example :
CPS shop code RMS shop code
1100000354 1100110354
No cps code 1100000354
In this case RMS shop code 1100000354 is ignored by the program to avoid to have 2 shop
codes in T99 for same period with 238lignment prices.
Recommendations:
Amount of data loaded by this program in SHOP_PRICEST99 table can be really huge.
To avoid lack of space issue, it is recommended to use Housekeeping process on a regular way
to delete in SHOP_PRICEST99 data related to old periods.
Constraints:
RMS prices loaded in SHOP_PRICEST99 are common to all audits inside the country.
Prerequisites:
Source of Information:
Table Description
SHOP_PRICEST99 Table containing prices by period, shop, NAN_KEY
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
Files:
Input Files:
Output Files:
No output files
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
Process Description:
This program validates automatically the purchase units reported by the families.
All changes are logged in FAMILYLOGT67 table and can be displayed using FamilyLog screen.
HBE validation is applied at product group level. Scope of items to be considered are
defined using the concept of IBD. The IBD are defined in IBD Definition, IBD Char Selection and
IBD Rule Definition screens.
IBD to be used by HBE process are defined by static parameter IBD-ID_1 & IBD-ID_2 (if IBD-
ID_2 is not present only IBD-ID_1 will be used).
IBD-ID_2 should be used in case a country would like to have 2 set of parameters ADLT, CHLD,
ADLTPARM, CHLDPARM, CUP for 2 different IBD. This for example to apply standard CUP
(ADLTPARM=0.7, CHLDPARM=0.5) for one IBD, and fix CUP=1 (ADLTPARM=0,
CHLDPARM=0) for another one.
Note: there should not be any overlapping between the 2 IBD Groups.
- Benchmark period is the Rawda period used to represent the behaviour of the families
in the past weeks. Number of periods back to be considered for benchmark is defined by static
parameter PERBENCH.
In case rounding option is selected, dt5650 and dt5099 are adjusted as follows :
Final corrected quantity is rounded to integer value (and dt5099 accordingly), for all
nan_key not present in NAN_VAR_WEIGHT_FROM_IMDB table
Final corrected quantity is not rounded, for all nan_key present in
NAN_VAR_WEIGHT_FROM_IMDB table
Recommendations:
It is recommended to submit this job in sequence, period one after each other in ascending order
as HBE run on previous period can impact current period HBE run.
Constraints:
If production cycle has been locked, it is required to submit this job in Rework mode.
It’s a single run process, so to be re-submitted the job should be submitted with “Force single run”
option on.
Prerequisites:
Source of Information:
Table Description
RAWDAILYT60 Purchase RAWDA
Files:
Input Files:
No input file.
Output Files :
No output file
Parameters :
Static Parameters
Dynamic Parameters
Rework Management:
IBD Definition, IBD Char Selection and IBD Rule Definition screens.
Phase:
PHASE 2 – AUTOMATIC DATA VALIDATION
Process Description:
Validation is applied on Rawda, comparing historical price datatype (DT5667) with some price
limits computed based on Standard price and MAD (median price deviation) of the current period.
If price is out of limits, this job is automatically updating current price datatype (DT5675),
historical price remains the same.
If PROMOTION_STEP parameter is set to ON, then PRICE value of records with any of the
promotion datatypes defined by the static parameter PROMO_DTxx is rescaled by the
PROMO_RESCALE factor before comparing with the usual boundaries.
All changes are logged in FAMILYLOGT67 table and can be displayed using FamilyLog screen.
Rawda date range to be validated is defined by submission period and number of periods back
defined by static parameter NUM_PER.
Validation is using the price group concept, shop characteristic to be used for price group is
defined as static parameter PG01.
➔ no price group value /barcode type value instructed : all purchase acts are validated
➔ one or several “price group” code are instructed [ no barcode type instructed ] : only
purchases for shops belonging to instructed shop type are validated
➔ one or several “price group” code are instructed, for each of them a list of barcode type is
instructed, for each price group, only barcode belonging to instructed barcode type
(DT5098) are validated by APV
Price group and barcode type to be considered will be defined as static parameter (see example
bellow).
Step 1: Transform observed prices into standardized form by “pc-item / price group”
Get sp = sp (prgr-x)
4 sp = max (MINMAD, sp )
5 sp = sp * MADADJ
6 zp=(p-pa)/sp
Where :
CVpc(prgr-x) price-cv of the product class to which item k belongs for price group x
CVpc(prgr-0) price-cv of the product class to which item k belongs for price group 0
MAD adjustment factor (MADADJ) and minimum value of MAD (MINMAD) are defined as static
parameters.
Step 4 : If the “new computed price” pc is not equal to the “original purchase price” reported by
the family (DT5667), then current price value (DT5675) of the purchase transaction is updated
with the new computed price.
Remark : PGI Nan_key are excluded from APV process (as many different physical products can
be linked to this Nan_Key)
Recommendations:
Constraints:
If production cycle has been locked, it is required to submit this job in Rework mode.
Prerequisites:
Source of Information:
Table Description
CNANPRICET34 Contains standard prices and MAD by cycle, period, price group, product
group, NAN_KEY
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
RAWDAILYT60 Purchase RAWDA
PROCKEYST29 List of RAWDA processing keys (purchase + Tbskt)
NAN_ITEMST73 List of Nan_keys extracted from EIMDB
MODULEST31 List of Modules extracted from EIMDB
FAMILY_LOGT67 Log of changes applied by DV automatic validations processes
Input Files:
No Input files
Output Files:
File containing all purchase acts with price=0 (File id: FILEO1) :
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
Process Description:
This job is re-Xcoding based on EIMDB Xcoding instruction the purchase records present in :
Output rawda (tables RAWDAILYT60 and PROCKEYST29)
FamilyLog table (table FAMILYLOGT67)
The Xcoding logic used here is the same as the one used in standard Re-classification process
(job 61P).
Only change is the way purchase records to be re-xcoded are selected. This job is providing
functionality filter manually barcodes and date ranges for which reXcoding should be applied.
At the end of the process TDV_REX_LOG table is filled using RAWDAILYT60 and the process
temp table. The process will insert record only when there is a nankey change and insert job
submission time as timestamp.
Recommendations :
Constrains :
Prerequisites :
Source of Information :
Table Description
SHOPCOLLID_LINKT19 Instructions for Xcoding by shop
BARCODE_TYPET23 Instructions for Xcoding by barcode type
CROSS_CODE_GROUP List of Xcode Group ID 255lignme to be used for Xcoding
ST26
CROSSCODING_INSTR Xcoding instruction loaded from EIMDB
UCTIONST49
NAN_ITEMST73 List of NAN_KEY loaded from EIMDB
RAWDAILYT60 Purchase RAWDA
PROCKEYST29 List of RAWDA processing keys (purchase + Tbskt)
FAMILY_LOGT67 List of changes applied by DV automatic validation jobs
DATALOGT55 The table contains the outliers of the quality controls system candidate for the
user inspection and on line selection.
TDV_REX_LOG Stores the list of transactions and nankey change detaiils
Files:
Input Files:
Remarks :
We check input file validity, job will fail in following cases :
invalid date_from or date_to
duplicate barcode information
barcodes in input file having no valid Xcoding instruction
Output Files :
Parameters :
Static Parameters
Parameter Type Mode Description
MODE LIST Optional Mode to be used FILE or OGRDS (FILE by default)
DATE01 DATE Optional Update Date from
DATE02 DATE Optional Update date to
LAC_EXCLUDE LIST Optional LAC to exclude Yes or No(No by default)
SHOP_GROUP SQL Optional Shop group id to be defined ,by default it is empty
Dynamic Parameters
Rework Management :
Xcoding instructions are the same as the one used for Xcoding (08P) and standard Re-Xcoding
(61P).
Those instructions are defined in GUI screens :
Services → X-Coding →XcodingGroup : list of Xcode group to be used for Xcoding
Services → X-Coding → Bar Code-Type : set up of Xcoding instruction by Barcode Type
Services → X-Coding → Shop-Group Id : set up of Xcoding instruction by Shop code
Process Description:
France requested to extract from Tbskt13 table information related to the usage of a Fidelity card
by Shop Chain. This extract includes:
• the families reporting loyalty card on the last N weeks (e.g N=12) .
• the families/chains being there for the previous X weeks (e.g X=24) and not present in
current extraction. For each Family/chain, write a record with value 0 in the output file
Recommendations:
Rework:
No rework option
Constraints:
Prerequisites:
Source of Information:
Table Description
TBSKT13 Total basket table
SHOPUSABILITYT40 Shop characteristics
Files:
Input Files:
Output Files:
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
Message
Description Tag Type Explanation Comments
code
File Name is Define valid file
P0020125 File Name is blank S File Name is blank
blank name
File Name not File Name not
P0020126 File Name not present S Define a file name
present present
Static Value not Static Value Static Value not Define static
P0020505 S
present not present present parameter
Shop Not present
Shop Not present in Shop Not No shop(s)
P9900177 S in Shopusability
Shopusability table present in available
table
Define valid
DT column not
Given dt_column not Given DTDT dt_column in
P9900628 S present in
found in TBSKT13 not found DTDT static
TBSKT13
parameter
Periods not
Periods not enough
P9900005 Required No. of Periods not Present enough
Get date range for submitted
P0000000 Submission period date range Date range period
Automation job
submitted with External Job Information message only, No action
P9900394 I
the following name required
name
Automation job
External job Information message only, No action
P9900393 ended I
succeeded required
successfully
Additional information is given within
the message. In case there is no
Automation job External Job additional message then the following
P9900392 S
failed Failed message will be displayed: No
Additional external job information
available
Additional information is given within
the message. In case there is no
Automation job External Job additional message then the following
P9900395 S
failed Failed message will be displayed: No
Additional external job information
available
Process Description:
This program is an utility to extract information from Xcoding table (ALLT11) to an output file.
Datatype selection :
Datatypes to be extracted are defined when submitting the job in DT Selection screen. In case no
DT is selected all DT will be extracted.
PC selection :
PC to be extracted are defined when submitting the job in PC Selection screen.
If no PC is selected all PC will be extracted.
F# selection :
When we choose the selection by F#, we will extract from the rawda all the basket data (trip data
+ purchase data) associated to all the baskets loaded in the same file identified by the selected
file number.
Only one file number can be selected, file number 0 cannot be used.
Logic here is similar to the one used in Rawda extraction (see 41P description for details and
examples).
82P:
Note : For python version Hive data refresh is done at the beginning of this process for the
submission audit, period (back-periods included) for the following table:
• ALLT11
Recommendations :
Constraints :
Prerequisites :
Source of Information :
Files:
Input Files:
Main
Main
Main
Parameters :
Static Parameters
DTDT DTxxxx yyyy Where xx can be any number and yyyy is the
datatype number.
Dynamic Parameters
Rework Management :
Process Description:
This job is extracting from DV a set of information related to weekly family usability & family
collaboration. Information is written to an output flat file.
Lit of HH:
As reference we use list of families present in FAMILYUSABILITY table for submission
AUDIT/ PERIOD
DT computation
USABILITY
For all those HH, job is selecting DT5900 from T42
FORCED USABILITY
For all selected HH, job is checking if there is at least one record present in T67 for
datacode=DT5900, datavalue=1, proc_id is null and date in date range and audit is submission
audit
If at least one record is found with this logic value is set to 1, if not value is set to 0.
NO PURCHASE DECLARED
For all selected HH, job is checking if there is at least one record present in T67 for
datacode=DT5684, datavalue=1, date in date range and audit is submission audit
If at least one record is found with this logic value is set to 1, if not value is set to 0.
TRANSMISSION DONE
For all selected HH, job is checking if there is at least one record present in T67 for
datacode=DT5645, datavalue=1, date in date range and audit is submission audit
If at least one record is found with this logic value is set to 1, if not value is set to 0.
In case static parameter NUM_PER is greater than one. Data are extracted by period.
The output file is sorted by HH ascending and period descending, see example bellow
HH x 2008040
HH x 2008039
HH x 2008038
HH x 2008037
HH y 2008040
HH y 2008039
HH y 2008038
HH y 2008037
Recommendations:
Rework:
Constraints:
Prerequisites:
Source of Information:
Table Description
TBSKT13 Total basket Rawda
FAMILY_LOGT67 Table containing all information related to HH collaboration at daily level
FAMILYMONITORT42 Table containing weekly usability information
FAMILYUSABILITYT41 Family characteristics table
Files:
Input Files:
No input file.
Output Files:
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
Process Description:
Objective of this procedure is to validate units for variable weight items and apply automatic
correction.
1 For fixed weight barcode products, 272anellist272 are provide units as integer,
value can be in following range: [1,2,3…]
Due to this difference, variable weight products are requiring a dedicated validation logic to
correct keyboarding error from 272anellist.
This validation routine is detecting both outliers for low quantity & high quantity and applies an
automatic correction.
- Low quantity are detected using a fixed minimum volume instructed in IMDB at Nan_key
level (minimum volume is stored in char value description)
- High quantity are detected using a dynamic maximum volume limit computed by the
program on a logic closed to the one used in Purchase Inspection job (16P). This
validation is applied only if there is more than T observations at Nan_Key level
- Corrected value is computed based on a standard volume computed at Nan_key level.
If there is less than T observations, above high volume validation is not applied, but an additional
validation can be applied (optional, based on static parameter). This additional validation is
detecting high quantities using a fixed maximum volume instructed in IMDB at Nan_key level
(minimum volume is stored in char value description).
Prices for variable weight are validated separately by standard APV routine (76P)
The period range for purchase data to be validated is defined using submission period & static
parameter NUM_PERIOD1 (number of period in submission screen is not used in this job).
It checks for presence of records for the scope of Variable Weight items in the
FAMILY_LOGT67 table. If no records found then the job fails with the severe error ‘Initial
values not found in FAMILY_LOGT67’.
Otherwise the DT5650 and DT5942 values are retrieved from the FAMILY_LOGT67 for
the scope of Variable Weight items.
Delete FAMILY_LOGT67 records.
STEP 1 : Select all Nan_key variable weight present in Rawda for submission period
std_volume ( t ) =
w * median_volume[sub_per + 1 - NUM_PER1,sub_per ] + (1-w ) * median_volume [sub_per –
NUM_PER1 – NUM_PER2, sub_per – NUM_PER1 ]
➔w=n/(n+k)
n is the number of observations of period range [sub_per + 1 – NUM_PER1,sub_per ]
k is a parameter given to the program by the static parameter table
Select all purchase act with DT5642 < min_volume or DT5642 > max_volume
Corrected_quantity=
std _ volume
Corrected_quantity=
max_ volume * (max_ volume − std _ volume)
1−
volume _ before _ validation 2
We select here all nan_key not corrected due to volume too low, and with max_volume null (due
to not enough information)
Recommendations:
Rework:
Constraints:
Prerequisites:
Source of Information:
Table Description
RAWDAILYT60 Purchase Rawda
PROCKEYST29 List of Rawda Processing keys
NAN_CHAR_VALUET75 Item characteristics values id extracted from EIMDB
NAN_VAR_WEIGHT_FROM_IMDB Items with Variable Weights
Input Files:
No output file
Output Files:
No output file
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
Process Description:
This program validates automatically the expended purchase units reported by the families. HCE
uses so expansion factor to detect outlier.
All changes are logged in FAMILYLOGT67 table and can be displayed using FamilyLog screen.
HCE validation is applied at product group level. Scope of items to be considered are
defined using the concept of IBD. The IBD are defined in IBD Definition, IBD Char Selection and
IBD Rule Definition screens.
IBD to be used by HCE process is defined by static parameter IBD-ID.
Expansion factor
HCE considers a weight value for each HH. This value is retrieved from
FAMILYMONITORT42 for submission period, DT is defined by static parameter. Weight value
can be extracted from Sample DB by dedicated program and loaded in DV using Load Family
Monitor (EHDV21035P). Datatype code to store expansion factor in FAMILYMONITORT42 is
5909 (Expansion factor x HBE)
- Benchmark period is the Rawda period used to represent the behaviour of the families
in the past weeks. Number of periods back to be considered for benchmark is defined by static
parameter PERBENCH.
E Instruction
Statistical model used for validation:
In case rounding option is selected, dt5650 and dt5089 are adjusted as follows :
Final corrected quantity is rounded to integer value (and dt5089 accordingly), for all
nan_key not present in NAN_VAR_WEIGHT_FROM_IMDB table
Final corrected quantity is not rounded, for all nan_key present in
NAN_VAR_WEIGHT_FROM_IMDB table
Note : For python version Hive data refresh is done at the beginning for these tables:
1.Prockeyst29
2.Rawdailyt60
For oracle data refresh is done at the end of this process in terminateJob for these tables:
1. Rawdailyt60
Recommendations:
It is recommended to submit this job in sequence, period one after each other in ascending order
as HCE run on previous period can impact current period HCE run.
Constraints:
If production cycle has been locked, it is required to submit this job in Rework mode.
It’s a single run process, so to be re-submitted the job should be submitted with “Force single run”
option on.
Prerequisites:
Source of Information:
Table Description
RAWDAILYT60 Purchase RAWDA
PROCKEYST29 List of RAWDA processing keys (purchase + Tbsk)
FAMILY_LOGT67 List of changes applied by DV automatic validation jobs
IBD_DEFINITIONT104 Table containing the Item Break Down (IBD) definition per cycle
IBD_CHARST105 Table containing the Item Break Down characteristics per cycle, IBD
IBD_RULEST106 Table containing the Item Break Down (IBD) rules per cycle, IBD
MODULEST31 List of Modules extracted from EIMDB
NAN_ITEMST73 List of Nan_keys extracted from EIMDB
FAMILYUSABILITYT41 It contains the characteristic identifier and the characteristic value by Family
by cycle and period (YYYYPPP)
To be updated by cycle/period at each validation cycle
FAMILYMONITORT42 Table containing list of families with family usability flag & Xf value by
cycle/period
Files:
Input Files:
No input file.
Output Files :
No output file
Parameters :
Static Parameters
Rework Management:
IBD Definition, IBD Char Selection and IBD Rule Definition screens.
Process Description:
This program copies the prices of retailer organized by “CLUSTER” into table P359_1T12.
Cluster price computation is computing a median price by shop Geo / shop Chain based on
prices coming from RMS. These prices are stored in table CLUSTER_PRICEST100.
So for example we have in this table a median price for Nan_Key 1 for Chain= Auchan &
Geo=Madrid Area
Countries that have implemented individual shop codes can then us job 56P (copy Cluster price)
to impute this price if missing for all cps purchase acts with shop code having Chain= Auchan &
Geo=Madrid Area
Such process can not be used for countries using generic shop code, in such case it is possible
to retrieve the chain from the shop but not the Geo. Proposed solution here is to retrieve the Geo
from 285anellist characteristic (assuming that 285anellist do shopping in are where they live).
The job can manage imputation for several sources with specific selection of datatype for each
source.
Model :
Shop selection
Selection of shops to be included in this process using price_group char and char values
instructed as static parameter
Cluster resolution
Assignment of purchase act to cells (GEO/CHAIN)
Geo is a family characteristic
chain is a shop characteristics.
Look for cluster price for current period, for HH Geo, Sh Chain
Look for the latest price among last NUM_PER_CLS period (NUM_PER_CLS is a static
parameter) for Sh Chain
Rem : All purchase acts for which price has been imputed are flagged :
14[SOURCE]: price copied from cluster Chain/Geo current period, price from source [SOURCE]
15[SOURCE]: price copied from cluster Chain/Geo previous per, price from source [SOURCE]
16[SOURCE]: price copied from cluster Chain/0 current period, price from source [SOURCE]
17[SOURCE]: price copied from cluster Chain/0 previous periods, price from source [SOURCE]
Recommendations:
This job can be set-up as a successor of NRSP price copy job (53P)
Constraints:
Prerequisites:
Source of Information:
Table Description
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
FAMILYUSABILITYT41 Family characteristics table
CLUSTER_PRICEST100 Table containing RMS median prices computed at CHAIN/GEO level
P359_1T12 DV validation area data
Input Files:
No input file.
Output Files:
No output file
Parameters:
Static Parameters
Dynamic Parameters
Process Description:
This program is adding the NAN_KEY, from IMDB, to the original barcode delivered from
the household for a given list of barcodes.
When
MODE=FILE is selected, the list of Barcodes to be selected by the job are defined in an
input file,.For each barcode a date_from / date_to for reclassification is defined.
MODE=OGRDS is selected, the list of Barcodes to be selected by the job are selected
from the CROSSCODING_INSTRUCTIONST49 and CROSS_CODE_GROUPST26
tables where crosscoding instruction updated dates are between DATE01 and DATE02 .
If LAC_EXCLUSION=YES, then all LAC Nankeys are not taken
into account (filter to apply is AC_BCTYPE_MNEM <> ‘LAC’)
For the following steps, when retrieving items from ALLT11, if SHOP_GROUP is
present, select only purchases where shop is present in the shopgroup for purchase dates
between submitted period date range and the #Periods back.
The logics used to apply Xcoding are the same as the one in place in job 08P (Xcoding):
o Standard Xcoding ( same link for all shops )
o Xcoding by exception on shop (customized links by chain or shops)
o Xcoding by exception on Barcode Type
Recommendations :
This job is not supposed to be used in ongoing regular process flow. It should be used
instead to apply Xcoding on a given list of barcodes on a large period range (eg apply Xcoding on
10 barcodes on 2 years in ALLT11).
Constraints :
Prerequisites :
Table Description
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are
separated
in datatypes and loaded in the table ALL as separate records
CROSSCODING_INSTRUCTIONST49 Crosscoding links information extracted from OGRDS
CROSS_CODE_GROUPST26 List of Xcodes group to be used for Xcoding (Xcode Group
screen)
SHOPCOLLID_LINKT19 Instructions for Xcoding by shop
BARCODE_TYPET23 Instructions for Xcoding by barcode type
NAN_ITEMST73 List of Nan_keys extracted from OGRDS
FILE_LOGT59 List of Files # loaded in DV (can be access in screen Services →
File log)
MODULEST31 List of Modules extracted from OGRDS
PRODUCT_GROUPST45 List of Product group
PRODUCT_GROUPS_TRANST46 Description of product groups
Files:
Input Files:
Output Files :
Position Name
1 Audit
2 Date
3 Time
4 Hhold
5 Shop
6 Barcode
7 Nankey
This file contains the crosscoded keys updated in ALLT11 when SIMULATION=NO else
when SIMULATION=YES, all candidates keys (Audit, Date, Time,Hhold,Shop,Barcode
and new candidate NANKEY).FILE02 contains only purchases with nankey greater than 0.
Position Name
1 Barcode
2 NanKey
3 # Records
4 Total Volume
5 First Date
6 Last Date
This file contains the number of distinct key records and the Total Volume by barcode,
nankey. The Total volume is the sum of the DATAVALUE when DATACODE= DT5650. First
and last dates refer to the min and max dates of purchases of the particular barcode/nankey.
Position Name
1 Product Group (ID + Descr)
2 Module
3 # Records
4 Total Volume
5 First Date
6 Last Date
Parameters :
Static Parameters
Dynamic Parameters
Xcoding instructions are the same as the one used for Xcoding (08P).
Phase :
PHASE 2 – AUTOMATIC DATA VALIDATION
Process Description:
➢ Check Shop code (same shop code as for main audit, at least one shop char should be
present in T40 for the intended user cycle)
➢ Check panelist code (panelist code in intended user are individual codes different from
the main CPS panelist codes)
➢ Xcoding
➢ Data Selection,
➢ No validation applied,
➢ Load to RawdailyT60 table.
Then on Rawda, Intended User data have to be validated as follow by 89P job:
➢ Any reclassification applied on the basket (Private Brand, basket Selection) in main
audit should be replicated to Intended User data
➢ price for purchase act should be retrieved, same price as price imputed on main
audit,
➢ quantity should be imputed based on main audit qty & w% (percentage of the product
assigned to each intended user), rounding should be applied if option is selected
(dedicated static parameter)
The job is also getting the list of basket keys present in Intended User audit. Then it will check in
tbskt table and family log in main audit, tbskt records are copied in intended user audit (DT values
will be the same in both audits).
Before applying this, the job is deleting all tbskt records in intended user audit for submission
period.
➢ 89P should be submitted after all validation on main CPS household cycle are completed
Constraints:
Availability of shop code for Intended user cycle in T40
Availability of Intended User individual codes for Intended user cycle in T41
Note : For python version, Hive data refresh is done at the beginning of this process for the
submission audit, period (back-periods included) for the following tables:
Tbskt13
Prockeyst29
Rawdailyt60
Source of Information:
Table Description
PROCKEYST29 List of Rawda Processing keys
FAMILY_LOGT67 List of changes applied by DV automatic validation jobs
RAWDAILYT60 Purchase RAWDA
Files:
Input Files:
No input file.
Output Files:
No output file
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
Process Description:
In most countries Nielsen panellists are reporting for each trip the total spent value.
This information is stored in DT5941 in TBSKT13 table.
This 90P validation module aims to detect abnormal DT5941 value comparing to High limit
defined by Shop Type level. For example a panellist reports spending 900 euros in a corner shop,
because of a typing error, instead of 9 euros.
This program is computing then a corrected value based on DTFMCG (total value computed on
Xcoding purchase acts for FMCG categories)
Corrected value is compared to DT5755 (in case corrected value is lower than DT5755 we set
this corrected value to DT5755).
TBSKT13 is then updated with corrected value of DT5941 and a record in inserted in
Family_logT67 to keep trace of the change.
Note : For python version Hive data refresh is done at the beginning for these tables:
1.ShopusabilityT40
2.Tbskt13
For oracle data refresh is done at the end of this process in terminateJob for these tables:
1. Tbskt13
Validation model:
End if
Recommendations :
Constraints :
Prerequisites :
Source of Information :
Table Description
TBSKT13 Total basket Rawda
FAMILY_LOGT67 Log of changes applied by DV automatic validations processes
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by
shop by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
CYCLEPERIODT03 Periods definition
Files:
Input Files:
No input file
Output Files :
No output file
Parameters :
Static Parameters
CHID PG01 PRGRP Identify the characteristic ID for the PRICE GROUP
to access the shop usability table
PG01 CV01 0000000001 Identify the characteristic values 1 for the PRICE
GROUP
CV01 VAL_MAX 999 Maximum value parameter for Total Spent for Shop
characteristic value 1
CV01 VAL_DEF 100 Default value parameter for Total Spent for Shop
characteristic value 1
Kindly note: If CVxx is defined, its corresponding VAL_MAX, VAL_DEF and RATIO must be defined.
Rework Management :
Process Description:
The aim of this validation is to check the NAN / SHOP CHAIN consistency in RawdailyT60.
➢ More than Min_pan distinct HHOLD have reported the NAN/SHOP CHAIN combination for
current RAWDAILYT60 period (list of NAN/SHOP CHAIN will be exported to output file)
➢ The number of distinct households for which the Assortment validation job has EITHER
already reclassified the NAN/SHOP CHAIN combination over last T67_PERIOD periods
OR would reclassify the NAN/SHOP CHAIN combination in the current week exceeds
Min_pan_2
If a Nan/Shop combination is found as not correct, the job will reclassify the purchase transaction
by replacing existing shop code by a generic shop code (defined as static parameter). Job is not
reclassifying the other transactions of same basket.
Validation model:
Write in output file Nan / Shop Chain combinations that are not present in RMS assortment, and
not in past assortment but that are reported by MIN_PAN distinct panelist in current period
STEP 7: Select data from T67 past periods + T60 current period
Select distinct Nan_Key SHOP_CHAIN from
Write in separate output file Nan / Shop Chain combinations detected in STEP7 not detected in
previous steps
In addition to this list of non-selection, if the static parameter PB_EXCLUDE is set to “YES”, then
the NAN key list got from the table TDV_PB_BASKET_DETECTION is excluded.To get the list of
NAN keys NAN_CHAR_VALUEST75 is used.
Recommendations :
This job should be submitted before Trip Data Alignment (23P) & Trip Data validation (24P)
Constraints :
RMS shop chain & CPS shop chain should be consistent (same Char_id, same Char_values).
Prerequisites :
Table Description
RAWDAILYT60 Purchase RAWDA
SHOP_PRICEST99 Table containing prices by period, shop, NAN_KEY
FAMILY_LOGT67 Log of changes applied by DV automatic validations processes
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by
shop by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
Files:
Input Files:
No input file
Output Files :
File 1 : Nan Chain combinations from step 6, not present in previous steps
This output file is containing list of Chain / Nan_key combination present in current T60 period for
more than Min_Pan 307anellist307 and not present in RMS assortment neither CPS history
assortment.
File 2 : Nan Chain combinations from step7, not present in previous steps
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
IBD (Item Break Down) defining the scope of products to be validated is defined in IBD screens.
Process Description:
This program is computing general DV Key Process Indicator (KPI) at audit, period and House
Hold Group Level.
When MULTI_MODE=ON the KPI values are computed taking into the account the
SAMPLE Characterisic and the SAMPLE Characteristic Values of the House Hold Group
Levels defined as Static Parameters. KPI values are stored in KPI_VALUEST107 table
for the specific audit/period having as value for HHGROUP the Description defined as
Static Parameter depending on HHOLD SAMPLE Group Characteristic Value.
IF MULTI_MODE DE = ON THE
▪ Get the List of HH by HH Group using Sample DB link. Each group defined by user in
the parameters will be split in 2 parts depending on entry date of HH
As a matter of example, if user define 3 groups as Mobile, Cipherlab and Swap. 6 groups
of KPI will be stored as follows:
Job 92P can compute KPI values for several periods in one run.
Once KPI_VALUEST107 is populated, KPI values can be accessed using dedicated screen of
GUI, this screen is also providing functionality to extract data to text file or xls file.
Note : For python version Hive data refresh is done at the beginning of this process for these two
tables:
• Rawdailyt60
• Tbskt13
Recommendations:
Rework:
Constraints:
Prerequisites:
- Rawda should be loaded
- Trip data alignment and trip data validation should be completed
Source of Information:
Table Description
RAWDAILYT60 Purchase Rawda
PROCKEYST29 List of Rawda Processing keys
TBSKT13 Total Basket Rawda
KPI_INSTRUCTIONS List of KPIs with short and long description
KPI_VALUEST107 Values of KPIs by audit & period
Files:
Input Files:
No output file
Output Files:
Name Description
Audit Audit code
Period DV period code
KPI code KPI code
KPI desc KPI long description
KPI value Value of KPI
HHGROUP Households Group
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
Process Description:
This program extracts Key Process Indicator about data reported by Household.
Information is aimed to be used by Panel Management team to assess 316anellist compliance.
o Select list of 316anellist to be managed : select all records for audit, period range
with minimum one record in TBSKT13
o Extract information from FamilyUsability
o Extract/compute information from TBSKT13
o Extract/compute information from RAWDAILYT60
o Extract/compute information from ALLT11
o Extract/compute information from RAWDAILYT60 by Shop type (if CH01 is
present)
o Extract/compute information from RAWDAILYT60 by IBD id IBD_ID_1 is present
o Write records in the output file according to the layout.
o Submit external unix script
Recommendations:
This job should be submitted after all validation jobs.
Rework:
No rework option
Constraints:
Prerequisites:
- Rawda should be loaded
- IBD should be defined
Source of Information:
Table Description
RAWDAILYT60 Purchase Rawda
PROCKEYST29 List of Rawda Processing keys
FAMILYUSABILITYT41 Panelist characteristics
SHOPUSABILITYT40 Shop characteristics
Files:
Input Files:
No Input file
Output Files:
First record of the file is a header record containing the name of each field.
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
IBD screens
Process Description:
The automatic basket validation system is controlling the correct combination of a shop type and
the categories (or products) sold in that shop type.
Whether we find an inconsistency between the shop type and a category (or a product), we
automatically reclassify the purchase transaction in a new basket where the new shop / shop type
is consistent with the category under inspection.
Instruction set 1:
Scope of shop type to be validated. Only purchase acts with shop code belonging to the list of
shop type instructed to be validated will be considered by this validation job.
Instruction set 2:
Basket validation is using the IBD (Item Break Down) concept.
IBD is a group of item defined by a rule using or several characteristics and logical operators.
IBD are created inside DV system using a dedicated GUI screen.
For each shop type that should be validated, the IBD defining the scope of product that are
“correct” should be defined. If the item of a purchase act is not belonging to the IBD defined for
the shop type of purchase shop code, then the purchase act is validated “Not OK” and is
reclassified.
Instruction set 3:
The reclassification is driven by IBD reclassification instructions. A set of reclassification IBD
should be defined, this IBD reclassification should not overlap (one particular item should belong
to one IBE reclassification only). For each IBD reclassification a reclassification shop type should
be defined.
Instruction set 4:
A shop code for reclassification should be instructed for each shop type.
Constraints:
Prerequisites:
Source of Information:
Table Description
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
P359_1T12 DV validation area data
KEYST14 DV validation area keys
Files:
Input Files:
No input file.
Output Files:
Name Description
NAN_KEY Nan_key value
SG Super group
SG_DESCRIPTION Super group description
PG Product group
PG_ DESCRIPTION Product group description
MODULE Module
MODULE_DESCRIPTION Module description
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
Process Cycle Period Option
Type
Process XXXX YYYY.PPP normal Allowed
Process XXXX YYYY.PPP F# Not allowed
Process XXXX YYYY.PPP PC Not allowed
Rework XXXX YYYY.PPP normal Not allowed
Rework XXXX YYYY.PPP F# Not allowed
Rework XXXX YYYY.PPP PC Not allowed
Validation -> Basket Validation screens (shop type selection / IBD definition/IBD
reclassification/Basket Shop)
P1017018 Error while fetching period System Error S Fetching Period Some error
occurred while
getting the
period.
Process Description:
This validation has been designed to fix an issue faced during launch of scanning panel in
Finland.
Analyse of data coming from 327anellist327 showed that even so if 327anellist is instructed to
keyboard the unit price for standard barcode, they sometimes misunderstand the instructions and
keyboard the total value.
For example, a 327anellist is buying 3 bottles of soda and is paying 0.6 euro each. When
scanning this purchase act, 327anellist should scan the barcode, enter units=3 and price=0.6
euros. Some panellists sometimes enter unit=3 and price=1.8 euros.
Main purpose of this new validation job, is to detect if we have such case, by comparing price
entered by the panellist with reference price and if out of range, check if price/unit is close to
reference price. If this is the case, both DT5667 and DT5675 are replaced with original price /
units.
Scope of products : transactions relating to “regular” barcoded items (e.g. manufactured goods).
Excluded thus variable weight items (those with weight within barcode) as well as code book
items.Selection will be done using barcode type
No special attention required for multipacks – supposed to be tackled by the usual DV routines
All corrected are logged in FamilylogT67 table and price correction flag is updated with specific
value (18).
Validation model:
Step 1: get list of nan to be validated, initialise the reference price as standard price from previous
period
Select full list of Nan_key in KEYST14 for selected audit/period/timestamp and for barcode type
defined as static parameter
For all relevant nan_keys, set RefPrice(t):=StdPrice(t-1), here we select standard price in
CNANPRICET34 for Price Group 0 (and not standard price for specific price group / retailer) for
previous period
For next step split the data for week t into two parts
Part A: Transactions with units=1
Part B: Transactions with units > 1
• For nan_keys with a RefPrice(t) available: compare collected price to RefPrice; if too far
away, divide price by units (since assumption to be checked is whether the price we got is
actually a value, the result of this division could be the true price …) and compare to
RefPrice(t)
o If price is too low then it cannot be a value, so we will consider only prices too high,
do nothing
o If Price <= Ratio * RefPrice(t), then leave unchanged. Ratio is a static parameter
o If Price > Ratio * RefPrice(t), then check further:
▪ set NewPrice:=Price/Units
• If NewPrice <= Ratio * RefPrice(t) then reset Price:=NewPrice
• If NewPrice > Ratio * RefPrice(t) then leave unchanged
Apply correction in P359_T12 table, both DT5667 and DT5675 are updated with new price.
Insert/update DT5904= 18 for updated records.
Recommendations :
Constraints :
Prerequisites :
Table Description
P359_1T12 DV validation area data
KEYST14 DV validation area keys
FAMILY_LOGT67 Log of changes applied by DV automatic validations processes
CNANPRICET34 Contains standard prices and MAD by cycle, period, price group,
product group, NAN_KEY
Files:
Input Files:
Output Files :
File 1: List of the top TOPPAN 329anellist with highest number of corrections
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Process Description:
This validation has been designed to provide a solution for Price Imputation in UK.
In UK RMS prices can not be used for cps price imputation process, and not all prices can be
collected. Only a part of the panel is collecting data, the main logic is to use prices collected from
cps panellists to impute on transactions where price is missing.
Median price at SHOP / NAN_KEY will be computed only for number of transactions > MIN_OBS
(static parameter).
Prices are loaded in table SHOP_PRICEST99, structure for this table is following :
When rework mode is selected, program is deleting all the records already loaded for the number
of selected weeks ( # periods).
The job can populate prices in T99 for several sources. For each source, it is possible to define a
specific Min_obs value and some instructions on datatype + datatype value.
This functionality allows to compute price for purchase acts in promo
Prerequisites :
Standard loader, Xcoding, load of HH & SH char should be completed successfully.
Table Description
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are separated
in datatypes and loaded in the table ALL as separate records
SHOP_PRICEST99 Contains prices from RMS at NAN_KEY/ Shop code level
SHOPT44 List of Shops
FAMILYT43 It contains the list of the family codes loaded into family usability table.
Files:
Input Files:
No input file
Output Files :
No output file
Parameters :
Static Parameters
Dynamic Parameters
Process Description:
This validation has been designed to provide a solution for a specific need for Spain.
Spain CPS panel is containing a sub-panel that is containing fresh food.
To produce CASE trip data and Shopper Track deliverables in DP, there is a need to exclude the
basket composed by fresh food products only. On the other hand, these particular basket should
not be deleted from TBSKT table in DV as they are required for other local analyses (like Shopper
Mission).
This job is identifying the baskets that are composed by fresh food product only and update a
specific datatype DT5126=1 for these basket. On DP side the specific parameter to take into
account DT5126 “Delete Basket flag” for the service that should use trip information. Those
specific basket will then be not loaded in DP/
Prerequisites :
- Rawda should be loaded
- IBD should be defined
Input Files:
No input file
Output Files :
No output file
Parameters :
Static Parameters
Dynamic Parameters
Rework Management :
Process Description:
Some clients (eg Morrisson in UK) have interest in data related to this original barcode for
variable weight for some categories as it gives more information about the product (brand).
Aim of this job is to replace the codebook barcode with original barcode for some shops, some
group of product. The original barcode should be modified to skip the variable part (price) and
add EAN check digit.
In UK when Morrisons use 02 barcodes, they use the 1st 6 digits of the barcode as the product
idendifier, the following six charaters is the price check digit and price field followed by the
barcode check digit :
025456/4/00065/9
When transforming Morrissons barcodes we need to keep the 1st 6 digits as they are, zero out the
proceeding 6 characters and then recalculate the barcode check digit:
025456/0/00000/4
In DV we will identify the variable part of the barcode with a static parameter named
DT_VAR_LENGHT
Prerequisites :
- Standard loader should be completed
- IBD should be defined
- Shop chars should be loaded
Table Description
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are separated
in datatypes and loaded in the table ALL as separate records
FAMILY_LOGT67 Log of changes applied by DV automatic validations processes (used here
to check if data loaded are already present in output tables)
NAN_CHAR_VALUET75 Item characteristics values id extracted from EIMDB
CROSSCODING_INSTRU Crosscoding links information extracted from EIMDB
CTIONST49
IBD_RULEST106 Detailed rules for IBD
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
Files:
Input Files:
No input file
Output Files :
No output file
Static Parameters
Dynamic Parameters
Rework Management :
PHASE 4 – SERVICES
Process Description:
This program extracts in an ASCII file, all purchase acts from RAWDAILYT60 for a given audit (or
multiple audits as instructed in the static parameter table) / period (or number of periods back).
The content of the output file as well as the final layout of the extracted ASCII file is driven by the
instructions in APP_FILES_LAYOUT112 table which are given by the user. Valid set of
instructions is considered to be the set that contains at least one instruction for RAWDAILYT60.
Since the content and layout of the extracted ASCII files could be different across countries the
instructions are instructed by audit.
Extraction process is modied such that only the validated records are extracted I,e the locked
flag(DT5090=1)
The instruction table APP_FILES_LAYOUTT112 should be loaded with valid instructions that
specify for each of the entities to be extracted the following information:
In case that there is a need to instruct SPACES as FIXED value, the user should define
it as shown in Table(2). Any Gaps/overlaps between the instructions are not allowed.
Based on the instructions given for the purchase file extractor for a specific audit , the
program:
o Extracts information from FAMILYUSABILITYT41 for all the characteristics instructed
for all the distinct values of HHOLDS found in RAWDAILYT60 for the submitted audit
(s) period(s)
o Extracts information from SHOPUSABILITYT40 for all the characteristics instructed
for all the distinct values of SHOPS found in RAWDAILYT60 for the submitted audit
(s) period(s)
o Extracts information from NAN_CHAR_VALUEST75 for all the characteristics
instructed for all the distinct values of NANS found in RAWDAILYT60 for the
submitted audit (s) period(s)
o Extracts information from NAN_CHAR_VALUEST75 and CHAR_VALUEST24 for the
MULTIPACK characteristic instructed for all the distinct values of NANS found in
RAWDAILYT60 for the submitted audit (s) period(s)
o Extracts information from NAN_WEIGHT_VALUEST79 for all the characteristics
instructed for all the distinct values of NANS found in RAWDAILYT60 for the
submitted audit (s) period(s)
o Extracts PRODUCTGROUP information from V_NANSPGS_V or all the distinct
values of NANS found in RAWDAILYT60 for the submitted audit (s) period(s)
o Extracts TBSKT13 information for the submitted audit (s) period(s)
o Extracts RAWDAILYT60 information for all purchase transactions for the submitted
audit (s) period(s) combined with the information related to NAN, HHOLD and SHOP
information extracted in previous steps above
o Writes records in the output file according to the layout and the FORMAT
specification for each of the fields extracted.
Recommendations:
This job should be submitted after all validation jobs.
Rework:
No rework option
Constraints:
Prerequisites:
- Rawda should be loaded
- Tbsk should be loaded
- Table APP_FILES_LAYOUTT112,should be loaded with valid instructions
Source of Information:
Table Description
RAWDAILYT60 Purchase Rawda
TBSKT13 Total Basket
CYCLEPERIODT03 Cycle Period information
FAMILYUSABILITYT41 Panelist characteristics
SHOPUSABILITYT40 Shop characteristics
NAN_CHAR_VALUET75 Item characteristics values id extracted from EIMDB
CHAR_VALUEST24 Characteristic Values from EIMDB
NAN_WEIGHT_VALUEST79 Item weight value id extracted from EIMDB
APP_FILES_LAYOUTT112 User instructions for File layout
APP_FILEST111 Definition of the output file type
APP_QUERY_TEMPLATEST113 These “Templates” define the table FROM and WHERE clauses that
will be used within the extraction jobs to be created
APP_SQL_LOGT114 All dynamically created strings created within the job are logged in
this table when the static parameter DEBUG is set to YES
ALL_TABLES Oracle Dictionary Table
Table Description
V_NANSPGS_N Product Group for Nankey
Files:
Input Files:
No input file
Output Files:
Table 2
Parameters:
Static Parameters
Dynamic Parameters
PHASE 4 – SERVICES
Process Description:
This program extracts in an ASCII file, all NANS from RAWDAILYT60 for a given audit (or
multiple audits as instructed in the static parameter table) / period (or number of periods
back).The content of the output file as well as the final layout of the extracted ASCII file is driven
by the instructions IN APP_FILES_LAYOUT112 table which are given by the user. Valid set of
instructions is considered to be the set that contains at least one instruction for RAWDIALYT60.
Extraction process is modied such that only the validated records are extracted I,e the locked
flag(DT5090=1)
The instruction table APP_FILES_LAYOUTT112 should be loaded with valid instructions that
specify for each of the entities to be extracted the following information:
➢ Target Field Name: Name of the field which will be present in the final SELECT query of
the extraction logic
➢ Field start position in ASCII file to be exported
➢ Field length in file to be exported
➢ If field is numeric and non integer, the length of the decimal part of the number
➢ The format of the field in the ASCII file. There are a number of different format
functions that can be used.
➢ The default value to be written in the ASCII file to be exported in case values are
not present in master tables.
In case that there is a need to instruct SPACES as FIXED value, the user should define
it as shown in Table(2). Any Gaps/overlaps between the instructions are not allowed.
Based on the instructions given for the purchase file extractor for a specific audit, the
program:
Recommendations:
This job should be submitted after all validation jobs.
Rework:
No rework option
Constraints:
Prerequisites:
- Rawda should be loaded
- Table APP_FILES_LAYOUTT112,should be loaded with valid instructions
- System tables APP_FILEST111
Source of Information:
Table Description
RAWDAILYT60 Purchase Rawda
CYCLEPERIODT03 Cycle Period information
APP_FILES_LAYOUTT112 User instructions for File layout
APP_FILEST111 Definition of the output file type
APP_SQL_LOGT114 All dynamically created strings created within the job are logged in
this table when the static parameter DEBUG is set to YES
Table Description
V_NANSPGS_N Product Group for Nankey
Files:
Input Files:
No input file
Output Files:
AC_D
AC_FLD NC_ST NC_LEN NC_DEC AC_TARGE EF_V
NAME ART GTH IMAL AC_SOURCE AC_FIELD TFIELD AC_FORMAT ALUE
FIXED 1 10 0 FIXED SPACE FIXED String_Selection
String_Selection_ri 00000
HH_ID 11 8 0 RAWDAILYT60 AC_HHOLD AC_HHOLD ght 000
FIXED 19 3 0 FIXED 999 FIXED String_Selection 999
Table(2)
Parameters:
Static Parameters
AUDT AUDITVL<XX> Any audit defined in Any valid (defined in auditdeft01 table) audit
auditdeft01 other the value
(e.g AUDITVL01 audit used for job
AUDITVL02 submission
etc)
Dynamic Parameters
Rework Management:
PHASE 4 – SERVICES
Process Description:
This program extracts in an ASCII file, all trip data TBSKT13 for a given audit / period (or number
of periods back).The content of the output file as well as the final layout of the extracted ASCII file
is driven by the instructions IN APP_FILES_LAYOUT112 table which are given by the user. Valid
set of instructions is considered to be the set that contains at least one instruction for TBSKT13.
Extraction process is modied such that only the validated records are extracted I,e the locked
flag(DT5090=1)
Since the content and layout of the extracted ASCII files could be different across countries the
instructions are instructed by audit.
The instruction table APP_FILES_LAYOUTT112 should be loaded with valid instructions that
specify for each of the entities to be extracted the following information:
➢ Target Field Name: Name of the field which will be present in the final SELECT query of
the extraction logic
➢ Field start position in ASCII file to be exported
➢ Field length in file to be exported
➢ If field is numeric and non integer, the length of the decimal part of the number
➢ The format of the field in the ASCII file. There are a number of different format
functions that can be used.
➢ The default value to be written in the ASCII file to be exported in case values are
not present in master tables.
In case that there is a need to instruct SPACES as FIXED value, the user should define
it as shown below. Any Gaps/overlaps between the instructions are not allowed.
Recommendations:
This job should be submitted after all validation jobs.
Rework:
No rework option
Constraints:
Prerequisites:
- TBSK should be loaded
- Table APP_FILES_LAYOUTT112,should be loaded with valid instructions
- System tables APP_FILEST111
Source of Information:
Table Description
TBSKT13 Total Basket
CYCLEPERIODT03 Cycle Period Information
APP_FILES_LAYOUTT112 User instructions for File layout
APP_FILEST111 Definition of the output file type
APP_SQL_LOGT114 All dynamically created strings created within the job are logged in
this table when the static parameter DEBUG is set to YES
Files:
Input Files:
No input file
Output Files:
Parameters:
Static Parameters
Dynamic Parameters
Process Description:
This package computes additional trip data facts for particular use in external tools (i.e. Sample
DB mdb or Case extractions).
There is a range of 100 columns in TBSK for the datatypes that are to be used: DT5800 to
DT5899. Only activated datatypes will be computed.
Computation process is modied such that only the validated records are comuted I,e the locked
flag(DT5090=1)
If job is submitted in REWK mode then all DT58xx fields for the records within the submitted audit
and daterange are initialized to 0
The TRIP_DATAFACTST116 table controls the steps required to perform the job. This table has
the instructions that identify the formula, IBD if required, and Shop group if required. Each
instruction also identifies the column name to be populated in the Total Basket, TBSKTT13, table.
Based on the submission period and cycle a set of instructions are taken from the
TRIP_DATAFACTST116 table where the Cycle corresponds to the submission cycle and the
Compute flags are ‘Y’.
REWORK mode is driven by DT_SCOPE parameter and it is mandatory for this mode.
O ALL will reset all DT in table and do the processing
o ACTIVE will reset DT only with Compute Flag = Y and then do the processing.
O DTxxxx will only reset referred DT and do the calculation
Recommendations:
Submit before the job locking production cycle [EHDV21026P]
Should be submitted after Trip Data Validation
Constraints:
Prerequisites:
- Rawda should be loaded.
Source of Information:
Table Description
TBSKT13 Total Basket Rawda
RAWDAILYT60 Purchase Rawda
SHOPUSABILITYT40 Shop characteristics table
TRIP_DATAFACTST116 User defined Instructions
TRIP_SHOPGROUPT117 User defined shop groups with selected shop
characteristic
TRIP_SHOPGROUP_VALT119 User defined shop groups with selected shop
characteristic values
TRIP_FORMULAST118/ Predefined Formulae NOT modifiable by users
TRIP_FORMULAST118_REFACTOR
IBD_CHARST105 Table containing the Item Break Down characteristics
per cycle, IBD
IBD_DEFINITIONT104 Table containing the Item Break Down (IBD) definition
per cycle
IBD_RULEST106 Table containing the Item Break Down (IBD) rules per
cycle, IBD
NAN_CHAR_VALUEST75 NAN CHARACTERISTIC VALUES
CAL_FACTORT05 STATIC PARAMETER TABLE
APP_SQL_LOGT114 SQL Log used by the LATAM Extraction processes for
debugging purposes
Input files:
No input file.
Output files:
No output file.
Parameters:
Static Parameters:
Parameter Type Value Name(example) Description
Type
PARM DEBUG NO/YES Execution mode for tracing problems
PARM BCDTYP01 1 BCDTYP01 – BCDTYP09 can be
defined.
PARM FILTER_DT5126 YES If value ‘YES’,logically deleted records
are not computed.The default value for
this is ‘YES’
PARM FILTER_DT5090 NO/YES If value ‘NO’, process can be submitted
for period which is still OPEN.
If value ‘YES’, process can be submitted
for period which has already been
CLOSED.
Default Value is NO
PARM DT_SCOPE ALL Values available are ALL,ACTIVE and
DT5800 TO 5896.This parameter is
mandatory in Rework mode
Dynamic Parameters:
Rework Management:
ID AC_TITLE AC_DESCRIPTION
1 TRANSACTIONS Number of transaction in basket
2 UNITS number of units
3 UNITS (excl VV) number of units considering variable weight as 1
4 VALUE total value
5 UNITS PROMO1 total units for items bought on promo1
6 UNITS PROMO2 total units for items bought on promo2
7 UNITS PROMO3 total units for items bought on promo3
8 UNITS PROMO4 total units for items bought on promo4
9 UNITS PROMO5 total units for items bought on promo5
10 UNITS PROMO6 total units for items bought on promo6
11 UNITS PROMO7 total units for items bought on promo7
12 UNIT ANY PROMO total units for items bought under any promo
13 VALUE PROMO1 total value for items bought on promo1
14 VALUE PROMO2 total value for items bought on promo2
15 VALUE PROMO3 total value for items bought on promo3
16 VALUE PROMO4 total value for items bought on promo4
17 VALUE PROMO5 total value for items bought on promo5
18 VALUE PROMO6 total value for items bought on promo6
19 VALUE PROMO7 total value for items bought on promo7
20 VALUE ANY PROMO total value for items bought under any promo
21 UNITS PROMO1 (excl VV) total units for items bought on promo1 variable weight as 1
22 UNITS PROMO2 (excl VV) total units for items bought on promo2 variable weight as 1
23 UNITS PROMO3 (excl VV) total units for items bought on promo3 variable weight as 1
24 UNITS PROMO4 (excl VV) total units for items bought on promo4 variable weight as 1
25 UNITS PROMO5 (excl VV) total units for items bought on promo5 variable weight as 1
26 UNITS PROMO6 (excl VV) total units for items bought on promo6 variable weight as 1
27 UNITS PROMO7 (excl VV) total units for items bought on promo7 variable weight as 1
UNIT ANY PROMO (excl total units for items bought under any promo weight as 1
28 VV)
Process Description:
This package checks for missing prices (DT5675 = 0) and replaces them with the median price,
from table Telecom_PriceT120, which has been calculated using Median Telecom Price
Computation (EHDV21134P).
For each expense type, for each analysis level, all the records with price (DT5675) = 0 are
identified. If a value exists in the median price table, Telecom_PriceT120, for the specific expense
type and analysis level then replace the value (DT5675) with price from Telecom_PriceT120. Also
set the appropriate value, 20, into the price update flag data type, DT5904.
The analysis level setup can use family chars and/or nan chars to group as follow:
Family Char Nan Char Grouping at
Present Present Family Char value * Nan Char value
Present Missing Family Char value * Nan
Missing Present All Family * Nan Char value
Missing Missing All Family * Nan
Recommendations:
Constraints:
Prerequisites:
- Median Telecom Price Computation (EHDV21134P) processed.
Source of Information:
Table Description
TELECOM_PRICET120 Computed median and quartiles prices from rawda
CAL_FACTORT05 STATIC PARAMETER TABLE
NAN_CHAR_VALUEST75 NAN CHARACTERISTIC VALUES
FAMILYUSABILITYT41 FAMILY CHARACTERISTIC VALUES
P359_1T12 Staging table which contains all the purchase records that
are eligible to go with Phase1 jobs
Input files:
No input file.
Output files:
FILEO1 – containing values with no price after process.
Position Length Name Description
1 4 CYCLE Submission cycle
5 7 PERIOD Submission period
12 16 ITEM Nan_Key
28 30 BARCODE Barcode
58 10 SHOP Shop
68 4 AC_TIME Expense Type
Parameters:
Static Parameters:
Parameter Type Value Description
Type
PARM AL1_HH_CHAR family char id for analysis level 1
PARM AL1_NAN_CHAR nan char id for analysis level 1
PARM AL2_HH_CHAR family char id for analysis level 2 (optional)
PARM AL2_NAN_CHAR nan char id for analysis level 2 (optional)
PARM AL3_HH_CHAR family char id for analysis level 3 (optional)
PARM AL3_NAN_CHAR nan char id for analysis level 3 (optional)
PARM DT_REPLACE datatype code of the replacement price to be used 2
PARM EXP_TYPE_n expense type to process (n could from 1 to 10)
PARM MINOBS minimum number of values required for computation
Dynamic Parameters:
Process Description:
This package validates prices against catalogue prices stored in IMDB characteristic.
Recommendations:
Constraints:
Prerequisites:
- Availability of data in rawda for submission period
- IMDB load processed
- Family char load processed
Source of Information:
Table Description
CAL_FACTORT05 STATIC PARAMETER TABLE
NAN_CHAR_VALUEST75 NAN CHARACTERISTIC VALUES
FAMILY_LOGT67 Table containing the list of changes applied by DV automatic
validation jobs + details on family collaboration (holidays.)
RAWDAILYT60 Purchase Rawda table containing purchase transactions at
barcode level
Input files:
No input file.
Output files:
No input file.
Parameters:
Static Parameters:
Parameter Type Value Name(example) Description
Type
PARM EXP_TYPE_n 0001 expense type to process (n could be 1 to
10)
PARM CAT_PRICE 10022 Catalogue Price
Dynamic Parameters:
Rework Management:
Process Description:
This package validates telecom prices according to country setup. It validates current prices
delivered by families using median and quartiles prices stored by package EHDV21134P into
TELCOM_PRICET120, a new table.
For each expense type based on the analysis group setup and check method definition the
appropriate statistic value is retrieved from the TELCOM_PRICET120 table for the cycle/period
value of the expense type and characteristic of the shop and item.
The analysis level setup can use family chars and/or nan chars to group as follow:
Family Char Nan Char Grouping at
Present Present Family Char value * Nan Char value
Present Missing Family Char value * Nan
Missing Present All Family * Nan Char value
Missing Missing All Family * Nan
Recommendations:
Constraints:
Prerequisites:
- Successful completion of EHDV21134P process
Source of Information:
3Value of parameters checks + coherence should be performed. If any check fail job is
stopped.
4 By default check is current price > comparison price
Table Description
TELECOM_PRICET120 Computed median and quartiles prices from rawda
CAL_FACTORT05 STATIC PARAMETER TABLE
NAN_CHAR_VALUEST75 NAN CHARACTERISTIC VALUES
FAMILYUSABILITYT41 FAMILY CHARACTERISTIC VALUES
RAWDAILYT60 Purchase Rawda table containing purchase transactions at
barcode level
CYCLEPERIODT03 Table containing all period definitions (date from, date to,
lock flag) by Cycle
Files:
Input files:
No input file.
Output files:
No input file.
Parameters:
Static Parameters:
5When replicated the impact should be the same, so value will be incremented by the same
difference ET0 corrected = ET0 + (ETn corrected – Etn )
Dynamic Parameters:
Process Description:
This package computes the median telecom prices according to country setup. It computes
median and quartiles prices from rawda into TELECOM_PRICET120, a new table.
The analysis level setup can use family chars and/or nan chars to group as follow:
Family Char Nan Char Grouping at
Present Present Family Char value * Nan Char value
Present Missing Family Char value * Nan
Missing Present All Family * Nan Char value
Missing Missing All Family * Nan
Recommendations:
Constraints:
Prerequisites:
- Availability of data in rawda for submission period
- IMDB load processed
- Family char load processed
Source of Information:
Table Description
TELECOM_PRICET120 Computed median and quartiles prices from rawda
CAL_FACTORT05 STATIC PARAMETER TABLE
NAN_CHAR_VALUEST75 NAN CHARACTERISTIC VALUES
FAMILYUSABILITYT41 FAMILY CHARACTERISTIC VALUES
RAWDAILYT60 Purchase Rawda table containing purchase transactions at
barcode level
Files:
Input files:
No input file.
Parameters:
Static Parameters:
Parameter Type Value Description
Type
PARM AL1_HH_CHAR family char id for analysis level 1
PARM AL1_NAN_CHAR nan char id for analysis level 1
PARM AL2_HH_CHAR family char id for analysis level 2 (optional)
PARM AL2_NAN_CHAR nan char id for analysis level 2 (optional)
PARM AL3_HH_CHAR family char id for analysis level 3 (optional)
PARM AL3_NAN_CHAR nan char id for analysis level 3 (optional)
PARM EXP_TYPE_n expense type to process (n could from 1 to 10)
PARM MINOBS minimum number of values required for computation
Dynamic Parameters:
Rework Management:
Rework is allowed: if invoked first step will be to remove previous value for the same submission
period.
Process Description:
This process is based on EHDV21068 and works similarly except that only specific Barcodes are
selected for processing. These barcodes are placed in an input file, which is used to drive the
data selection for the process.
This program selects the set of data to be processed by the criteria defined by the user and it
distributes the other data to the related tables.
For setting prices in the loading area, when loading the price from ALLT11 the following cases
are validated
★ Case When the Price field in the file is empty then let the current DATAVALUE
★ Case When the Price field in the file is filled but the price is already present in the
loading area for the corresponding barcode then let the current DATAVALUE
★ Case When the Price field in the file is filled and the price is missing in the loading area
then load into the temp table the price from the file to the corresponding barcode
Only valid purchase data are moved to P359_1T12 and KEYST14, this means:
• keys Xcoded
• keys not present in the new item table
• date of the purchase transaction consistent with the activity dates of the pc-item
inside the IMDB ( dt_val_from <= key date <= dt_val_to )
• panelist code present in Familyusability table
• shop code present in Shopusability table
• keys not present in validation area
While moving the DT5095 data it is inserted as -1 for APV rerun purpose.
If the key is already in validation area, we do not move any data of the same basket in T-359 until
the validation has been completed, the rawda loaded and the data already validated deleted from
T-359, T- ALL and KEY table
Note : For python version, Hive data refresh is done at the beginning of this process for the
submission audit, period (back-periods included) for the following tables:
• Allt11
• Prockeyst29
• Rawdailyt60
• Tbskt13
• Shopusabilityt40
• Familyusabilityt41
oracle data refresh is done at the end of this process for the submission audit, period
(back-periods included) for following tables:
• Prockeyst29
• Rawdailyt60
• Tbskt13
We always load the full basket of the purchase transactions for each family in Table ALL, for
standard load process.
Recommendations:
Constraints:
Prerequisites:
Source of Information:
Table Description
PROCKEYST29 List of Rawda Processing keys (used here to check if data loaded are
already present in output tables)
P359_1T12 DV validation area data
FAMILY_LOGT67 List of changes applied by DV automatic validation jobs
TBSKT13 Total basket Rawda
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
To be updated by cycle/period at each validation cycle (if requested)
FAMILYUSABILITYT41 It contains the characteristic identifier and the characteristic value by Family
by cycle and period (YYYYPPP)
To be updated by cycle/period at each validation cycle
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are separated
in datatypes and loaded in the table ALL as separate records
NAN_ITEMST73 List of NAN_KEY loaded from EIMDB
MODULEST31 List of Modules extracted from EIMD (used there only in case of Rework PC
for Homepannel only)
DATATYPEST07 The table contains the list of the datatypes and the position in the record.
RAWDAILYT60 Purchase RAWDA
Files:
Input Files:
Output Files :
No output file.
Parameters :
Static Parameters
No static parameter.
Dynamic Parameters
Rework Management :
Process Description:
This process is new and it is an extraction process that extracts the family usability flag from
Sample DB link.
An output file is created based on static parameters which are set up by the user.
Recommendations:
Constraints:
Prerequisites:
Source of Information:
Table Description
collabcsamplet5a Usability Family flags
Files:
Input Files:
No input file.
Output Files :
Static Parameters
Dynamic Parameters
Rework Management :
None.
Process Description:
Main part of process of this new job is similar to existing Variable Weight Volume Validation (84P)
with few additional features that detect and correct erroneous values for Volume or Price due to
decimal position shifts.
Objective of this procedure is to validate units and price for variable weight items and apply
automatic correction.
1 For fixed weight barcode products, 384anellist384 are provide units as integer,
value can be in following range: [1,2,3…]
Due to this difference, variable weight products are requiring a dedicated validation logic to
correct keyboarding error from 384anellist.
This validation routine is detecting both outliers for low quantity & high quantity and applies an
automatic correction.
- Low quantity are detected using a fixed minimum volume instructed in IMDB at Nan_key
level (minimum volume is stored in char value description)
- High quantity are detected using a fixed maximum volume instructed in IMDB at
Nan_key level (maximum volume is stored in char value description)
- Corrected value is computed based on a standard volume computed at Nan_key level.
If there is less than T observations, above high volume validation is not applied, but an additional
validation can be applied (optional, based on static parameter). This additional validation is
detecting high quantities using a fixed maximum volume instructed in IMDB at Nan_key level
(minimum volume is stored in char value description).
The period range for purchase data to be validated is defined using submission period & static
parameter NUM_PERIOD1 (number of period in submission screen is not used in this job).
STEP 1: Select all Nan_key variable weight present in Rawda for submission period
std_volume ( t ) =
w * median_volume[sub_per + 1 - NUM_PER1,sub_per ] + (1-w ) * median_volume [sub_per –
NUM_PER1 – NUM_PER2, sub_per – NUM_PER1 ]
➔w=n/(n+k)
n is the number of observations of period range [sub_per + 1 – NUM_PER1,sub_per ]
k is a parameter given to the program by the static parameter table
For example, consider a case where job is submitted for period 2007034, NUM_PER1 =1
NUM_PER2 =4
Select all purchase act with DT5642 < min_volume or DT5642 > max_volume
Corrected_quantity=
std _ volume
Corrected_quantity=
max_ volume * (max_ volume − std _ volume)
1−
volume _ before _ validation 2
Recommendations:
Rework:
Constraints:
Prerequisites:
Table Description
RAWDAILYT60 Purchase Rawda
PROCKEYST29 List of Rawda Processing keys
NAN_CHAR_VALUET75 Item characteristics values id extracted from EIMDB
NAN_VAR_WEIGHT_FROM_IMDB Items with Variable Weights
Files:
Input Files:
No output file
Output Files:
Following layout :
Audit
Purchase Date
Purchase Time
Household ID
Shop ID
Barcode
Nankey
Initial price
Standard price
Price Group (used to get standard price)
Initial Volume
Price Adjustment factor (from PRICE_SCALING)
Price Correction Flag (Y or N)
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
Process Description:
Main part of process of this new job is similar to existing Variable Weight Volume Validation (84P)
with few additional features that detect and correct erroneous values for Volume or Price due to
decimal position shifts.
Objective of this procedure is to validate units and price for variable weight items and apply
automatic correction.
2 For fixed weight barcode products, 391anellist391 are provide units as integer,
value can be in following range: [1,2,3…]
Due to this difference, variable weight products are requiring a dedicated validation logic to
correct keyboarding error from 391anellist.
This validation routine is detecting both outliers for low quantity & high quantity and applies an
automatic correction.
- Low quantity are detected using a fixed minimum volume instructed in IMDB at Nan_key
level (minimum volume is stored in char value description)
- High quantity are detected using a dynamic maximum volume limit computed by the
program on a logic closed to the one used in Purchase Inspection job (16P). This
validation is applied only if there are more than T observations at Nan_Key level
- Corrected value is computed based on a standard volume computed at Nan_key level.
If there is less than T observations, above high volume validation is not applied, but an additional
validation can be applied (optional, based on static parameter). This additional validation is
detecting high quantities using a fixed maximum volume instructed in IMDB at Nan_key level
(minimum volume is stored in char value description).
The period range for purchase data to be validated is defined using submission period & static
parameter NUM_PERIOD1 (number of period in submission screen is not used in this job).
STEP 1: Select all Nan_key variable weight present in Rawda for submission period
std_volume ( t ) =
➔w=n/(n+k)
n is the number of observations of period range [sub_per + 1 – NUM_PER1,sub_per ]
k is a parameter given to the program by the static parameter table
For example, consider a case where job is submitted for period 2007034, NUM_PER1 =1
NUM_PER2 =4
Select all purchase act with DT5642 < min_volume or DT5642 > max_volume
Corrected_quantity=
std _ volume
Corrected_quantity=
max_ volume * (max_ volume − std _ volume)
1−
volume _ before _ validation 2
STEP8: Validation of high volumes using fixed IMDB high volume limit from IMDB, for nan_key
without enough observations. This optional step is applied only if static parameter
CHAR_MAX_VOL is instructed
We select here all nan_key not corrected due to volume too low, and with max_volume null (due
to not enough information)
Recommendations:
Rework:
No rework option
Constraints:
Prerequisites:
Table Description
RAWDAILYT60 Purchase Rawda
PROCKEYST29 List of Rawda Processing keys
NAN_CHAR_VALUET75 Item characteristics values id extracted from EIMDB
NAN_VAR_WEIGHT_FROM_IMDB Items with Variable Weights
Files:
Input Files:
No output file
Output Files:
CSV delimited format with comma as delimiter.
Following layout :
Audit
Purchase Date
Purchase Time
Household ID
Shop ID
Barcode
Nankey
Initial price
Standard price
Price Group (used to get standard price)
Initial Volume
Price Adjustment factor (from PRICE_SCALING)
Price Correction Flag (Y or N)
Corrected Volume
Corrected Price
Min Volume
Max Volume
Volume correction flag (Y or N)
Volume Adjustment Factor (from VOLUME_SCALING)
Item Description
Parameters:
Static Parameters
Dynamic Parameters
Rework Management:
Phase :
Process Description:
The “private brand” validation is checking the consistency between the “retailer” where the family
went shopping with the manufacturer of the products included in the shopping basket.
Whether we find an inconsistency and we identify a “private brand product” associated to the
wrong retailer, we apply an automatic correction and we re-classify the purchase transaction into
a new basket where we build the consistency between the “retailer” and the “manufacturer” of the
product (retailer itself).
This job combines the functionality of the existing EHDV21019P and EHDV21020P in a single
job.
o From this extract, filter the items related to private brand (having char values
sensitivity flag = Y), get private brand value at the same time in temporary table.
o Detect private brand for which no setup is done and inform user (Warning level)
o Perform validation (same as 20P).
o The validation of the Private Brands will be applied to a limited set of purchase
transactions by the following criteria:
Private brands
user can select the list of the private brands to be inspected by an on line
screen (as instructed in Validation → Private Brand → PB)
The GUI will allow user to select private brand values according to
sensitivity flag values
New GUI should allow user to select different PB chars for the setup
if
➢ a shopping basket doesn’t contain retailer products , we stop the
inspection
➢ a shopping basket contains a product ( or more than one ) belonging to the
same retailer and the chain code of the shop of the shopping basket is not
representing the retailer of the products , we change the shop code of the
whole basket selecting a new shop code having the same shop type and
the shop chain of the retailer owning the PB products.
one for each retailer ( the new shop has the same shop type and the shop
chain of the retailer) and we move to this basket only the purchase
transactions belonging to that retailer
The new shop code used is instructed in following online screen:
Validation → Private Brand → PB Shop.
➢ the total basket information are not modified and they will be adjusted
later in the rawda by a dedicated procedure ( basket adjustment ,
basket validation )
➢ All changes applied are logged in FAMILYLOGT67 table and can be checked
using FamilyLog online screen.
➢ Report changes in TEXT TAB delimeted external file.
Recommendations :
Constraints :
Prerequisites :
Source of Information:
Table Description
TDV_PB_ITEM_CHARS List of Char IDs with their sensitivity to be used by the PB process
Files:
Input Files:
No input file.
Output Files:
2 Files
This report is a TAB delimited report that contains all the changes (shop
reclassification) performed by the process.
Description
- Retailer
- Retailer Name
- Brand
- Nankey
- Barcode
- Date
- Time
- Household
- Original Shop
- Original Shop Name
- New Shop
- New Shop Name
This report is SEMICOLON delimited and contains all the corrected items by brand.
Description
- Chain
- Chain Description
- Brand
- Brand Description
- Total Number of Records
- Number of Records Corrected
- % of Records Corrected
This report is SEMICOLON delimited and contains all the corrected items by shop.
This report is SEMICOLON delimited and contains all the new Peivate Label products
that need to be included in the rules.
Description
- Retailer
- Private Label NOT instructed
- Private Label Description
- % of such Records
Parameters :
Static Parameters
Dynamic Parameters
Phase:
Process Description:
This process is used to detect multi pack purchases from Units and Prices declared by Families
for a list of specific barcodes.
A referential file of barcodes and their potential Multi Packs is used giving Standard and Promo
prices as well as number of bottles in pack.
Comparing loaded records with referential for same barcode, process will detect the Multi Pack
purchases and assign barcode, new price and new units according to following matrix
Comparing loaded records with referential for same barcode, process will detect the Multi Pack
purchases and assign barcode, new price and new units according to following matrix.
Process Details:
Phase 0: Load input file and compute additional information for process : smallest multi-size by
barcode, prices per bottle, price allowed range.
Phase 0b: Normalizes the existing allt11 data if NORMALISATION_STEP parameter is set to
ON, else the existing allt11 data will be processed directly. The normalization procedure is as
follows.
• Step 1: Finds price and Units for each trip data in ALLT11 and generates the
processable data using input referential data.
• Step 2: For each trip data available, the following matrix will be generated.
Phase 1: Detect purchase having correct price and units given in Packs.
• Step 1: associate purchases with referential items having same barcode. Applied
only on purchases having Given Units (DT5650) less than smallest multi-Size.
• Step 2: Check Given Price (DT5675) against referential standard price range and
promo referential price range
• Step 3: if one of the price checks is OK, assign multi barcode to new
barcode1.Set barcode type to parameter value
Phase 2: Detect purchase having correct price in Packs but units given in Bottles.
Phase 4: Detect purchase having price given as Total Sales but units given in Bottles.
• Step 1: associate purchases with referential items having same barcode and
Given Units(DT5650) is multiple of #bottles per Packs.
• Step 2: Compute potential # Packs as Given Units(DT5650) / #bottles per Packs.
Compute Given price per Pack as Given Price (DT5675) / # Packs
• Step 3: Check Given Price per pack against referential standard price range and
promo referential price range
• Step 4: if one of the price checks is OK, assign multi barcode to new barcode4.
▪ Assign # packs to new Units.
▪ New Price=Given Price(DT5675) / # Packs
▪ Set barcode type to parameter value.
Phase 5: Detect purchase having price given as Total Sales and units given in Packs.
• Update purchase acts records (all DT) with new barcode for corresponding keys.
• Update price (DT5675) with new price for corresponding keys.
• Update units (DT5650) with new units for corresponding keys.
• Report counts of records updated in total.
• Report counts of keys updated for barcode.
• Report counts of keys updated for price.
• Report counts of keys updated for units.
• For the records that are not corrected but normalized, Update allt11 price data
with the normalized price.
• Records needs to be already loaded using Standard Loader for the specific
Cycle/Period.
Source of Information:
Table Description
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are
separated
in datatypes and loaded in the table ALL as separate records
TABLE DESCRIPTION
TDV_BEVERAGE_ITEM_REFERENTIAL Table used to store the data from input referential
file based on PERIOD_RETENTION parameter.
Files:
Input Files:
Output Files:
No output Files. The candidates of multipack detection and the normalised data are
loaded into tdv_beverage_tracking_log.
Static Parameters
Backend Parameters
Dynamic Parameters
Phase :
Process Description:
Job EHDV21140P detects the keys present in both output and loading area tables and removes
them from ALLT11 table.
Job can be submitted for a specific period periods back or for a selection of FNUMs.
Note : For python version, Hive data refresh is done at the beginning of this process for the
submission audit, period (back-periods included) for the following tables:
• Allt11
• Prockeyst29
oracle data refresh is done at the end of this process for the submission audit, period
(back-periods included) for following tables:
• Allt11
Recommendations :
Constraints :
Prerequisites : .
Source of Information:
Table Description
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are separated
in datatypes and loaded in the table ALL as separate records
PROCKEYST29 List of Rawda Processing keys
FAMILY_LOGT67 List of changes applied by DV automatic validation jobs
Files:
Input Files:
No input file.
Output Files :
No output file.
Static Parameters
Rework Management:
Process Description:
This process splits items for RMS data for Aldi/ Lidl using CPS panel.
Shop selection
The scope of shops to be considered in this process must be selected in SHOPUSABILITYT40 table
using shop characteristic and char values instructed as static parameters.
We would like to have 2 set of parameters to process separately the chain ALDI and LIDL.
Period definition
The number of periods backward to be considered must be defined as a static parameter.
o for each EAN (or split), the weight is updated with computed value :
Weight Si (t ) =
DT 5650 [t − NUM _ PER; t ] 100
Si
Sn
If one or several EANs are not present in RAWDA, the updated weight must be equal to 0.
It is mandatory to have :
Weight
1
Si (t ) = 100
Note :For python version, Hive data refresh is done at the beginning of this process for the
submission audit, period (back-periods included) for the following tables:
• Rawdailyt60
• Shopusabilityt40
Constraints:
Prerequisites:
Source of Information:
Table Description
CAL_FACTORT05 Static Parameters table for submission of job
SHOPUSABILITYT40 It contains the characteristic identifier and the characteristic value by shop
by cycle and period (0 or YYYYPPP)
RAWDAILYT60 Purchase RAWDA
Files:
Input File:
Referential file:
The referential file contains the list of EANs clustered on the same item code for the chains ALDI
and LIDL.
Referential file will contain only item codes which are linked to several EANs (i.e there is a split).
File Columns:
CHAIN;ITEM_CODE;WEIGHT;EAN;NAN
Output File:
The updated referential file is similar to the intput file. The updated weight of each EAN must
overwrite the old one in the field WEIGHT.
File Columns:
CHAIN;ITEM_CODE;WEIGHT;EAN;NAN
Static Parameters:
Dynamic Parameters:
Process Description:
This job replaces the generic shop code by the most appropriate real shop code using
Geographical information from both Households and Shops
It detects purchases and trips made in generic shops (using a specific Shop Group in user setup).
Whenever a link to a real shop code is found using Geographical areas for both Shops and
Households and the Retailer Shop Groups defined by user, then the purchases and trips are
assigned to another Shop Codes
Recommendations:
Constraints:
Prerequisites:
o Data Selection must have been run for the period and cycle
Source of Information:
Table Description
CAL_FACTORT05 Static Parameters table for submission of job
FAMILY_LOGT67 Log of changes applied by DV automatic validations
processes (used here to check if data loaded are already
present in output tables)
P359_1T12 DV validation area data
KEYST14 Keys present in DV validation area
Files:
Input Files:
No input file
Output Files:
No output file
Static Parameters
Dynamic Parameters
Rework Management:
PHASE 4 – SERVICES
Process Description:
A job EHDV21143P is introduced to allow user copying purchases (I.e. Rawda) and baskets details in another
country
Job will allow getting data from another country. No filtering options could be activated. Alternate country code
will be taken from setup data which cannot be modified by user.
Job could be used in different ways using allowed copy and run mode according to below table :
Item Handling:
- As target it to ReXcode the purchaches the destination Nankey field will be populated with 0.
- User can choose which code is to load into the destination barcode field :
o Replicate barcode field value from source country
o Copy it from nankey field from source country.
- When BCD_SOURCE = ‘NANKEY’, Then
1. load is done only for Xcoded purchases on RawdailyT60 & Prockeyst29
2. Each data type is Merged in RawdailyT60 & Prockeyst29 for the purchase key using SUM,AVG and MAX functions.
Constraints:
Submission with period 0 is not allowed for this job
Prerequisites:
Whole production cycle must have been performed in source country/cycle to ensure copying final data.
Source of Information:
Table Description
TBSKT13 Total Basket
RAWDAILYT60 RawDaily
PROCKEYST29 Purchase and Basket key
Files:
Input Files:
No input file
Output Files:
No output file
Parameters:
Dynamic Parameters
PHASE 4 – SERVICES
Process Description:
A job EHDV21144P is introduced to allow user copying purchases (I.e. Rawda) and baskets details in another
cycle.
Table
Applies On RAWDA TBSKT PROCKEY
Rework:
PROCESS or REWORK mode allowed.
Constraints:
Submission with period 0 is not allowed for this job
Prerequisites:
->Whole production cycle must have been performed in source country/cycle to ensure copying final data.
-> HH load and Shops load have to be performed in target cycle
-> Shop Group & IBD have to be created in cycle source
Source of Information:
Files:
Input Files:
No input file
Output Files:
No output file
Parameters:
Static Parameters
Dynamic Parameters
Process Description:
This new Cycle Price Copy job loads the standard price from source Cycle to destination Cycle for the submitted period range.
Recommendations:
Constraints:
Prerequisites:
Source of Information:
Table Description
CNANPRICET34 Table containing standard price and MEDIAN by cycle, price
Group
Files:
Input Files:
No Input File
No output file
Parameters :
Static Parameters
Dynamic Parameters
Rework Management:
|| g_periodfrom
|| ‘ Period to : ‘
|| g_periodto
P0020608 Static Value Static Value SOURCE_CYCLE:
P0020608 Counter No. Of records No. Of records Inserted into table
Inserted into table
CNANPRICET34
–
‘||m_affected_rec
P0020608 Counter No. Of records No. Of records Deleted from table
Deleted from table CNANPRICET34
CNANPRICET34
Process Description
The process is about automating production to link Groups together and to have automatic groups launch. Objective is to speed up activities and
reduce manual actions from users. The country user can monitor the whole production for a period from first to last step of same production
period.
6 There can be more than one in a country, for ex: Weekly process and 4Weekly process.
7 0=Current Period , -1=Previous Period, …
MONITOR
- Monitor the flow by
o Following the progress
o Releasing step pending for User action
o Skipping useless step
o Stopping the flow
o Restarting flow
Run :
- an instance of a production flow for a specific selection period and cycle
Steps :
- Correspond to a job. Same job can be used multiple times when needed.
- When same set of jobs is needed more than once, corresponding steps will be repeated in flow with different details.
- Each step can have up to 2 predecessors: it will be candidate to start only when the 2 predecessors are completed successfully or
with warning or Skipped.
Wait Event:
- User : user action is needed and user will release step when done
- File : file arrival is needed, start will be automatic or step can be released by user
- Schedule : specific date and time to be reached, user can also release step
Events
File Schedule User
Predecessor None
Arrived Not Arrived Reached Not Reached Released Not Released
None Start Start Start Start
Not Completed
Completed Start Start Start Start
To Skip
Skipped Start Start Start Start
Scheduler will be looking for candidates every 5 minutes to start the job.
A starting candidate step is a step in PENDING or TO_SKIP or RELEASED status with all predecessors Completed, Warning or Skipped plus its
events raised (FILE or SCHEDULE).
Run Status:
- OPEN(01): flow is open but not launched yet
- IN PROGRESS(99): Flow has been launched and first step can start
- COMPLETED(00): All steps are completed successfully
- STOPPED(32): User has stopped the run.
- FAILED(16): Step(s) has failed, no further step can run.
Steps Status:
- RUNNING (99): Step has started
- QUEUED(77): Step has been queued for a run but flow is not launch yet.
- PENDING(97): Step waiting for start when conditions will be ready (Predecessors or Wait Event)
- RELEASED(95) : User has requested to release step.
- TO_SKIP(96) : User has requested to skip step.
- SKIPPED(98): User has skipped the step
- STOPPED(32): User has stopped the flow
- COMPLETED(00): Step has completed successfully
- WARNING(08): Step has completed with warning message
- FAILED(16): Step has triggered an error
Scheduler will be looking for candidates in both the submitted cycle and alternate cycle every 5 minutes to start the job.
Process Mode:
The process mode chosen for the flow can be NORMAL or REWORK mode. When a Change is done to the process mode for a step in a flow,
then the mode will be reflected when a new run is launched.
Oracle Tables involved
Table Description
TDV_PRODUCTION_FLOW Flow details will be available.
TDV_PRODUCTION_FLOW_SETUP Table contains all the details of the step(Jobs used) for the
particular flow.
TDV_PRODUCTION_FLOW_FILE Table contains the information of the Files related to the steps
for the particular flow
TDV_PRODUCTION_RUN Table contains the details of the corresponding Run launched.
TDV_PRODUCTION_RUN_STEP Step Details for the respective RUN will be stored in the table.
TDV_PRODUCTION_RUN_FILE Input/Output File Details for the run launched will be available
in the table.
TDV_PRODUCTION_FLOW_PARAMS Specific Static parameters of each Step ID and Flow tag
combination are stored here.
Input Files:
The Files related to run the respective jobs submitted in the flow are required.
Output Files:
The Files related to run the respective jobs submitted in the flow are required.
Same sequence number used more Check the flow and correct the sequence.
than once in the flow
Predecessor1 and Predecessor2 cannot Change the Predecessor of the step so that they are
be equal not equal.
Predecessor must be lesser than Predecessor chosen for the step should not have
existing step sequence sequence greater than the existing step.
Period not available for the Cycle Change the Period for the Cycle which is available
and open the flow
No File exists, File must be chosen for Input or Output File required for the step.
the step
Process Description:
This new external price loader job loads ASCII price files coming from external sources (clients) at barcode level.
The whole process is driven by the description of the external price file layout, as this has been setup from GUI at two levels and stored in the
following tables:
Recommendations:
Constraints:
Prerequisites:
Source of Information:
Table Description
CAL_FACTORT05 Static Parameters table for submission of job
TDV_EXTERNAL_PRICES_FILE External Price File description
Files:
Input Files:
Output Files :
No output file
Parameters :
Static Parameters
Dynamic Parameters
Process Logic
- Check parameters
o Presence: LAYOUT_ID and MEDIAN_PRGRP0 are mandatory
o Consistency : LAYOUT_ID must exist, corresponding file setup must have at least one price column and one barcode or
barcode list column
- Load File in temporary table
o Create External table script to read file using
▪ Column count
▪ Field Separator
▪ Field Enclosing
▪ Skipping header rows
o For each Price column
▪ For each Barcode column Insert into temporary table
• Filtering empty values
• Formatting number using Decimal Separator
• Adding xCoding Group and Price Group
▪ For each Barcode List column Insert into temporary table
• Splitting column values in multiple barcode using list separator and list quoted
• Filtering empty values
• Formatting number using Decimal Separator
• Adding xCoding Group and Price Group
- Perform xCoding
o using appropriate xCoding groups when not STANDARD
Process Description:
This tool maps Fresh Food codes to Nielsen Code Book references so that purchases can be cross coded and used for production as if panellist
had done properly the job. New feature will be implemented based on Spain expectations but has been made as generic as can be so that it can
be used in any other country.
Recommendations:
Constraints:
Prerequisites:
Standard Loader (01P) must have been run before.
Source of Information:
Table Description
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are
separated in datatypes and loaded in the table ALL as
separate records
Files:
Input Files:
Mapping Reference
Output Files :
No output file
Parameters :
Static Parameters
Rework Management:
Initialization Step :
- Check parameters consistency (Static and dynamic)
- Load mapping reference file in external table
Process Step :
- Compute Start and End Date using Period and #Periods
- Process Data
o Map allt11 and reference file on prefix field within SHOP_GROUP
o Insert allt11 records with Code Book code for new volume, based on the Volume Method for File
Prefix defined in the Input File. If the Volume Method value of the File Prefix in the Input File is
NULL then the value of VOL_METHOD static parameter is used to compute volume.
o Insert allt11 records with Code Book code for price = Reference Price
o If KEEP_CODE = ON insert allt11 records with Code Book code for DT5129 = ac_barcode
o If BCD_TYPE <> 0 insert allt11 records with Code Book code for DT5098 = BCD_TYPE
o Insert all11 records with Code Book code for other datatypes
o Delete allt11 records with Fresh Food mapped to prefix
Final Step :
- Report count of inserted records
o Total
o Volume computed
o Price from Reference
o Fresh Food code
o Barcode Type
o Others
- Report count of deleted records on Fresh Food code
- Report count of distinct Fresh Food codes
- Report count of distinct Code Book codes
Records management: it can happen that 2 different Fresh Food codes map to same Code Book code. In such case, there would be need to
merge records.
Process Description:
US Data Loader is used to load data in a batch mode directly to the output tables: RAWDAILYT60, TBSKT13, PROCKEYST29 as well as the shop
master table SHOPT44 and the family master table FAMILYT43 from backdata input ASCII files, prepared by the legacy system. This process is
used by US to initialise their DV environment with already validated data.
Note : For python version Hive data refresh is done at the beginning and oracle data refresh is done at the end of this process in terminateJob for
these three tables:
1.Prockeyst29
2.Rawdailyt60
3.Tbskt13
Recommendations:
Constraints:
Input files should come in pairs, one file for the purchase records (rawdaily records) and one for total basket records (tbsk records). In case the job
is submitted for N periods > 1 then these ASCII files should contain all the records for all the periods submitted.
Prerequisites:
Source of Information:
Table Description
CAL_FACTORT05 Static Parameters table for submission of job
FAMILYT43 It contains the list of the family codes loaded into family usability table.
Files:
Input Files:
FileName Comment
FILEI1 DEAL CODE MAPPING REFERENCE
FILEI2 NCP TRIP DATA FILE
FILEI3 NCP PURCHASE DATA FILE
FILEI4 NCP MAGNET PURCHASE DATA FILE
All other fields are ignored as they are useless for the process.
Values will be merged for same key: ac_hhold, dt_pur_date, ac_shop, barcode
Price formula: ( sum(Total_Price – Total_Coupon) / sum(Quantity) ) / 100
When formula leads to 0 , price will be loaded as 0
Deal Code mapping: For each record with the 4 DV promotion flags. For each promotion flag keep maximum value
All other fields are ignored as they are useless for the process.
Values will be merged for same key: ac_hhold, dt_pur_date, ac_shop, barcode
Price formula: ( sum(Total_Price – Total_Coupon) / sum(Quantity) ) / 100
Output Files :
FileName Comment
FILEO1 NCP TRIP DATA REJECTED FILE
FILEO2 NCP PURCHASE DATA REJECTED FILE
FILEO3 NCP MAGNET PURCHASE DATA REJECTED FILE
Two output ASCII files will be created by the job, one for RAWDATA records and one for TBSK records.
The layout of these files will be the same as the layout of the Input ASCII files.
● LOAD_MODE=APPEND the rejected files will contain any records from the NCP ASCII files having same keys already in the output tables
that exist in the NCP ASCII files.
Parameters :
Static Parameters:
NORMAL
APPEND
REPLACE
Dynamic Parameters:
Rework Management :
P0020722 NCP Purchase Data file Input File S NCP Purchase Data
does not exist/or format Not Present file does not exist/or
is not correct format is not correct
P0020722 NCP Trip Data file does Input File S NCP Trip Data file
not exist/or format is not Not Present does not exist/or
P9900437 Invalid option. Can not Invalid Job S Invalid option. Can Check process
submit job in REWK mode submission not submit job in submission
and option REWK mode and rules
LOAD_MODE=NORMAL LOAD_MODE=NOR
MAL
P9900437 Invalid option. Can not Invalid Job S Invalid option. Can Check process
submit job in PROC mode submission not submit job in submission
and option PROC mode and rules
LOAD_MODE=APPEND or LOAD_MODE=APPE
REPLACE ND or REPLACE
P9900195 Data already present in Data already S Data already
output tables. Load IN present in present in output
REWK mode and output tables tables. Load IN
– Rwk option
LOAD_MODE=REPLACE required for REWK mode and
data LOAD_MODE=REPLA
processing CE
P0020111 # Records having same Attempt to S # Records having
Key that already exists in insert same Key that
TBSK: duplicate key already exists in
values
TBSK:
P0020111 # Records having same Attempt to S # Records having
Key that already exists in insert same Key that
RAWDA: duplicate key already exists in
values
RAWDA:
P0010035 Oracle Error Oracle Error S Oracle Error Check for
oracle syntax
Process Description:
US Data Edit is used to load edit already existing data in a batch mode directly to the output tables: RAWDAILYT60, TBSKT13, PROCKEYST29
as well as the shop master table SHOPT44 from backdata input ASCII files, prepared by the legacy system.
Recommendations:
Constraints:
Input files should come in pairs, one file for the purchase records (rawdaily records) and one for total basket records (tbsk records). In case the job
is submitted for N periods > 1 then these ASCII files should contain all the records for all the periods submitted.
Prerequisites:
• US Data Loader (EHDV21150P)
• US xCoding Shrink (EHDV21154P)
Table Description
SHOPT44 List of Shops
TDV_XCD_SHRINK_LINKS Useful xCoing Links
RAWDAILYT60 Purchase RAWDA
PROCKEYST29 List of Rawda Processing keys (used here to check if data loaded are
already present in output tables)
TBSKT13 Total basket Rawda
Files:
Input Files:
FileName Comment
FILEI1 DEAL CODE MAPPING REFERENCE
FILEI2 NCP TRIP DATA FILE
FILEI3 NCP PURCHASE DATA FILE
All other fields are ignored as they are useless for the process.
All other fields are ignored as they are useless for the process.
Output Files :
FileName Comment
FILEO1 NCP TRIP DATA REJECTED FILE
FILEO2 NCP PURCHASE DATA REJECTED FILE
Two output ASCII files will be created by the job, one for RAWDATA records and one for TBSK records.
The layout of these files will be the same as the layout of the Input ASCII files.
• If in ASCII files there are records with KEYS (using the BEFORE fields) that have NO corresponding records in the Output tables, the
rejected files will contain these missing KEY records from the NCP ASCII files.
• Otherwise the rejected files will contain any records from the NCP ASCII files having date values out of the period date range.
Parameters :
Static Parameters:
NONE
Rework Management :
P0020722 NCP Purchase Data file Input File S NCP Purchase Data
does not exist/or format Not Present file does not exist/or
is not correct format is not correct
P0020722 NCP Trip Data file does Input File S NCP Trip Data file
not exist/or format is not Not Present does not exist/or
correct format is not correct
Group:
2153 – Duplicate Transmission Detection
Process Description:
As part of Mobile Scan Initiative, there will be a short intermediate period with swapping families having both scanner and new app on
smartphone enabled. A family may report the same trips with both devices to ensure getting their incentives.
There is need to implement a new validation to detect and remove same baskets that would be transmitted twice by the same family to avoid
any wrong reporting to clients.
- Other Trips (Duplicated) will be checked for Rate3 of common items with Reference against
o Rate > α➔ Basket and Items are removed
Since some countries may have intermediate situation with Legacy loading for Scanners and NCPS suite for Mobile (DSR to DV), detection will be
applied at final stage on validated data (Rawda and Total Basket)
Source of Information:
Table Description
RAWDAILYT60 Purchase RAWDA
PROCKEYST29 List of Rawda Processing keys (used here to check if data loaded are
already present in output tables)
TBSKT13 Total basket Rawda
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are separated
in datatypes and loaded in the table ALL as separate records
Files:
Input Files: NONE
Output Files :
FileName Comment
FILEO1 Removed Keys report
Parameters :
Static Parameters:
Dynamic Parameters:
Process Description:
Recommendations:
Constraints:
Prerequisites:
Source of Information:
Files:
Output File:
FileName Comment
FILEO1 xCoding Errors Report File
Text file reporting all potential coding errors with the Rejection Reason.
Key is written as Barcode – Date From – Nankey – Date To
followed by rejection reason which can be (MULTI-LINK – MULTI-DATE_TO – RANGE_OVERLAP).
Parameters :
Static Parameters:
Dynamic Parameters:
Rework Management:
NONE
Process Description:
The US xCoding process objective is to use new TDV_XCD_SHRINK_LINKS table to update the rawda and prockeys data with appropriate nankey
or zero. Mapping will be done using barcode and purchase data compared to links effective dates
Recommendations:
Constraints:
Prerequisites:
Source of Information:
Table Description
TDV_XCD_SHRINK_LINKS Useful xCoing Links
RAWDAILYT60 Purchase RAWDA
PROCKEYST29 List of Rawda & TBSK Processing keys
Files:
Output File:
FileName Comment
FILEO1 Non xCoding Report File
Parameters :
Static Parameters:
NONE
Dynamic Parameters:
Rework Management:
NONE
Process Description:
• Date Range for changes to apply – considering update date of links (The date range of changed links is computed based on job
submission period and Number of Periods back)
• Date range of Purchases to be impacted by links changes (This is computed using the PERIOD_BACK dynamic parameter)
As a matter of example, user can decide to apply every week the cross coding changes updated in that week onto the last 3 years of data prior
that week
Recommendations:
Constraints:
Prerequisites:
Source of Information:
Table Description
TDV_XCD_SHRINK_LINKS Useful xCoing Links
Files:
Input Files:
Output File:
FileName Comment
FILEO1 List of barcodes with changed NANKEYS
Text file with a header record: barcode – “nankey before” – “nankey after” – # Records
One record by combination with the count of purchases records reclassified for it.
Parameters :
Static Parameters:
Rework Management:
NONE
Process Description:
Recommendations:
Files:
Output File:
FileName Comment
FILEO1 Final Merged output file
Merged output file with records combined together from all input files .
Parameters :
Dynamic Parameters:
Process Description:
This job checks and detects any purchases wrongly declared in some shops by 509ehaviour509.
For example, purchase of Mars Pet Foods in LIDL in which those products are not referenced. This cannot be setup or detected by current
Private Brand module since Mars brand can be present but not for that category.
Today’s solution is to manually detect those wrong combinations and prepare surgery files.
More specifically it handles the same process as manual one in an automated way.
A new set of screens is provided so that user can drive the validation and adapt appropriate setup.
o Some items wrong in basket ➔ create new basket with wrong items
- Log the corrections in the system for reference
Recommendations:
Constraints:
Prerequisites:
● Data Selection (EHDV21068P)
Table Description
P359_1T12 DV validation area data
KEYST14 Keys present in DV validation area
FAMILY_LOGT67 List of changes applied by DV automatic validation jobs
TDV_BRAND_EXCEPTION This table contains the Brand Exception instructions, by defining the IBD and SHOPGROUP for validating
purchase data for BRAND EXCEPTIONS. Also the reclassification shop to be used for these BRAND
EXCEPTIONS is defined.
Files:
Input Files:
NONE
Output Files:
Report of changes
Position Description
1 Audit
2 Date
3 Time
4 Hhold
5 Old Shop
6 Old Shop Name
7 New Shop
8 New Shop Name
9 Brand
10 Barcode
11 Nankey
Position Description
1 Shop
2 Shop Description
3 Total number of records
4 Number of records corrected
5 Percentage(%) of records corrected
Parameters:
Static Parameters:
Dynamic Parameters:
Process Description:
This job computes the “Total Threshold” (DT5942) according to the following US specific rules:
o Exclude some specific magnets items based on short list (Excluded Magnet reference File)
Note : For python version, Hive data refresh is done at the beginning of this process for the submission audit, period (back-periods included) for
the following tables:
• Prockeyst29
• Rawdailyt60
• Tbskt13
oracle data refresh is done at the end of this process for the submission audit, period (back-periods included) for following tables:
• Prockeyst29
• Tbskt13
Constraints:
Prerequisites:
● US Data Loader (EHDV21150P)
● US xCoding Shrink (EHDV21154P)
● US xCoding (EHDV21155P)
Source of Information:
Table Description
RAWDAILYT60 Purchase RAWDA
TBSKT13 Total basket Rawda
Files:
Input Files:
FileName Comment
FILEI1 EXCLUDED MAGNETS REFERENCE
Output Files:
NONE
Static Parameters:
NONE
Dynamic Parameters:
Rework Management :
Process Description:
As part of ZTV CPS project, there is need to automate the extraction of the barcodes that are PGI’s.
Process Steps :
Summary:
- Report number of uncoded records found by Retailer (Shop Group)
- Report number of PGI’s records found in ALLT11 by Retailer (Shop Group)
- Report number of PGI’s records found in RAWDAILYT60 by Retailer (Shop Group)
- Report number of uncoded records extracted in file by Retailer (Shop Group)
- Report number of uncoded records extracted in file in ALLT11 by Retailer (Shop Group)
- Report number of PGI’s records extracted in file in RAWDAILYT60 by Retailer (Shop Group)
- Report the total number of lines extracted in file
Recommendations:
Constraints:
Prerequisites:
EHDV21008P – xCoding
Table Description
TDV_NPP_EXTR_SETUP Useful xCoing Links
TDV_NES_SETGROUP_SETUP Set group id and its description
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are
separated
in datatypes and loaded in the table ALL as separate records
RAWDAILYT60 Purchase RAWDA
Files:
Input File:File id FILEI1
List of barcodes with more than one record in Xcoding Instruction table(08P Table)
Output File:
Extracted data in CSV format (File id: FILEO1) and FILEO2
FILEO1:
Column Name
1 Retailer
2 BARCODE
3 Transaction
Column Name
1 Retailer
2 BARCODE
FILEO3:
FileO3 is xml format file which contains <xitm>, <pgc>,<xcd>,<itmd>,<noss>, <prc>, <iccd>
As an example:
<hd><mstp>101</mstp><ss>1</ss></hd>
<xitm>
<pgc>FICPSLIDL</pgc>
<xcd>0000012345678</xcd>
<itmd>CPS Code</itmd>
<noss>7</noss>
<prc>139</prc>
<iccd>FI</iccd>
</xitm>
<xitm>
<pgc>FICPSLIDL</pgc>
<xcd>0000012345678</xcd>
<itmd>CPS Code</itmd>
<noss>9</noss>
<prc>134</prc>
<iccd>FI</iccd>
</xitm>
Parameters :
Static Parameters:
Dynamic Parameters:
Rework Management:
Process Description:
PGI Xcoding by Default simplifies the process of assigning PGI code to the uncoded products.
This functionality detects all uncoded barcodes and sets the default PGI.
Finally, the barcodes for which the PGI’s assignment is done are stored in a file.
Process Step :
Table Description
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are separated
in datatypes and loaded in the table ALL as separate records
Files:
List of barcodes with more than one record in Xcoding Instruction table(08P Table)
Output File:
Column Name
1 Processing Group Code
2 BARCODE
3 Nankey
Static Parameters:
Dynamic Parameters:
Rework Management:
NONE
Process Description:
As part of ZTV CPS project, the computation of standard price needs to be improved especially
because of the low penetration.
Currently, when the penetration is low for specific products the price computed with the standard price computation is far from the reality as its
based on few items.
The solution proposed is to compute prices differently. The idea is to compute the price of a set of homogeneous items with the same
characteristics and affect this price to the items with no prices.
Process Principles:
✓ For every Set of Module/Characteristics, get all characteristic values, NAN_KEYs and Weights
✓ Get the purchases of related NAN_KEYs and compute LEVELs
✓ Compute the median price by LEVEL and assign to the NAN_KEYs
✓ Store price using filters
Note : For python version, Hive data refresh is done at the beginning of this process for the submission audit, period (back-periods included) for
the following tables:
• Rawdailyt60
• Cnanpricet34
oracle data refresh is done at the end of this process for the submission audit, period (back-periods included) for following tables:
• Cnanpricet34
Process Step:
○ For each LEVEL3 found, if the same LEVEL3 is matched and if the price is not present then assign the price with
NC_NUMERIC_VALUE*MP2
○ Count all purchases by LEVEL2 and by module, if count is greater than NBOBS then
the median price MP3 is computed with CONV PRICE
○ For each LEVEL2 found, if the same LEVEL2 is matched and if the price is not present then assign the price with
NC_NUMERIC_VALUE*MP3
○ Count all purchases by LEVEL1 and by module, if count is greater than NBOBS then
the median price MP4 is computed with CONV PRICE
○ For each LEVEL1 found, if the same LEVEL1 is matched and if the price is not present then assign the price with
NC_NUMERIC_VALUE*MP4
Finally all new prices computed are assigned to the price (when missing) of CNANPRICET34 to the corresponding NAN_KEY according to the
filters :
● If the price in CNANPRICET34 is missing for the period P-1 and the price is 0 (can be
get with DATACODE 5667 historical price) in P359_1T12 then store the price for the
period P-1
● If the price in CNANPRICET34 is missing for the period P then store the price for the
period P
This following figure shows how the storage happens for different contexts :
Summary :
➢ Report the number of records found by module
➢ Report the number of items without price by module (with description)
➢ Report number of items for which the price is assigned at LEVEL4 and compute the
Recommendations:
Constraints:
Prerequisites: Availability of the data in validation area and in RAWDAILYT60 for the previous periods
Table Description
RAWDAILYT60 Purchase RAWDA
P359_1T12 DV validation area data
CNANPRICET34 Contains standard prices and MAD by cycle, period, price group,
product group, NAN_KEY
NAN_ITEMS List of NAN_KEY loaded from EIMDB
NAN_CHAR_VALUEST75 Item characteristics values extracted from EIMDB
NAN_WEIGHT_VALUEST79 Item weight value id extracted from EIMDB
TDV_PCC_SETUP Price Computation setup table
TRIP_DATAFACTST116 User defined Instructions
TRIP_SHOPGROUPT117 User defined shop groups with selected shop characteristic
TRIP_SHOPGROUP_VALT119 User defined shop groups with selected shop characteristic
values
TRIP_FORMULAST118 Predefined Formulae NOT modifiable by users
Input File:
NONE
Output File:
Extracted data in CSV format (File id: FILEO1)
Column Name
1 NAN KEY
2 BARCODE
3 MODULE DESCRIPTION
Parameters :
Static Parameters:
Dynamic Parameters:
Rework Management:
NONE
Process Description:
This process detects purchases related to PGI and MultiEANlink Nans which are present in RAWDAILYT60. Having detected these NANs, these
are moved back to the validation area and deleted from the output tables.
Process Step:
Detects all PGI or Mul_EANlink NANKEYs changed in the EHDV21061P and EHDV21078P jobs
using the table TDV_REX_LOG according to the period and cycle.
• Get the list of DATACODES used by the standard loader for loaded having as destination the RAWDAILYT60. If in this list DT5675 and
DT5650 are missing, then check if DT5674 and DT5650 are present. In case that these Datatypes are also missing, this means that the
Standard Loader job was not correctly finished. In this case, stop this current job. If DT5675 and DT5650 are present or DT5674 and
DT5650 are present go further.
• For all NANKEYS found, extract from RAWDAILYT60 all records with AC_AUDIT, DT_PUR_DATE, AC_TIME, AC_HHOLD, AC_SHOP,
AC_BARCODE and all DATACODES with values( DT5642,DT5667,DT5904,DT5095 and other datacodes from the list got from the previous
step ). GET the NEWNAN for all these NANs selected from TDV_REX_LOG by joining on the purchase key.
• For each record found in the RAWDAILYT60, create in the validation area P359_1T12 as many records as the number of DATACODES. All
the datacodes identified in step 1 are loaded back.
• When doing this transformation, apply the following rule:
o The DT5650 is taken the value of the DT5642 (DT5642 is not loaded back into P359_1T12)
o While moving the DT5095 data it is inserted as -1 for APV rerun purpose.(Same for keysT12 insert)
o For each record found in the RAWDAILYT60, a new key is created in KEYST14 and the datacode associated with filenumber
(DT5095). Also TM_TIMESTAMP should be the job submission timestamp.
Recommendations:
Constraints:
Prerequisites:
Nan reclassification by X-Coding job and Re-Xcoding by exception job must have been completed before job submission.
Table Description
DATATYPEST07 The table contains the list of the datatypes and the position in
the record
DATACODET20 Purchase datatype layout definition (DT Parameter Screen)
RAWDAILYT60 Purchase RAWDA
PROCKEYST29 List of Rawda Processing keys (used here to check if data
loaded are already present in output tables)
MODULEST31 List of Modules extracted from OGRDS
MODULES_TRANST32 Description of modules
NAN_ITEMST73 List of NAN_KEY loaded from OGRDS
TDV_REX_LOG Stores the list of transactions and nankey change detaiils
KEYST14 Keys present in DV validation area
P359_1T12 DV Validation area data
FAMILY_LOGT67 Log of changes applied by DV automatic validations processes
Files:
Input File:
Output File:
NONE
Parameters :
Static Parameters:
Dynamic Parameters:
Rework Management:
NONE
Process Description:
Compute data of loyalty card percentage use and store into TDV_LOYALTY_VAL.
Process Step:
From TRIP_SHOPGROUPT117 when AC_LOYALTY_CARD is set to ‘Y’, get all shop groups and
do shop resolution to get all shop lists
- For each shop group, count all purchases in TBSKT13 where loyalty cards are used. This can be
checked using the DT5949 with the DT_VALUE_FID. Count all total purchases for this shop
group, finally calculate the percentage of use of the loyalty card.
- The percentage computed is inserted into the TDV_LOYALTY_VAL , with Shop Descrip_on and
period.
Note : For python version, Hive data refresh is done at the beginning of this process for the submission audit, period (back-periods included) for
the following tables:
• Tbskt13
Recommendations:
Constraints:
Prerequisites:
Table Description
TBSKT13 Total Basket Keys
Files:
Input File:
NONE
Output File:
NONE
Parameters :
Static Parameters:
Dynamic Parameters:
Rework Management:
NONE
Process Description:
Extract all information related to the barcode list given in the input file.
Process Step:
- Select all records from ALLT11 and RAWDAILYT60 , from submitted period to back periods (depending on #Periods), select the Household
and Nankeys, then join with PRODUCT_GROUPS_TRANST46 to find the description of the product.
- Store Barcodes, User Description (from the input file), Product Description and Household in the output file.
Recommendations:
Constraints:
Prerequisites:
Table Description
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are
separated
in datatypes and loaded in the table ALL as separate records
NAN_ITEMST73 List of NAN_KEY loaded from EIMDB
MODULEST31 List of Modules extracted from EIMD (used there only in case of
Rework PC for Homepannel only)
RAWDAILYT60 Purchase RAWDA
PRODUCT_GROUPS_TRANST46 Description of product groups
This file should be in CSV format (separated by 😉. Both Barcodes and User Description are mandatory
FILE02:
Dynamic Parameters:
Rework Management:
NONE
Process Description:
This process gives the capability of resolving all the IBDs defined for a specific cycle in one shot and store the outcome of these IBDs’ resolutions
to the permanent table TDV_IBD_RESOLUTION. The content of this table is visible through a dedicated screen in GUI.
Process Step:
• If MODE = FULL , FOR EACH IBD in the cycle, call EHPK_IBD.IBD_Resolution with IP_NC_FORCE set to ‘Y’
Recommendations:
Constraints:
Prerequisites:
After OGRDS load completion, 166P job has to be re-run again. So that the jobs using the result of IBD resolution will get the last refreshed
resolution data.
Table Description
IBD_CHARST105 Table containing the Item Break Down characteristics per cycle,
IBD
IBD_DEFINITIONT104 Table containing the Item Break Down (IBD) definition per cycle
IBD_RULEST106 Table containing the Item Break Down (IBD) rules per cycle, IBD
NAN_CHAR_VALUEST75 Item characteristics values extracted from EIMDB
TDV_IBD_RESOLUTION Table containing resolved NAN KEYS per cycle, IBD
IMDB_HISTORICAL_EVENT_LOGT10 List of all publications (Full and Inc) published by EIMDB
Files:
Input File:
NONE
Output File:
NONE
Static Parameters:
Dynamic Parameters:
Rework Management:
P0020505 Mandatory Static Parameter Mandatory S Mandatory Static Set the mandatory
has not been set Static Parameter has not static parameter and
Parameter been set then submit the job
NOT defined again
P9900448 # IBDs NOT resolved: # IBDs NOT Count of IBDs NOT resolved based on process logic
resolved
P9900449 IBD resolved : IBD resolved IBD that has been resolved based on process logic
P9900449 IBD NOT resolved : IBD NOT IBD that has NOT been resolved based on process
resolved logic
Process Description:
US Data Loader is used to load data in a batch mode directly to the output tables: RAWDAILYT60, TBSKT13, PROCKEYST29 as well as the shop
master table SHOPT44 and the family master table FAMILYT43 from backdata input ASCII files, prepared by the legacy system. This process is
used by CA to initialise their DV environment with already validated data.
Recommendations:
Constraints:
Input files should come in pairs, one file for the purchase records (rawdaily records) and one for total basket records (tbsk records). In case the job
is submitted for N periods > 1 then these ASCII files should contain all the records for all the periods submitted.
Prerequisites:
Source of Information:
Table Description
CAL_FACTORT05 Static Parameters table for submission of job
FAMILYT43 It contains the list of the family codes loaded into family usability table.
Updated automatically by the system
SHOPT44 List of Shops
RAWDAILYT60 Purchase RAWDA
PROCKEYST29 List of Rawda Processing keys (used here to check if data loaded are
already present in output tables)
TBSKT13 Total basket Rawda
FileName Comment
FILEI1 DEAL CODE MAPPING REFERENCE
FILEI2 NCP TRIP DATA FILE
FILEI3 NCP PURCHASE DATA FILE
All other fields are ignored as they are useless for the process.
All other fields are ignored as they are useless for the process.
Values will be merged for same key: ac_hhold, dt_pur_date, ac_shop, barcode
Price formula: ( sum(Total_Price – Total_Coupon) / sum(Quantity) ) / 100
Output Files :
FileName Comment
FILEO1 NCP TRIP DATA REJECTED FILE
FILEO2 NCP PURCHASE DATA REJECTED FILE
Two output ASCII files will be created by the job, one for RAWDATA records and one for TBSK records.
The layout of these files will be the same as the layout of the Input ASCII files.
Note : For python version Hive data refresh is done at the beginning and oracle data refresh is done at the end of this process in terminateJob
for these three tables:
• Prockeyst29
• Rawdailyt60
• Tbskt13
Parameters :
Static Parameters:
NORMAL
APPEND
REPLACE
Dynamic Parameters:
P0020722 NCP Purchase Data file Input File S NCP Purchase Data
does not exist/or format Not Present file does not exist/or
is not correct format is not correct
P0020722 NCP Trip Data file does Input File S NCP Trip Data file
not exist/or format is not Not Present does not exist/or
correct format is not correct
P9900437 Invalid option. Can not Invalid Job S Invalid option. Can Check process
submit job in REWK mode submission not submit job in submission rules
and option REWK mode and
LOAD_MODE=NORMAL LOAD_MODE=NOR
MAL
P9900437 Invalid option. Can not Invalid Job S Invalid option. Can Check process
submit job in PROC mode submission not submit job in submission rules
and option PROC mode and
LOAD_MODE=APPEND or LOAD_MODE=APPE
REPLACE ND or REPLACE
Process Description:
CA Data Edit is used to load edit already existing data in a batch mode directly to the output tables: RAWDAILYT60, TBSKT13, PROCKEYST29
as well as the shop master table SHOPT44 from backdata input ASCII files, prepared by the legacy system.
Note : For python version, Hive data refresh is done at the beginning of this process for the submission audit, period (back-periods included) for
the following tables:
• Prockeyst29
• Rawdailyt60
• Tbskt13
• TDV_XCD_SHRINK_LINKS
oracle data refresh is done at the end of this process for the submission audit, period (back-periods included) for following tables:
• Prockeyst29
• Rawdailyt60
• Tbskt13
Recommendations:
Constraints:
Input files should come in pairs, one file for the purchase records (rawdaily records) and one for total basket records (tbsk records). In case the job
is submitted for N periods > 1 then these ASCII files should contain all the records for all the periods submitted.
Prerequisites:
• CA Data Loader (EHDV21167P)
Source of Information:
Table Description
SHOPT44 List of Shops
TDV_XCD_SHRINK_LINKS Useful xCoing Links
RAWDAILYT60 Purchase RAWDA
PROCKEYST29 List of Rawda Processing keys (used here to check if data loaded are
already present in output tables)
TBSKT13 Total basket Rawda
Files:
Input Files:
FileName Comment
FILEI1 DEAL CODE MAPPING REFERENCE
FILEI2 NCP TRIP DATA FILE
FILEI3 NCP PURCHASE DATA FILE
All other fields are ignored as they are useless for the process.
All other fields are ignored as they are useless for the process.
Values will be merged for same key: ac_hhold, dt_pur_date, ac_shop, barcode
Price formula: ( sum(Total_Price – Total_Coupon) / sum(Quantity) ) / 100
When formula leads to 0 , price will be loaded as 0
Deal Code mapping: For each record with the 4 DV promotion flags. For each promotion flag keep maximum value
FileName Comment
FILEO1 NCP TRIP DATA REJECTED FILE
FILEO2 NCP PURCHASE DATA REJECTED FILE
Two output ASCII files will be created by the job, one for RAWDATA records and one for TBSK records.
The layout of these files will be the same as the layout of the Input ASCII files.
• If in ASCII files there are records with KEYS (using the BEFORE fields) that have NO corresponding records in the Output tables, the
rejected files will contain these missing KEY records from the NCP ASCII files.
• Otherwise the rejected files will contain any records from the NCP ASCII files having date values out of the period date range.
Parameters :
Static Parameters:
NONE
Dynamic Parameters:
P0020722 NCP Trip Data file does Input File S NCP Trip Data file
not exist/or format is not Not Present does not exist/or
correct format is not correct
Process Description:
As part of ZTV Project, there is a need to watch the rate of uncoded items by shop by period and for along period.
A new job “Uncoded Tracking” will handle the same process as manual one in an automated way.
Process Step:
Initialization Step:
Process Steps:
• From TRIP_SHOPGROUPT117 when AC_UNCODED_RATE is set to ‘Y’, get all candidate shop groups
• Resolve shop resoluon to get all shop lists
• Get dates ranges based on submied period. #numper is not taken into account
UNCODED
ALLT11 RAWDAILYT60
PGI_UNCODED=YES FL_PGI=Y OR NAN=0 FL_PGI=Y OR NAN=0
PGI_UNCODED=NO NAN=0 NAN=0
In all situaons described above the filter Barcode <> ‘0’ should be added when extracng from ALLT11
Final Step:
● Report the number of Shop Groups for which the rate is computed
● Report job status
○ Exit job with Warning if no uncoded items found for any shop group
○ Exit job with Success if no issue found
Note : For python version Hive data refresh is done at the beginning of this process for these two tables:
• Rawdailyt60
• Allt11.
Recommendations:
Constraints:
Prerequisites:
Table Description
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are
separated in datatypes and loaded in the table ALL as separate
records
TDV_UNCODED_RATE Table where Uncoded Rate Computations are stored
RAWDAILYT60 Purchase Rawda
TRIP_SHOPGROUPT117 User defined shop groups with selected shop characteristic
NAN_ITEMST73 List of NAN_KEY loaded from EIMD
MODULEST31 List of Modules extracted from EIMD
Files:
Input File:
NONE
Output File:
NONE
Parameters :
Static Parameters:
Process Description:
In the context of ReXcoding and Recovering, candidate items are selected and for those items, price
need to be revalidated in the context of FPV or in APV. So, for this purpose we need to find a standard
price. Different methods will be implemented to compute the prices of these items
The solution is to create a new job to implement the new method of computation of the price.
✓ A new job Price for ReXcoding and Recovering (EHDV21170P) is created with a new set of static parameters
✓ Select candidate nankeys from KEYST14 where file number is -1 and for selected timestamp
o if for nankeys the price is present in CNANPRICET34 for the submitted period and previous period, nothing to do
o else if the price (datatype DT5675) present for the nankeys, computation of median price should happen based on the price group
o else if the price is missing then compute median price from T99 or T100
o else price is got from TDV_NAN_PRICE_ACTIVITY
o All computed price should be stored in the CNANPRICET34 to the correct period (in the period P and in the period P-1)
✓ Report number of nankeys for which the computation is happened
Process steps:
Initialization Step:
− Check parameters consistency (static and dynamic)
Process Step:
1. Get list of shops, charval and charid from SHOPUSABILITYT40, for the charid equals to PRGRP, CHAN, GEO values and store into a
temporary table GT_SHOP_CHARVALS.
2. Get all purchases with shop, nankeys and price from KEYST14 and P359_1T12.
2.1. Shop, nankeys are from KEYST14
2.2. Price from P359_1T12
2.3. Filter to apply 1 : filenumber = -1, selected timestamp, audit and date range selected. When evaluating Date range take into
account NUM_PER.
2.4. Filter to apply 2 : Nankeys should not have price in CNANPRICET34 for the submitted period P and previous period P-1.
Final Step:
Recommendations:
Constraints:
Prerequisites:
Data in validaon data is available with ReXcoding and Recovering items (using Data Selecon by Barcode or PGI Data Selecon)
Dynamic Parameters:
Phase:
PHASE 4 – SERVICES
Process Description:
To solve some price validation issues, in particular with Code Books showing more heterogeneity, DsCI has defined a new methodology to
compute Standard Price and MAD.
Major differences with current method:
- Ignore outlier values in computation process
- Consider validated values for the benchmark / historical period
- Apply clustering method when prices are not homogenous for same level
Process steps:
Initialization Step:
- Check Parameters (static and dynamic)
- Compute P1 and if activated P2 / P3 date ranges from Periods parameter
- Resolve IBD when activated
Process Step:
- Get data for process
o Using IBD when activated
o Using largest period date range
o Link with Price Group thru shop characteristics
o Link with Product Group thru nankeys
o With historical price (DT5667) for submission period
o With validated price (DT6575) for past periods
o Without records having DT5904 = 3 or DT5904 = 11 or DT5904 = 20 when FPV_3_4_EXCLUDE=YES
- Collect level data for Period 1
o Level 1 – Nankey/Price Group using NOBS_P1_L1
o Level 2 – Nankey using NOBS_P1_L2
o Level 3 – Product Group/Price Group using NOBS_P1_L3
o Level 4 – Product Group using NOBS_P1_L4
- If P2 requested Collect level data for Period 2
o Level 1 – Nankey/Price Group using NOBS_P2_L1 and not yet collected for Period 1
- Compute percentile 25 and 75, lower bound and upper bound by nankey, product group, price group
- Detect and remove outliers from collected data
- Determine cluster count by nankey, product group, price group
- Copy data with cluster count = 1 to final table
- Process data with cluster count = 2
o Apply clustering method by nankey, product group , price group
o Compute cluster score by nankey, product group , price group
o Copy data from cluster with minimal score to final table
- Compute median, standard price and MAD by nankey, product group, price group from final
table
o Median price = median (nc_price)
o MAD = median ( abs(nc_price – median price))
o Std price = w*median price + (1- w )*most recent std price from CNANPRICET34
Where w is computed as n/(n+k) with n= number of observations for the level
being processed
0 When most recent std price is empty default value 1 is assigned to w
Recommendations:
Prerequisites:
Availability of the data in rawda for the submission period
Price Group information available in Shop Usability table
Static Parameters:
• The MIN_ITEM is used to compute MAD and DT5665 in level 3 and level 4.
• At Level 1 and 2 MAD will be unchanged as median ( abs(nc_price – median price)).
• At Level 3 and 4
• MAD = avg( (abs(nc_price – item median price)/ item median).
• Number of items is the count of distinct nc_item to be stored in DT5665 .
• For calculating the above values ‘number of items’ must be >= MIN_ITEM parameter value.
2 Represents the number of periods back, with a value of 4, 5 periods would be inspected when adding the submitted period.
2 Represents the number of periods back, with a value of 12, 13 periods would be inspected when adding the submitted period.
2 Represents the number of periods back, with a value of 52, 53 periods would be inspected when adding the submitted period.
Dynamic Parameters:
Phase:
PHASE 2 – AUTOMATIC DATA VALIDATION
Process Description:
The new algorithm (CUOE) inspects the household purchase units using multiple conversion
factors to assess more accurately the total converted volume. Final units will then be edited, if
needed. It takes different unit conversion “rates” created in OGRDS available in DV to define
consecutive thresholds by module and adjustment ratios by purchase act.
The CUOE is applied at module level. Scope of items to be considered remains the same as
HBE approach and defined using the concept of IBD. The definitions of the different algorith
inputs are as follow:
1. Inspection week as the week on which quantity will be inspected from rawdata and
adjusted if needed
2. Benchmarking weeks as the number of weeks (13 by default) used to fit the
distribution 601ehaviour of HHs (12 from history + inspection week) from rawdata –
units to benchmark are a mix of input units and final (corrected) units, when available
in history (corrected by this algorithm (after a transition period, only final units are used
to benchmark)
3. CPS rawdata (records level) for inspection and bench-marking containing
● Date of purchasing
● HH code
● Shop
● Bar-code / Nankey
● Original quantity (HH entry)
● [Original quantity before Multi-pack validation module]
● Final quantity after Multi-pack validation module
● [Original quantity before HBE validation module]
● Final quantity after HBE validation module
● Final quantity
• Link Raw data with product characteristics and computed CUP and IBD rules
• The Outlier detection algorithm consists of multiple runs on converted units, using the
product characteristics described above, by that order.
On first run (Multipack conversion units)
• replace NA and 0 by 1 to initiate the algorithm
• Define algorithm_input_units = benchmark unit.
NOTE: in particular, for the inspection week, benchmark unit = input unit.
Note : For python version, Hive data refresh is done at the beginning of this process for the
submission audit, period (back-periods included) for the following tables:
• Rawdailyt60
• Familyusabilityt41
Prerequisites:
• Availability of the data in RAWDAILYT60 for the submission period.
• Household information available in FAMILYUSABILITYT41 table.
• OGRDS characteristics correctly filled for the following weight codes:
Table Description
RAWDAILYT60 Purchase RAWDA
TDV_CUOE_SETUP Setup table for CUOE process main elements
TDV_CUOE_THRESHOLD Table that stores Threshold Values by Module
IBD_DEFINITIONT104 Table containing the Item Break Down (IBD) definition per cycle
IBD_CHARST105 Table containing the Item Break Down characteristics per cycle,
IBD
IBD_RULEST106 Table containing the Item Break Down (IBD) rules per cycle, IBD
MODULEST31 List of Modules extracted from OGRDS
NAN_ITEMST73 List of Nan_keys extracted from OGRDS
NAN_CHAR_VALUEST75 Item characteristics values id extracted from OGRDS
NAN_WEIGHT_VALUEST79 Item weight value id extracted from OGRDS
FAMILYUSABILITYT41 Table contains the characteristic identifier and the characteristic
value by Family by cycle and period (YYYYPPP)
To be updated by cycle/period at each validation cycle
Static Parameters:
Dynamic Parameters:
Phase:
PHASE 2 – AUTOMATIC DATA VALIDATION
Process Description:
• An adjustment ratio is calculated when unit values exceed the THRESHOLD (otherwise,
use value 1) and apply it to the input unit
o ADJ_Ratio = min(THRESHOLD / Nor_Weighted_UNITS, 1)
o Output Unit = algorithm_input_units * ADJ_Ratio
• Algorithm_input_units = Output Unit (for next run)
• After the last (third) run, FINAL_UNITS are calculated using the following rules:
a. PROPOSED_UNITS = max(round(Output Unit, 0), 1)
b. Five (user) parameters need to be set:
• inputLower: minimum input quantity allowing correction adjustment
• pckInPackLower: minimum packs in multipack allowing correction
adjustment
• gapLower: minimum gap between PROPOSED_UNITS and original
• input quantities allowing correction adjustment
• inputLowerPGI: minimum input quantity allowing correction adjustment
• (for PGI items)
• gapLowerPGI: minimum gap between PROPOSED_UNITS and original
input quantities allowing correction adjustment (for PGI items)
2. Calculate:
• gapCorr = abs(Input Units – PROPOSED_UNITS)
• In case of PGI:
• In case of NON-PGI:
If
((inputUnits < inputLower
AND max(NO_PACKS_IN_MULTIPACK, 1) <
pckInPackLower))
OR gapCorr < gapLower)
then
FINAL_UNITS = inputUnits (no correction applied)
Else
FINAL_UNITS = PROPOSED_UNITS (apply correction) on
DT5650 in RAWDA
✓ In rework mode, there would be the possibility to re-use computed thresholds on a limited
scope of items (in case Recovering / reXcoding) or to completely process again the period using
a RERUN mode parameter (ON / OFF)
Prerequisites:
• Availability of the data in RAWDAILYT60 for the submission period.
• Household information available in FAMILYUSABILITYT41 table.
• OGRDS characteristics correctly filled for the following weight codes:
Table Description
RAWDAILYT60 Purchase RAWDA
TDV_CUOE_SETUP Setup table for CUOE process main elements
TDV_CUOE_THRESHOLD Table that stores Threshold Values by Module
IBD_DEFINITIONT104 Table containing the Item Break Down (IBD) definition per cycle
IBD_CHARST105 Table containing the Item Break Down characteristics per cycle,
IBD
IBD_RULEST106 Table containing the Item Break Down (IBD) rules per cycle, IBD
MODULEST31 List of Modules extracted from OGRDS
NAN_ITEMST73 List of Nan_keys extracted from OGRDS
NAN_CHAR_VALUEST75 Item characteristics values id extracted from OGRDS
NAN_WEIGHT_VALUEST79 Item weight value id extracted from OGRDS
FAMILYUSABILITYT41 Table contains the characteristic identifier and the characteristic
value by Family by cycle and period (YYYYPPP)
To be updated by cycle/period at each validation cycle
FAMILY_LOGT67 List of changes applied by DV automatic validation jobs
Static Parameters:
Dynamic Parameters:
Process Description:
This job loads the Average Weight and the Price Point by period/shop/nankey into the
table TDV_ITEM_WEIGHT.
Data is loaded per source as this is defined by the SOURCE static parameters.
In order to avoid the size of the table to become very large, the user can use the static parameter
NBPER_TO_RETAIN which defines the number of periods to retain in the table.
Process Flow:
1. The maximum locked period is retrieved from CYCLEPERIODT03 for the submission
cycle.
2. Having retrieved the MAX PERIOD (point 1 above) and based on the Number of Periods
to retain (NBPER_TO_RETAIN) the first period to retain is computed (p_from retrieved)
3. Delete from TDV_ITEM_WEIGHT all records for submission cycle and Source with
datefrom < p_from
5. In NORMAL mode, first check if the period in the file is already in the
TDV_ITEM_WEIGHT if not insert all items from the file into TDV_ITEM_WEIGHT.
6. In REWORK mode, delete data from the TDV_ITEM_WEIGHT for the periods found in
the input file and for the selected SOURCE and insert items from the input file into the
TDV_ITEM_WEIGHT
Input File:
CSV (comma ‘,’ separated file and ‘.’ Point used for decimal)
Position Name
1 Period
2 ShopID
3 Nankey
4 Price point
5 Average Weight
Prerequisites: None
Table Description
TDV_ITEM_WEIGHT Average Weight by Item
CYCLEPERIODT03 Definition of periods (date from, date to, lock flag) by Cycle
Static Parameters:
Dynamic Parameters:
Process Description:
This job computes the Item weight based on certain criteria and copies the computed value to the DT5131 in
RAWDAILYT60.
Process Flow:
1. Records that satisfy the job submission criteria Cycle/Period/NumPeriodsBack are selected from
RAWDAILYT60. The period value that corresponds to the purchase date is retrieved from the
CYCLEPERIODT03 and their Price Point (PP) is calculated using the following Formula:
where PPC_COEFFICIENT is the Price Coefficient based in which Price range the item Price
(DT5675) resides.
Join with Shop is done only when the static parameter SPECIFIC_SHOP is activated (is set to
Y), so why in the following steps Shop is in BOLD. When SPECIFIC_SHOP is not activated (is
set to N), then the MEDIAN is used across the shops. The flow of the process is based on the
following steps.
2.12. For Period, Shop, Nankey and PricePoint, if conv_weight found update
DT5131 in RAWDAILYT60.
2.2. For the items where conv_weight is not found in the above step, join is done using
Shop, Nankey, PricePoint and the conv_weight is retrieved for the nearest period, if
found DT5131 in RAWDAILYT60 (If for the nearest period we have multiple records
then median is taken)
2.3. For the items where conv_weight is not found in the above step, join is done using
Period, Nankey , PricePoint and compute median weight across the shops, and update
DT5131 in RAWDAILYT60.
2.4. For the items where conv_weight is not found in the above step, join is done using
Period, Shop, nankey and the conv_weight is retrieved for the nearest price point, and
update DT5131 in RAWDAILYT60 (If for the nearest period we have multiple records
then median is taken)
2.5. For the items where conv_weight is not found in the above step, join is done using
Nankey, PricePoint and get all conv_weight for the nearest period from different shops,
and compute the median weight across the shops, and update DT5131 in
RAWDAILYT60.
3. New final step is added ,where for records DT5098 = BCDTYPE parameter value
Prerequisites: None
Table Description
TDV_ITEM_WEIGHT Average Weight by Item
TDV_PRICEPOINT_CALC Price Point Reference Table
RAWDAILYT60 Purchase RAWDA
CYCLEPERIODT03 Definition of periods (date from, date to, lock flag) by Cycle
● TDV_PRICEPOINT_CALC
Static Parameters:
Dynamic Parameters:
Process Description:
Price Load using OGRDS char computes standard price of specific items and loads into CNANPRICET34
automatically using the defined static parameters.
Process Step:
Recommendations:
Prerequisites: Price and quantity coming from OGRDS should be loaded into
NC_CHARVAL_NUMERIC_VAL column in CHAR_VALUEST24
Table Description
NAN_CHAR_VALUEST75 Item characteristics values id extracted from EIMDB
CHAR_VALUEST24 Definition characteristic values id extracted from EIMDB
CNANPRICET34 Table containing standard price and MAD by cycle, price Group
Parameters :
Dynamic Parameters:
Rework Management:
NONE
Process Description:
This process loads the items coming from non-cooperators based on the crosscoding instructions which are
loaded by OGRDS.
In order to massively identify these items, the Xcoding Group screen has been enhanced by a new field the
“Assortment New Shop” which in case a Xcode Group is related to items coming from non-cooperators, this
is filled by the associated shop code:
Process Step:
• For all the Xcode Groups that an associated “Assortment New Shop” has been defined (where field is
NOT NULL) all items greater than 0 (NAN_KEYS) and which are valid in the job submitted period, are
retrieved from the CROSSCODING_INSTRUCTIONST49 related to the group
• For the non already existing SHOP_PRICEST99 records (based on AC_SOURCE, AC_SHOPID,
NC_NAN_KEY, DT_FROM, DT_TO) these NAN_KEYS are inserted in SHOP_PRICEST99 using the
following values:
Field Value
AC_SOURCE SOURCE from the static parameter
PERIOD Job submitted Period
AC_SHOPID Assortment New Shop value from
CROSS_CODE_GROUPST26
NC_NAN_KEY NC_NAN_KEY from
CROSSCODING_INSTRUCTIONST49
DT_FROM Job submitted Period – FromDate
Recommendations:
Prerequisites:
Table Description
CROSS_CODE_GROUPST26 List of Xcode Group ID 619lignme to be used for Xcoding
CROSSCODING_INSTRUCTIONST49 Crosscoding links information extracted from OGRDS
SHOP_PRICEST99 Table containing RMS prices by period, shop, NAN_KEY
Parameters :
Static Parameters:
Dynamic Parameters:
Phase:
PHASE 0 – INPUT AREA
Process Description:
This program is used to apply the specific coding for ASIN codes using loaded decodering information into
TDV_OGRDS_DESCR_DECODER table.
•
Applies in loading AREA only
•
Applies in a limited shop list using Shop Group concept
•
Applies only on remaining uncoded purchases after usual xCoding is applied
Example :
BAU coding No link found for Amazon Group nor any other for this barcode
Source of Information :
Table/View Description
TDV_OGRDS_DESCR_DECODER Table that stores the OGRDS decodering details
ALLT11 All the data collected by the families are loaded inside T ALL.
During the load phase, all the single fields of the record are
separated in datatypes and loaded in the table ALL as separate
records
TDV_SHOP_GROUP_CONTENTS Shop group content details
CROSSCODING_INSTRUCTIONST49 Crosscoding links information extracted from EIMDB
Files:
Input Files:NONE
Output File:NONE
Parameters :
Static Parameters
Dynamic Parameters
Process Description:
Phase:
PHASE 2 – AUTOMATIC DATA VALIDATION
Process Description:
This program is used to calculate the computation factors which in turn will be used to determine the
distribution factors for each trip.The program uses the predefined PCP setup done via GUI and generates a
new set if required.
Prerequisites :
89P Intended User Alignment must have been processed earlier on same set of data
Source of Information :
Table/View Description
TDV_PCP_FACTOR_SET Table to store the set data of each PCP run
TDV_PCP_CORRECTION_FACTORS Table to store the correction factors of each PCP run
TDV_PCP_CATEGORY_EXCLUSION Table to store the excluded Stratum charvalue and IBD
TDV_PCP_CATEGORY_SETUP Table to store the PCP setup defined via GUI
RAWDAILYT60 Purchase RAWDA
VSMP_COLL_CHAR_VALUES View of SMP table – TSMP_COLL_CHAR_VALUES
VSMP_INDXWEEKSEXPFT39 View of SMP table – INDXWEEKSEXPFT39
VSMP_COLLABEXPFT57 View of SMP table - COLLABEXPFT57
VSMP_INDEXT30 View of SMP table - INDEXT30
Files:
Input Files:NONE
Output File:NONE
Parameters :
Static Parameters
Run Management :
Under Validation Menu->PCP Setup->PCP1 screen user can configure categories and review
correction factors.
Process Description:
• IBD resolution
o Process will resolve IBD from specific PCP setup and if IBD’s are mutually exclusive ,it will
fail with error.
• Getting Expansion factor and Stratum Char values
o Process will use Index code ,Stratum Char ID and period range to fetch the respective
stratum char values for members
o Also XF for each member will be fetched using Index code , Common Sample and period
range
• Rawda data
o Using nankeys resolved from IBD ,member charvalues and period range respective raw
data are fetched from T60 table
o If there are any Category/Stratum combinations to be excluded in
TDV_PCP_CATEGORY_EXCLUSION ,their data will be removed for further processing.
• Factor set management
o Delete correction factors and factor set with date_from greater than or equal to activation
date
Process Description:
This program is used to calculate the distribution factor of each trip using the computed correction factor and
update the same in the T60 table.
Prerequisites:
89P Intended User Alignment must have been processed earlier on the same set of data.
179P – PCP Correction Factor computation must have been processed
Source of Information:
Table/View Description
TDV_PCP_FACTOR_SET Table to store the set data of each PCP run
TDV_PCP_CORRECTION_FACTORS Table to store the correction factors of each PCP run
TDV_PCP_CATEGORY_EXCLUSION Table to store the excluded Stratum charvalue and IBD
TDV_PCP_CATEGORY_SETUP Table to store the PCP setup defined via GUI
RAWDAILYT60 Purchase RAWDA
VSMP_COLL_CHAR_VALUES View of SMP table – TSMP_COLL_CHAR_VALUES
VSMP_INDXWEEKSEXPFT39 View of SMP table – INDXWEEKSEXPFT39
VSMP_INDEXT30 View of SMP table - INDEXT30
Files:
Output File:NONE
Parameters:
Static Parameters
Run Management:
Under Validation Menu->PCP Setup screen -> user can configure categories and review correction
factors.
Process Description:
• IBD resolution
o Process will resolve IBD from specific PCP setup and if IBD’s are mutually exclusive, it will
fail with error.
• Getting Stratum Char values
o Process will use Index code ,Stratum Char ID and period range to fetch the respective
stratum char values for members
• Getting correction factor
o Selecting appropriate set from TDV_PCP_FACTOR_SET using Activation Date parameter
• Rawda data
o Distribution factor is reset in T60 for the submitted period range and IBD’s.
o Using nankeys resolved from IBD ,member charvalues and period range respective raw
data are fetched from T60 table
o Correction factor is assigned to each purchase-using stratum and category, when it is not
found default value zero is assigned.
• Computing Distribution factors
o Distribution factor is computed as Correction Factor / Sum(Trip Correction Factors) and it is
updated into DT5953 column of T60 for each purchase record
Phase:
PHASE 2 –AUTOMATIC DATA VALIDATION
Process Description:
This program validates the prices delivered by the families in either of two methods which are standard and
temporary.
• Validation is applied on Rawda, comparing historical price datatype (DT5667) with some price limits
computed based on Standard price and MAD (median price deviation) of the current period. If price
is out of limits, this job is automatically updating current price datatype (DT5675), historical price
remains the same.
• If PROMOTION_STEP parameter is set to ON, then PRICE value of records with any of the
promotion datatypes defined by the static parameter PROMO_DT is rescaled by the
PROMO_RESCALE factor before comparing with the usual boundaries.
• All changes are logged in FAMILYLOGT67 table and can be displayed using FamilyLog screen.
• Rawda date range to be validated is defined by submission period and number of periods back.
• Validation is using the price group concept, shop characteristic to be used for price group is defined
as static parameter PRICE_GROUP.
• AF, BF and CF, METHOD, MADADJ are global parameters and their values have been setup in
TDV_JOB_GLOBAL_PARAMS.
Recommendations:
Constraints:
If the production cycle has been locked, it is required to submit this job in Rework mode.
Prerequisites:
➢Availability of the data in for the submission period T in Rawda
➢Availability of statistical parameters MAD (median price deviation) for the period T
➢Availability of standard price in T
Files:
Input Files:
No Input files
Output Files:
File containing all purchase acts with price=0 (File id: FILEO1)
Position Length Name Description
1 500 STR VARCHAR2
Parameters:
Static Parameters
Parameter Type Mandatory Comment STD TMP
PRICE_GROUP CHAR Y Shop Char to use for Price ✓ ✓
Group
PRODUCT_SCOPE SQL N IBD for nankeys to validate ✓ ✓
SHOP_SCOPE SQL N Shop Group for shop to ✓ ✓
validate
MIN_TOL NUMERIC N Minimum Tolerance ✓
LOW_PRICE_ADJ NUMERIC N Low Price Adjustment ✓
RERUN LIST N Rerun mode selection (Y or ✓ ✓
N)
PROMOTION_STEP LIST Y Promotion Step handling ✓ ✓
(ON or OFF)
PROMO_DT5662 LIST N UseDT5662 for Promo Flag ✓ ✓
(Y or N)
PROMO_DT5663 LIST N UseDT5663 for Promo Flag ✓ ✓
(Y or N)
PROMO_DT5664 LIST N UseDT5664 for Promo Flag ✓ ✓
(Y or N)
PROMO_DT5665 LIST N UseDT5665 for Promo Flag ✓ ✓
(Y or N)
PROMO_RESCALE NUMERIC N Rescaling factor for ✓ ✓
Promotions
MINMAD NUMERIC N Minimum Mad value ✓
LOWP_CHK_VAL1 NUMERIC N Low Price Check Value 1 ✓
LOWP_CHK_VAL2 NUMERIC N Low Price Check Value 2 ✓
LOWP_STD_VAL1 NUMERIC N Low Std Value 1 ✓
LOWP_STD_VAL2 NUMERIC N Low Std Value 2 ✓
Dynamic Parameters:
Rework Management:
P1021015 Shop not Found in T40 Shop not in T40 S No Shops Present in Check content of
the SHOPUSABILITYT40
SHOPUSABILITYT40 table
table
P9900235 There are Shops that they There are Shops W Shops are Found in Check content of
are not in that RAWDAILYT60but not SHOPUSABILITYT40
ShopUsabilityT40 they are not in in available in table
ShopUsabilityT40 SHOPUSABILITYT40
table
P0020724 IBD empty, please check IBD empty, S IBD empty, please Enter a valid IBD and
your setup please check your check your setup submit the job
setup
P0020725 Shop Group empty, please Shop Group S Shop Group empty, Enter a valid Shop
check your setup empty, please please check your Group and submit the
check your setup setup job
Process Description:
A new method has been defined in DsCI for Automatic Price Validation. DsCI has defined a new
methodology to compute Standard Price, MAD, CV_PC by either temporary or standard.
Temporary method is a replica of EHDV21171P- New Standard Price and MAD Computation job.
- Add calculation at module level (with and without price group – 𝑆𝑇𝐷_𝑃𝑅𝐼𝐶𝐸 and 𝐶𝑉_𝑃𝐶)
- Decision to use 2 clusters: coefficient_of_variance <= CLUSTER_THRESHOLD (static parameter) [instead
of variance < 0.5, in legacy] and num_obs (after removing outliers) < MIN_CLUSTER_OBS (static
parameter).
- STD Price “decisions” (outlier removal and cluster definition) with Original Price | Std price calculation with
validated price - MAD calculated with all observations and original price or validated price (parameterized -
by IBD)
Process details:
Initialization Step:
PRICE FOR = historical price (DT5667) for = historical price (DT5667) for
SELECTION all periods submission period
= validated price (DT5675) for
past periods
Step_2:
Note: Level 3 and Level 4 are called when user select method as standard method.
Note: Here only 5 observations are collected for process after outlier one record removed
and 4 records entering into standard price calculation and calculate population standard
deviation and mean and finding coefficient of variance and applied condition check for
cluster count. It comes under cluster count =1.
- Determining cluster:
• If Standard method: (nankey, module, product group, price_group)
▪ Compute Coeff of Variance = Std_deviation(population std) / Mean
▪ If Coeff of Variance <= CLUST_THRESH (Global parameter) or NOBS <
MIN_CLUSTER_OBS (Global parameter) then cluster count=1 else cluster
count = 2.
Note: To find price belonging to cluster 1 or 2 first find population standard
deviation and mean by nankey, module, product group, price_group and find
count(price_for_selection) by nankey, module, product group, price_group. And
compare coeff of variance and NOBS with static parameter and conclude price
belongs to 1 or 2 cluster.
• If Temporary method: (nankey, product group, price_group)
▪ Compute Variance
▪ If Variance < 0.5 then cluster count=1 else cluster count = 2
Note: For temporary find sample variance by nankey, product group,
price_group.
Note: 1. Load Std price for nankey and product group levels into
CNANPRICET34 by inserting new and updating existing records.
2. If standard method: Load Std price for module level into
TDV_MODULE_PRICES by inserting new and updating existing
records.
• If Standard method:
Use all observations from collected data (Take data for calculation before
outlier detection).
• If Temporary method:
Use only non-outlier(Valid) observations from the final table.
• Compute median_price by nankey, price group (Use price for mad field)
• Compute MAD = median (abs (PRICE_FOR_MAD – median_price)) by
nankey, price group.
• Load MAD and NOBS into CNANPRICET34. If data already present for submitted
period and cycle update the data and not present insert the data.
Sample calculation using nan_key = 43965701 and price_grp = 0000000008 data:
Median price = 28.26
Compute MAD = 3.14
Note: Here first find median for price_for_mad by nan_key and price_group then
subtract price_for_mad values with calculated median value. In some cases,
negative value will come. So, take absolute then take median for absolute
column.
• If Temporary method:
Use only non-outlier observations from final table
• Compute number of items price(count) by product group, price group, nan_items.
• Check if number of items (distinct count) >= MIN_ITEMS (static parameter) then
go for further calculation else eliminate that data.
3 >= 2(static parameter)
Note: Here are 3 distinct nan items present in the 8 records. So, that is greater than
static parameter min_item it enters into calculation part.
•
• Compute median_price by nan_items(nankey), product group, price_group (Using
price_for_mad).
• Compute MAD by nan_items(nankey), product group, price_group (using
price_for_mad)
• For standard:
Compute MAD = median (abs (PRICE_FOR_MAD – median_price))
Compute MAD absolute = (abs (PRICE_FOR_MAD – median_price))
Compute MAD = median (Compute MAD absolute) by
nan_items,product_grp, price_grp
CV_PC = average (MAD / Median price) by product_group, price_grp
Sample calculations:
Final Step:
- Report count of records selected for each level and period
- Report count of standard prices computed for each level and period
- Report count of MAD computed for each level and period
Prerequisites:
Availability of the data in rawda for the submission period.
Price Group information is available in Shop Usability table.
Run mode: PROC
Input Files: None
Output File: None
Dynamic parameters:
Global parameters:
Process Description:
• The proposed methodology will correct prices based on the likelihood (instead of a rule-based
approach) that the HH provided the total value and not the unitary price.
• Validation is applied on validation area (P359_1T12), By filtering the data with anyone of IBD and
Shop scope. Performing the calculation with the formula. If price is out of limits, this job is
automatically updating current price datatype (DT5675), historical price remains the same.
• All changes are logged in FAMILYLOGT67 table and can be displayed using FamilyLog screen.
• The validation area date range to be validated is defined by submission period and number of
periods back.
• IBD_VALUE, IBD_PRICE and SHOP_SCOPE are global parameters and their values have been
set up in TDV_JOB_GLOBAL_PARAMS.
Validation model:
Step 1:
• Get list of nankey to be validated, initialize the reference price as standard price from previous
period .
• Select full list of Nan_key in P359_1T12 for selected audit/period/timestamp and for all relevant
nan_keys, set RefPrice(t):=StdPrice(t-1), here we select standard price in CNANPRICET34 for Price
Group 0 (and not standard price for specific price group / retailer) for previous period.
• For next step split the data for week t into two parts
o Part A: Data filtered by IBD_VALUE and
o Part B: Data filtered by IBD_PRICE
Step 2:
Report counters
• Report counters for total corrections
• Report counter for selection by IBD
• Report counter for corrections by IBD
Oracle Tables Involved:
Table Description
CNANPRICET34 Contains standard prices and MAD by cycle, period, price group,
product group, NAN_KEY
FAMILY_LOGT67 Log of changes applied by DV automatic validations processes
P359_1T12 DV validation area data
Files:
Input /Output Files:
No Input /Output files
Parameters:
Static Parameters:
Global Parameters:
Dynamic Parameters:
Sample Calculation:
when units = 1
set new price = DT5675
when units > 1
PHASE 4 – SERVICES
This program is updating IMDB product referential tables in NCPS DV. Those tables are used by many other
DV jobs to retrieve Xcoding instructions, product characteristics, to check Nan_key validity…
IMDB flat file loader is submitted as a single GROUP and all the different jobs in the GROUP (EHDV21301P
– EHDV21309P) are run in parallel.
OR
RIPPLE Xcoding
Instructions. EHDV21302P
Recommendations:
Constraints:
All IMDB tables are unique across audits (one product referential for all audits).
Prerequisites:
The following tables should be initialized at country setup with the following values:
DEFAULT_SCHEMA dv_<CC>
COUNTRY <CC>
Source of Information:
Files:
Input Files:
The input files used for IMDB load should follow the naming convention (as shown in the table below) where
<CC> is the country code in capital letters. For example the input file for Finland (FI) to load the
CHAR_TYPEST17 table should be IMDB_CHAR_TYPES.FI.dat.
Fields in the ASCII files should be tab delimited and records are delimited by CR/LF.
Output Files:
No output file
Parameters:
Static Parameters:
o CROSS_CODE_GROUPST26
o CROSSCODING_INSTRUCTIONST49
Dynamic Parameters
Rework Management:
Surgery Tracking
As part of DP restatement mode, The changes are to be tracked in DV system at two levels (Period and
Nankey).
There are two kinds of tracking process to achieve the same.
Massive Tracking :
This is performed when the change is applied on the Complete RAWDA on Periods.
Process:
When the FL_TRACKING flag is set to ‘M’ Then,
a)The impacted periods based on the submitted period and NUMPER period are retrieved.
b)Insert a record into new table TDV_ITEM_EVENT_TRACKING with Nankey = 0 for each period
submitted by the run.
Jobs affected : EHDV21000P, EHDV21026P, EHDV21048P, EHDV21075P, EHDV21076P, EHDV21084P,
EHDV21085P, EHDV21091P, EHDV21137P, EHDV21137S, EHDV21143P, EHDV21144P
Item Tracking : This process is performed when the change is limited to few purchases on periods.
Process :
Jobs impacted are as follows:
EHDV21042P
Insert into TDV_ITEM_EVENT_TRACKING table for each period,nankey impacted in RAWDAILYT60.
EHDV21061P – This job require changes at both tracking level, Massive and Item.
When Mode = ‘PUBL’ Then
The impacted periods based on the submitted period and NUMPER period are retrieved.
Insert a record into new table TDV_ITEM_EVENT_TRACKING with Nankey = 0 for each period submitted by
the run.
When Mode = ‘DATE’ Then
Insert into table TDV_ITEM_EVENT_TRACKING using replaced Nankey.
Insert into table TDV_ITEM_EVENT_TRACKING using replacing Nankey.
Delete from table TDV_ITEM_EVENT_TRACKING based on the from and to period for the submitted Audit.
CHARACTERISTIC
IMDB_CHAR_TYPES.<CC>.dat
TYPE
Characteristic
F_CHR_CODE NUMBER
Code
F_CHR_MNEMONIC VARCHAR2(5 BYTE) Short Mnemonic
YYYYMMDDHH24MISS Last changed
F_CHR_LAST_CHANGED_DATE DATE
date
Type of
characteristic
F_CHR_CATEGORY VARCHAR2(1 BYTE)
‘P’ = PHYSICAL
‘M’ = MARKETING
Can the
characteristic
also have a
numeric value?
F_CHR_NUMERIC_FLAG VARCHAR2(1 BYTE) ‘N’ = non-
numeric
characteristic
‘Y’ = numeric
characteristic
Type of value
F_CHR_VALUES_DISTRIBUTION VARCHAR2(20 BYTE)
distribution
CHARACTERISTIC
IMDB_CHAR_TYPES_TRANS.<CC>.dat TYPE
TRANSLATION
Characteristic
F_CHT_CTYPE_CODE NUMBER
Code
F_CHT_LANGUAGE_MNEMONIC VARCHAR2(3 BYTE) Language code
CHARACTERISTIC
IMDB_CHAR_VALUES.<CC>.dat
VALUE
Characteristic
F_CVA_CODE NUMBER
Value Code
Characteristic
F_CVA_CTYPE_CODE NUMBER
Code
Numeric value
F_CVA_NUMERIC_VALUE NUMBER (where
appropriate)
The unit for
F_CVA_UNIT VARCHAR2(3 BYTE) the numeric
value
YYYYMMDDHH24MISS Last changed
F_CVA_LAST_CHANGED_DATE DATE
date
Status of the
vale
F_CVA_DICTIONARY_PROPOSED_
VARCHAR2(1 BYTE) ‘A’ =
FLAG
AUTHORISED
‘P’ = PROPOSED
For internal Set to
F_CVA_INTERNAL_USE_FLAG VARCHAR2(1 BYTE) use only. ‘Y’ = ‘N’
YES, ‘N’ = NO
Exclude this
value from item
F_CVA_EXCLUDE_FROM_HEADING VARCHAR2(1 BYTE) descriptions
‘Y’ = YES, ‘N’
= NO
CHARACTERISTIC
IMDB_CHAR_VALUES_TRANS.<CC>.dat VALUE
TRANSLATION
Characteristic
F_CVT_CVAL_CODE NUMBER
Value Code
F_CVT_CTYPE_CODE NUMBER Characteristic
CHARACTRISTIC
IMDB_CVALS_IN_USE.<CC>.dat VALUES IN USE
BY MODULE
F_CVU_MOD_CODE NUMBER Module Code
Characteristic
F_CVU_CTYPE_CODE NUMBER
Value Code
Characteristic
F_CVU_CVAL_CODE NUMBER
Code
Is the Value
Authorised for
the Module
F_CVU_MODULE_PROPOSED_FLAG VARCHAR2(1 BYTE)
‘A’ =
AUTHORISED
‘P’ = PROPOSED
YYYYMMDDHH24MISS Last changed
F_CVU_LAST_CHANGED_DATE DATE
date
IMDB_LANGUAGES.<CC>.dat LANGUAGES
F_LNG_MNEMONIC VARCHAR2(3 BYTE) Language code
YYYMMDDHH24MISS Date last
F_LNG_LAST_CHANGED_DATE DATE
changed
Language
F_LNG_DESC VARCHAR2(50 BYTE)
description
Is this the
central
F_LNG_CENTRAL_FLAG VARCHAR2(1 BYTE) language
‘Y’ = YES, ‘N’
= NO
IMDB_MODULES.<CC>.dat MODULES
F_MOD_CODE NUMBER Module Code
Product Group
F_MOD_PG_CODE NUMBER
Code
F_MOD_SG_CODE NUMBER Supergroup Code
YYYYMMDDHH24MISS Last changed
F_MOD_LAST_CHANGED_DATE DATE
date
Is this a
Banded Pack
F_MOD_BAND_PACK_FLAG VARCHAR2(1 BYTE) Module?
‘Y’ = YES, ‘N’
= NO
Is this a
Product Group
F_MOD_PGI_FLAG VARCHAR2(1 BYTE) Item Module?
‘Y’ = YES, ‘N’
= NO
Are multi-EAN
links allowed
F_MOD_MULTI_EAN_LINK_FLAG VARCHAR2(1 BYTE)
‘Y’ = YES, ‘N’
= NO
Internal use
only?
F_MOD_INTERNAL_USE_FLAG VARCHAR2(1 BYTE)
‘Y’ = YES, ‘N’
= NO
Holds
unidentified
F_MOD_UNIDENTIFIED_ITEMS_F
VARCHAR2(1 BYTE) items?
LAG
‘Y’ = YES, ‘N’
= NO
F_MOD_DEFAULT_PGI_FLAG VARCHAR2(1 BYTE) Default PGI?
MODULE
IMDB_MODULES_TRANS.<CC>.dat
TRANSLATIONS
F_MOT_MOD_CODE NUMBER, Module Code
F_MOT_LANGUAGE_MNEMONIC VARCHAR2(3 BYTE) Language code
YYYYMMDDHH24MISS Last changed
F_MOT_LAST_CHANGED_DATE DATE
date
VARCHAR2(100 Long
F_MOT_DESC
BYTE) description
Short
F_MOT_SHORT_DESC VARCHAR2(30 BYTE)
Description
CHARACTERISTICS
IMDB_MOD_CTYPE_ASGNS.<CC>.dat ASSIGNED TO
MODULES
F_MCA_MOD_CODE NUMBER Module Code
Characteristic
F_MCA_CTYPE_CODE NUMBER
Type Code
Sequence number
in Common Item
F_MCA_CIG_SEQ_NUMBER NUMBER
Group
generation
YYYYMMDDHH24MISS Last Changed
F_MCA_LAST_CHANGED_DATE DATE
Date
Is the
characteristic
mandatory for
F_MCA_MANDATORY_FLAG VARCHAR2(1 BYTE)
the Module
‘Y’ = YES, ‘N’
= NO
Is the
characteristic
locked for the
F_MCA_LOCKED_FLAG VARCHAR2(1 BYTE)
Module
‘Y’ = YES, ‘N’
= NO
F_MCA_FIELD_COLLECTION_FLA Indicates if
VARCHAR2(1 BYTE)
G the
WEIGHTS
IMDB_MOD_WEIGHT_ASGNS.<CC>.dat ASSIGNED TO
MODULES
F_MWA_MOD_CODE NUMBER Module Code
F_MWA_WEIGHT_CODE NUMBER Weight Code
YYYYMMDDHH24MISS Last Changed
F_MWA_LAST_CHANGED_DATE DATE
Date
Is the weight
mandatory for
F_MWA_MANDATORY_FLAG VARCHAR2(1 BYTE) the Module
‘Y’ = YES, ‘N’
= NO
Country
specific NAN
IMDB_NAN_CVALS_CTY.<CC>.dat
Characteristic
Value links
F_NCV_NAN_KEY NUMBER NAN key code
Characteristic
F_NCV_CTYPE_CODE NUMBER
Type Code
Characteristic
F_NCV_CVAL_CODE NUMBER
Value Code
YYYYMMDDHH24MISS Last changed
F_NCV_LAST_CHANGED_DATE DATE
date
YYYYMMDDHH24MISS Effective From
F_NCV_EFFECTIVE_FROM DATE
Date
YYYYMMDDHH24MISS Effective To
F_NCV_EFFECTIVE_TO DATE
Date
Publication
F_NCV_PUBLICATION_NUM NUMBER
Number
F_NCV_COUNTRY VARCHAR2(2 BYTE) Country Code
Country Owner
F_NCV_CHAR_COUNTRY VARCHAR2(2 BYTE) for the
Characteristic
Country
IMDB_NAN_ITEMS_CTY.<CC>.dat Specific Nan
Items
F_NAN_KEY NUMBER NAN Key Code
F_NAN_CODE NUMBER NAN Code
F_NAN_MOD_CODE NUMBER Module Code
F_NAN_CREATED_DATE DATE YYYYMMDDHH24MISS Created Date
F_NAN_PROP_LAST_CHANGED_DA YYYYMMDDHH24MISS Property Last
DATE
TE Changed Date
YYYYMMDDHH24MISS Last Changed
F_NAN_LAST_CHANGED_DATE DATE
date
Nan State.
‘C’ = COMPLETE,
F_NAN_STATE VARCHAR2(1 BYTE) ‘P’ = Physical
Complete, ‘N’ =
None Complete
Banded pack
F_NAN_BANDED_PACK_FLAG VARCHAR2(1 BYTE)
flag
To be deleted
F_NAN_TO_BE_DELETED_FLAG VARCHAR2(1 BYTE)
flag
F_NAN_ON_HOLD_FLAG VARCHAR2(1 BYTE) On hold flag
Pending
F_NAN_PENDING_AUTH_FLAG VARCHAR2(1 BYTE) 670uthorisation
flag
F_NAN_LOCKED_FLAG VARCHAR2(1 BYTE) Locked Flag
Publication
F_NAN_PUBLICATION_NUM NUMBER
number
F_NAN_COUNTRY VARCHAR2(2 BYTE) Country Code
Country
IMDB_NAN_ITEMS_TR_CTY.<CC>.dat Specific NAN
descriptions
F_NAT_NAN_KEY NUMBER NAN Key Code
F_NAT_LANGUAGE_MNEMONIC VARCHAR2(3 BYTE) Language Code
VARCHAR2(1000 First
F_NAT_DESC1
BYTE) description
VARCHAR2(1000 Second
F_NAT_DESC2
BYTE) Description
Country
Specific NAN
IMDB_NAN_LINKS_CTY.<CC>.dat ITEM LINKS
(e.g. for
Banded Packs)
F_NIL_PARENT_NAN_KEY NUMBER NAN Key Code
Child NAN Key
F_NIL_CHILD_NAN_KEY NUMBER
Code
Value
F_NIL_BAND_PACK_VALUE_PCT NUMBER(8,5)
Percentage
Link Type.
‘BPACK_CONSTIT’
= Banded Pack
F_NIL_LINK_TYPE VARCHAR2(20 BYTE) constituent
‘APPORTIONED’ =
Apportioned
Item
YYYYMMDDHH24MISS Last changed
F_NIL_LAST_CHANGED_DATE DATE
date
Publication
F_NIL_PUBLICATION_NUM NUMBER
Number
F_NIL_COUNTRY VARCHAR2(2 BYTE) Country Code
Volume
F_NIL_BAND_PACK_VOL_PCT NUMBER
Percentage
Country
IMDB_NAN_WTVALS_CTY.<CC>.dat Specific NAN
WEIGHT LINKS
F_NWV_NAN_KEY NUMBER NAN key code
F_NWV_WEIGHT_CODE NUMBER Weight Code
F_NWV_UNIT_MNEMONIC VARCHAR2(3 BYTE) Unit
F_NWV_NUMERIC_VALUE NUMBER(11,5) Weight value
YYYYMMDDHH24MISS Last changed
F_NWV_LAST_CHANGED_DATE DATE
date
F_NWV_EFFECTIVE_FROM DATE YYYYMMDDHH24MISS Effective from
PRODUCT GROUP
IMDB_PGROUPS_TRANS.<CC>.dat
TRANSLATIONS
Product Group
F_PGT_PG_CODE NUMBER
code
F_PGT_LANGUAGE_MNEMONIC VARCHAR2(3 BYTE) Language code
YYYYMMDDHH24MISS Last changed
F_PGT_LAST_CHANGED_DATE DATE
date
VARCHAR2(100 Long
F_PGT_DESC
BYTE) description
Short
F_PGT_SHORT_DESC VARCHAR2(30 BYTE)
description
IMDB_SUPER_GROUPS.<CC>.dat SUPERGROUP
F_SGR_CODE NUMBER Supergroup code
YYYYMMDDHH24MISS Last Changed
F_SGR_LAST_CHANGED_DATE DATE
Date
Banded Pack
Flag.
F_SGR_BAND_PACK_FLAG VARCHAR2(1 BYTE)
‘Y’ = YES, ‘N’
= NO
SUPERGROUP
IMDB_SGROUPS_TRANS.<CC>.dat
TRANSLATIONS
F_SGT_SG_CODE NUMBER Supergroup code
UNIT
IMDB_UNIT_CONVERSIONS.<CC>.dat
CONVERSIONS
F_UNC_BASE_MNEMONIC VARCHAR2(3 BYTE) Base unit
F_UNC_DERIVED_MNEMONIC VARCHAR2(3 BYTE) Target unit
YYYYMMDDHH24MISS Date last
F_UNC_LAST_CHANGED_DATE DATE
changed
Factor to
convert from
the Base to the
Target unit.
Conversion is
done by
F_UNC_CONVERSION_FACTOR NUMBER(15,7)
multiplication,
so if the Base
is KG and the
Target is G
then the factor
is 1000.
WEIGHT CODE
IMDB_WTCODES_TRANS.<CC>.dat TRANSLATIONS
(DESCRIPTIONS)
F_WTT_WEIGHT_CODE NUMBER Weight Code
F_WTT_LANGUAGE_MNEMONIC VARCHAR2(3 BYTE) Language code
YYYYMMDDHH24MISS Last changed
F_WTT_LAST_CHANGED_DATE DATE
date
Weight
F_WTT_DESC VARCHAR2(60 BYTE)
Description
IMDB_XCD_INSTRUCTIONS.<CC>.dat CROSS-CODINGS
XCODE
F_XCI_XCODE_KEY NUMBER
identifier
Cross-code
F_XCI_XCODE_GROUP_CODE VARCHAR2(20 BYTE)
Group code
External Item
F_XCI_EXTERNAL_CODE VARCHAR2(30 BYTE)
ID
F_XCI_EXTERNAL_CODE_SUFFIX VARCHAR2(10 BYTE) Suffix
Code type, e.g.
F_XCI_CODE_TYPE_MNEMONIC VARCHAR2(8 BYTE)
‘EAN’, ‘LAC’
F_XCI_NAN_KEY NUMBER NAN key code
F_XCI_NAN_CODE NUMBER NAN code
F_XCI_MOD_CODE NUMBER Module Code
Product Group
F_XCI_PG_CODE NUMBER
Code
YYYYMMDDHH24MISS Effective from
F_XCI_EFFECTIVE_FROM DATE
date
YYYYMMDDHH24MISS Effective to
F_XCI_EFFECTIVE_TO DATE
date
YYYYMMDDHH24MISS
F_XCI_CREATION_DATE DATE Creation date
YYYYMMDDHH24MISS Last changed
F_XCI_LAST_CHANGED_DATE DATE
date
NAN_VAR_WEIGHT_FROM_IMDB.<CC>.d
at
F_NAN_KEY NUMBER
1.6 28-Aug-2007 02P : add of new output file to report 677anellist with more N Cousin
than 7 days of holidays or holiday start date lower than
date from of submission period
New job added : 82P – Extract from ALLT11
1.10 4-July-2008 New job added : 88P – Xcoding on barcode list N Cousin
New job added : 89P – Intended User Alignment
New job added : 90P – Total Spent Validation
61P: change in counters organisation
68P : change control of basket key already present in
output table
23P & 24P : recommendation about purchase keys &
Tbskt keys alignment for Tbskt fact computation (DP09)
1.12 27-nov-2008 New job added : 92P – DV KPI computation and N Cousin
extraction
New job added : 93P – Extract for 678anellist compliance
84P: change to include additional high volume validation
in case of few observations
1.16 20-Dec-2009 35P : update description of logic for cycle & period N Cousin
95P : new job : price/total value validation
96P : new job: extraction for HD items split
90P : update description of model for DT5941 validation
1.19 06-Dec-2010 120P: new job Purchase File Extraction to CASE for
LATAM
121P: new job UPC File Extraction to CASE for LATAM
122P: new job Trip File Extraction to CASE for LATAM
24P : changes related to DT5950, DT5676, DT5951
Add new DTs for Latam in DT list
1.46 25-Feb-2015 Added the Script details for the Jobs in Appendix for DV Gomathinayagam.B
automation simplification
1.47 13-Mar-15 Production Flow – Process Flow update Gomathinayagam.B
1.48 13-Mar-15 JJ 13786 – EHDV21142P Generic Shop Edit Sophocles Savvides
JJ 15734 – EHDV21148P External Price Loader
1.49 10-Apr-15 Added the Changes related to DP Restatement - Gomathinayagam.B
Surgery Tracking
1.50 14-Apr-15 RIPPLE Xcoding Instructions Load Sophocles Savvides
1.51 30-June-15 INC00535543 – EHDV21076P Use NUMPER dynamic Sophocles Savvides
parameter instead of static parameter
1.94 25-Sep-2019 OGRDS – step2 – other jobs ( 61P, 78P, 20P, 88P, 135P) Hemanth Kumar J
Tracking message updation – 01p,149p,158p,94p Annamalai Srinivasan
1.95 23-Oct-2019 54P/55P & 86P : Parameter alignment & tracking changes Hemanth Kumar J
Annamalai Srinivasan
1.96 07-Jan-2020 DMND 22291 – ZTV CPS – Price Load using OGRDS char Rohith Shenoy
DMND 22716 – ZTV – 78P Rexcoding by Shop Group Hemanth Kumar J
1.97 06-Feb-2020 DMND 22681 – Data Validation (DV) US reXcoding on barcode list (156P) Hemanth Kumar J
DMND 22439 – New FMCG Units datatype computation
DMND 22744 – New Std Price and MAD Computation – FPV
INC05543291 – 171P – wrong failure message preventing from using NORMAL
mode
TASK3085470 and INC05570771 – Backdata Loader Improve Counters
1.98 02-Mar-2020 170P changes related to INC05717970 Hemanth Kumar J
FMCG Phase 2 US and CA Impacts
1.99 30-Mar-2020 DMND 22699 – DV OGRDS Alignment (EHDV21070P) Sophocles Savvides
88P job for the OGRDS mode by using dt_update but not dt_created for the selection Annamalai Srinivasan
of Xcoding instructions
EHDV21171P – Period length explanation update
DMND 22717 – Assortment Items Loader (EHDV21177P)
INC05776978 – SOURCE3 catalog alignment for 86P
2.02 22-May-2020 158P New Output file – DMND 22290 – ZTV – DV Brand Exception new report Rohith Shenoy
2.03 19-June-2020 070P- DMND 22793 – DV Amazon ASIN code Handling Sophocles Savvides
070P – DMND 22861- OGRDS Headings alignment
DV data Types free for Finland Receipt Capture
2.04 20-July-2020 158P New Output file 2 – DMND 22290 – ZTV – DV Brand Exception new report – Hemanth Kumar J
QH3
2.05 20-July-2020 DMND22721 – DV Basket change tracking Rohith Shenoy
2.06 12-Oct-2020 INC05378010 – user manual change for 66P reference to T43 removed Rohith Shenoy
DMND 23987 – Shop resolution changes Hemanth Kumar J
2.07 09-Nov-2020 DMND 23860 – PCP Latam – Distribution Factor calculation Hemanth Kumar J
2.08 16-Nov-2020 DMND 22769 – ZTV – Manual Panel Late Transmission Hemanth Kumar J
2.14 04-Aug-2021 July & Aug content alignment which includes 79P doc addition, 75P, 169, 171P, 41P, Vemal M
48P, 92P, 93P, 26P Hemanth Kumar J
Annamalai Srinivasan
Rohith Shenoy
Dhanush
Maheswaran S
Maheswaran P
Reshma Koshy
Ismail Babu
2.15 01-Sep-2021 DV2109 alignment for 175P tech data alignment and 162P new key addition in Rajesh Gupta
setup_param Dhanush
2.16 29-Sep-2021 DV2110 alignment for 01P, 142P, 152P, 140P, 150P, 168P, 144P, 153P and 73P Hemanth Kumar J
Annamalai Srinivasan
Dhanush
Maheswaran S
Ismail Babu
2.19 08-Dec-2021 26P enhancement to push parquet files to DP via AZcopy Reshma Koshy
Vemal Manoharan
2.20 19-Dec-2021 DMND 24728 – Refactoring Jobs – 135P, 00P and 68P Reshma Koshy
Ismail Babu
2.20 16-Feb- 2022 DMND 24728 : Refactoring Jobs - EHDV21001P. Dhanush
2.21 DMND 25172 : Refactoring Jobs - EHDV21098P. Mahes Periyasamy
2.22 28-Feb-2022 92P,169P,150P,152P,73P and 22P aligned with refactoring changes Dhanush,Reshma,Mahes,
Rohith
2.23 12-Apr-2022 EHDV21062P and EHDV21063P addition Sophocles Savvides
Refactored jobs aligned with latest changes. Maheswaran, Ismail ,Reshma
,Rahul
2.24 11-May-2022 EHDV21089P Reshma
DMND 25086 - OmniShopper - Receipt ID handling in NCPS. Sangeetha
2.25 26-May-2022 EHDV21023P and EHDV21123P refactoring changes Reshma
Venkatesh
2.26 22-June -2022 EHDV21085P and EHDV21090P refactoring changes Ismail
Rahul
2.27 26-July -2022 INC10921123 and INC10921130 - 154P and 156P User manual update Hemanth
2.28 09-Sept-2022 DMND 25145 - EHDV21139P -Beverage Multipack Detection and EHDV21048P Cleaning Celcia
DMND 25146 - EHDV21183P-NCPS DV Normalization (replacing job 95P) - Phase 1 Sangeetha
DMND 25148 - EHDV21181P-new method to validate prices in NCPS DV – APV Rahul
DMND 25147 - EHDV21182P- Price and MAD Computation Standard Venkatesh
2.29 09-Nov-2022 RITM5499571 - EHDV21139P – User manual update Sangeetha
RITM5504337 – TASK5576040 - EHDV21182sP – Phase change updation Venkatesh
DBUREF–3489 – 73p – Hive to oracle source change manual update Reshma
0: No correction
1 : quantity corrected by multipack validation (18P)
2 : quantity corrected by HBE (75P)
3 : quantity corrected by HBE (75P)
4 : quantity corrected by On line correction screen
6 : record inserted by Drug Estimation
7: quantity corrected by CUOE (173P)
8: quantity corrected by CUOE (173P)
9: quantity corrected by CUOE (173P)