Skip to main content
Hello all,

I often see this error 9020 - data fetch error occur. Can anybody explain how this error is raised, and how it can be reproduced. I use Uniface 9.6 with oracle.

Thanks

------------------------------
Wim van Wijngaarden
Rocket Forum Shared Account
------------------------------
Hello all,

I often see this error 9020 - data fetch error occur. Can anybody explain how this error is raised, and how it can be reproduced. I use Uniface 9.6 with oracle.

Thanks

------------------------------
Wim van Wijngaarden
Rocket Forum Shared Account
------------------------------
Are you using any BLOBs / CLOBs?

If so - how are they defined in your model vs how are they defined in Oracle?

Regards,
Knut

------------------------------
Dybendahl Knut
Florida Department of Highway Safety & Motor Vehicles
------------------------------
Are you using any BLOBs / CLOBs?

If so - how are they defined in your model vs how are they defined in Oracle?

Regards,
Knut

------------------------------
Dybendahl Knut
Florida Department of Highway Safety & Motor Vehicles
------------------------------
CLOB's are in use in the application, but not where these problems occurs. In this case only normal numeric fields and character fields are in use.

------------------------------
Wim van Wijngaarden
Rocket Forum Shared Account
------------------------------
CLOB's are in use in the application, but not where these problems occurs. In this case only normal numeric fields and character fields are in use.

------------------------------
Wim van Wijngaarden
Rocket Forum Shared Account
------------------------------
The 9020 error can occur when there is a mismatch between Uniface and the used storage format in the database:
For example for a numeric or string field with a value larger than the Uniface field interface allows.
Proc tracing settings to find the entity where the error occurs:
[SETTINGS]
$proc_tracing=true
$proc_tracing_addition="%%$status %%$componentname %%$entname "

or in script code
$proc_tracing=1
$proc_tracing_addition="%%$status %%$componentname %%$entname "
stop tracing via $proc_tracing=0


------------------------------
Peter Beugel
Rocket Internal - All Brands
Amsterdam Netherlands
------------------------------
The 9020 error can occur when there is a mismatch between Uniface and the used storage format in the database:
For example for a numeric or string field with a value larger than the Uniface field interface allows.
Proc tracing settings to find the entity where the error occurs:
[SETTINGS]
$proc_tracing=true
$proc_tracing_addition="%%$status %%$componentname %%$entname "

or in script code
$proc_tracing=1
$proc_tracing_addition="%%$status %%$componentname %%$entname "
stop tracing via $proc_tracing=0


------------------------------
Peter Beugel
Rocket Internal - All Brands
Amsterdam Netherlands
------------------------------
Thanks Peter, I will try this out. Does it make sense to add $fieldname to the list?

------------------------------
Wim van Wijngaarden
Rocket Forum Shared Account
------------------------------
Thanks Peter, I will try this out. Does it make sense to add $fieldname to the list?

------------------------------
Wim van Wijngaarden
Rocket Forum Shared Account
------------------------------
Adding fieldname will not help:
one can't see exactly which field from the entity it is.
Once you know the entity name you'll need to compare Uniface definitions and database definition.
For example /gensql and compare with database.

------------------------------
Peter Beugel
Rocket Internal - All Brands
Amsterdam Netherlands
------------------------------
Adding fieldname will not help:
one can't see exactly which field from the entity it is.
Once you know the entity name you'll need to compare Uniface definitions and database definition.
For example /gensql and compare with database.

------------------------------
Peter Beugel
Rocket Internal - All Brands
Amsterdam Netherlands
------------------------------
Thanks Peter

------------------------------
Wim van Wijngaarden
Rocket Forum Shared Account
------------------------------
Thanks Peter

------------------------------
Wim van Wijngaarden
Rocket Forum Shared Account
------------------------------
or -
set $ioprint = 8 (Description block (Open)) - which will show what Uniface thinks the record layout is...

hth -
Knut

