In XE release, only Financial and Distribution modules were implemented. After upgrading to E900 Release, the Distribution and Manufacturing Modules are implemented. Now there is requirement to change Display Decimal for Quantity (QTYINV Class data dictionary items) from 0 to 2 decimal places. How to convert/change Display Decimal for QTYINV class data items and also convert all existing data to reflect this change?
After go-live, there can be needs to change display decimal point. This document is to explain possible inquiry you may have.
Q1. Is there any Batch Application which may enable us to convert existing Business Data to a Display Decimal change from 0 to 2 for DD Class 'QTYINV'?
No. Currently we do not have any batch application to perform this.
Q2. What is the purpose of UBE R9200100 - 'Update Display Decimals for Data Item Class'?
The UBE R9200100 will update metadata not business/transaction data. In running R9200100 it will set F9210.CDEC (DataDisplayDecimals) as you have defined in Processing Option in running this report.
Q4. In manufacturing module there is a UBE "R30QNTY - QNTY Decimal Conversion" to convert QNTY class data items data, why there is no such a batch application for QTYINV class data items?
At once you are go-live environment, converting quantity information may cause some legal dispute as data in database may be contracted/agreed quantities for a certain Supplier/Customer.
Q5. We are planning to write custom UBE to fulfill this. Will there be any way to accomplish this?
The following suggested steps can be considered. Please note that Oracle do not hold any responsibility for these changes. A full back up of your system and data is recommended.
Manipulate/Create DD Data Source(Schema/Owner) for specific patch code (e.g., Data Dictionary – CRP) for testing not to affect test done for CRP environment
Update Display Decimial Point for DD item QTYINV from 0 to 2 through
Run R9200100 – Update Display Decimals for Data Item Class to update Display Decimal Point against F9210. By running this report, F9210.FRCDEC - DataDisplayDecimals will be updated from 0 to 2. Be noted that this steps only update metadata (TAMSPEC of dddict.xdb and ddb and RDB of F9210).
Specify/List-up Tables by Columns
To specify/list-up all the DD items which utilizes QTYINV class
SQL> SELECT FRDTAI FROM DD812.F9210 WHERE (FRCLAS=’QTYINV’);
At once lists up all the DD items (columns) then look for Tables which makes use of above DD items
SQL> SELECT TDOBNM, TDOBND FROM PD812.F98711 WHERE (TDOBNM=’DTAI’) * TDOBNM is table ID * TDAI is column ID which is retrieved from step 'a' Note that tables starts with F9871* is RDB for metadata and equivalent TAMSpec is glbltbl.xdb and ddb) which can updated through package build or upon request
List up Tables by columns and based on this information, update related tables
Update Business Data (by multiplying 100 if there is any value) based on tables by columns. At this level custom UBE will be better option to perform this rather than SQL
Build/deploy Full package: this is to update C Components and Specifications
It depends on your business requirement. Below is possible implementation
Create a new Business View with two tables F9210 - 'Data Field Specifications (OneWorld)' and F98711 - 'Table Columns' (F9210.DTAI(DataItem) = F98711.OBND(DDObjectNameEverest)) with relationship 1:m
Q7. Other considerations and follow up actions to be taken?
In case you are considering to update display decimal in go-live environment where huge number of transaction data are added, then do proper test in your CRP or Testing environment before you implement this change in production. The main concern here is that your transaction data will be sitting in different data source (schema) but data dictionary item (meta data transaction files) are sitting in the data source of 'system' which affect the change globally.
Most commonly below method can be considered,
Replicate Data Source for Data Dictionary Tables per Environment (e.g., DD - CRP)
Adjust OCM for F92* series tables
Reset Caches (OCM cache and Data Source cache)
(Optional) Test changed settings/mappings by changing any DD information
Change Display Decimal through R9200100
Deploy change through R92TAM and R98CRTGL to update dddict.xdb, ddb and glbltbl.xdb and ddb respectively (refer <Note 626511.1> - E1: DD: Deploying Data Dictionary Changes. Or delete dddict and glbltbl across machines
Update values in Transactional tables
Full application test
Note: Commonly the outcome of multiplied by 100 or 10000 is caused by missing step 6. So make it sure you have deleted dddict and glbltbl in all machines you are working on.
NOTE: Oracle is not responsible for any custom report which may not yield the result set what you want to have. So before perform any conversion, back-up business data and perform full test.
To discuss information further with Oracle experts and industry peers, we encourage you to review, join or start a discussion in the JDE1 Distribution Community.
To look at upcoming or archived Advisor Webcasts please see Advisor Webcast Details (Doc ID 548764.1) if your topic is not currently scheduled please suggest it.