To all DBA and Developers [message #161377] |
Fri, 03 March 2006 11:05 ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
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 message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
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 #161856 is a reply to message #161850] |
Tue, 07 March 2006 08:33 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
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 #162064 is a reply to message #161850] |
Wed, 08 March 2006 09:34 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
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 #162477 is a reply to message #162161] |
Fri, 10 March 2006 07:40 ![Go to previous message Go to previous message](/forum/theme/orafaq/images/up.png) ![Go to next message Go to next message](/forum/theme/orafaq/images/down.png) |
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
|
|
|
|
|