------------------------------
Dybendahl Knut
Florida Department of Highway Safety & Motor Vehicles
------------------------------
Hello all,

I often see this error 9020 - data fetch error occur. Can anybody explain how this error is raised, and how it can be reproduced. I use Uniface 9.6 with oracle.

Thanks

------------------------------
Wim van Wijngaarden
Rocket Forum Shared Account
------------------------------
I believe that the first component to open a db table determines what Uniface thinks it looks like; so if there's been a recent change, make sure all  components including the entity are recompiled.

------------------------------
Robert Wade
Hargreaves Lansdown Asset Mgmt
Bristol United Kingdom
------------------------------
I believe that the first component to open a db table determines what Uniface thinks it looks like; so if there's been a recent change, make sure all  components including the entity are recompiled.

------------------------------
Robert Wade
Hargreaves Lansdown Asset Mgmt
Bristol United Kingdom
------------------------------
Yes, that's right, however this doesn't seem to be the problem. I think the model defintions are correct. All records can be read without any problem. The error is raised on unexplainable moments, often when a CLEAR/E is executed.

------------------------------
Wim van Wijngaarden
CAL Consult Nederland B.V.
------------------------------
Yes, that's right, however this doesn't seem to be the problem. I think the model defintions are correct. All records can be read without any problem. The error is raised on unexplainable moments, often when a CLEAR/E is executed.

------------------------------
Wim van Wijngaarden
CAL Consult Nederland B.V.
------------------------------
Uniface 9.6 is quite old: It might be an already solved problem.
Is it possible to try a recent version ?
Else log a case via our portal to investigate.

------------------------------
Peter Beugel
Rocket Internal - All Brands
Amsterdam Netherlands
------------------------------
Uniface 9.6 is quite old: It might be an already solved problem.
Is it possible to try a recent version ?
Else log a case via our portal to investigate.

------------------------------
Peter Beugel
Rocket Internal - All Brands
Amsterdam Netherlands
------------------------------
We are planning to migrate to Uniface 10.  Let's hope this issue is solved then.

------------------------------
Wim van Wijngaarden
CAL Consult Nederland B.V.
------------------------------
We are planning to migrate to Uniface 10.  Let's hope this issue is solved then.

------------------------------
Wim van Wijngaarden
CAL Consult Nederland B.V.
------------------------------
Just to make sure -
Your Oracle Client must match up with the Uniface driver you're using.
We've been running on Uniface 9.6, U6.3 driver against a 12c database using the Oracle 11.1 client.
We're upgrading to Oracle 19c, thus we have to upgrade to the Oracle 12.1c client and switch to the U7.1 driver -
and that's about as far as we can go.
I mention this because one pc was recently found to be running the 11.1 client, but with the U7.1 driver - and they
are having all sorts of strange errors.  The rest of the pc's in that office are all using 12.1c client and the U7.1 driver -
no problems at all.... 

Just some extra things to look at..

Regards,
Knut

------------------------------
Dybendahl Knut
Florida Department of Highway Safety & Motor Vehicles
------------------------------
We are planning to migrate to Uniface 10.  Let's hope this issue is solved then.

------------------------------
Wim van Wijngaarden
CAL Consult Nederland B.V.
------------------------------
Zoals eerder door anderen aangeven uniface laad een tabel definitie eenmalig. Bevat component a de oude en b de nieuwe dan kan je afhankelijk van de volgorder a start eerst vervolgens b of visa versa dit soort gedrag constateren. Compileer alle componenten waarin die tabel voorkomt, voorkomt dat soort problematiek. Daarnaast zet $ioprint in je asn file aan. Bvb waarde 64 Dan kan je in de logfile volgen wat er aan de hand is. Zie voor de juiste waarde jouw uniface manual. Succes. Wil je blijven op u9 ga dan naar de laatste stand 9.7 deze is compatibel met 10 kortom de gecompileerde componenten draaien dan ook gewoon in 10.

------------------------------
Dino Seelig
Tcco
Drunen Netherlands
------------------------------