Dear all,
As user MEXX I created the below procedure.. I can able to execute the procedure.. When I give debug,execute prov on this proc to user test1.. am getting the error :
PLS-00302: component '.D_COMMAND' must be declared
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
user test1 has all necessary privileges on the tables EIM_EXECUTED_COMMANDS,EIM_COMMAND_RECORD and on the sequence spc_trans.. I've created private synonyms for all this objects in test1 schema..
CREATE OR REPLACE PROCEDURE MEXX.D_COMMANDS AS
PRAGMA AUTONOMOUS_TRANSACTION;
CURSOR CR_MJI_SIN IS
SELECT sno, cno, iumber FROM TEST1.m_mca;
C_SUBNO VARCHAR2 (20);
C_CARDNO VARCHAR2 (12);
C_IMSI_NUMBER VARCHAR2 (30);
TRANSNO1 NUMBER (8);
BEGIN
OPEN CR_SMS_SUB;
LOOP
FETCH CR_SMS_SUB INTO C_SUBNO,C_CARDNO,C_IMSI_NUMBER;
EXIT WHEN CR_SMS_SUB%notfound;
SELECT spc_trans.NEXTVAL INTO TRANSNO1 FROM DUAL;
INSERT INTO EIM_COMMAND_RECORD ( SUBSCR_TYPE, AREA, SUBNO, SERORDNO, TRANSNO, EXC, EXCSYSTEM,
PORTNO, SPC_FUNCTION, APPDATE, NXTROUTINE, RETRANSMIT, TRANSSTATUS, EQUIPID, SOTYPE, CARDNO, CARD_TYPE)
VALUES ( 'G', '0', C_SUBNO, NULL , TRANSNO1, 'GSM1', 'GSM1', '1', 'SERI', sysdate, 'SPC001', 'Y', 10, 'MCA' , 66, C_CARDNO, 'PLI');
INSERT INTO EIM_EXECUTED_COMMANDS ( TRANSNO, CMDNO, COMMAND, TIMEOUT)
VALUES (TRANSNO1, 1, 'ADD MCA FOR '||C_SUBNO||' USING (IMSINO='||C_IMSI_NUMBER||')', 30);
END LOOP;
CLOSE CR_SMS_SUB;
COMMIT;
EXCEPTION
WHEN OTHERS THEN
raise_application_error(-20001,'An error was encountered - '||SQLCODE||' -ERROR- '||SQLERRM);
END;
/
Thanks
Kai