DBA Data[Home] [Help]

PACKAGE BODY: APPS.IBY_TRXN_EXTENSIONS_PKG

Source


1 PACKAGE BODY IBY_TRXN_EXTENSIONS_PKG as
2 /* $Header: ibyfcitb.pls 120.1 2005/09/02 17:56:00 syidner noship $ */
3 
4   PROCEDURE Lock_Row(X_Rowid                            VARCHAR2,
5                      X_TRXN_EXTENSION_ID                NUMBER,
6                      X_PAYMENT_CHANNEL_CODE             VARCHAR2,
7                      X_INSTR_ASSIGNMENT_ID              NUMBER,
8                      X_INSTRUMENT_SECURITY_CODE         VARCHAR2,
9                      X_VOICE_AUTHORIZATION_FLAG         VARCHAR2,
10                      X_VOICE_AUTHORIZATION_DATE         DATE,
11                      X_VOICE_AUTHORIZATION_CODE         VARCHAR2,
12                      X_ORIGIN_APPLICATION_ID            NUMBER,
13                      X_ORDER_ID                         VARCHAR2,
14                      X_PO_NUMBER                        VARCHAR2,
15                      X_PO_LINE_NUMBER                   VARCHAR2,
16                      X_TRXN_REF_NUMBER1                 VARCHAR2,
17                      X_TRXN_REF_NUMBER2                 VARCHAR2,
18                      X_ADDITIONAL_INFO                  VARCHAR2,
19                      X_Calling_Sequence                 VARCHAR2
20   ) IS
21 
22     current_calling_sequence VARCHAR2(2000);
23     debug_info               VARCHAR2(100);
24 
25 
26     CURSOR C IS
27         SELECT
28           TRXN_EXTENSION_ID,
29           PAYMENT_CHANNEL_CODE,
30           INSTR_ASSIGNMENT_ID,
31           INSTRUMENT_SECURITY_CODE,
32           VOICE_AUTHORIZATION_FLAG,
33           VOICE_AUTHORIZATION_DATE,
34           VOICE_AUTHORIZATION_CODE,
35           ORIGIN_APPLICATION_ID,
36           ORDER_ID,
37           PO_NUMBER,
38           PO_LINE_NUMBER,
39           TRXN_REF_NUMBER1,
40           TRXN_REF_NUMBER2,
41           ADDITIONAL_INFO
42         FROM IBY_FNDCPT_TX_EXTENSIONS
43         WHERE  TRXN_EXTENSION_ID = X_TRXN_EXTENSION_ID
44         FOR UPDATE of TRXN_EXTENSION_ID NOWAIT;
45     Recinfo C%ROWTYPE;
46 
47 
48 BEGIN
49 
50     -- Update the calling sequence
51     --
52     current_calling_sequence :=
53     'IBY_TRXN_EXTENSIONS_PKG.Lock_Row<-'||X_Calling_Sequence;
54 
55     debug_info := 'Select from IBY_TRXN_EXTENSIONS_V';
56 
57     OPEN C;
58 
59     debug_info := 'Fetch cursor C';
60     FETCH C INTO Recinfo;
61     if (C%NOTFOUND) then
62       debug_info := 'Close cursor C - ROW NOTFOUND';
63       CLOSE C;
64       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_DELETED');
65       APP_EXCEPTION.Raise_Exception;
66     end if;
67     debug_info := 'Close cursor C';
68     CLOSE C;
69 
70     if (   (Recinfo.TRXN_EXTENSION_ID =  X_TRXN_EXTENSION_ID)
71            AND (Recinfo.PAYMENT_CHANNEL_CODE = X_PAYMENT_CHANNEL_CODE)
72            AND (Recinfo.ORIGIN_APPLICATION_ID = X_ORIGIN_APPLICATION_ID)
73            AND (Recinfo.INSTR_ASSIGNMENT_ID = X_INSTR_ASSIGNMENT_ID)
74            AND (   (Recinfo.INSTRUMENT_SECURITY_CODE =  X_INSTRUMENT_SECURITY_CODE)
75                 OR (    (Recinfo.INSTRUMENT_SECURITY_CODE IS NULL)
76                     AND (X_INSTRUMENT_SECURITY_CODE IS NULL)))
77            AND (   (Recinfo.VOICE_AUTHORIZATION_FLAG =  X_VOICE_AUTHORIZATION_FLAG)
78                 OR (    (Recinfo.VOICE_AUTHORIZATION_FLAG IS NULL)
79                     AND (X_VOICE_AUTHORIZATION_FLAG IS NULL)))
80            AND (   (Recinfo.VOICE_AUTHORIZATION_DATE =  X_VOICE_AUTHORIZATION_DATE)
81                 OR (    (Recinfo.VOICE_AUTHORIZATION_DATE IS NULL)
82                     AND (X_VOICE_AUTHORIZATION_DATE IS NULL)))
83            AND (   (Recinfo.VOICE_AUTHORIZATION_CODE =  X_VOICE_AUTHORIZATION_CODE)
84                 OR (    (Recinfo.VOICE_AUTHORIZATION_CODE IS NULL)
85                     AND (X_VOICE_AUTHORIZATION_CODE IS NULL)))
86            AND (   (Recinfo.ORDER_ID =  X_ORDER_ID)
87                 OR (    (Recinfo.ORDER_ID IS NULL)
88                     AND (X_ORDER_ID IS NULL)))
89            AND (   (Recinfo.PO_NUMBER =  X_PO_NUMBER)
90                 OR (    (Recinfo.PO_NUMBER IS NULL)
91                     AND (X_PO_NUMBER IS NULL)))
92            AND (   (Recinfo.PO_LINE_NUMBER =  X_PO_LINE_NUMBER)
93                 OR (    (Recinfo.PO_LINE_NUMBER IS NULL)
94                     AND (X_PO_LINE_NUMBER IS NULL)))
95            AND (   (Recinfo.TRXN_REF_NUMBER1 =  X_TRXN_REF_NUMBER1)
96                 OR (    (Recinfo.TRXN_REF_NUMBER1 IS NULL)
97                     AND (X_TRXN_REF_NUMBER1 IS NULL)))
98            AND (   (Recinfo.TRXN_REF_NUMBER2 =  X_TRXN_REF_NUMBER2)
99                 OR (    (Recinfo.TRXN_REF_NUMBER2 IS NULL)
100                       AND (X_TRXN_REF_NUMBER2 IS NULL)))
101            AND (   (Recinfo.ADDITIONAL_INFO =  X_ADDITIONAL_INFO)
102                 OR (    (Recinfo.ADDITIONAL_INFO IS NULL)
103                     AND (X_ADDITIONAL_INFO IS NULL)))
104       )
105     THEN return;
106     ELSE
107       FND_MESSAGE.Set_Name('FND', 'FORM_RECORD_CHANGED');
108       APP_EXCEPTION.Raise_Exception;
109     END IF;
110 
111   EXCEPTION
112     WHEN OTHERS THEN
113       if (SQLCODE <> -20001) then
114         IF (SQLCODE = -54) THEN
115           FND_MESSAGE.SET_NAME('IBY','IBY_RESOURCE_BUSY');
116         ELSE
117           FND_MESSAGE.SET_NAME('IBY', 'IBY_DEBUG');
118           FND_MESSAGE.SET_TOKEN('ERROR', SQLERRM);
119           FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE', current_calling_sequence);
120           FND_MESSAGE.SET_TOKEN('DEBUG_INFO', debug_info);
121         END IF;
122       end if;
123       APP_EXCEPTION.RAISE_EXCEPTION;
124 
125   END Lock_Row;
126 
127 
128 END IBY_TRXN_EXTENSIONS_PKG;