Nasty FRM-40654

From: Ohio Valley Laboratory <kemron_at_ee.net>
Date: Tue, 18 Aug 1998 15:49:36 -0400
Message-ID: <35D9DACF.D1FAF711_at_ee.net>



Here is an interesting problem I have discovered using the Forms4.5 built in
Copy command :
I was getting the FRM-40654 error and narrowed it down to one line of code:
The line of code was the following:

    Copy(newsampid,:global.blockname||'.login_seq');     where newsampid is of type : char(5);

If I make the following change, the problem goes away.

   Copy(to_char(login_seq),:global.blockname||'.login_seq');    where login_seq is of type : NUMBER;

  Note that newsampid, and login_seq are local variables in a program   unit and these two variables represent the same data except one is   numeric while the other is character.

Some more details : form attribute blockname.login_seq corresponds to an attribute in a table that is of type : NUMBER. but.....the form attribute
is of type Char and is not displayed and you can not navigate to it.

  I don't think this is the cause of the problem because I created a dummy .FMB file that tested this exact scenario.

I have seen this error in other forms where people were doing a commit inside of a cursor loop and have fixed the problem by re-writing the code
to commit and execute_query after the cursor loop processing. I have never
encountered this problem using the Copy built in though.

I know how to fix the problem, but I am unsure why it happened in this particular case. Received on Tue Aug 18 1998 - 21:49:36 CEST

Original text of this message