[Home] [Help]
PACKAGE BODY: APPS.FUN_RULE_DETAILS_PKG
Source
1 PACKAGE BODY FUN_RULE_DETAILS_PKG AS
2 /*$Header: FUNXTMRULRDTTBB.pls 120.1 2005/12/05 12:32:13 ammishra noship $ */
3
4 PROCEDURE Insert_Row (
5 X_ROWID IN OUT NOCOPY VARCHAR2,
6 X_RULE_DETAIL_ID IN NUMBER,
7 X_RULE_OBJECT_ID IN NUMBER,
8 X_RULE_NAME IN VARCHAR2,
9 X_SEQ IN NUMBER,
10 X_OPERATOR IN VARCHAR2,
11 X_ENABLED_FLAG IN VARCHAR2,
12 X_RESULT_APPLICATION_ID IN NUMBER,
13 X_RESULT_VALUE IN VARCHAR2,
14 X_CREATED_BY_MODULE IN VARCHAR2
15 ) IS
16
17 BEGIN
18
19 INSERT INTO FUN_RULE_DETAILS (
20 RULE_DETAIL_ID,
21 RULE_OBJECT_ID,
22 RULE_NAME,
23 SEQ,
24 OPERATOR,
25 ENABLED_FLAG,
26 RESULT_APPLICATION_ID,
27 RESULT_VALUE,
28 CREATED_BY,
29 CREATION_DATE,
30 LAST_UPDATE_LOGIN,
31 LAST_UPDATE_DATE,
32 LAST_UPDATED_BY,
33 OBJECT_VERSION_NUMBER,
34 CREATED_BY_MODULE
35 )
36 VALUES (
37 NVL(X_RULE_DETAIL_ID,FUN_RULE_DETAILS_S.NEXTVAL),
38 X_RULE_OBJECT_ID,
39 X_RULE_NAME,
40 NVL(FUN_RULE_UTILITY_PKG.GET_MAX_SEQ(X_RULE_OBJECT_ID),1),
41 X_OPERATOR,
42 X_ENABLED_FLAG,
43 X_RESULT_APPLICATION_ID,
44 X_RESULT_VALUE,
45 FUN_RULE_UTILITY_PKG.CREATED_BY,
46 FUN_RULE_UTILITY_PKG.CREATION_DATE,
47 FUN_RULE_UTILITY_PKG.LAST_UPDATE_LOGIN,
48 FUN_RULE_UTILITY_PKG.LAST_UPDATE_DATE,
49 FUN_RULE_UTILITY_PKG.LAST_UPDATED_BY,
50 1,
51 X_CREATED_BY_MODULE
52 )RETURNING ROWID INTO X_ROWID;
53
54 END Insert_Row;
55
56 PROCEDURE Update_Row (
57 X_RULE_DETAIL_ID IN NUMBER,
58 X_RULE_OBJECT_ID IN NUMBER,
59 X_RULE_NAME IN VARCHAR2,
60 X_SEQ IN NUMBER,
61 X_OPERATOR IN VARCHAR2,
62 X_ENABLED_FLAG IN VARCHAR2,
63 X_RESULT_APPLICATION_ID IN NUMBER,
64 X_RESULT_VALUE IN VARCHAR2,
65 X_CREATED_BY_MODULE IN VARCHAR2
66 ) IS
67
68 X_ROWID VARCHAR2(200);
69 BEGIN
70
71 UPDATE FUN_RULE_DETAILS SET
72 RULE_NAME = X_RULE_NAME,
73 SEQ = X_SEQ,
74 OPERATOR = X_OPERATOR,
75 ENABLED_FLAG = X_ENABLED_FLAG,
76 RESULT_APPLICATION_ID = X_RESULT_APPLICATION_ID,
77 RESULT_VALUE = X_RESULT_VALUE,
78 CREATED_BY = FUN_RULE_UTILITY_PKG.CREATED_BY,
79 CREATION_DATE = FUN_RULE_UTILITY_PKG.CREATION_DATE,
80 LAST_UPDATE_LOGIN = FUN_RULE_UTILITY_PKG.LAST_UPDATE_LOGIN,
81 LAST_UPDATE_DATE = FUN_RULE_UTILITY_PKG.LAST_UPDATE_DATE,
82 LAST_UPDATED_BY = FUN_RULE_UTILITY_PKG.LAST_UPDATED_BY,
83 OBJECT_VERSION_NUMBER = OBJECT_VERSION_NUMBER+1,
84 CREATED_BY_MODULE = X_CREATED_BY_MODULE
85 WHERE RULE_DETAIL_ID = X_RULE_DETAIL_ID;
86
87 EXCEPTION
88 WHEN NO_DATA_FOUND THEN
89 RAISE NO_DATA_FOUND;
90
91 END Update_Row;
92
93 PROCEDURE Lock_Row (
94 X_RULE_DETAIL_ID IN NUMBER,
95 X_OBJECT_VERSION_NUMBER IN NUMBER
96 ) IS
97
98 CURSOR C IS
99 SELECT OBJECT_VERSION_NUMBER FROM FUN_RULE_DETAILS
100 WHERE RULE_DETAIL_ID = X_RULE_DETAIL_ID
101 FOR UPDATE NOWAIT;
102 Recinfo C%ROWTYPE;
103
104 BEGIN
105
106 OPEN C;
107 FETCH C INTO Recinfo;
108 IF ( C%NOTFOUND ) THEN
109 CLOSE C;
110 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
111 APP_EXCEPTION.RAISE_EXCEPTION;
112 END IF;
113 CLOSE C;
114
115 IF ( Recinfo.OBJECT_VERSION_NUMBER = X_OBJECT_VERSION_NUMBER)
116 THEN
117 RETURN;
118 ELSE
119 FND_MESSAGE.SET_NAME('FND', 'FORM_RECORD_DELETED');
120 APP_EXCEPTION.RAISE_EXCEPTION;
121 END IF;
122
123 END Lock_Row;
124
125 PROCEDURE Select_Row (
126 X_RULE_NAME IN OUT NOCOPY VARCHAR2,
127 X_RULE_DETAIL_ID IN OUT NOCOPY NUMBER,
128 X_RULE_OBJECT_ID IN OUT NOCOPY NUMBER,
129 X_SEQ OUT NOCOPY NUMBER,
130 X_OPERATOR OUT NOCOPY VARCHAR2,
131 X_ENABLED_FLAG OUT NOCOPY VARCHAR2,
132 X_RESULT_APPLICATION_ID OUT NOCOPY NUMBER,
133 X_RESULT_VALUE OUT NOCOPY VARCHAR2,
134 X_CREATED_BY_MODULE OUT NOCOPY VARCHAR2
135 ) IS
136
137 BEGIN
138 SELECT
139 NVL( RULE_NAME, FND_API.G_MISS_CHAR ),
140 NVL( RULE_DETAIL_ID, FND_API.G_MISS_NUM ),
141 NVL( RULE_OBJECT_ID, FND_API.G_MISS_NUM ),
142 NVL( SEQ, FND_API.G_MISS_NUM ),
143 NVL( OPERATOR, FND_API.G_MISS_CHAR ),
144 NVL( ENABLED_FLAG, FND_API.G_MISS_CHAR ),
145 NVL( RESULT_APPLICATION_ID, FND_API.G_MISS_NUM ),
146 NVL( RESULT_VALUE, FND_API.G_MISS_CHAR ),
147 NVL( CREATED_BY_MODULE, FND_API.G_MISS_CHAR )
148 INTO
149 X_RULE_NAME,
150 X_RULE_DETAIL_ID,
151 X_RULE_OBJECT_ID,
152 X_SEQ,
153 X_OPERATOR,
154 X_ENABLED_FLAG,
155 X_RESULT_APPLICATION_ID,
156 X_RESULT_VALUE,
157 X_CREATED_BY_MODULE
158 FROM FUN_RULE_DETAILS
159 WHERE RULE_DETAIL_ID = X_RULE_DETAIL_ID;
160
161 EXCEPTION
162 WHEN NO_DATA_FOUND THEN
163 FND_MESSAGE.SET_NAME( 'FUN', 'FUN_RULE_API_NO_RECORD' );
164 FND_MESSAGE.SET_TOKEN( 'RECORD', 'p_rule_details_rec');
165 FND_MESSAGE.SET_TOKEN( 'VALUE', X_RULE_NAME );
166 FND_MSG_PUB.ADD;
167 RAISE FND_API.G_EXC_ERROR;
168 END Select_Row;
169
170 PROCEDURE Delete_Row (
171 X_RULE_DETAIL_ID IN NUMBER
172 ) IS
173
174 BEGIN
175
176 DELETE FUN_RULE_DETAILS
177 WHERE RULE_DETAIL_ID = X_RULE_DETAIL_ID;
178
179 IF ( SQL%NOTFOUND ) THEN
180 RAISE NO_DATA_FOUND;
181 END IF;
182
183
184 END Delete_Row;
185
186 END FUN_RULE_DETAILS_PKG;