DBA Data[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;