Error PLS 00363 expression "string" cannot be used as an assignment target in sentence SELF.ATTRIBUTE1:=PARAMETER;
Hi everybody. I wrote de following type
create or replace TYPE ALMACEN AS OBJECT
id_almacen number(10),
descripcion varchar2(40),
existencias number(6),
precio number(4),
member function movimiento (p_num number) return boolean
create or replace TYPE BODY ALMACEN AS
member function movimiento (p_num number) return boolean AS
v_inf boolean;
n number(6);
BEGIN
if self.existencias+p_num>=0 then
self.existencias:=existencias+p_num;
return TRUE;
else return FALSE;
end if;
END movimiento;
END;
I have Oracle 11g release I.
In previous releases it worked, but now SQLDeveloper marks
self.existencias:=existencias+p_num;
Error PLS 00363 expression "string" cannot be used as an assignment target in sentence
Please, What's wrong?
Thanking in advance
Hi,
Not quite a PL/SQL XML question but anyway...
Since the member function modifies the object instance, the implicit argument "self" must be declared explicitly as "IN OUT" :
member function movimiento (self in out nocopy almacen, p_num number) return boolean
Similar Messages
-
PLS-00363: expression 'I' cannot be used as an assignment target
Hello all
I have a Package and I have one procedure in it .
I have use dmlset inside this .
Inside that procedure I have a cursor and inside the FOR loop I have mentioned something .
FOR i IN 1 .. No_of_rec LOOP
If....
End if ;
i := i+1 ;
END LOOP;
I have mentioned before end loop i := i+1 ; when i execute this package it is showing this error .
"PLS-00363: expression 'I' cannot be used as an assignment target"
What could be the problem?Of course,
My example is showing that index I in loop is same thing as parameter IN in procedure1. Its value, not reference. I is passed as VALUE to LOOP just like PARAM1 is passed as value to PROCEDURE1. Trying to assignment something to I or PARAM1 will generate same error.
Also another interesting example is
CREATE OR REPLACE
PROCEDURE procedure1(
param1 IN OUT NUMBER)
AS
BEGIN
param1 := 0;
END procedure1;
BEGIN
FOR i IN 1..3
LOOP
procedure1(i);
END LOOP;
END;
In this case procedure1 is correct but loop stmt is not. It will generate same error.
After doing this examples i also concluded that procedure cant return value it can modify existing value of variable which is declared (uninitialized or initialized, OUT or IN OUT ) in upper PLSQL block (named or unnamed PLSQL block) -
PLS-00363: expression cannot be used as an assignment target
Hi,
Oralce9.2
when I run the insert procedure I get the below error:
Procedure
PROCEDURE proc_one_insert(col1 IN OUT numeric,
col2 IN num,
col3 IN numeric
BEGIN
execute immediate proc_one_insert(2,1,111);
END;
Error
PLS-00363: expression '2' cannot be used as an assignment target
How to solve the above error ?
With Regards
Edited by: user640001 on Dec 2, 2010 3:04 AMArun has shown you an example using PL/SQL. If you want to do something similar in other languages you have to use their style of variable declaration e.g. if you wanted to do it through SQL*Plus, you need to declare the variable within SQL*Plus itself and bind that into your calls e.g.
SQL> create procedure p_inout (p_val in out number) is
2 begin
3 p_val := p_val*10;
4 end;
5 /
Procedure created.
SQL> var mynum number
SQL> exec :mynum := 10;
PL/SQL procedure successfully completed.
SQL> print mynum
MYNUM
10
SQL> exec p_inout(:mynum);
PL/SQL procedure successfully completed.
SQL> print mynum
MYNUM
100
SQL> -
PLS-00363: expression '' cannot be used as an assignment target - HELP :-(
Hi Guys,
This is a procedure I have in the body of a package:
PROCEDURE SUM_EVENTS (p_trial_no IN NUMBER,
p_country_resion IN VARCHAR2,
p_loc_no IN NUMBER,
p_setup_flag IN VARCHAR2,
p_event_changed IN OUT NUMBER) ISWhen I call this in SQLplus with this:
exec DB_CALC.sum_events(340,'USA',1,'Y',3700);I get this:
ERROR at line 1:
ORA-06550: line 1, column 54:
PLS-00363: expression '3700' cannot be used as an assignment target
ORA-06550: line 1, column 7:
PL/SQL: Statement ignoredAny ideas what I'm doing wrong?
Thanks!p_event_changed is declared as an IN OUT parameter. You need to provide a variable in which the OUT values can be written to..
something like
declare
out_val number := 3700;
begin
DB_CALC.sum_events(340,'USA',1,'Y',out_val);
end; -
'PLS-00363: expression..' error when executing a stored procedure with in o
Hello,
I'm trying to run a PLSQL script containing an ORACLE API but its failing on compilation with the message:
'PLS-00363: expression '<expression>' cannot be used as an assignment target'.
As far as I understand its connected to my IN-OUT parameters but I can't figure out which (I must admit I'm still hiking up a steep learning curve here and I've cut and pasted someone elses example and modified it).
I would be most grateful if one of you pro's could read through my code and advise..
many thanks,
Steveni guess you are trying to store value in your IN parameter.
here is an example
SQL> create or replace procedure pr(p in integer)
2 as
3 begin
4 p := 1;
5 end;
6 /
Warning: Procedure created with compilation errors.
SQL> show err
Errors for PROCEDURE PR:
LINE/COL ERROR
4/2 PL/SQL: Statement ignored
4/2 PLS-00363: expression 'P' cannot be used as an assignment targetSee it also gives the exact line in which the error has occurred. so see that and fix it.
Edited by: Karthick_Arp on Feb 12, 2009 1:57 AM -
Hello,
I'm trying to run a PLSQL script containing an ORACLE API but its failing on compilation with the message:
'PLS-00363: expression '<expression>' cannot be used as an assignment target'.
As far as I understand its connected to my IN-OUT parameters but I can't figure out which (I must admit I'm still hiking up a steep learning curve here and I've cut and pasted someone elses example and modified it).
I would be most grateful if one of you pro's could read through my code and advise..
SET serveroutput ON SIZE 1000000 FORMAT WRAPPED
SET verify OFF
SET feedback OFF
DECLARE
error_msg varchar2(2000) := '';
l_status varchar2(10) := 'True';
l_validate_cnt number;
l_ass_count number;
l_business_group_id number := 0;
l_validate BOOLEAN DEFAULT FALSE;
l_city varchar2(30);
l_mode varchar2(20) := 'UPDATE';
l_sup_join_date date;
l_organization_id hr_organization_units.organization_id%type;
l_person_id per_all_people_f.person_id%type;
l_object_version_number per_all_assignments_f.object_version_number%type;
l_job_id per_jobs.job_id%type;
l_position_id per_positions.position_id%type;
l_location_id number := 233; -- number;
l_grade_id number := 3; -- per_grades.grade_id%type;
l_supervisor_id number := 2; -- per_all_assignments_f.supervisor_id%type;
l_assignment_status_type_id number;
l_pay_basis_id number := 33;
l_join_date date;
l_assignment_id per_all_assignments_f.assignment_id%type;
l_soft_coding_keyflex_id per_all_assignments_f.soft_coding_keyflex_id%type;
l_people_group_id per_all_assignments_f.people_group_id%type;
l_payroll_id per_all_assignments_f.payroll_id%type;
l_effective_start_date per_all_assignments_f.effective_start_date%type;
l_effective_end_date per_all_assignments_f.effective_end_date%type;
l_assignment_sequence per_all_assignments_f.assignment_sequence%type;
l_comment_id per_all_assignments_f.comment_id%type;
l_concatenated_segments varchar2(240);
l_group_name varchar2(100);
l_other_manager_warning boolean;
l_org_now_no_manager_warning boolean;
l_spp_delete_warning boolean;
l_entries_changed_warning varchar2(200);
l_tax_district_changed_warning boolean;
l_special_ceiling_step_id number;
l_no_managers_warning boolean;
l_other_manager_warnings boolean;
l_cagr_grade_def_id number;
l_cagr_concatenated_segments varchar2(100);
l_total_records number := 0;
l_success_records number := 0;
l_failure_records number := 0;
BEGIN
dbms_output.put_line('#############################################################');
dbms_output.put_line('Data Migration Of Employee Assignments :');
dbms_output.put_line('#############################################################');
dbms_output.put_line('Start Time : ' || TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS'));
l_person_id := null;
l_object_version_number := null;
l_organization_id := 0;
l_location_id := null;
l_grade_id := null;
l_job_id := null;
l_position_id := null;
l_supervisor_id := null;
l_assignment_status_type_id := null;
error_msg := null;
l_status := 'True';
hr_assignment_api.update_emp_asg_criteria
p_validate => l_validate
,p_effective_date => sysdate --to_date('11-Jan-2009','DD-MON-YYYY')
,p_datetrack_update_mode => l_mode
,p_assignment_id => l_assignment_id
,p_object_version_number => l_object_version_number +1
,p_organization_id => l_organization_id
,p_location_id => l_location_id --assignment_v.location_id
,p_grade_id => l_grade_id
,p_job_id => l_job_id
,p_position_id => l_position_id
,p_payroll_id => l_payroll_id --21--hardcoding this you should change this
-- ,p_segment1 => assignment_v.people_group
-- ,p_employment_category => assignment_v.employee_category
,p_pay_basis_id => l_pay_basis_id
,p_special_ceiling_step_id => l_special_ceiling_step_id
,p_people_group_id => l_people_group_id
,p_group_name => l_group_name
,p_org_now_no_manager_warning => l_org_now_no_manager_warning
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
,p_other_manager_warning => l_other_manager_warning
,p_spp_delete_warning => l_spp_delete_warning
,p_entries_changed_warning => l_entries_changed_warning
,p_tax_district_changed_warning => l_tax_district_changed_warning
hr_assignment_api.update_emp_asg
p_validate => l_validate --false
,p_effective_date => to_date('11-Jan-2009','DD-MON-YYYY') --assignment_v.date_of_change
,p_datetrack_update_mode => 'CORRECTION'
,p_assignment_id => l_assignment_id
,p_object_version_number => l_object_version_number
,p_supervisor_id => l_supervisor_id
,p_normal_hours => '7.5'
,p_frequency => 'D'
,p_time_normal_start => '09:30'
,p_time_normal_finish => '17:30'
,p_soft_coding_keyflex_id => l_soft_coding_keyflex_id
,p_comment_id => l_comment_id
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
,p_concatenated_segments => l_concatenated_segments
,p_no_managers_warning => l_no_managers_warning
,p_other_manager_warning => l_other_manager_warnings
,p_cagr_grade_def_id => l_cagr_grade_def_id
,p_cagr_concatenated_segments => l_cagr_concatenated_segments
dbms_output.put_line('End Time : ' || TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS'));
dbms_output.put_line('
END;
commit;
exit;many thanks,
StevenThanks for the suggestions people. Here's the other API description requested:
PROCEDURE UPDATE_EMP_ASG
Argument Name Type In/Out Default?
P_VALIDATE BOOLEAN IN DEFAULT
P_EFFECTIVE_DATE DATE IN
P_DATETRACK_UPDATE_MODE VARCHAR2 IN
P_ASSIGNMENT_ID NUMBER IN
P_OBJECT_VERSION_NUMBER NUMBER IN/OUT
P_SUPERVISOR_ID NUMBER IN DEFAULT
P_ASSIGNMENT_NUMBER VARCHAR2 IN DEFAULT
P_CHANGE_REASON VARCHAR2 IN DEFAULT
P_ASSIGNMENT_STATUS_TYPE_ID NUMBER IN DEFAULT
P_COMMENTS VARCHAR2 IN DEFAULT
P_DATE_PROBATION_END DATE IN DEFAULT
P_DEFAULT_CODE_COMB_ID NUMBER IN DEFAULT
P_FREQUENCY VARCHAR2 IN DEFAULT
P_INTERNAL_ADDRESS_LINE VARCHAR2 IN DEFAULT
P_MANAGER_FLAG VARCHAR2 IN DEFAULT
P_NORMAL_HOURS NUMBER IN DEFAULT
P_PERF_REVIEW_PERIOD NUMBER IN DEFAULT
P_PERF_REVIEW_PERIOD_FREQUENCY VARCHAR2 IN DEFAULT
P_PROBATION_PERIOD NUMBER IN DEFAULT
P_PROBATION_UNIT VARCHAR2 IN DEFAULT
P_SAL_REVIEW_PERIOD NUMBER IN DEFAULT
P_SAL_REVIEW_PERIOD_FREQUENCY VARCHAR2 IN DEFAULT
P_SET_OF_BOOKS_ID NUMBER IN DEFAULT
P_SOURCE_TYPE VARCHAR2 IN DEFAULT
P_TIME_NORMAL_FINISH VARCHAR2 IN DEFAULT
P_TIME_NORMAL_START VARCHAR2 IN DEFAULT
P_BARGAINING_UNIT_CODE VARCHAR2 IN DEFAULT
P_LABOUR_UNION_MEMBER_FLAG VARCHAR2 IN DEFAULT
P_HOURLY_SALARIED_CODE VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE_CATEGORY VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE1 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE2 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE3 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE4 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE5 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE6 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE7 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE8 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE9 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE10 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE11 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE12 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE13 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE14 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE15 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE16 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE17 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE18 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE19 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE20 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE21 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE22 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE23 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE24 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE25 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE26 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE27 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE28 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE29 VARCHAR2 IN DEFAULT
P_ASS_ATTRIBUTE30 VARCHAR2 IN DEFAULT
P_TITLE VARCHAR2 IN DEFAULT
P_SEGMENT1 VARCHAR2 IN DEFAULT
P_SEGMENT2 VARCHAR2 IN DEFAULT
P_SEGMENT3 VARCHAR2 IN DEFAULT
P_SEGMENT4 VARCHAR2 IN DEFAULT
P_SEGMENT5 VARCHAR2 IN DEFAULT
P_SEGMENT6 VARCHAR2 IN DEFAULT
P_SEGMENT7 VARCHAR2 IN DEFAULT
P_SEGMENT8 VARCHAR2 IN DEFAULT
P_SEGMENT9 VARCHAR2 IN DEFAULT
P_SEGMENT10 VARCHAR2 IN DEFAULT
P_SEGMENT11 VARCHAR2 IN DEFAULT
P_SEGMENT12 VARCHAR2 IN DEFAULT
P_SEGMENT13 VARCHAR2 IN DEFAULT
P_SEGMENT14 VARCHAR2 IN DEFAULT
P_SEGMENT15 VARCHAR2 IN DEFAULT
P_SEGMENT16 VARCHAR2 IN DEFAULT
P_SEGMENT17 VARCHAR2 IN DEFAULT
P_SEGMENT18 VARCHAR2 IN DEFAULT
P_SEGMENT19 VARCHAR2 IN DEFAULT
P_SEGMENT20 VARCHAR2 IN DEFAULT
P_SEGMENT21 VARCHAR2 IN DEFAULT
P_SEGMENT22 VARCHAR2 IN DEFAULT
P_SEGMENT23 VARCHAR2 IN DEFAULT
P_SEGMENT24 VARCHAR2 IN DEFAULT
P_SEGMENT25 VARCHAR2 IN DEFAULT
P_SEGMENT26 VARCHAR2 IN DEFAULT
P_SEGMENT27 VARCHAR2 IN DEFAULT
P_SEGMENT28 VARCHAR2 IN DEFAULT
P_SEGMENT29 VARCHAR2 IN DEFAULT
P_SEGMENT30 VARCHAR2 IN DEFAULT
P_CONCAT_SEGMENTS VARCHAR2 IN DEFAULT
P_CONTRACT_ID NUMBER IN DEFAULT
P_ESTABLISHMENT_ID NUMBER IN DEFAULT
P_COLLECTIVE_AGREEMENT_ID NUMBER IN DEFAULT
P_CAGR_ID_FLEX_NUM NUMBER IN DEFAULT
P_CAG_SEGMENT1 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT2 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT3 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT4 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT5 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT6 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT7 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT8 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT9 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT10 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT11 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT12 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT13 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT14 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT15 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT16 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT17 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT18 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT19 VARCHAR2 IN DEFAULT
P_CAG_SEGMENT20 VARCHAR2 IN DEFAULT
P_NOTICE_PERIOD NUMBER IN DEFAULT
P_NOTICE_PERIOD_UOM VARCHAR2 IN DEFAULT
P_EMPLOYEE_CATEGORY VARCHAR2 IN DEFAULT
P_WORK_AT_HOME VARCHAR2 IN DEFAULT
P_JOB_POST_SOURCE_NAME VARCHAR2 IN DEFAULT
P_SUPERVISOR_ASSIGNMENT_ID NUMBER IN DEFAULT
P_CAGR_GRADE_DEF_ID NUMBER IN/OUT
P_CAGR_CONCATENATED_SEGMENTS VARCHAR2 OUT
P_CONCATENATED_SEGMENTS VARCHAR2 OUT
P_SOFT_CODING_KEYFLEX_ID NUMBER IN/OUT
P_COMMENT_ID NUMBER OUT
P_EFFECTIVE_START_DATE DATE OUT
P_EFFECTIVE_END_DATE DATE OUT
P_NO_MANAGERS_WARNING BOOLEAN OUT
P_OTHER_MANAGER_WARNING BOOLEAN OUT
P_HOURLY_SALARIED_WARNING BOOLEAN OUT
P_GSP_POST_PROCESS_WARNING VARCHAR2 OUT On looking on the web I've found that my latest error message - ORA-20001: The primary key specified is invalid
Cause: The primary key values specified are invalid and do not exist in
the schema.
Action: Check the primary key values... - relates to incorrect combination of person_id,object_version_number,effective_start_date and effective_end_date - all of which seem OK to me - her's my latest version of my code.. Many thanks again.
SET serveroutput ON SIZE 1000000 FORMAT WRAPPED
SET verify OFF
SET feedback OFF
DECLARE
error_msg varchar2(2000);
l_status varchar2(10);
l_validate_cnt number;
l_ass_count number;
l_validate BOOLEAN DEFAULT FALSE;
l_city varchar2(30);
l_mode varchar2(20) := 'UPDATE';
l_organization_id number;
l_effective_date date := '12-FEB-09';
l_person_id number := '29987';
l_object_version_number number := '3';
l_effective_start_date date := '12-FEB-09';
l_effective_end_date date := '12-FEB-56';
l_job_id per_jobs.job_id%type;
l_position_id per_positions.position_id%type;
l_location_id number;
l_grade_id number;
l_supervisor_id number;
l_assignment_status_type_id number;
l_pay_basis_id number;
l_join_date date;
l_soft_coding_keyflex_id number;
l_people_group_id per_all_assignments_f.people_group_id%type;
l_payroll_id per_all_assignments_f.payroll_id%type;
l_assignment_sequence per_all_assignments_f.assignment_sequence%type;
l_comment_id per_all_assignments_f.comment_id%type;
l_normal_end varchar2(15) := '17:30';
l_normal_start varchar2(15) := '09:30';
l_frequency varchar2(10) := 'D';
l_normal_hours varchar2(25) := '7.5';
l_assignment_id number := '29884';
l_gsp_post_process_warning varchar2(30);
l_entries_changed varchar2(30);
l_old_obj_ver_number per_addresses.OBJECT_VERSION_NUMBER%type;
l_segment1 varchar2(25);
l_segment2 varchar2(25);
l_segment3 varchar2(25);
l_concatenated_segments varchar2(240);
l_group_name varchar2(100);
l_other_manager_warning boolean;
l_org_now_no_manager_warning boolean;
l_spp_delete_warning boolean;
l_entries_changed_warning varchar2(200);
l_tax_district_changed_warning boolean;
l_special_ceiling_step_id number;
l_no_managers_warning boolean;
l_other_manager_warnings boolean;
l_cagr_grade_def_id number;
l_cagr_concatenated_segments varchar2(100);
l_datetrack_update_mod varchar2(10);
l_total_records number := 0;
l_success_records number := 0;
l_failure_records number := 0;
BEGIN
dbms_output.put_line('#############################################################');
dbms_output.put_line('Data Migration Of Employee Assignments :');
dbms_output.put_line('#############################################################');
dbms_output.put_line('Start Time : ' || TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS'));
l_person_id := null;
l_object_version_number := null;
l_organization_id := null;
l_location_id := null;
l_grade_id := null;
l_job_id := null;
l_position_id := null;
l_supervisor_id := null;
l_assignment_status_type_id := null;
error_msg := null;
l_status := 'True';
hr_assignment_api.update_emp_asg_criteria (
p_effective_date => l_effective_date ,p_datetrack_update_mode => l_datetrack_update_mod ,p_assignment_id => l_assignment_id ,p_called_from_mass_update => NULL ,p_grade_id => l_grade_id ,p_position_id => l_position_id ,p_job_id => l_job_id ,p_payroll_id => l_payroll_id ,p_location_id => l_location_id ,p_organization_id => l_organization_id ,p_pay_basis_id => l_pay_basis_id
,p_segment1 => l_segment1
,p_segment2 => l_segment2
,p_segment3 => l_segment3 ,p_employment_category => NULL ,p_concat_segments => NULL ,p_contract_id => NULL ,p_establishment_id => NULL ,p_scl_segment1 => NULL ,p_grade_ladder_pgm_id => NULL ,p_supervisor_assignment_id => NULL ,p_object_version_number => l_old_obj_ver_number ,p_special_ceiling_step_id => l_special_ceiling_step_id ,p_people_group_id => l_people_group_id ,p_soft_coding_keyflex_id => l_soft_coding_keyflex_id ,p_group_name => l_group_name ,p_effective_start_date => l_effective_start_date ,p_effective_end_date => l_effective_end_date ,p_org_now_no_manager_warning => l_org_now_no_manager_warning ,p_other_manager_warning => l_other_manager_warning ,p_spp_delete_warning => l_spp_delete_warning ,p_entries_changed_warning => l_entries_changed ,p_tax_district_changed_warning => l_tax_district_changed_warning ,p_concatenated_segments => l_concatenated_segments ,p_gsp_post_process_warning => l_gsp_post_process_warning);
hr_assignment_api.update_emp_asg
p_validate => l_validate
,p_effective_date => l_effective_date
,p_datetrack_update_mode => l_datetrack_update_mod --'CORRECTION'
,p_assignment_id => l_assignment_id
,p_object_version_number => l_object_version_number
,p_supervisor_id => l_supervisor_id
,p_normal_hours => l_normal_hours --'7.5'
,p_frequency => l_frequency --'D'
,p_time_normal_start => l_normal_start --'09:30'
,p_time_normal_finish => l_normal_end --'17:30'
,p_soft_coding_keyflex_id => l_soft_coding_keyflex_id
,p_comment_id => l_comment_id
,p_effective_start_date => l_effective_start_date
,p_effective_end_date => l_effective_end_date
,p_concatenated_segments => l_concatenated_segments
,p_no_managers_warning => l_no_managers_warning
,p_other_manager_warning => l_other_manager_warnings
,p_cagr_grade_def_id => l_cagr_grade_def_id
,p_cagr_concatenated_segments => l_cagr_concatenated_segments
dbms_output.put_line('End Time : ' || TO_CHAR(SYSDATE,'DD-MON-YYYY HH24:MI:SS'));
dbms_output.put_line('
END;
commit;
exit; -
Objects containing objects.Expr cannot be used as an assignment.PLS-00363.
Hi,
My database: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0.
I'm working with Object types containing other object types, and I'm getting the error PLS-00363 (Expression cannot be used as an assignment).
I'm putting exlpicity all 'SELF' parameters as 'IN OUT', but still get the error...
CREATE OR REPLACE TYPE TYP_PERSON AS OBJECT (
strName VARCHAR2(100),
--+
CONSTRUCTOR FUNCTION TYP_PERSON RETURN SELF AS RESULT,
--+
MEMBER FUNCTION getName (SELF IN OUT TYP_PERSON) RETURN VARCHAR2,
MEMBER PROCEDURE setName (SELF IN OUT TYP_PERSON, pNewName VARCHAR2)
+) NOT FINAL;+
+/+
--+
CREATE OR REPLACE TYPE BODY TYP_PERSON AS
--+
CONSTRUCTOR FUNCTION TYP_PERSON RETURN SELF AS RESULT IS
BEGIN
SELF.strName := NULL;
RETURN;
END;
--+
MEMBER FUNCTION getName (SELF IN OUT TYP_PERSON) RETURN VARCHAR2 IS
BEGIN
RETURN SELF.strName;
END;
--+
MEMBER PROCEDURE setName (SELF IN OUT TYP_PERSON, pNewName VARCHAR2) IS
BEGIN
SELF.strName := pNewName;
END;
END;
+/+
--+
CREATE OR REPLACE TYPE TYP_PERSONS AS TABLE OF TYP_PERSON;
--+
CREATE OR REPLACE TYPE TYP_CREW AS OBJECT (
strName VARCHAR2(100),
persons TYP_PERSONS,
--+
CONSTRUCTOR FUNCTION TYP_CREW RETURN SELF AS RESULT,
--+
MEMBER FUNCTION getName (SELF IN OUT TYP_CREW) RETURN VARCHAR2,
MEMBER PROCEDURE setName (SELF IN OUT TYP_CREW, pNewName VARCHAR2),
--+
MEMBER PROCEDURE addPerson (SELF IN OUT TYP_CREW, pPersonName IN VARCHAR2),
MEMBER FUNCTION getPerson (SELF IN OUT TYP_CREW, pIndex IN NUMBER) RETURN TYP_PERSON,
MEMBER FUNCTION getPersons (SELF IN OUT TYP_CREW) RETURN TYP_PERSONS
+) NOT FINAL;+
+/+
--+
CREATE OR REPLACE TYPE BODY TYP_CREW AS
--+
CONSTRUCTOR FUNCTION TYP_CREW RETURN SELF AS RESULT IS
BEGIN
SELF.strName := NULL;
SELF.persons := TYP_PERSONS();
RETURN;
END;
--+
MEMBER FUNCTION getName (SELF IN OUT TYP_CREW) RETURN VARCHAR2 IS
BEGIN
RETURN SELF.strName;
END;
--+
MEMBER PROCEDURE setName (SELF IN OUT TYP_CREW, pNewName VARCHAR2) IS
BEGIN
SELF.strName := pNewName;
END;
MEMBER PROCEDURE addPerson (SELF IN OUT TYP_CREW, pPersonName IN VARCHAR2) IS
BEGIN
SELF.persons.EXTEND();
SELF.persons(SELF.persons.LAST) := TYP_PERSON(pPersonName);
END;
MEMBER FUNCTION getPerson (SELF IN OUT TYP_CREW, pIndex IN NUMBER) RETURN TYP_PERSON IS
BEGIN
IF SELF.persons.COUNT > 0 THEN
RETURN SELF.getPersons()(pIndex);
END IF;
RETURN NULL;
END;
MEMBER FUNCTION getPersons (SELF IN OUT TYP_CREW) RETURN TYP_PERSONS IS
BEGIN
RETURN SELF.persons;
END;
END;
+/+
--+
DECLARE
crew_one TYP_CREW;
BEGIN
crew_one := TYP_CREW();
crew_one.setName('The last crew on Earth');
crew_one.addPerson ('Michael Knight');
crew_one.addPerson ('Agent Mulder');
crew_one.addPerson ('Agent Scully');
crew_one.addPerson ('Frodo Bolson');
for i in crew_one.persons.FIRST..crew_one.persons.LAST LOOP
dbms_output.put_line('Person ['||i||']: '||crew_one.persons(i).getName());
end loop;
crew_one.getPerson(1).setName ('Michael Knight-----');
crew_one.getPerson(2).setName ('Agent Mulder---');
crew_one.getPerson(3).setName ('Agent Scully---');
crew_one.getPerson(4).setName ('Frodo Bolson----');
for i in crew_one.persons.FIRST..crew_one.persons.LAST LOOP
dbms_output.put_line('Person ['||i||']: '||crew_one.persons(i).getName());
end loop;
END;
How can I do this ParentObject().getChildObject().setChildFunction()?
Thanks in advance,
Donato.You completely misunderstand objects. Use:
DECLARE
crew_one TYP_CREW;
BEGIN
crew_one := TYP_CREW();
crew_one.setName('The last crew on Earth');
crew_one.addPerson ('Michael Knight');
crew_one.addPerson ('Agent Mulder');
crew_one.addPerson ('Agent Scully');
crew_one.addPerson ('Frodo Bolson');
for i in crew_one.persons.FIRST..crew_one.persons.LAST LOOP
dbms_output.put_line('Person ['||i||']: '||crew_one.persons(i).getName());
end loop;
TYP_PERSON.setName (crew_one.persons(1),'Michael Knight-----');
TYP_PERSON.setName (crew_one.persons(2),'Agent Mulder---');
TYP_PERSON.setName (crew_one.persons(3),'Agent Scully---');
TYP_PERSON.setName (crew_one.persons(4),'Frodo Bolson----');
for i in crew_one.persons.FIRST..crew_one.persons.LAST LOOP
dbms_output.put_line('Person ['||i||']: '||crew_one.persons(i).getName());
end loop;
END;
Person [1]: Michael Knight
Person [2]: Agent Mulder
Person [3]: Agent Scully
Person [4]: Frodo Bolson
Person [1]: Michael Knight-----
Person [2]: Agent Mulder---
Person [3]: Agent Scully---
Person [4]: Frodo Bolson----
PL/SQL procedure successfully completed.
SQL> SY. -
Below expression works fine with text box but gives error in dataset expression.
="SET FMTONLY OFF select "+ join(Parameters!Column.Value,",") +" FROM pamcustom.dbo.vw_HFL_HFD_HotfileData INNER JOIN pamcustom.dbo.HFL_HFB_HotFileBatch on BatchID = HFB_intBatchID where BatchID ="+Parameters!BatchId.Value+"
and "+Parameters!cmbTranType.Value+" "+ iif(CountRows("DS_Aml_Mnr_Iss_Desc")=Parameters!Mnr_Iss_Desc.count," "," and aml_mnr_iss_desc in "+"('" & join(Parameters!Mnr_Iss_Desc.Value,"','")
& "')")+iif(CountRows("ds_ReportingCategory")=Parameters!ReportingCategory.count," "," and ReportingCategory in "+"('" & join(Parameters!ReportingCategory.Value,"','") & "')")+iif(CountRows("ds_NAICSubGroup")=Parameters!NAICSubGroup.count,"
"," and naicsubgroup in "+"('" & join(Parameters!NAICSubGroup.Value,"','") & "')")+iif(CountRows("ds_PortTrading")=Parameters!PortTrading.count," "," and porttrading in "+"('"
& join(Parameters!PortTrading.Value,"','") & "')")+iif(CountRows("ds_GL_LE")=Parameters!GL_LE.count," "," and gl_le in "+"('" & join(Parameters!GL_LE.Value,"','") &
"')")+iif(CountRows("ds_coagroup")=Parameters!cmbCoaGrp.count," "," and coagroup in "+"('" & join(Parameters!cmbCoaGrp.Value,"','") & "')")+iif(CountRows("Portfolio")=Parameters!cmbPort.count,"
"," and portfolio in "+"('" & join(Parameters!cmbPort.Value,"','") & "')")+IIf(IsNothing(Parameters!txtSecID.Value)," "," and secid in ('"+Replace(Parameters!txtSecID.Value,",","','")+"')")+iif(IsNothing(Parameters!minPortFilter.Value)
and IsNothing(Parameters!MinPort.Value)," "," and portfolio "+Parameters!minPortFilter.Value+Parameters!MinPort.Value)+iif(IsNothing(Parameters!maxPortFilter.Value) and IsNothing(Parameters!MaxPort.Value)," ","
and portfolio "+Parameters!maxPortFilter.Value+Parameters!MaxPort.Value)+iif(IsNothing(Parameters!minCoaFilter.Value) and IsNothing(Parameters!txtMinCoa.Value)," "," and portfolio "+Parameters!minCoaFilter.Value+Parameters!txtMinCoa.Value)+iif(IsNothing(Parameters!maxCoaFilter.Value)
and IsNothing(Parameters!txtMaxCoa.Value)," "," and portfolio "+Parameters!maxCoaFilter.Value+Parameters!txtMaxCoa.Value)
I guess the error " Aggregate and lookup functions cannot be used in query parameter expressions." is because I am using CountRow to ensure that if all values of multi select all selected i will not use that filter in where clause.
Pls. guide...Hi, Include your parameter total count in the dataset for parameter and instead of using countrows() function use the count from dataset in the expression.
Hope this helps.........
Ione -
hi my friends, I have this procedure:
PROCEDURE incluir_alterar(
p_id_empresa IN VARCHAR2,
p_id_pessoa_juridica IN VARCHAR2,
p_cnpj IN VARCHAR2,
p_id_tipo_documento IN VARCHAR2,
p_ie IN VARCHAR2,
p_im IN VARCHAR2,
p_razaosocial IN VARCHAR2,
p_fantasia IN VARCHAR2,
p_ddd IN VARCHAR2,
p_telefone IN VARCHAR2,
p_fax IN VARCHAR2,
p_ddd_cel IN VARCHAR2,
p_fone_cel IN VARCHAR2,
p_email IN VARCHAR2,
p_nome_impresso IN VARCHAR2,
p_ramo IN VARCHAR2,
p_fatura_enviada IN VARCHAR2,
p_id_estado_cartao IN VARCHAR2,
p_id_matriz IN VARCHAR2,
p_cliente_categoria IN VARCHAR2,
p_end_extrato_cnv_empresa IN VARCHAR2,
p_agente IN VARCHAR2
IS
v_id_emp NUMBER;
v_encontrou BOOLEAN DEFAULT TRUE;
BEGIN
IF p_id_empresa IS NULL THEN
v_encontrou := FALSE;
ELSE
BEGIN
SELECT id_cliente INTO v_id_emp FROM frota_cliente WHERE id_cliente = p_id_empresa;
EXCEPTION
WHEN NO_DATA_FOUND THEN
v_encontrou:=FALSE;
END;
END IF;
IF NOT v_encontrou THEN
incluir(p_id_cliente => p_id_empresa);
ca_empresa_incluir_alterar(p_id_empresa => p_id_empresa, p_id_pessoa_juridica => p_id_pessoa_juridica,
p_cnpj => p_cnpj, p_id_tipo_documento => p_id_tipo_documento,
p_ie => p_ie, p_im => p_im,
p_razaosocial => p_razaosocial, p_fantasia => p_fantasia,
p_ddd => p_ddd, p_telefone => p_telefone,
p_fax => p_fax, p_ddd_cel => p_ddd_cel,
p_fone_cel => p_fone_cel, p_email => p_email,
p_nome_impresso => p_nome_impresso, p_ramo => p_ramo,
p_fatura_enviada => p_fatura_enviada, p_id_estado_cartao => p_id_estado_cartao,
p_id_matriz => p_id_matriz, p_cliente_categoria => p_cliente_categoria,
p_end_extrato_cnv_empresa => p_end_extrato_cnv_empresa, p_agente => p_agente);
ELSE
ca_empresa_incluir_alterar(p_id_empresa => p_id_empresa, p_id_pessoa_juridica => p_id_pessoa_juridica,
p_cnpj => p_cnpj, p_id_tipo_documento => p_id_tipo_documento,
p_ie => p_ie, p_im => p_im,
p_razaosocial => p_razaosocial, p_fantasia => p_fantasia,
p_ddd => p_ddd, p_telefone => p_telefone,
p_fax => p_fax, p_ddd_cel => p_ddd_cel,
p_fone_cel => p_fone_cel, p_email => p_email,
p_nome_impresso => p_nome_impresso, p_ramo => p_ramo,
p_fatura_enviada => p_fatura_enviada, p_id_estado_cartao => p_id_estado_cartao,
p_id_matriz => p_id_matriz, p_cliente_categoria => p_cliente_categoria,
p_end_extrato_cnv_empresa => p_end_extrato_cnv_empresa, p_agente => p_agente);
END IF;
END;error: PLS-00363: the expression '<expression>' cannot be used as designationMy guess: ca_empresa_incluir_alterar has OUT or IN OUT parameter(s).
As the parameters of incluir_alterar ar declared as IN, they may not be altered,
neither by direct assignment nor by passing them as OUT parameters to a
procedure.
hth, Urs -
Expression cannot be used as an INTO-target of a SESELECT/FETCH Statement
Hello guys
Iam new to oracle and this my first post
I have written this code in sql
declare
2 cursor madecursor is select bus_id ,bus_destination ,seat_no ,
3 driver_name from bus for update of seat_no nowait ; myseat bus.seat_no%type
4 ; begin
5 for bus_id in madecursor loop
6 select myseat into bus.bus_id from bus where
7 bus_id = bus_id
8 ; if
9 myseat < 5 then
10 update bus set seat_no = seat_no*2 WHERE CURRENT OF madecursor
11 ; DBMS_OUTPUT.PUT_LINE('Updated');
12 end if ;
13 end loop;
14 end;
but I have the following errors:-
ERROR at line 6:
ORA-06550: line 6, column 27:
PLS-00403: expression 'BUS.BUS_ID' cannot be used as an INTO-target of a SELECT/FETCH statement
ORA-06550: line 6, column 2:
PL/SQL: SQL Statement ignored
please help me.
Thanks in advance.
user613283Firstly thank you for replies , I get use of your suggestions and change my code but still having errors please suggest.
SQL> declare
2 I_myseat bus.seat_no%type;
3 begin
4
5
6 select I_myseat into I_myseat from
7 bus where
8 bus_id = bus.bus_id
9 ;
10 if I_myseat < 5 then
11 update bus set seat_no = seat_no*2
12 where I_myseat<5
13 ; DBMS_OUTPUT.PUT_LINE('Updated');
14
15 end if;
16 end;
17 / declare
ERROR at line 1:
ORA-01422: exact fetch returns more than requested number of rows
ORA-06512: at line 6 -
PLS-00455: cursor 'CUR_1' cannot be used in dynamic SQL OPEN statement
create or replace function f_my_test_func
return refcur_pkg.refcur_t1
is
cur_1 refcur_pkg.refcur_t1;
begin
open cur_1
for
'select * from dept';
return cur_1;
exception
when others
then
insert into ddl_log (SQLTEXT)
values
('fucntion error');
end;I would suggest that cur_1 refcur_pkg.refcur_t1 is a stongly typed ref cursor i.e. it has RETURN dept%ROWTYPE or something similar in the declaration. You can't use strongly typed ref cursors with dynamic SQL in this way. The declaration should be weakly typed or just use sys_refcursor.
DTYLER_APP@pssdev2> DECLARE
2
3 TYPE t_Strong IS REF CURSOR RETURN dual%ROWTYPE;
4
5 lc_Strong t_Strong;
6
7 BEGIN
8
9 OPEN lc_Strong FOR
10 'SELECT * FROM dual';
11
12 END;
13 /
OPEN lc_Strong FOR
ERROR at line 9:
ORA-06550: line 9, column 10:
PLS-00455: cursor 'LC_STRONG' cannot be used in dynamic SQL OPEN statement
ORA-06550: line 9, column 5:
PL/SQL: Statement ignored
DTYLER_APP@pssdev2>
DTYLER_APP@pssdev2> DECLARE
2
3 TYPE t_Weak IS REF CURSOR;
4
5 lc_Weak t_Weak;
6
7 BEGIN
8
9 OPEN lc_Weak FOR
10 'SELECT * FROM dual';
11
12 END;
13 /
PL/SQL procedure successfully completed.
DTYLER_APP@pssdev2> DECLARE
2
3 lc_Weak sys_refcursor;
4
5 BEGIN
6
7 OPEN lc_Weak FOR
8 'SELECT * FROM dual';
9
10 END;
11 /
PL/SQL procedure successfully completed.
DTYLER_APP@pssdev2>HTH
David -
Error : Old and new exceptions cannot be used at the same time.
HI ALL,
i build a new exception class with message class and i want to replace the
old exception that i had in the method ,what i did is delete the exception from the method
signature and add the exception class .
the problem is that when i try to activate the method i get error :
Old and new exceptions cannot be used at the same time.
CALL FUNCTION 'CALCULATE_HASH_FOR_CHAR'
EXPORTING
alg = 'MD5'
data = iv_iss
IMPORTING
hash = lv_issu
EXCEPTIONS
unknown_alg = 1
param_error = 2
internal_error = 3
OTHERS = 4.
IF sy-subrc <> 0.
RAISE EXCEPTION TYPE cx_user_mng EXPORTING
textid = cx_user_mng=>wrong_isrs.
ENDIF.
I want to use the new exception class ,
how can i avoid this error ?
Best Regards
Edited by: Joy Stpr on Jul 22, 2009 2:56 PM
Edited by: Joy Stpr on Jul 22, 2009 3:16 PMHi Joy,
Check this link.
[Old and New Exceptions Cannot be used at same time|Urgent problem, give me a hand;
Old and new exceptions cannot be used the same time, what does this mean???
Regards,
Lakshman. -
Please help me. My Apple id not be used in iCloud. After sign in, to iCloud, I have error massage: This Apple ID cannot be used to sign in to iCloud. Create a new Apple ID or sign in with a different one.
For whatever reasons, the "None" option is not always available to all users and I think it may be related to what country you live in. Short of contacting Apple to get it straightened out, if you haven't done anything with your new ID ye - you can create an Apple ID without a credit card and simply abandon the one that you just created.
This explains how you can creaet an ID without a credit card.
http://support.apple.com/kb/HT2534
The two big things that you have to remember for this to work are ... you have to sign out of your existing Apple ID .... Settings>Store>Apple ID - tap the ID and sign out. Then you have to try to download a free app to bring up the window that asks you to sign in or create an ID. Read the information on the website that I referenced above.
If you have not used the original Apple ID for anything yet, you can simply ignore it and use the new one - or like I said earlier - contact iTunes support and ask them to help you sort it out.
Here is a link to iTunes support. You can change the country in the bottom right corner of the screen.
http://www.apple.com/support/itunes/contact/ -
please help, i connect my phone to computer and gives me error code this i phone cannot be used because the apple mobile device is not started
http://support.apple.com/kb/HT1923
uninstall and reinstall
there is a complicated way to work with just the mobile device support but its simpler just to uninstall itunes and related components and then reinstall itunes
ur music will be fine, u will just lose the playlists. but ur mobile device support will be working again. -
I've done all of the above suggested sign in methods, and yet ibooks gives me the following error message "This Apple ID cannot be used for the iTunes Store."
Found this in the forums here, it works.
"OK...I think I have found a solution. In settings, select tunes & app store. click on Apple ID> View Apple ID>Payment Information. It appears it is not saving or requiring payment information to be updated. This worked for me."
Thanks
Maybe you are looking for
-
Issue with 32 bit mapping while doing the job configuration.
Hello, From my end, facing a strange issue while execution of job in 32-bit mode. As part of the solution implementation, do have one excel file which has to be imported to my database. For this activity, have created a package in SQL
-
PR not getting created in VKM4
Hi Gurus We have sales orders set up for auto PR generation. When we release the credit block thru VKM4, credit is approved. but no PR is generated. When we release teh credit block thru VKM3, PR is getting generated. Any idea what could be the pbm?
-
Hey all, I am new to Iweb. I have several websites already I work with, www.oregontimberranch.com, www.yachtcharterthailnad.com and one I recently did in Iweb www.kinnareeplace.com. I was wondering: 1) Can I import current sites to edit in Iweb? 2) H
-
Planning strategy change from 52 to 20
dear all, my client wants to change the planning strategy from 52 to 20, if we change the strategy what are all implications it will affect,kindly explain what are the things we have to check in PP,QM,MM and FICO modules it will be very helpful if it
-
Why do Fonts need to be patched to look good?
Don't get me wrong, this should really not be a rant or so. I'm just curious: Obviously, there are some font configurations which look good and some which don't look so nice. For example, many users don't like default configurations (aliasing problem