PLS-00321
Hi!
I'm facing one problem which is given below --
create or replace package sat_plsql_tab
is
type emp_rectype is record(employee_id number(10),
employee_name varchar2(20));
type emp_table is table of emp_rectype index by binary_integer;
function best_company(year_in in number)
return sat_plsql_tab.emp_table;
end sat_plsql_tab;
create or replace package body sat_plsql_tab
is
function best_company(year_in in number)
return sat_plsql_tab.emp_table
is
cursor c1
is
select empno,ename
from emp
where to_number(to_char(hiredate,'YYYY')) = year_in;
r1 c1%rowtype;
xx sat_plsql_tab.emp_table;
begin
-- for r1 in c1
-- loop
-- sat_plsql_tab.emp_table.employee_id := r1.empno;
-- sat_plsql_tab.emp_table.employee_name := r1.ename;
-- end loop;
open c1;
loop
fetch c1 into xx;
exit when c1%notfound;
end loop;
return xx;
end best_company;
end sat_plsql_tab;
Warning: Package Body created with compilation errors.
SQL>
SQL>
SQL> sho errors;
Errors for PACKAGE BODY SAT_PLSQL_TAB:
LINE/COL ERROR
20/6 PL/SQL: SQL Statement ignored
20/34 PLS-00321: expression 'EMP_TABLE' is inappropriate as the left
hand side of an assignment statementWhat might be the problem? If i use that inside procedure as aout param - it is working. Thanks in advance for your response.
Regards.
Satyaki De.
Yes i've check ed that - and i followed some different approach --
create or replace package body sat_plsql_tab
is
function best_company(year_in in number)
return sat_plsql_tab.emp_table
is
cursor c1
is
select empno,ename
from emp
where to_number(to_char(hiredate,'YYYY')) = year_in;
r1 c1%rowtype;
xx sat_plsql_tab.emp_table;
i number(5);
begin
i := 0;
open c1;
-- for r1 in c1
-- loop
-- i:= i + 1;
-- xx(i).employee_id := r1.empno;
-- xx(i).employee_name := r1.ename;
-- end loop;
fetch c1 bulk collect into xx;
return xx;
end best_company;
end sat_plsql_tab;Thnaks for your reply. It was a silly mistake.
Regards.
Satyaki De.
Similar Messages
-
Dynamic SQL PIVOT not producing output?
Hey all,
Find my source code with test data scripts below. Since my production system is not connected to the inet, I had to type this
"by hand" as it were, so please pardon any mispellings. I have no way to test on my inet-enabled PC before posting.
Anyways, here's my issue: if you run the below code as PL/SQL script, it runs fine but it produces NO output (it should display a
grid of data). That is my dilemma. How to get my dynamic pivot to actually SHOW the data. So I've been experimenting with
EXECUTE IMMEDIATE, but when I use that syntax, it blows up with the error:
PLS-00321: expression 'TMPTABLE' is inappropriate as the left hand side of an assignment statement
I have provide the lines below which cause the error, but they are commented out so you can see it runs fine the 1st way (yet
displays no data) and blows up the 2nd way. I would appreciate your insights.
Thanks
DROP TABLE table1;
DROP TABLE table2;
DROP TABLE datetable;
CREATE TABLE table1
TIME_STAMP TIMESTAMP(6) DEFAULT systimestamp NOT NULL,
Id VARCHAR2(50 BYTE) NOT NULL
CREATE TABLE table2
NAME VARCHAR2(50 BYTE),
Id VARCHAR2(50 BYTE) NOT NULL
CREATE TABLE datetable
YEAR_WEEK VARCHAR2(7 BYTE),
WEEK_START_DATE DATE
INSERT INTO table1 VALUES (to_date(‘05/30/2011’,’MM/DD/YYYY’),’1’);
INSERT INTO table1 VALUES (to_date(‘05/31/2011’,’MM/DD/YYYY’),’1’);
INSERT INTO table1 VALUES (to_date(‘06/01/2011’,’MM/DD/YYYY’),’1’);
INSERT INTO table1 VALUES (to_date(‘06/02/2011’,’MM/DD/YYYY’),’1’);
INSERT INTO table1 VALUES (to_date(‘06/03/2011’,’MM/DD/YYYY’),’2’);
INSERT INTO table1 VALUES (to_date(‘06/04/2011’,’MM/DD/YYYY’),’2’);
INSERT INTO table1 VALUES (to_date(‘06/05/2011’,’MM/DD/YYYY’),’2’);
INSERT INTO table1 VALUES (to_date(‘06/07/2011’,’MM/DD/YYYY’),’2’);
INSERT INTO table1 VALUES (to_date(‘06/08/2011’,’MM/DD/YYYY’),’1’);
INSERT INTO table1 VALUES (to_date(‘06/09/2011’,’MM/DD/YYYY’),’1’);
INSERT INTO table1 VALUES (‘Bob’,’1’);
INSERT INTO table1 VALUES (‘Gary’,’2’);
INSERT INTO table1 VALUES (‘2011-21’,to_date(‘05/23/2011’,’MM/DD/YYYY’));
INSERT INTO table1 VALUES (‘2011-22’,to_date(‘05/30/2011’,’MM/DD/YYYY’));
INSERT INTO table1 VALUES (‘2011-23’,to_date(‘06/06/2011’,’MM/DD/YYYY’));
INSERT INTO table1 VALUES (‘2011-24’,to_date(‘06/13/2011’,’MM/DD/YYYY’));
DECLARE
sql_txt VARCHAR2 (32767);
--keep the below commented for the 1st test, uncomment for 2nd test
--TYPE tmpTable IS TABLE OF VARCHAR2(100) INDEX BY BINARY_INTEGER;
BEGIN
sql_txt :=
Q'{WITH got_dates AS
SELECT b.name,
COUNT(*) AS Responded,
iso.week_start_date AS week_start_date
FROM
table1 a INNER JOIN table2 b ON
(a.id = b.id) INNER JOIN datetable iso ON
((case when to_char(a.time_stamp, 'IW')='53' then to_char(cast(to_char(a.time_stamp, 'IYYY') as int)+1) || '-01' else to_char(a.time_stamp, 'IYYY-IW') end) = iso.year_week)
WHERE
(a.time_stamp >= sysdate-30)
GROUP BY
iso.week_start_date,
b.name
SELECT *
FROM got_dates
PIVOT (
SUM (Responded) FOR week_start_date IN (
FOR d_rec IN (
WITH possible_dates AS
SELECT SYSDATE + 1 - LEVEL AS time_stamp
FROM DUAL
CONNECT BY LEVEL <= 31
SELECT DISTINCT 'DATE '''
|| TO_CHAR ( c.week_start_date
, 'YYYY-MM-DD'
|| ''' AS '
|| TO_CHAR ( c.week_start_date
, 'mon_dd_yyyy'
|| CASE
WHEN DENSE_RANK () OVER (ORDER BY c.week_start_date) > 1
THEN ','
END AS txt
FROM possible_dates p
INNER JOIN datetable c ON c.year_week =
CASE
WHEN TO_CHAR ( p.time_stamp, 'IW') = '53'
THEN TO_CHAR (cast(TO_CHAR(p.time_stamp,'IYYY') AS int)+1) || '-01'
ELSE TO_CHAR ( p.time_stamp, 'IYYY-IW')
END
ORDER BY txt DESC
LOOP
sql_txt := sql_txt || ' ' || d_rec.txt;
END LOOP;
sql_txt := sql_txt || ') )';
--keep the below commented for the 1st test, uncomment for 2nd test. also, comment out the 2nd EXECUTE IMMEDIATE (only 1 at a time should be uncommented)
--EXECUTE IMMEDIATE sql_txt BULK COLLECT INTO tmpTable;
EXECUTE IMMEDIATE sql_txt;
END;Edited by: user8825851 on Oct 6, 2011 2:12 PMHi,
user8825851 wrote:
Find my source code with test data scripts below. Since my production system is not connected to the inet, I had to type this
"by hand" as it were, so please pardon any mispellings. I have no way to test on my inet-enabled PC before posting. Install an Oracle database on your PC. It's free and it's not difficult. if you're going to use this forum, whatever time you have to invest in it will pay off within a week.
http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
Anyways, here's my issue: if you run the below code as PL/SQL script, it runs fine but it produces NO output (it should display a
grid of data)...In PL/SQL, you always have to SELECT into something.
One simple way is to open a cursor. Before running the PL/SQL code, declare a bind variable for the cursor:
VARIABLE c REFCURSOR
-- And while you're at it, do this, too
SET SERVEROUTPUT ONIn the PL/SQL code, use an OPEN statement in place of EXECUTE IMMEDIATE:
... dbms_output.put_line (sql_txt); -- For debugging only
-- EXECUTE IMMEDIATE sql_txt; -- Don't do this
OPEN :c FOR sql_txt; -- Do this instead
END;
/After the PL/SQL is finsihed, you can use PRINT to see the results:
PRINT :cIn this case, you'll get an error message because the dynamic code is incorrect. That's what the call to put_line is for: to show exactly what you're running. If there's a problem, you can examine the output, or copy it into a script, edit it and debug it.
In this case, you'll see that the dynamic SQL ends with:
PIVOT (
SUM (Responded) FOR week_start_date IN (
) )The part that's supposed to be dynamic is missing. That part is supposed to be written inside the d_rec cursor loop, but d_rec is returning no rows. That's because of the join condition:
INNER JOIN datetable c ON c.year_week =
CASE
WHEN TO_CHAR ( p.time_stamp, 'IW') = '53'
THEN TO_CHAR (cast(TO_CHAR(p.time_stamp,'IYYY') AS int)+1) || '-01'
ELSE TO_CHAR ( p.time_stamp, 'IYYY-IW')
END With the given sample data, p.time_stamp is producing values between '2011-36' and '2011-40', but the values in c.week are
INSERT INTO table1 VALUES (‘2011-21’,to_date(‘05/23/2011’,’MM/DD/YYYY’));
INSERT INTO table1 VALUES (‘2011-22’,to_date(‘05/30/2011’,’MM/DD/YYYY’));
INSERT INTO table1 VALUES (‘2011-23’,to_date(‘06/06/2011’,’MM/DD/YYYY’));
INSERT INTO table1 VALUES (‘2011-24’,to_date(‘06/13/2011’,’MM/DD/YYYY’));(I assume you meant "INSERT INTO *datetable* " above.)
Perhaps you meant LEFT OUTER JOIN instead of INNER JOIN in d_rec. -
Bulk collect usage in cursor for loop
Hi Team,
I have one cursor like below assuming cursor is having 3000 records,
CURSOR csr_del_frm_stg(c_source_name VARCHAR2 , c_file_type VARCHAR2)
IS
SELECT stg.last_name,stg.employee_number,stg.email
FROM akam_int.xxak_eb_contact_stg stg
MINUS
SELECT ss.last_name,ss.employee_number,ss.email
FROM akam_int.xxak_eb_contact_stg_ss ss;
I declared one record type variable as,
TYPE emp_rec IS RECORD (LAST_NAME VARCHAR2(40)
*,EMPLOYEE_NUMBER VARCHAR2(50)*
*,EMAIL VARCHAR2(80)*
TYPE emp_rec_ss IS VARRAY(3000) OF emp_rec;
Im updating the status of those cursor records to 'C' in the below for loop,
FOR l_csr_del_frm_stg IN csr_del_frm_stg(p_source_name , p_file_type)
LOOP
FETCH csr_del_frm_stg BULK COLLECT INTO emp_rec_ss LIMIT 500;
FORALL i IN emp_rec_ss.FIRST..emp_rec_ss.LAST
UPDATE akam_int.xxak_eb_contact_stg stg
SET akam_status_flag = 'C'
WHERE stg.employee_number = emp_rec_ss(i).employee_number;
EXIT WHEN csr_del_frm_stg%NOTFOUND;
END LOOP;
Getting following errors if i compile the code,
PLS-00321: expression 'EMP_REC_SS' is inappropriate as the left hand side of an assignment statement
PLS-00302: component 'FIRST' must be declaredUse cursor variables:
declare
v_where varchar2(100) := '&where_clause';
v_cur sys_refcursor;
v_ename varchar2(30);
begin
open v_cur for 'select ename from emp where ' || v_where;
loop
fetch v_cur into v_ename;
exit when v_cur%notfound;
dbms_output.put_line(v_ename);
end loop;
close v_cur;
end;
Enter value for where_clause: deptno = 10
CLARK
KING
MILLER
PL/SQL procedure successfully completed.
SQL> /
Enter value for where_clause: sal = 5000
KING
PL/SQL procedure successfully completed.
SQL> /
Enter value for where_clause: job = ''CLERK''
SMITH
ADAMS
JAMES
MILLER
PL/SQL procedure successfully completed.
SQL> SY. -
Error using BULK Collect with RECORD TYPE
hello
I have written a simple Procedure by declaring a record type & then making a variable of NESTED Table type.
I then select data using BULK COLLECT & tryin to access it through a LOOP.....Getting an ERROR.
CREATE OR REPLACE PROCEDURE sp_test_bulkcollect
IS
TYPE rec_type IS RECORD (
emp_id VARCHAR2(20),
level_id NUMBER
TYPE v_rec_type IS TABLE OF rec_type;
BEGIN
SELECT employee_id, level_id
BULK COLLECT INTO v_rec_type
FROM portfolio_exec_level_mapping
WHERE portfolio_execp_id = 2851852;
FOR indx IN v_rec_type.FIRST..v_rec_type.LAST
LOOP
dbms_output.put_line('Emp -- '||v_rec_type.emp_id(indx)||' '||v_rec_type.level_id(indx));
END LOOP;
END;
Below are the ERROR's i am getting ....
- Compilation errors for PROCEDURE DOMRATBDTESTUSER.SP_TEST_BULKCOLLECT
Error: PLS-00321: expression 'V_REC_TYPE' is inappropriate as the left hand side of an assignment statement
Line: 15
Text: FROM portfolio_exec_level_mapping
Error: PL/SQL: ORA-00904: : invalid identifier
Line: 16
Text: WHERE portfolio_execp_id = 2851852;
Error: PL/SQL: SQL Statement ignored
Line: 14
Text: BULK COLLECT INTO v_rec_type
Error: PLS-00302: component 'FIRST' must be declared
Line: 19
Text: LOOP
Error: PL/SQL: Statement ignored
Line: 19
Text: LOOP
PLZ Help.and with a full code sample:
SQL> CREATE OR REPLACE PROCEDURE sp_test_bulkcollect
2 IS
3 TYPE rec_type IS RECORD (
4 emp_id VARCHAR2(20),
5 level_id NUMBER
6 );
7 TYPE v_rec_type IS TABLE OF rec_type;
8 v v_rec_type;
9 BEGIN
10 SELECT empno, sal
11 BULK COLLECT INTO v
12 FROM emp
13 WHERE empno = 7876;
14 FOR indx IN v.FIRST..v.LAST
15 LOOP
16 dbms_output.put_line('Emp -- '||v(indx).emp_id||' '||v(indx).level_id);
17 END LOOP;
18 END;
19 /
Procedure created.
SQL>
SQL> show error
No errors.
SQL>
SQL> begin
2 sp_test_bulkcollect;
3 end;
4 /
Emp -- 7876 1100
PL/SQL procedure successfully completed. -
Hi all
I am executing following pl/sql block
DECLARE
hiredate emp.hiredate%TYPE;
sysdate hiredate%TYPE;
empno emp.empno%TYPE := 7839;
BEGIN
SELECT hiredate,sysdate
INTO hiredate,sysdate
FROM emp
WHERE empno = 7839;
dbms_output.put_line(hiredate||' '||sysdate);
END;
17-NOV-81
only hiredate id displaying at runtime , why sysdate is not displaying?????but if i could not declare sysdate in PL/SQL block, it should not get compiled.The point is, you can declare sysdate in your pl/sql block and because of the way that oracle handles naming resolution, you will not get the result you appear to be looking for as your local delcaration of SYSDATE will override the global declaration of SYSDATE
SQL> DECLARE
2
3 sysdate date;
4 BEGIN
5 SELECT
6 sysdate
7 INTO
8 sysdate
9 FROM
10 dual;
11
12 dbms_output.put_line(NVL(sysdate,TO_DATE('01/01/2005','dd/mm/yyyy')));
13 END;
14 /
01-JAN-05
PL/SQL procedure successfully completed.
SQL> DECLARE
2
3 sysdate date :=TO_DATE('31/12/2005','dd/mm/yyyy');
4 BEGIN
5 SELECT
6 sysdate
7 INTO
8 sysdate
9 FROM
10 dual;
11
12 dbms_output.put_line(NVL(sysdate,TO_DATE('01/01/2005','dd/mm/yyyy')));
13 END;
14 /
31-DEC-05
PL/SQL procedure successfully completed.
SQL> DECLARE
2
3 sysdate date;
4 BEGIN
5 -- SELECT
6 -- sysdate
7 -- INTO
8 -- sysdate
9 -- FROM
10 -- dual;
11 --
12 dbms_output.put_line(NVL(sysdate,TO_DATE('01/01/2005','dd/mm/yyyy')));
13 END;
14 /
01-JAN-05
PL/SQL procedure successfully completed.
SQL> DECLARE
2
3 -- sysdate date;
4 BEGIN
5 -- SELECT
6 -- sysdate
7 -- INTO
8 -- sysdate
9 -- FROM
10 -- dual;
11 --
12 dbms_output.put_line(NVL(sysdate,TO_DATE('01/01/2005','dd/mm/yyyy')));
13 END;
14 /
14-SEP-05
PL/SQL procedure successfully completed.
SQL> DECLARE
2
3 sys_date date;
4 BEGIN
5 SELECT
6 sysdate
7 INTO
8 sys_date
9 FROM
10 dual;
11
12 dbms_output.put_line(NVL(sys_date,TO_DATE('01/01/2005','dd/mm/yyyy')));
13 END;
14 /
14-SEP-05
PL/SQL procedure successfully completed.Also, if you get rid of your declaration of sysdate and try the same query again, you will get an error:
SQL> DECLARE
2
3 -- sysdate date;
4 BEGIN
5 SELECT
6 sysdate
7 INTO
8 sysdate
9 FROM
10 dual;
11
12 dbms_output.put_line(NVL(sysdate,TO_DATE('01/01/2005','dd/mm/yyyy')));
13 END;
14 /
sysdate
ERROR at line 8:
ORA-06550: line 8, column 3:
PLS-00321: expression 'SYSDATE' is inappropriate as the left hand side of an
assignment statement
ORA-06550: line 5, column 2:
PL/SQL: SQL Statement ignoredHave a look at the docs for more info on how oracle handles naming resolution:
http://download-west.oracle.com/docs/cd/B10501_01/appdev.920/a96624/d_names.htm#3693
HTH
David -
Whts goinf wrong. PL/SQL
Hi all,
Here is my code:
PROCEDURE CalulateAbsoluteGrades(clsID IN NUMBER, acadYR IN VARCHAR2)
AS
Tables for marks calcultion
TYPE tabStdID IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
TYPE tabTotMarksUT1 IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
TYPE tabTotMarksHYLY IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
TYPE tabMaxSumMarksUT1 IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
TYPE tabMaxSumMarksHLY IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
tmpSumUT1 NUMBER:=0;
tmpSumHLY NUMBER:=0;
i NUMBER:=0;
Defining cursor for getting the subjects assigned to the students
CURSOR getStdSubject IS
SELECT SSM.STUDENTID,
sum(NVL(DECODE(MM.MARKS_TH_UT1,-1,NULL,MM.MARKS_TH_UT1),0)) MarksUT1,
SUM(NVL(DECODE(MARKS_TH_HFLY,-1,NULL,MARKS_TH_HFLY),0)+NVL(DECODE(MARKS_PT_HFLY,-1,NULL,MARKS_PT_HFLY),0)) MarksHly
FROM studentSubjectMaster SSM, MarksMASTER MM
WHERE SSM.STUDENTID = MM.STUDENTID
AND SubType='C' AND SSM.SubjectID=MM.SUBJECTID AND
SSM.STUDENTID IN
SELECT studentID
FROM strollnomaster
WHERE classID=clsID AND ACAD_YEAR=acadYr
GROUP BY SSM.STUDENTID;
BEGIN
FOR singleRec IN getStdSubject
LOOP
tabStdID(i):=singleRec.STUDENTID;
tabTotMarksUT1(i):=singleRec.MarksUT1;
tabTotMarksHYLY(i):=singleRec.MarksHly;
i:=i+1;
END LOOP;
END;
this procedure is giving me the following error:
PLS-00321: expression 'TABSTDID' is inappropriate as the left hand side of an assignment statement.
I am unable to figure out what is going wrong and where because same sort of code is working in different procedure perfectly.
ny idea(s).You're using your TYPE rather than an instance of your type. Make your declaration look like this...
PROCEDURE CalulateAbsoluteGrades(clsID IN NUMBER, acadYR IN VARCHAR2)
AS
Tables for marks calcultion
TYPE myTab IS TABLE OF NUMBER INDEX BY BINARY_INTEGER;
tabStdID myTab;
tabTotMarksUT1 myTab;
tabTotMarksHYLY myTab;
tabMaxSumMarksUT1 myTab;
tabMaxSumMarksHLY myTab;Cheers, APC -
I have a problem with wifi in my iphone 4s, i already try everything and download latest version 7.1(11D167) but wifi switch is not working, its my humble request to Apple support team that pls resolve this problem as soon as possible because its a prestiage of Apple Company.
Pls inform me how can i resolve the problem of wifi.You have to go to autherized iPhone agent.
-
Error while creating a procedure (PLS-00103)
Hi Am create the follwing Procedure:-
create or replace PROCEDURE XL_SP_ROGUEUSERS (
csrresultset_inout IN OUT sys_refcursor,
intuserkey_in IN NUMBER,
strsortcolumn_in IN VARCHAR2,
strsortorder_in IN VARCHAR2,
intstartrow_in IN NUMBER,
intpagesize_in IN NUMBER,
intdocount_in IN NUMBER,
inttotalrows_out OUT NUMBER,
strfiltercolumnlist_in IN VARCHAR2,
strfiltercolumnvaluelist_in IN VARCHAR2,
strudfcolumnlist_in IN VARCHAR2,
strudfcolumnvaluelist_in IN VARCHAR2,
struserlogin_in IN VARCHAR2,
strfirstname_in IN VARCHAR2,
strlastname_in IN VARCHAR2,
strdate_in IN VARCHAR2
AS
BEGIN
DECLARE
whereclause VARCHAR2(8000);
select_stmt VARCHAR2(8000);
strColumnList VARCHAR2(4000);
strDateFormat VARCHAR2 (80);
strFromClause VARCHAR2(4000);
strWhereClause VARCHAR2(4000);
strOrderByClause VARCHAR2(2000);
intSortDirection_in PLS_INTEGER;
entsum varchar2(20) := 'Entitlements Summary';
str_row EXCEPTION;
do_cnt EXCEPTION;
no_logged_in_user EXCEPTION;
property_not_found EXCEPTION;
pragma exception_init(Str_row,-20001);
pragma exception_init(Do_cnt,-20002);
pragma exception_init(no_logged_in_user,-20003);
BEGIN
-- Throw exception if the start row or page size is either NULL or have
-- values less than or equal to zero
IF (intstartrow_in <= 0 OR intpagesize_in <= 0 OR intstartrow_in IS NULL OR intpagesize_in IS NULL)
THEN
RAISE str_row;
END IF;
-- Throw exception if the intdocount_in parameter is NULL or has a value
-- other than 0 and 1
IF intdocount_in NOT IN (0, 1, 2) OR intdocount_in IS NULL
THEN
RAISE do_cnt;
END IF;
-- Throw exception if the intuserkey_in (logged in user) parameter is NULL
IF intuserkey_in IS NULL or intuserkey_in <= 0
THEN
RAISE no_logged_in_user;
END IF;
-- Now, we start accumulating the whereclause based on the input
-- parameters, performing error checking along the way.
--Organization Permissioning.
/* whereclause := ' and usr.act_key IN (SELECT DISTINCT act2.act_key FROM '||
' act act2, aad, usg, ugp, usr usr5 '||
' WHERE act2.act_key = aad.act_key '||
' and aad.ugp_key = usg.ugp_key '||
' and ugp.ugp_key = usg.ugp_key'||
' and usg.usr_key = usr5.usr_key'||
' and usr5.usr_key = '||intuserkey_in||')'; */
IF strfiltercolumnlist_in IS NOT NULL AND
strfiltercolumnvaluelist_in IS NOT NULL THEN
whereclause := whereclause
|| xl_sfg_parseparams(strfiltercolumnlist_in,
strfiltercolumnvaluelist_in);
END IF;
IF struserlogin_in IS NOT NULL THEN
whereclause := whereclause
|| ' AND UPPER(usr.usr_login) LIKE '
|| UPPER (''''||struserlogin_in||'''')
|| ' ';
END IF;
IF strudfcolumnlist_in IS NOT NULL AND
strudfcolumnvaluelist_in IS NOT NULL THEN
whereclause := whereclause
|| xl_sfg_parseparams(strudfcolumnlist_in,
strudfcolumnvaluelist_in);
END IF;
-- Perform the count query and store the result in inttotalrows_out
inttotalrows_out := 0;
IF intdocount_in IN (1,2) THEN
EXECUTE IMMEDIATE ' select count(*) from((SELECT upper(rcd.RCD_VALUE) as "User ID" '|| ' FROM rce, obj, rcd, orf '||
' WHERE '||
' RCE_STATUS like 'No Match Found' '||
' AND ((orf.ORF_FIELDNAME like 'User ID') or (orf.ORF_FIELDNAME like 'User%Login')) '||
' AND rce.OBJ_KEY = obj.OBJ_KEY '||
' AND rce.RCE_KEY = rcd.RCE_KEY '||
' AND rcd.ORF_KEY = orf.ORF_KEY '||
' ) '||
' MINUS '||
' (SELECT usr.USR_LOGIN FROM usr '||
' WHERE '||
' usr.USR_STATUS like 'Active')) '||
whereclause INTO inttotalrows_out;
-- UI needs the SP to return result set always. The following is returned
-- when the indocount is 2 which does not return any result set but count
IF intdocount_in = 2 THEN
select_stmt := 'SELECT ''dummy'' FROM dual';
OPEN csrresultset_inout FOR select_stmt;
END IF;
END IF;
-- If intdocount_in is 2, UI just wants to get the totalrows to give
-- the warning to users if the result set exceeds the limit set by
-- UI. When ntdocount_in is 2, the following block won't be executed.
IF intdocount_in IN (0,1) THEN
-- Construct the select query by calling XL_SPG_GetPagingSql.
-- This is the main query for this stored procedure
strOrderByClause := ' usr.usr_login';
--strOrderByClause := ' req.req_key';
IF strsortorder_in = 'DESC' THEN
intSortDirection_in := 0;
ELSE
intSortDirection_in := 1;
END IF;
XL_SPG_GetPagingSql(strColumnList,
strFromClause,
whereclause,
strOrderByClause,
intSortDirection_in,
intStartRow_in,
intPageSize_in,
select_stmt
OPEN csrresultset_inout FOR select_stmt;
END IF;
-- Exception Handling
EXCEPTION
WHEN Str_row THEN
RAISE_APPLICATION_ERROR(sqlcode,
'Start Row/Page Size cannot be NULL OR less than or equal to zero ');
WHEN Do_cnt THEN
RAISE_APPLICATION_ERROR(sqlcode,
'Do Count must be 0, 1 or 2. ');
WHEN no_logged_in_user THEN
RAISE_APPLICATION_ERROR(sqlcode,
'Logged-in User Key cannot be NULL OR less than or equal to zero ');
END;
end XL_SP_ROGUEUSERS;
But Am getting the following error message, I couldn't figure wat it is.Can anyone help me:-
PLS-00103: Encountered the symbol "NO" when expecting one of the following: * & = - + ; < / > at in is mod remainder not rem return returning <an exponent (**)> <> or != or ~= >= <= <> and or like LIKE2_ LIKE4_ LIKEC_ between into using || bulk member SUBMULTISET_Please use tags when posting code. Also please format the code so that blocks line up vertically - often that makes syntax errors like missing END IFs etc much easier to spot.
-
Pls help me, what happen to the itune or my ipod?
the moment i plug my ipod into my computer, the itune update the songs and videos itself, but later on, i added something else into the itune, i update my ipod again, it doesn't work, it appear an error message said "The ipod cannot be updated. The disk could not be read from or written to" anybody can help me pls? send me the answer to my email if possible. [email protected] Thanks alot
hiya!
here's a good place to start with that error message:
"Disk cannot be read from or written to" when syncing iPod or "Firmware update failure" error when updating or restoring iPod
love, b -
I remove CTIOS 8 in window 8.1, and install CTIOS 9.0 but i am trying to login they given the error. Pls help
This may help, it allows you to reset the application, it also may be worth clearing out the app store cache and temp files.
http://www.ryanragle.com/index.php?/site/comments/where-does-the-mac-app-store-d ownload-temp-files-to
To contact Apple use the feedback form, this is a user forum and I don't think they will respond here.
regards -
Error in Installation of SAP R/3 4.7 - Urgent Help Pls !!!
Hi All,
I have a problem while installing SAP R/3 4.7. The Central instance has been successfully installed. Error occurred while installing the database instance. I am using SAPDB as the database. The error I get is the following:
**INFO 2008-03-01 14:15:57**
**Processing of host operation t_HostInfo_SHARED succeeded.**
**INFO 2008-03-01 14:16:07**
**The 'saploc' share exists at directory 'E:\usr\sap'. Choosing drive E: as SAP System drive.**
**INFO[E] 2008-03-01 14:16:56**
**Account group="ORA_GOK_DBA" does not exist. <#1>**
**INFO[E] 2008-03-01 14:17:05**
**Account group="ORA_GOK_OPER" does not exist. <#1>**
**INFO[E] 2008-03-01 14:17:23**
**Account group="SAPSRV\dbgokctl" does not exist. <#1>**
**INFO 2008-03-01 14:19:23**
**Copying file C:/SAP Dumps/Core Release SR1 Export_CD1_51019634/DB/ADA/DBSIZE.XML to: DBSIZE.XML.**
**INFO 2008-03-01 14:19:23**
**Creating file C:\SAPinst SAPDB SAPINST\DBSIZE.XML.**
**INFO 2008-03-01 14:19:23**
**Copying file system node C:\SAP Dumps\Core Release SR1 Export_CD1_51019634/DB/ADA/DBSIZE.XML with type NODE to DBSIZE.XML succeeded.**
**INFO 2008-03-01 14:19:23**
**Processing of all file system node operations of table tADA_Files succeeded.**
**WARNING 2008-03-01 14:19:24**
**Error 2 (The system cannot find the file specified.) in execution of a 'RegOpenKeyEx' function, line (274), with parameter (SOFTWARE\SAP\SAP DBTech).**
**ERROR 2008-03-01 14:19:24**
**MDB-07003 Exception occurred during Actor Call (Action READ_PROFILE_INFO).**
**ERROR 2008-03-01 14:19:24**
**MDB-07000 Execute Action READ_PROFILE_INFO failed.**
**ERROR 2008-03-01 14:20:47**
**MSC-01003 ESyException: ESAPinstException: error text undefined**
**ERROR 2008-03-01 14:20:47**
**FJS-00012 Error when executing script.**
**ERROR 2008-03-01 14:20:47**
**FCO-00011 The step fillR3loadPackageTable with step key SAPSYSTEM|ind|ind|ind|ind|ind|0|SAPComponent|ind|ind|ind|ind|ind|0|DatabaseLoad|ind|ind|ind|ind|ind|0|fillR3loadPackageTable executed with status ERROR.**
**ERROR 2008-03-01 14:20:47**
**FSL-02015 Node C:\SAP\DATA does not exist.**
Kindly let me know the solution to correct the error. Its urgent pls !!!
Regards,
Rose.Hello,
The problem is caused due to the spaces in your directories
C:\SAP Dumps\Core Release SR1 Export_CD1_51019634/DB/ADA/DBSIZE.XML
Replace the spaces with underscores and restart the installation from from scratch.
Cheers
Bert -
Pls help me writing logic:iterate tag in jsp page
Hey guys , I am struck in retriving string p1,p2,p3 in the jsp page
Pls have a look ata the code
In DAO class:-
StdprdDAO.java
Public arrayList getPFP()
ArrayList a = new ArrayList();
While(rs.next())
columnsVO colVO = new columnsVO;
colVO.setProduct(rset.getString(1));//will store in String colProduct
colVO.setFamily(rset.getString(2));//will store in String colFamily
colVO.setPrice(rset.getString(3));//will store in String colPrice
a.add(colVO);
return a;
In Action Class:-
ArrayList final = null;
StdprdDAO DAO = new stdprdDAO();
final = DAO.getPFP();
For(int i = 0; final !=null && i<final.size() ; i++)
columnsVO VO = null;
VO = (columnsVO)final.get(i);
String p1 = (String) VO.getProduct();
String p2 = (String) VO.getFamily();
String p3 = (String) VO.getPrice();
Request.setAttribute(p1,p1);
Request.setAttribute(p2,p2);
Request.setAttribute(p3,p3);
In JSP PAGE:-
id = columnsVO>
<bean:write name = columnsVO property=final id=p1>
but still I am doubting my above sentences in jsp page ,so pls correct them if possible.
Instead of l;ogic:iterate can I use directly getattribute(p1)? <logic:iterate
Still I m doubting I can not utilize columnsVO file in logic:iterate, I can utilize only formbean file.
So pls help me with this.May I ask why have you done it?
If it is related to printing of the list then it is of no use.But it IS of use. The objects compEmployees is in scope.
It has the list we want to print out.
With logic:iterate:
<table>
<tr>
<th>Number</th>
<th>Employee</th>
</tr>
<logic:iterate name="compEmployees" property="totalEmps" id="emp">
<tr>
<td>
<bean:write name="emp" property="empNo"/>
</td>
<td>
<bean:write name="emp" property="empName"/>
</td>
</tr>
</logic:iterate>
</table>or alternatively with JSTL and c:forEach
<table>
<tr>
<th>Number</th>
<th>Employee</th>
</tr>
<c:forEach items="${compEmployees.totalEmps}" var="emp">
<tr>
<td>
<c:out value="${emp.empNo}"/>
</td>
<td>
<c:out value="${emp.empName}"/>
</td>
</tr>
</c:forEach>
</table>Cheers,
evnafets -
Pls help me.. unable to get past mac login sreen!!
Hello people, This is my first post and after much searching i am praying someone can help..!
I have a mac g5 dual, and i am having a really annoying problem, my mac keyboard is not working, sometimes some of the keys work but others dont, or none of the keys work, or when i press a button it types a different letter or types 2 or 3 at once!!
Therefore i can not get past the login screen as the keys needed for thre password do not work!! not even when i try to log into admin!!
I have purchased a new keyboard today, (wireless apple) but i can not get that to work as i need to pair it to the mac before it will work but i cant pair without getting past the login screen!!!
typical that this should happen on my only couple of days off too!!
pls HELP ME
thanks in advance..Yeah, I tried every port available.
Is there anyway at all i can get into the system settings with a shortcut on startup?
Then again Im still not sure that the keys will work to use a shortcut.
Its odd because i managed (just) to login earlier in the day, but the keyboard just seemed to get steadily worse until none of the keys worked!!
Cheers Dale
any other ideas?? -
Can someone pls help me with this code
The method createScreen() creates the first screen wherein the user makes a selection if he wants all the data ,in a range or single data.The problem comes in when the user makes a selection of single.that then displays the singleScreen() method.Then the user has to input a key data like date or invoice no on the basis of which all the information for that set of data is selected.Now if the user inputs a wrong key that does not exist for the first time the program says invalid entry of data,after u click ok on the option pane it prompts him to enter the data again.But since then whenever the user inputs wrong data the program says wrong data but after displaying the singlescreen again does not wait for input from the user it again flashes the option pane with the invalid entry message.and this goes on doubling everytime the user inputs wrong data.the second wrong entry of data flashes the error message twice,the third wrong entry flashes the option pane message 4 times and so on.What actually happens is it does not wait at the singlescreen() for user to input data ,it straight goes into displaying the JOptionPane message for wrong data entry so we have to click the optiion pane twice,four times and so on.
Can someone pls help me with this!!!!!!!!!
import java.util.*;
import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
import java.text.*;
import java.util.*;
public class MainMenu extends JFrame implements ActionListener,ItemListener{
//class
FileReaderDemo1 fd=new FileReaderDemo1();
FileReaderDemo1 fr;
Swing1Win sw;
//primary
int monthkey=1,counter=0;
boolean flag=false,splitflag=false;
String selection,monthselection,dateselection="01",yearselection="00",s,searchcriteria="By Date",datekey,smonthkey,invoiceno;
//arrays
String singlesearcharray[];
String[] monthlist={"Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sept","Oct","Nov","Dec"};
String[] datelist=new String[31];
String[] yearlist=new String[100];
String[] searchlist={"By Date","By Invoiceno"};
//collection
Hashtable allinvoicesdata=new Hashtable();
Vector data=new Vector();
Enumeration keydata;
//components
JButton next=new JButton("NEXT>>");
JComboBox month,date,year,search;
JLabel bydate,byinvno,trial;
JTextField yeartext,invtext;
JPanel panel1,panel2,panel3,panel4;
JRadioButton single,range,all;
ButtonGroup group;
JButton select=new JButton("SELECT");
//frame and layout declarations
JFrame jf;
Container con;
GridBagLayout gridbag=new GridBagLayout();
GridBagConstraints gc=new GridBagConstraints();
//constructor
MainMenu(){
jf=new JFrame();
con=getContentPane();
con.setLayout(null);
fr=new FileReaderDemo1();
createScreen();
setSize(500,250);
setLocation(250,250);
setVisible(true);
//This is thefirst screen displayed
public void createScreen(){
group=new ButtonGroup();
single=new JRadioButton("SINGLE");
range=new JRadioButton("RANGE");
all=new JRadioButton("ALL");
search=new JComboBox(searchlist);
group.add(single);
group.add(range);
group.add(all);
single.setBounds(100,50,100,20);
search.setBounds(200,50,100,20);
range.setBounds(100,90,100,20);
all.setBounds(100,130,100,20);
select.setBounds(200,200,100,20);
con.add(single);
con.add(search);
con.add(range);
con.add(all);
con.add(select);
search.setEnabled(false);
single.addItemListener(this);
search.addActionListener(new MyActionListener());
range.addItemListener(this);
all.addItemListener(this);
select.addActionListener(this);
public class MyActionListener implements ActionListener{
public void actionPerformed(ActionEvent a){
JComboBox cb=(JComboBox)a.getSource();
if(a.getSource().equals(month))
monthkey=((cb.getSelectedIndex())+1);
if(a.getSource().equals(date)){
dateselection=(String)cb.getSelectedItem();
if(a.getSource().equals(year))
yearselection=(String)cb.getSelectedItem();
if(a.getSource().equals(search)){
searchcriteria=(String)cb.getSelectedItem();
public void itemStateChanged(ItemEvent ie){
if(ie.getItem()==single){
selection="single";
search.setEnabled(true);
else if (ie.getItem()==all){
selection="all";
search.setEnabled(false);
else if (ie.getItem()==range){
search.setEnabled(false);
public void actionPerformed(ActionEvent ae){
if(ae.getSource().equals(select))
if(selection.equals("single")){
singleScreen();
if(selection.equals("all"))
sw=new Swing1Win();
if(ae.getSource().equals(next)){
if(monthkey<9)
smonthkey="0"+monthkey;
System.out.println(smonthkey+"/"+dateselection+"/"+yearselection+"it prints this");
allinvoicesdata=fr.read(searchcriteria);
if (searchcriteria.equals("By Date")){
System.out.println("it goes in this");
singleinvoice(smonthkey+"/"+dateselection+"/"+yearselection);
else if (searchcriteria.equals("By Invoiceno")){
invoiceno=invtext.getText();
singleinvoice(invoiceno);
if (flag == false){
System.out.println("flag is false");
singleScreen();
else{
System.out.println("its in here");
singlesearcharray=new String[data.size()];
data.copyInto(singlesearcharray);
sw=new Swing1Win(singlesearcharray);
public void singleinvoice(String searchdata){
keydata=allinvoicesdata.keys();
while(keydata.hasMoreElements()){
s=(String)keydata.nextElement();
if(s.equals(searchdata)){
System.out.println(s);
flag=true;
break;
if (flag==true){
System.out.println("vector found");
System.exit(0);
data= ((Vector)(allinvoicesdata.get(s)));
else{
JOptionPane.showMessageDialog(jf,"Invalid entry of date : choose again");
public void singleScreen(){
System.out.println("its at the start");
con.removeAll();
SwingUtilities.updateComponentTreeUI(con);
con.setLayout(null);
counter=0;
panel2=new JPanel(gridbag);
bydate=new JLabel("By Date : ");
byinvno=new JLabel("By Invoice No : ");
dateComboBox();
invtext=new JTextField(6);
gc.gridx=0;
gc.gridy=0;
gc.gridwidth=1;
gridbag.setConstraints(month,gc);
panel2.add(month);
gc.gridx=1;
gc.gridy=0;
gridbag.setConstraints(date,gc);
panel2.add(date);
gc.gridx=2;
gc.gridy=0;
gc.gridwidth=1;
gridbag.setConstraints(year,gc);
panel2.add(year);
bydate.setBounds(100,30,60,20);
con.add(bydate);
panel2.setBounds(170,30,200,30);
con.add(panel2);
byinvno.setBounds(100,70,100,20);
invtext.setBounds(200,70,50,20);
con.add(byinvno);
con.add(invtext);
next.setBounds(300,200,100,20);
con.add(next);
if (searchcriteria.equals("By Invoiceno")){
month.setEnabled(false);
date.setEnabled(false);
year.setEnabled(false);
else if(searchcriteria.equals("By Date")){
byinvno.setEnabled(false);
invtext.setEnabled(false);
monthkey=1;
dateselection="01";
yearselection="00";
month.addActionListener(new MyActionListener());
date.addActionListener(new MyActionListener());
year.addActionListener(new MyActionListener());
next.addActionListener(this);
invtext.addKeyListener(new KeyAdapter(){
public void keyTyped(KeyEvent ke){
char c=ke.getKeyChar();
if ((c == KeyEvent.VK_BACK_SPACE) ||(c == KeyEvent.VK_DELETE)){
System.out.println(counter+"before");
counter--;
System.out.println(counter+"after");
else
counter++;
if(counter>6){
System.out.println(counter);
counter--;
ke.consume();
else
if(!((Character.isDigit(c) || (c == KeyEvent.VK_BACK_SPACE) || (c == KeyEvent.VK_DELETE)))){
getToolkit().beep();
counter--;
JOptionPane.showMessageDialog(null,"please enter numerical value");
ke.consume();
System.out.println("its at the end");
public void dateComboBox(){
for (int counter=0,day=01;day<=31;counter++,day++)
if(day<=9)
datelist[counter]="0"+String.valueOf(day);
else
datelist[counter]=String.valueOf(day);
for(int counter=0,yr=00;yr<=99;yr++,counter++)
if(yr<=9)
yearlist[counter]="0"+String.valueOf(yr);
else
yearlist[counter]=String.valueOf(yr);
month=new JComboBox(monthlist);
date=new JComboBox(datelist);
year=new JComboBox(yearlist);
public static void main(String[] args){
MainMenu mm=new MainMenu();
public class WindowHandler extends WindowAdapter{
public void windowClosing(WindowEvent we){
jf.dispose();
System.exit(0);
}Hi,
I had a similar problem with a message dialog. Don't know if it is a bug, I was in a hurry and had no time to search the bug database... I found a solution by using keyPressed() and keyReleased() instead of keyTyped():
private boolean pressed = false;
public void keyPressed(KeyEvent e) {
pressed = true;
public void keyReleased(KeyEvent e) {
if (!pressed) {
e.consume();
return;
// Here you can test whatever key you want
//...I don't know if it will help you, but it worked for me.
Regards. -
Hi! For part of my homework I have to use a Calendar. A guy in my class gave me a program but it like, doesn't work! When I print out the date I get 9/4/2003 but it's like, May not April! Help me pls!
Thanx!
JSHi everyone!
What did the code look like that this guy gave you?
System.out.println("9/4/2003"); ??? No! Actually this guy is like, really good at java. That's why I ask him to help me : )
Welcome back, Jessica. You're like, as good as clockwork.Thanx!
Jessica, are you blonde by any chance? Whatever! Blonde jokes are sooo last season.
Sorry I'm going out in 3 hours so I've got to start getting ready now. If anyone's going to chinawhite in London tonight I'll like, see you there!
JS
Maybe you are looking for
-
My Screen Saver won't turn off on my I-Mac. Is there a way to fix this?
I have an I-Mac that every once in a while won't turn off it's screen saver when I move the mouse. I can see the mouse move and switch to the screen with the caculator, but I am unable to get the screen saver to stop and view the screen proper. It ha
-
Black screen on MacBook Pro running 10.6.8
Zapping PRAM, safe reboot, battery removal -- no help. Ideas? Have been using external monitor for about a year since hinge broke and ate the screen in the process. Right now external monitor does give me a "no signal" message at shutdown so I know i
-
Error - Account requires an assignment to a CO object
We have created a Debit note for scrap material sale where we are charging "Cheque Dishonour Chg" to the customer. The GL code attached to Cheque Dishonour Chg is a cost element with cost element category 1 - Cost / Cost Reducing Revenue. Hence when
-
The beginning of "dumb" questions coming your way... for your help
In the track info window: 1) what does the "compressor" do? 2) what does the "equalizer" do? Can't find "descriptions" in GarabeBand help thanks
-
Can't open sales order for a deleted customer number
Dear all , i have deleted a customer cos it was repeated ,now there were some sales orders where that customer is a sold-to-party when ever i try to open thous sales orders the systems gives an error message [ no customer record exist for sold to par