[Home] [Help]
PACKAGE BODY: APPS.AP_FIX_ACCTG_PKG
Source
1 PACKAGE BODY AP_FIX_ACCTG_PKG as
2 /* $Header: apfixacb.pls 115.2 2002/03/13 18:15:07 pkm ship $ */
3
4 PROCEDURE Update_Row(
5 X_Rowid IN VARCHAR2,
6 X_Code_Combination_Id IN NUMBER,
7 X_Description IN VARCHAR2,
8 X_Last_Update_Date IN DATE,
9 X_Last_Updated_By IN NUMBER,
10 X_Last_Update_Login IN NUMBER ,
11 X_Calling_Sequence IN VARCHAR2,
12 X_Accounting_Error_Code IN VARCHAR2 -- Bug 1369125
13 ) IS
14 Current_Calling_Sequence VARCHAR2(2000);
15 debug_info VARCHAR2(100);
16 BEGIN
17 -- Update the calling sequence
18 --
19 Current_Calling_Sequence := 'AP_FIX_ACCTG_PKG.UPDATE_ROW<-' ||
20 X_Calling_Sequence;
21
22 debug_info := 'Update ap_ae_lines';
23
24 UPDATE ap_ae_lines
25 SET code_combination_id = X_Code_Combination_Id,
26 description = X_Description,
27 last_update_date = X_Last_Update_Date,
28 last_updated_by = X_Last_Updated_By,
29 last_update_login = X_Last_Update_Login,
30 Accounting_Error_Code = X_Accounting_Error_Code -- Bug 1369125
31 WHERE Rowid = X_Rowid;
32
33 IF (SQL%NOTFOUND) THEN
34 RAISE NO_DATA_FOUND;
35 END IF;
36
37 EXCEPTION
38 WHEN OTHERS THEN
39 IF (SQLCODE <> -20001) THEN
40 FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
41 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
42 FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',Current_Calling_Sequence);
43 FND_MESSAGE.SET_TOKEN('PARAMETERS','ROWID = ' || X_Rowid );
44 FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
45 END IF;
46 APP_EXCEPTION.RAISE_EXCEPTION;
47
48 END Update_Row;
49
50
51 PROCEDURE Lock_Row(
52 X_Rowid IN VARCHAR2,
53 X_Code_Combination_Id IN NUMBER,
54 X_Description IN VARCHAR2,
55 X_Calling_Sequence IN VARCHAR2
56 ) IS
57 CURSOR C IS
58 SELECT *
59 FROM ap_ae_lines
60 WHERE rowid = X_Rowid
61 FOR UPDATE of code_combination_id, description NOWAIT;
62 Recinfo C%ROWTYPE;
63 Current_Calling_Sequence VARCHAR2(2000);
64 debug_info VARCHAR2(100);
65 BEGIN
66 -- Update the calling sequence
67 --
68 Current_Calling_Sequence := 'AP_FIX_ACCTG_PKG.LOCK_ROW<-' ||
69 X_Calling_Sequence;
70
71 debug_info := 'Open cursor C';
72 OPEN C;
73 debug_info := 'Fetch cursor C';
74 FETCH C INTO Recinfo;
75 IF (C%NOTFOUND) THEN
76 debug_info := 'Close cursor C - ROW NOTFOUND';
77 CLOSE C;
78 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
79 APP_EXCEPTION.RAISE_EXCEPTION;
80 END IF;
81 debug_info := 'Close cursor C';
82 CLOSE C;
83 IF (
84 (Recinfo.Code_Combination_Id = X_Code_Combination_Id)
85 AND ( (Recinfo.Description = X_Description)
86 OR ( (Recinfo.Description IS NULL)
87 AND (X_Description IS NULL)))
88 ) THEN
89 RETURN;
90 ELSE
91 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_CHANGED');
92 APP_EXCEPTION.Raise_Exception;
93 END IF;
94
95 EXCEPTION
96 WHEN OTHERS THEN
97 IF (SQLCODE <> -20001) THEN
98 IF (SQLCODE = -54) THEN
99 FND_MESSAGE.SET_NAME('SQLAP','AP_RESOURCE_BUSY');
100 ELSE
101 FND_MESSAGE.SET_NAME('SQLAP','AP_DEBUG');
102 FND_MESSAGE.SET_TOKEN('ERROR',SQLERRM);
103 FND_MESSAGE.SET_TOKEN('CALLING_SEQUENCE',Current_Calling_Sequence);
104 FND_MESSAGE.SET_TOKEN('PARAMETERS','ROWID = ' || X_Rowid );
105 FND_MESSAGE.SET_TOKEN('DEBUG_INFO',debug_info);
106 END IF;
107 END IF;
108 APP_EXCEPTION.RAISE_EXCEPTION;
109
110 END Lock_Row;
111
112
113 END AP_FIX_ACCTG_PKG;