Home » Developer & Programmer » Forms » To all DBA and Developers
To all DBA and Developers [message #161377] Fri, 03 March 2006 11:05 Go to next message
Habeeb
Messages: 61
Registered: August 2000
Member
Hi to All,
I am not a DBA, I am having a problem in compilling forms for a particular instance.
let me tell you what happened.
We had Oracle 8.1.7 and Forms 6i.
We recently migraded to 10g, still using Forms 6i.
All forms were working fine previous to migration.
The problem occurs when I declare a variable of record type in one of the packages.
The Package and procedures are huge, so I created a dummy package and a procedure, when I try to call that procedure from the form the error occurs.
Package:
CREATE OR REPLACE PACKAGE HABTEST IS
TYPE combine_name IS RECORD
(f_name varchar2(25) := ' ',
 l_name varchar2(25) := ' ',
 m_initial varchar2(1) := ' ',
 ssn varchar2(12),
 dob date);
 
 TYPE ind_status IS RECORD
 (status_in_us varchar2(25) := ' ',
  marital_status varchar2(15) := ' ',
  sex varchar2(1) := ' ');
END HABTEST;
/

CREATE OR REPLACE PROCEDURE PROC_HABTEST (
p_rtncode number,
p_rtntxt varchar2,
p_work_status varchar2,
p_pay number,
p_combine_name habtest.combine_name,
p_city varchar2,
p_state varchar2,
p_ind_status habtest.ind_status,
p_final_name OUT varchar2,
p_final_ssn OUT varchar2,
p_candidate_ok OUT varchar2)
IS
l_rtncode number;
l_rtntxt varchar2(100);
l_work_status varchar2(20);
l_pay number;
l_combine_name habtest.combine_name;
l_city varchar2(25);
l_state varchar2(20);
l_ind_status habtest.ind_status;
l_final_name varchar2(50);
l_final_ssn varchar2(15);
l_candidate_ok varchar2(10);
l_f_name varchar2(25) := ' ';
l_l_name varchar2(25) := ' ';
l_m_initial varchar2(1) := ' ';
l_ssn varchar2(12);
l_dob date;
l_status_in_us varchar2(25) := ' ';
l_marital_status varchar2(15) := ' ';
l_sex varchar2(1) := ' ';
l_years number;

BEGIN
 l_rtncode := 0;
 l_rtntxt  := ' ';
 l_work_status  := ' ';
 l_pay  := 0;
 l_combine_name := p_combine_name;
 l_f_name := l_combine_name.f_name;
 l_l_name := l_combine_name.l_name;
 l_m_initial := l_combine_name.m_initial;
 l_ssn := l_combine_name.ssn;
 l_dob := l_combine_name.dob;
 l_city  := p_city;
 l_state  := p_state;
 l_ind_status := p_ind_status;
 l_status_in_us := l_ind_status.status_in_us;
 l_marital_status := l_ind_status.marital_status;
 l_sex := l_ind_status.sex;
 
 p_final_name := l_l_name ||', ' || l_m_initial || '. ' || l_f_name;
 p_final_ssn := substr(l_ssn, 1, 3) || '-' || substr(l_ssn, 4, 2) || '-' || substr(l_ssn, 6);
 
 SELECT trunc((sysdate - to_date(l_dob, 'mm/dd/yyyy')) /365) 
 INTO l_years
 FROM dual;
  IF l_years BETWEEN 30 AND 50 AND
     l_status_in_us IN ('CITIZEN', 'GREENCARD', 'VISA') AND
     l_state = 'IN' AND
     l_city IN ('INDY', 'CARMEL', 'AVON') AND
     l_marital_status = 'M' AND
     l_sex = 'M' THEN
     p_candidate_ok := 'OK';
  ELSE
     p_candidate_ok := 'NO';   
  END IF;
EXCEPTION
  WHEN OTHERS THEN
    BEGIN
	    l_rtncode := 100;
	    l_rtntxt := 'Errors';
	  END;
END PROC_HABTEST;
/
I need to call the above procedure from a form and I did is this:
PROCEDURE SHOW_RESULT IS
l_rtncode number;
l_rtntxt varchar2(25);
l_combine_name habtest.combine_name;
l_ind_status   habtest.ind_status;
BEGIN
NULL;
END;

When I try to compile the Form the following errors happens it hangs and have to close the form:
Error Signature:
AppName: ifbld60.exe AppVer: 6.0.8.14 ModName: pls805.dll
ModVer: 0.0.0.0 Offset: 0004aa40

If I try to compile using Program/Compile/All the following error shows:
Error 801 at line 0, column 0
Internal Error (79062)

Sometime this error shows up:
Error 0 at line 0, column 0
ORA-00600: internal error code, arguments: [17003], [69602556],
[997], [1],,,, etc.

Now the interesting part is that if you log back to Oracle 8.1.7 and compile the same forms it does compile.

Note the package and procedure both compiled successfully and it works in PL/SQL,
2.3> DECLARE
  2  l_rtncode number;
  3  l_rtntxt varchar2(25);
  4  l_combine_name habtest.combine_name;
  5  l_ind_status   habtest.ind_status;
  6  BEGIN
  7  NULL;
  8  END;
  9  /
PL/SQL procedure successfully completed.
It is real urgent and I know all of you are very busy, but I would really appriciate If somebody can reply me back ASAP.

Note: I checked with the DBA's but they think it has nothing to do with the migration.

Thanks,
Habeeb

[Updated on: Mon, 06 March 2006 18:51] by Moderator

Report message to a moderator

Re: To all DBA and Developers [message #161680 is a reply to message #161377] Mon, 06 March 2006 12:22 Go to previous messageGo to next message
Habeeb
Messages: 61
Registered: August 2000
Member
I found atleast what is happening.
If I take out all the initializations from the package,
Like,
create or replace package test
 type rec_type is record
    (f_name varchar2(25) := ' ',
     l_name varchar2(25) := ' ');
end test;
the above record type when referenced from forms fails where as the one below does compile.
create or replace package test
 type rec_type is record
    (f_name varchar2(25),
     l_name varchar2(25));
end test;

Can anyone tell me why. The above code is good when I log in 8.1.7 and does not fail when referenced from forms.

Thanks to all.
Habeeb

[Updated on: Mon, 06 March 2006 18:55] by Moderator

Report message to a moderator

Re: To all DBA and Developers [message #161718 is a reply to message #161680] Mon, 06 March 2006 19:20 Go to previous messageGo to next message
djmartin
Messages: 10181
Registered: March 2005
Location: Surges Bay TAS Australia
Senior Member
Account Moderator
Instead of
create or replace package test
 type rec_type is record
    (f_name varchar2(25) := ' ',
     l_name varchar2(25) := ' ');
end test;
have you tried
create or replace package test
 type rec_type is record
    (f_name varchar2(25) default ' ',
     l_name varchar2(25) default ' ');
end test;


David
Re: To all DBA and Developers [message #161831 is a reply to message #161718] Tue, 07 March 2006 06:57 Go to previous messageGo to next message
Habeeb
Messages: 61
Registered: August 2000
Member
I have tried creating a record type by defaulting the values, but it does not work. Check the attached file for screen shots.

Thanks David
Re: To all DBA and Developers [message #161832 is a reply to message #161718] Tue, 07 March 2006 06:58 Go to previous messageGo to next message
Habeeb
Messages: 61
Registered: August 2000
Member
No Message Body
Re: To all DBA and Developers [message #161850 is a reply to message #161832] Tue, 07 March 2006 07:59 Go to previous messageGo to next message
Maaher
Messages: 7065
Registered: December 2001
Senior Member
It's an ORA-600 I see. Check MetaLink. I believe it might be a true bug. Are you running the latest Forms patchset? The latest Forms 6i version is patchset 17. But again: check MetaLink for that.

BTW: MetaLink = http://metalink.oracle.com Oracle's official support website.

MHE
Re: To all DBA and Developers [message #161856 is a reply to message #161850] Tue, 07 March 2006 08:33 Go to previous messageGo to next message
Habeeb
Messages: 61
Registered: August 2000
Member
I am not a member or metalink, and I have never been on the site, don't know exactly where to look for the information I need. Can you tell me exactly where to look and what exactly I will be looking for?
When registering the First question is Support Identifier (CSI, SAC, Access code etc) what should be my choice?

Thanks
Re: To all DBA and Developers [message #161857 is a reply to message #161856] Tue, 07 March 2006 08:43 Go to previous messageGo to next message
Maaher
Messages: 7065
Registered: December 2001
Senior Member
If you have official support then you have a support identifier. If so, ask your Oracle responsible. If you don't have official support then your out of luck: patches are only available through MetaLink.

MHE
Re: To all DBA and Developers [message #162064 is a reply to message #161850] Wed, 08 March 2006 09:34 Go to previous messageGo to next message
Habeeb
Messages: 61
Registered: August 2000
Member
This is a big company we do have support, but the DBA are very (I don't want to say)...
They want me to prove 100% that this error is because they have not upgraded Oracle tools (Forms 6i) with patchset 17.
I resolved the problem by taking out all the initializations of record fields from the package, created a new procedure to initialize variables and call the procedure before using the record type. All done fine, but my curiosity wants to find actually what caused this error as soon as we migrated to 10g.
Any one who has gone through this error or knows about what patchset 17 is rally about, or any information to help me out here is highly appriciated.


Thanks All,

Re: To all DBA and Developers [message #162161 is a reply to message #162064] Thu, 09 March 2006 00:44 Go to previous messageGo to next message
djmartin
Messages: 10181
Registered: March 2005
Location: Surges Bay TAS Australia
Senior Member
Account Moderator
If it works without initialising the values, then RUN IT without manually initialising the values. BY DEFINITION they are set to NULL. I don't like the idea of setting them to 'blank' in th etype definition. I think that you will come 'unstuck' at some point. (Which you may have already reached!)

David
Re: To all DBA and Developers [message #162477 is a reply to message #162161] Fri, 10 March 2006 07:40 Go to previous messageGo to next message
Habeeb
Messages: 61
Registered: August 2000
Member
The entire testing team is working on this issue to check if somewhere the process fails as we have removed the initialization from the package record type. Uptil now every thing is working we have one more day to go. I personally don't think it will fail.
Reason.
I have created a procedure to initialize the record fields to either zero or space.
This procedure is called every time before using the record type to make sure that all fields have a initial value, No Null values are allowed.
As said we have approximately 10 people who are working extra hours every day and they will work all day tomorrow to test this.
My question is as pointed out by Maaher is this really a issue that could have been resolved by updating our current 6i version with patchset 17. If it is true this could have been resolved much cheaper and early I mean cost effective.
I want to find out how important is patchset 17 when you are using 6i Forms with 10.2g DB.

Thanks all those who read, and all those who reply.

Habeeb

Re: To all DBA and Developers [message #162844 is a reply to message #162477] Mon, 13 March 2006 18:36 Go to previous messageGo to next message
djmartin
Messages: 10181
Registered: March 2005
Location: Surges Bay TAS Australia
Senior Member
Account Moderator
I am able to reproduce this error using Oracle DB 9.2.0.1 and Forms 6 (yes, not 6i). I have searched Metalink and it would appear that it MAY have been fixed in 9203 after applying the patch for bug 3073414. Others say that ORA-00600 [17003] is possible when running xdbrelod.sql and is logged in bug 2611590. These were supposed to have been fixed in 9i Release 2 Patch Set 3.

I suggest that this problem is a database problem and not a Forms problem as such. Get your DBA to prove to you that xdbrelod.sql is working.

David

Re: To all DBA and Developers [message #163897 is a reply to message #162844] Mon, 20 March 2006 10:46 Go to previous message
Habeeb
Messages: 61
Registered: August 2000
Member
Thanks David,
Sorry I could not reply early as I was on Vacation.
I will check with the DBA ASAP.
Previous Topic: RefCursor inside Forms Procedure
Next Topic: Problem with "Package Spec"
Goto Forum:
  


Current Time: Fri Sep 20 05:44:07 CDT 2024