Home » Applications » Oracle Fusion Apps & E-Business Suite » Problem with HR_API update_us_person, HR_API.G_NUMBER Access
Problem with HR_API update_us_person, HR_API.G_NUMBER Access [message #171377] |
Tue, 09 May 2006 10:31 |
annagel
Messages: 220 Registered: April 2006
|
Senior Member |
|
|
I am getting the following error when trying to compile a wrapper package that calls several HR_API procedures.:
Implementation Restriction: 'HR_API.G_NUMBER':
Cannot directly access remote package variable or cursor
The abbreviated code of the procedure which is causing the compile error is as follows:
procedure update_person(cs3 in cs3_api.cs3_dat, info in out cs3_api.cs3_info) is
begin
hr_person_api.update_us_person(
p_validate => c_validate,
p_datetrack_update_mode => info.datetrack_update_mode,
p_effective_date => cs3.effective_date,
p_person_id => info.person_id,
p_object_version_number => info.per_object_version_number,
--here was the non-required parameters.
--Removed for brevity (I had tried to
--remove these completely and get the
--same compile error so I can assume that
--this is not the problem
--out
--p_object_version_number also an in param see above
p_employee_number => info.employee_number,
p_effective_start_date => info.per_effective_start_date,
p_effective_end_date => info.per_effective_end_date,
p_full_name => info.full_name,
p_comment_id => info.per_comment_id,
p_name_combination_warning => info.name_combination_warning,
p_assign_payroll_warning => info.assign_payroll_warning,
p_orig_hire_warning => info.orig_hire_warning
);
end;
I have tried to remove all need for the objects by utilizing local variables for out and in/out parameters and constants for the in variables. Googling turned up nothing helpful as did searching metalink.
I am not sure whether these will be helpful or not, but I am also including the defintions of the constants used in the procedure call and the types.
PACKAGE cs3_api IS
type cs3_dat is record (
/* cs3_info data */
seq_no VARCHAR2(3),
action_code VARCHAR2(3),
effective_date DATE,
date_prepared DATE,
/* normal CS3 data */
last_name VARCHAR2(17),
first_name VARCHAR2(12),
/* ....removed fields not used in this call */
f75 VARCHAR2(30),
f76 VARCHAR2(30),
remarks VARCHAR(3000)
);
type cs3_info is record (
/* compare data */
up_person BOOLEAN,
up_assignment BOOLEAN,
up_criteria BOOLEAN,
up_elements BOOLEAN,
up_contacts BOOLEAN,
up_proposals BOOLEAN,
up_as_sit BOOLEAN,
up_lv_sit BOOLEAN,
up_address BOOLEAN,
/* parameters in calls */
employee_number VARCHAR2(30),
person_id NUMBER(20),
assignment_id NUMBER(20),
per_object_version_number NUMBER(20),
asg_object_version_number NUMBER(20),
per_effective_start_date DATE,
per_effective_end_date DATE,
asg_effective_start_date DATE,
asg_effective_end_date DATE,
full_name VARCHAR2(240),
per_comment_id NUMBER(20),
assignment_sequence NUMBER(20),
assignment_number VARCHAR2(30),
name_combination_warning BOOLEAN,
assign_payroll_warning BOOLEAN,
orig_hire_warning BOOLEAN,
datetrack_update_mode VARCHAR2(20)
);
END;
/* constants */
c_business_group_id CONSTANT NUMBER := 0;
c_employee_person_type_id CONSTANT NUMBER := 3;
c_db_date_format CONSTANT VARCHAR2(19) := 'YYYY/MM/DD HH:MM:SS';
c_validate CONSTANT BOOLEAN := false;
One thing I forgot to mention is that the actual location according to Form Builder (6i) of the error is the 'end' keyword of the package. I was only able to trace it back to this specific procedure by commenting out different parts of code.
thanks
Andrew
[Updated on: Tue, 09 May 2006 10:35] Report message to a moderator
|
|
|
Update [message #171384 is a reply to message #171377] |
Tue, 09 May 2006 11:26 |
annagel
Messages: 220 Registered: April 2006
|
Senior Member |
|
|
I have done some more debugging on the problem. Using the user I am logged into forms builder with I was able to use TOAD to logon to the db and view the HR_API package so it seems that my user does indeed have access to this resource...even though I still don't know where I am trying to access it in the first place.
Also I tried declaring my own local g_number as follows:
g_number constant number := -987123654;
copied straight out of the HR_API package spec and into mine. This did get rip of the original error and replaced it with an almost identical one:
Implementation Restriction: 'HR_API.G_VARCHAR2':
Cannot directly access remote package variable or cursor
Thinking I may have discovered a solution I added the following definition to my spec file:
g_varchar2 constant varchar2(9) := '$Sys_Def$';
again right out of HR_API. No such luck getting rid of this error. And even more oddly when I comment out my g_number declaration and try to recompile again I do not get the original error and instead keep receiving the error access g_varchar2
|
|
|
Goto Forum:
Current Time: Mon Dec 23 14:00:01 CST 2024
|