| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> c.d.o.misc -> Acessing functions in packages
Hi,
I'm getting this error while compling the package.:
PLS-00222: No function exsits with name 'FRT_DETAILS' exists in this scope
I'm calling this function from two procedures one is running fine but the other is creating problem.
code:
CREATE OR REPLACE PACKAGE BODY HAWB_MAWB_PRINT_PKG IS
GV_TOTAL_PREPAID NUMBER(15, 2); GV_TOTAL_COLLECT NUMBER(15, 2); GV_AFC_PREPAID_COLLECT NUMBER(1); GV_AFC NUMBER(15, 2);
/*
------------------------------------------------------------------- */FUNCTION FRT_DETAILS(JOB_CARD_PK_IN IN JOB_CARD_AIR_EXP_TBL.JOB_CARD_AIR_EXP_PK%TYPE) RETURN VARCHAR2 IS CURSOR JOB_FRT(JOB_CARD_PK_IN IN
SELECT NVL(JOB_FD.FREIGHT_TYPE, 0) FREIGHT_TYPE,
NVL(JOB_FD.BASIS, 0) BASIS,
NVL(ROUND(JOB_FD.FREIGHT_AMT * JOB_FD.EXCHANGE_RATE, 2),
0) FRT_AMT,
NVL(JOB_FD.QUANTITY, 0) QUANTITY,
FRT.FREIGHT_ELEMENT_ID
FROM JOB_TRN_AIR_EXP_FD JOB_FD, FREIGHT_ELEMENT_MST_TBL FRT
WHERE FRT.FREIGHT_ELEMENT_MST_PK = JOB_FD.FREIGHT_ELEMENT_MST_FK
AND JOB_FD.PRINT_ON_MAWB = 1
AND JOB_FD.JOB_CARD_AIR_EXP_FK = JOB_CARD_PK_IN
UNION
SELECT 1 FREIGHT_TYPE,
2 BASIS,
ROUND(OTH_CHG.AMOUNT * OTH_CHG.EXCHANGE_RATE, 2) FRT_AMT,
1 QUANTITY,
OTH_FRT.FREIGHT_ELEMENT_ID
FROM JOB_TRN_AIR_EXP_OTH_CHRG OTH_CHG,
FREIGHT_ELEMENT_MST_TBL OTH_FRT
WHERE OTH_FRT.FREIGHT_ELEMENT_MST_PK =
OTH_CHG.FREIGHT_ELEMENT_MST_FK
AND OTH_CHG.PRINT_ON_MAWB = 1
AND OTH_CHG.JOB_CARD_AIR_EXP_FK = JOB_CARD_PK_IN;
V_PREPAID NUMBER(15, 2);
V_COLLECT NUMBER(15, 2);
V_PREPAID := 0.00;
V_COLLECT := 0.00;
V_FRT_DETAILS := '';
V_NO_OF_FRT := 0;
FOR FRT_DET IN JOB_FRT(JOB_CARD_PK_IN) LOOP IF UPPER(FRT_DET.FREIGHT_ELEMENT_ID) <> 'AFC' THEN
IF V_NO_OF_FRT = 4 THEN
V_NO_OF_FRT := 0;
V_FRT_DETAILS := V_FRT_DETAILS || CHR(13);
END IF;
IF FRT_DET.FREIGHT_TYPE = 1 THEN
-- PREPAID
V_PREPAID := V_PREPAID + FRT_DET.FRT_AMT;
ELSE
--COLLECT
V_COLLECT := V_COLLECT + FRT_DET.FRT_AMT;
END IF;
--1-%, 2-FLAT,3-KGS
V_FRT_DETAILS := V_FRT_DETAILS || FRT_DET.FREIGHT_ELEMENT_ID;
--V_FRT_DETAILS := V_FRT_DETAILS || '(' || FRT_DET.BASIS || ')
';
V_FRT_DETAILS := V_FRT_DETAILS || ' ' || FRT_DET.FRT_AMT || '
ELSE
GV_AFC := FRT_DET.FRT_AMT;
GV_AFC_PREPAID_COLLECT := FRT_DET.FREIGHT_TYPE;
END IF;
V_NO_OF_FRT := V_NO_OF_FRT + 1;
CREATED_FROM IN
MAWB_EXP_TBL.MAWB_MADE_FROM%TYPE,
JOB_CARD_REF_NO OUT VARCHAR2,
SPOT_RATE OUT VARCHAR2,
FRT_DETAILS OUT VARCHAR) IS
V_SPOT_RATE VARCHAR2(20);
V_FRT_DTLS VARCHAR2(1000);
V_JOB_CARD_REF_NO VARCHAR2(20);
V_JOB_CARD_PK JOB_CARD_AIR_EXP_TBL.JOB_CARD_AIR_EXP_PK%TYPE;
BEGIN IF CREATED_FROM = 3 THEN
V_JOB_CARD_REF_NO := 'CONSOLIDATION NOT IMPLEMENTED';
V_FRT_DTLS := 'CONSOLIDATION NOT IMPLEMENTED';
V_SPOT_RATE := 'CONSOLIDATION NOT IMPLEMENTED';
ELSE
SELECT JOB.JOB_CARD_AIR_EXP_PK,
JOB.JOBCARD_REF_NO,
HAWB_MAWB_PRINT_PKG.SPOT_RATE(BKG.BOOKING_AIR_PK)
INTO V_JOB_CARD_PK, V_JOB_CARD_REF_NO, V_SPOT_RATE
FROM JOB_CARD_AIR_EXP_TBL JOB, BOOKING_AIR_TBL BKG
WHERE BKG.BOOKING_AIR_PK = JOB.BOOKING_AIR_FK
AND JOB.MAWB_EXP_TBL_FK = MAWB_PK_IN;
V_FRT_DTLS := FRT_DETAILS(V_JOB_CARD_PK);
END IF;
JOB_CARD_REF_NO := V_JOB_CARD_REF_NO;
SPOT_RATE := V_SPOT_RATE;
FRT_DETAILS := V_FRT_DTLS;
END; /*
------------------------------------------------------------------- */
PROCEDURE HAWB_PRINT(HAWB_PK_IN IN
HAWB_EXP_TBL.HAWB_EXP_TBL_PK%TYPE,
LOGGED_IN_LOC_FK IN VARCHAR2,
HAWB_CUR OUT REF_CURSOR) IS
V_FRT_DETAILS VARCHAR(1000);
V_JOB_CARD_PK JOB_CARD_AIR_EXP_TBL.JOB_CARD_AIR_EXP_PK%TYPE;
V_PPD_VAL VARCHAR2(1);
V_COLL_VAL VARCHAR2(1);
V_PPD_OTH VARCHAR2(1);
INTO V_JOB_CARD_PK
FROM HAWB_EXP_TBL HAWB, JOB_CARD_AIR_EXP_TBL JAE
WHERE JAE.HAWB_EXP_TBL_FK(+) = HAWB.HAWB_EXP_TBL_PK
AND HAWB.HAWB_EXP_TBL_PK = HAWB_PK_IN;
V_FRT_DETAILS := FRT_DETAILS(V_JOB_CARD_PK);
PREPAID_COLLECT_MARK(V_JOB_CARD_PK,
V_PPD_VAL,
V_COLL_VAL,
V_PPD_OTH,
V_COLL_OTH);
OPEN HAWB_CUR FOR
SELECT HAWB.HAWB_REF_NO "HAWB_REF"
FROM HAWB_EXP_TBL HAWB,
WHERE HAWB.HAWB_EXP_TBL_PK = HAWB_PK_IN;
END;
END HAWB_MAWB_PRINT_PKG;
regards
Akhilesh
Received on Wed May 24 2006 - 06:53:12 CDT
![]() |
![]() |