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 Go to next message
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 Go to previous message
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
Previous Topic: WIP JOB INTERFACE
Next Topic: wip discreet job for sub assembly
Goto Forum:
  


Current Time: Mon May 20 14:27:00 CDT 2024