search cancel

Incorrect Handling of Oracle Number type in Data Creation Assistant when Precision=Scale

book

Article ID: 201797

calendar_today

Updated On:

Products

CA Test Data Manager (Data Finder / Grid Tools)

Issue/Introduction

For a given Oracle 12.2 field defined as NUMBER(2,2)  (Valid values .00 thru .99),

(1) Datamaker (4.9.12.0) Data Creation Assistant creates a formula for a 10-digit integer rather than a 2-digit decimal

(2) Portal (4.9.89) data painter - in DataPainter will validate a decimal without a leading zero, but in the main generator page, will flag as invalid   
(DataPainter:   .99 ok   - Generator screen - .99 not ok, 0.99 ok).   

 

Cause

product was not properly taking into the scale

Environment

TDM Portal 4.9.X
datamaker 4.9.X

Component : CA Test Data Manager - Datamaker

Resolution

The following packages can be used to fix the problem with data assistant and randrange function.



I have created a new function called randrangeadv short for the advanced random generator. This new function needs one or two inputs min and max

when max is present and is larger than the column's precision then we revert to the column's precision

when max is not present than the column's precision will be used as the max



suppose that you are using @randrangeadv(0,2000000)@ for a column with following

- format NUMBER(2,2) then it will generate random data from 0.00 to 0.99

- format NUMBER(5,2) then it will generate random data from 0.00 to 999.99



to apply the datamaker patch, you should

- upgrade to 4.9.1003.0 using GTDataMaker-4.9.1003.0.zip

- apply the patch GTDataMakerPB-4.9.1006.0 by copying data

- make sure that the data assistant uses randrangeadv by running (see screenshot) ...



The TDM portal patch is needed if you want to use randrangeadv from the TDM portal

Please open a case with support to have access to TDM Portal 4.9.213 or newer 





Additional Information

Note: that the complexity of datamaker patching is due to moving to the latest powerbuilder version