Impact of Changing the Size of a Standard Data Dictionary Item

Purpose
Scope
Details
 Overview
 Issues that Can Occur when Changing the Size of String Data Dictionary Alias DL01 
 Consequences of String Data Dictionary Size Change to Unit of Measure
 Symptoms
 Cause
 To resolve this issue:

Purpose

This document details the impact of changing the size on a standard EnterpriseOne Data Dictionary data item.  The document includes the impact and some examples of the results when making this type of change.

Scope

This document is intended for the EnterpriseOne Data Dictionary Administrator

Details

Overview

Making a change to a standard EnterpriseOne data dictionary item is not recommended or supported.  Tables, business views, applications and business functions are designed with the standard size of the data item and making a change to this size can result in errors within the applications and data integrity issues.  If a data item size is changed, all tables using the data item would need to be generated, any data entered would need to be manually converted, all business functions that use the data item in their data structures would need the header files updated and business functions rebuilt, all business functions that reference tables that contain this data item would need to be rebuilt, and so forth.  This is a widespread change that impacts all objects across the system that use the data item.  In addition, this type of change is not supported in an upgrade.

NOTE: Based on the above implications of this type of change, we do not recommend making any changes to the size of standard EnterpriseOne data dictionary items.  We recommend that the additional information be contained within another field, within a custom data dictionary item in a custom table or some other logic be used to achieve the needed results. By default, changing a Data Dictionary item affects all environments as the recommended configuration is to have one Data Dictionary F9210 in the Data Source 'Data Dictionary'


For additional information on the Data Dictionary, refer to Overview of EnterpriseOne Data Dictionary

Issues that Can Occur when Changing the Size of String Data Dictionary Alias DL01 

In EnterpriseOne, thousands of objects including Tables, Business Views, Business Functions,  Data Structures, etc. make use of the Data Dictionary item DL01 as a member, column, or parameter. 

The following are some discrepancies that can occur as a result of a size change of this standard DD item.

  1. Synchronization of DD items between RDB and TAMSpec
  2. Synchronization between DD and Table Columns definition in Central Objects
  3. Synchronization within a Business Function
  4. Synchronization between two Business Functions
  5. Synchronization between Application and Business Function
  6. Synchronization between E1 Logic and Database

 

Based on the above implications of this type of change, we do not recommend making any changes to the size of standard EnterpriseOne data dictionary items. We recommend that the additional information be contained within another field, within a custom data dictionary item in a custom table or some other logic be used to achieve the needed results. In case the existing size does not meet your legal requirement, then inquire with Oracle Global Support for further clarification

 

Consequences of String Data Dictionary Size Change to Unit of Measure

The following example shows the results of a string data dictionary size change.  In this example, the size of the standard EnterpriseOne Data Dictionary item with DD Alias 'UOM1' UnitOfMeasurePrimary (Unit of Measure - Primary) was changed by a developer at the customer's site from a size of 2 to a size of 3.

Symptoms

After building a full package, multiple errors across EnterpriseOne are occurring.

Some examples of the errors are:

Additional errors are occurring as well. 

Cause

This issue is caused by the change of the standard EnterpriseOne string Data Dictionary item UOM1 from the shipped size of '2' to a size of '3' digits.  This type of size change is NOT supported and results in widespread errors throughout the system. 

  1. Check OCM to determine whether there are more then 2 data sources for table F9210 - Data Field Specifications (OneWorld) for all the environments
  2. Go to UTB and filter data through F9210.FRUPMJ (for example greater than last full package date)
  3. Look for column F9210.FRDTAS - DataItemSize (Data Item Size)
  4. And/Or Capture jdedebug.log (call object kernel log) and determine whether data structure item for output has odd value

For this example, jdedebug.log may read as below:

Calling Business function VerifyAndGetItemMaster
        from Level 1 for UserID. Application Name [P3002], Version [ZJDE0001] (BSFNLevel = 1)
IN->[ 1] szPrimaryItemNumber [4418-0031-000]
IN->[ 2] szBranchPlant []
IN->[ 3] szDescription [ ]
IN->[ 4] szDescription2 [ ]
IN->[ 5] cSymbolidentifier [ ]
IN->[ 6] idF4101LongRowPtr [0]
IN->[ 7] mnShortItemNumber [0]
IN->[ 8] cErrorcode [ ]
IN->[ 9] szLanguagepreference [ ]
IN->[ 10] mnAddressnumber [0]
IN->[ 11] szSystemcode [ ]
IN->[ 12] szLongItemNumber [ ]
IN->[ 13] szThirdItemNumber [ ]
IN->[ 14] szItemFlashMsg [ ]
IN->[ 15] cReturnPtr [1]
...
Entering JDB_FetchKeyed
SELECT * FROM PRODDTA.F4101 WHERE ( IMLITM = '4418-0031-000' )
Fetched the record
OUT->[ 1] szPrimaryItemNumber [4418-0031-000 ]
OUT->[ 2] szBranchPlant []
OUT->[ 3] szDescription [D1 - FRAME ]
OUT->[ 4] szDescription2 [ ]
OUT->[ 5] cSymbolidentifier [2]
OUT->[ 6] idF4101LongRowPtr [1001]
OUT->[ 7] mnShortItemNumber [1517]
OUT->[ 8] cErrorcode [ ]
OUT->[ 9] szLanguagepreference [ ]
OUT->[ 10] mnAddressnumber [0]
OUT->[ 11] szSystemcode [ ]
OUT->[ 12] szLongItemNumber [4418-0031-000 ]
OUT->[ 13] szThirdItemNumber [AFC-FR-D1-001~999 ]
OUT->[ 14] szItemFlashMsg [Y 10 ]
OUT->[ 15] cReturnPtr [1]
...

Return value is 0 for VerifyAndGetItemMaster. (BSFNLevel = 1)  



Actual Data is written from F4101 as below,

imlitm...imuom1...imbackimiflaimtfla
4418-0031-000   EA   Y   10

 

To resolve this issue:

  1. Restore the change made to the standard EnterpriseOne data dictionary item (change the size of string DD Alias 'UOM1' from 3 back to the shipped value of 2).
  2. Verify that the value of F9210.FRDTAS appears as '2'. (Optional)
  3. Delete dddict, glbltbl.xdb and *.ddb file across system (Enterprise Server, Deployment Server and where client is working).
  4. Truncate table F989999 - Java Persistent Objects table.
  5. Delete JDBj cache in JAS.
  6. Build Full Package.
  7. Full generation of serialized object (for performance reason) (Optional).

 

NOTE: