Sponsored Content
Top Forums Shell Programming and Scripting Component 'PAK_POPL_SUPPL' must be declared error Post 302575978 by durden_tyler on Wednesday 23rd of November 2011 10:29:05 AM
Old 11-23-2011
Quote:
Originally Posted by csrohit
Hi,

I am using a shell script to run a Oracle procedure in Linux.I am getting the below error while running the procedure:

Code:
ERROR at line 1:
ORA-06550: line 1, column 22:
PLS-00302: component 'PAK_POPL_SUPPL' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored

SHELL SCRIPT which Iam using is -->

Code:
 
#!/bin/ksh
# File   :  run_package.sh
# --------------------------------------------------
ORACLE_HOME=/opt/oracle/10.2.0
export ORACLE_HOME
PATH=$PATH:/opt/oracle/10.2.0/bin
export PATH
UNAME=dml_prod
PASS=dml_prod
ORACLE_SID=cb22
sqlplus -s $UNAME@$ORACLE_SID/$PASS << !
SET heading off
SET feedback off
echo "Running Package pak_popl_suppl"
EXEC pak_popl_suppl.pr_supplier_update;
#EXEC pak_popl_suppl.pr_supplier_new;
#EXEC pak_popl_suppl.pak_popl_suppl;
!
if [ $? -eq 0 ]
then
   echo "suceess"
   return $?
else
   echo "Fail"
   return $?
fi

ORACLE PROCEDURE which I am using is -->

Code:
 
CREATE OR REPLACE PACKAGE pak_popl_suppl
IS
PROCEDURE pr_supplier_update;
END PAK_POPL_SUPPL;
/
CREATE OR REPLACE PACKAGE BODY pak_popl_suppl
IS
PROCEDURE pr_supplier_update
IS
CURSOR c_new_supplier  IS
SELECT
sps.entity_cd,
sps.supplier_id,
sps.supplier_name,
sps.address_line1 ,
sps.address_line2 ,
sps.address_line3 ,
sps.city ,
sps.post_code ,
sps.state ,
sps.country ,
sps.phone_number ,
sps.currency ,
sps.fax_number ,
sps.email_address
FROM stage_popl_supplier sps
WHERE NOT EXISTS(SELECT *
FROM popl_supplier ps
WHERE sps.entity_cd = ps.entity_cd
AND sps.supplier_id = ps.supplier_id)
AND sps.entity_cd <> '****';    --  exclude the dummy Supplier added Brian Clark 10 Nov 2011
v_count NUMBER :=0;
BEGIN
FOR v_new_supp IN c_new_supplier LOOP
v_count := v_count +1;
INSERT INTO popl_supplier
VALUES
(
v_new_supp.entity_cd,
v_new_supp.supplier_id,
v_new_supp.supplier_name,
v_new_supp.address_line1,
v_new_supp.address_line2,
v_new_supp.address_line3,
v_new_supp.city,
v_new_supp.post_code,
v_new_supp.state,
v_new_supp.country,
v_new_supp.phone_number,
v_new_supp.currency,
v_new_supp.fax_number,
v_new_supp.email_address,
(chappi_popl_supplier.NEXTVAL),
'Y'
);
END LOOP;
Dbms_Output.ENABLE(1000000);
Dbms_Output.put_line(v_count);
COMMIT;
EXCEPTION
 WHEN OTHERS THEN
 ROLLBACK;
Dbms_Output.put_line(SQLCODE ||'-'||SQLERRM);
END pr_supplier_update ;
END PAK_POPL_SUPPL;

Does the database user "dml_prod" have the privilege to execute "pak_popl_suppl" ?

tyler_durden
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Fax Component

I would like to build a small fax component in Java or Perl. I have the javax.comm. (rxtx gnu.io) for Java for serial connection and get send a message to my fax were the light goes on and port is taken, but after that I am in the dark. Does anyone have some reference as to where I can get some... (1 Reply)
Discussion started by: photon
1 Replies

2. Shell Programming and Scripting

accessing variables declared in another perl script

Hi all, I have a perl script which declares two variables and calls another perl script which accesses those variables. But I am unable to access the variables in the called script. My script is as follows: my $ENV{a}="20"; system("perl called.pl"); and my called.pl contains: print... (3 Replies)
Discussion started by: gurukottur
3 Replies

3. Shell Programming and Scripting

shell script: Bind variable not declared

Hi Friends, I am trying to run a sql query from shell script as below but I get "Bind variable "1" not declared" error. 1.sh shell script has following: sDb="abc/xyz@aaa" a="1.sql" sqlplus -s $sDb @$a $1 1.sql file has following: spool Result.tmp append select cust_name from orders... (1 Reply)
Discussion started by: ppat7046
1 Replies

4. AIX

`pthread_rwlock_t' was not declared in this scope

Hello All, I am getting this error while compiling my application on IBM AIX 5.3. As I tried to define _XOPEN_SOURCE=500 in makefile, that didn't work. Please help us to resolve the error. (0 Replies)
Discussion started by: mustus
0 Replies

5. Programming

Locally Declared Labels

Hi guys. in the Locally Declared Labels section in "The Definitive Guide to GCC" book there is block of code: #define SEARCH(array, target) ({ __label__ found; typeof (target) _SEARCH_target = (target); typeof (*(array)) *_SEARCH_array = (array); int i, j; int value;... (1 Reply)
Discussion started by: majid.merkava
1 Replies

6. Shell Programming and Scripting

Help in separating variables declared in the main function

Hi! I've a C program as shown below.. The line numbers and the statements of the program are separated by a space.. 1 #include<stdio.h> 2 char a,b,c; 3 float x,y,z; 4 int main() 5 { 6 int d,e,f; 7 // further declarations 8 // further declarations 9 /* body*/ 10 } 11 void fun1() 12... (1 Reply)
Discussion started by: abk07
1 Replies

7. Shell Programming and Scripting

Assign user input to already declared array

What I am doing is creating a top menu, which a user will select a choice with a number entry. That number corresponds to a string in an array. I then want to assign that response to another array I've already declared. For example: #!/bin/bash colors=(red blue yellow) red=(cherry fire)... (2 Replies)
Discussion started by: Akilleez
2 Replies

8. Shell Programming and Scripting

**URGENT**component 'PAK_POPL_SUPPL' must be declared error

hi, I am using a shell script to run a Oracle procedure in Linux.I am getting the below error while running the procedure: (1 Reply)
Discussion started by: csrohit
1 Replies

9. Shell Programming and Scripting

write in file using printf with variable declared with a phrase

Hi guys, kinda new to unix/linux, could you please help me figure this out. i need to write in a file using printf. printf "%-20s %-40s %-20s\n" $a $b $c >> out.txt but a, b and c are declared in a header file: a='I am a dog' b='I am a cat' c='I am a fish' i want the file to look like... (1 Reply)
Discussion started by: kokoro
1 Replies

10. Shell Programming and Scripting

PHP: declared variables, strlen vs isset

greetings, pretty new to php and i think i might be missing some fundamental limitation of isset. i have two php scripts below that are executed by crond, one using --host X and one that does not. and below that are three different attempts at generating a command line that will be executed. the... (8 Replies)
Discussion started by: crimso
8 Replies
OCI_BIND_ARRAY_BY_NAME(3)												 OCI_BIND_ARRAY_BY_NAME(3)

oci_bind_array_by_name - Binds a PHP array to an Oracle PL/SQL array parameter

SYNOPSIS
bool oci_bind_array_by_name (resource $statement, string $name, array &$var_array, int $max_table_length, [int $max_item_length = -1], [int $type = SQLT_AFC]) DESCRIPTION
Binds the PHP array $var_array to the Oracle placeholder $name, which points to an Oracle PL/SQL array. Whether it will be used for input or output will be determined at run-time. PARAMETERS
o $statement - A valid OCI statement identifier. o $name - The Oracle placeholder. o $var_array - An array. o $max_table_length - Sets the maximum length both for incoming and result arrays. o $max_item_length - Sets maximum length for array items. If not specified or equals to -1, oci_bind_array_by_name(3) will find the longest element in the incoming array and will use it as the maximum length. o $type - Should be used to set the type of PL/SQL array items. See list of available types below: o SQLT_NUM - for arrays of NUMBER. o SQLT_INT - for arrays of INTEGER (Note: INTEGER it is actually a synonym for NUMBER(38), but SQLT_NUM type won't work in this case even though they are synonyms). o SQLT_FLT - for arrays of FLOAT. o SQLT_AFC - for arrays of CHAR. o SQLT_CHR - for arrays of VARCHAR2. o SQLT_VCS - for arrays of VARCHAR. o SQLT_AVC - for arrays of CHARZ. o SQLT_STR - for arrays of STRING. o SQLT_LVC - for arrays of LONG VARCHAR. o SQLT_ODT - for arrays of DATE. RETURN VALUES
Returns TRUE on success or FALSE on failure. EXAMPLES
Example #1 oci_bind_array_by_name(3) example <?php $conn = oci_connect("hr", "hrpwd", "localhost/XE"); if (!$conn) { $m = oci_error(); trigger_error(htmlentities($m['message']), E_USER_ERROR); } $create = "CREATE TABLE bind_example(name VARCHAR(20))"; $stid = oci_parse($conn, $create); oci_execute($stid); $create_pkg = " CREATE OR REPLACE PACKAGE ARRAYBINDPKG1 AS TYPE ARRTYPE IS TABLE OF VARCHAR(20) INDEX BY BINARY_INTEGER; PROCEDURE iobind(c1 IN OUT ARRTYPE); END ARRAYBINDPKG1;"; $stid = oci_parse($conn, $create_pkg); oci_execute($stid); $create_pkg_body = " CREATE OR REPLACE PACKAGE BODY ARRAYBINDPKG1 AS CURSOR CUR IS SELECT name FROM bind_example; PROCEDURE iobind(c1 IN OUT ARRTYPE) IS BEGIN -- Bulk Insert FORALL i IN INDICES OF c1 INSERT INTO bind_example VALUES (c1(i)); -- Fetch and reverse IF NOT CUR%ISOPEN THEN OPEN CUR; END IF; FOR i IN REVERSE 1..5 LOOP FETCH CUR INTO c1(i); IF CUR%NOTFOUND THEN CLOSE CUR; EXIT; END IF; END LOOP; END iobind; END ARRAYBINDPKG1;"; $stid = oci_parse($conn, $create_pkg_body); oci_execute($stid); $stid = oci_parse($conn, "BEGIN arraybindpkg1.iobind(:c1); END;"); $array = array("one", "two", "three", "four", "five"); oci_bind_array_by_name($stid, ":c1", $array, 5, -1, SQLT_CHR); oci_execute($stid); var_dump($array); ?> PHP Documentation Group OCI_BIND_ARRAY_BY_NAME(3)
All times are GMT -4. The time now is 04:17 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy