Problem to store data in Oracle [U9.4]

Author: spanish_uniface@hotmail.es (uniface8)

Hi all, I migrated an application from U8.2 (with Oracle 8i) to U9.4(with Oracle 10g) but I have a problem to store data.
In the uniface data model of U8.2 there´s a lot of fields defined as string (C4) but they have 8 character before store, e.g:
; field_one --> defined as C4
field_one="20000101"
Uniface only stored the first four characters, ok; but in U9.4 with the same definition, uniface returns an error:

0120 - Error on filed FIELD_ONE;subfield too large

Someone knows if is it a database problem or uniface problem? any workaround? without changing de data model i mean.

Regards,Rafa.
 

 

3 Comments

  1. Ok, i find a solution, I added the parameter $validation=limited and it works.
    Someone knows the collateral effects of this parameter?

    Regards,Rafa.


    Author: uniface8 (spanish_uniface@hotmail.es)
  2. it's only that in some situations U9 is more strict than U8 was:

    what is a warning in U8 may be an error now.

    Typical example is when you put a 10char string into a C4 field via proc,
    the contents was truncated at least by the database driver without any notification.

    As you see this has changed so you have to add a lot of truncations etc. to your code.

    I created a collection operation "check_length" and invoked it in front of some validate triggers
    to master this challange.

    Included a lot of:

    FIELDA = FIELDA[1:4]

    ...


    Author: ulrich-merkel (ulrichmerkel@web.de)
  3. Ty Uli,
    For now I don´t change the data model or add any Proc, It isn´t my mission, maybe in the future, then I´ll follow your advices.

    Regards,Rafa.

     


    Author: uniface8 (spanish_uniface@hotmail.es)