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
Local Administrator
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)
Local Administrator
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)
Local Administrator
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)