DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMS_FUNDING_PATTERNS_PKG

Source


1 Package Body      GMS_FUNDING_PATTERNS_PKG AS
2 -- $Header: gmsfptbb.pls 120.1 2005/07/26 14:22:06 appldev ship $
3 
4 PROCEDURE INSERT_ROW( P_rec GMS_FUNDING_PATTERNS_ALL%ROWTYPE)
5     IS
6     X_rec GMS_FUNDING_PATTERNS_ALL%ROWTYPE;
7 
8    BEGIN
9     X_rec := P_rec;
10 
11     IF X_REC.funding_pattern_id  is NULL THEN
12   	          select gms_funding_pattern_s.nextval
13 	          into X_REC.funding_pattern_id
14 	          from dual;
15 
16  END IF ;
17 
18  IF X_REC.creation_date is NULL THEN
19 	x_rec.creation_date := SYSDATE ;
20  END IF ;
21 
22     insert into GMS_FUNDING_PATTERNS_ALL( funding_pattern_id
23                                         	,org_id
24                                         	,funding_sequence
25                                         	,funding_name
26                                    		,retroactive_flag
27                                         	,project_id
28                                         	,task_id
29                                         	,status
30                                         	,funds_status
31                                         	,start_date
32                                         	,end_date
33                                       		,last_update_date
34                                        		,last_updated_by
35                                        		,creation_date
36                                        		,created_by
37                                        		,last_update_login)
38                                  values(X_rec.funding_pattern_id
39                                         , X_rec.org_id
40                                         ,X_rec.funding_sequence
41                                         ,X_rec.funding_name
42                                         ,X_rec.retroactive_flag
43                                         ,X_rec.project_id
44                                         ,X_rec.task_id
45                                         ,X_rec.status
46                                         , X_rec.funds_status
47                                         , X_rec.start_date
48                                         , X_rec.end_date
49 					                    , X_rec.last_update_date
50                                         , X_rec.last_updated_by
51                                         , X_rec.creation_date
52                                         , X_rec.created_by
53                                         , X_rec.last_update_login);
54 
55 
56 
57    END;
58 
59 
60 
61    PROCEDURE LOCK_ROW (  P_rec GMS_FUNDING_PATTERNS_ALL%ROWTYPE) IS
62      Counter NUMBER;
63        CURSOR C IS
64                                      SELECT funding_pattern_id
65                                         	,org_id
66                                         	,funding_sequence
67                                         	,funding_name
68                                    		    ,retroactive_flag
69                                         	,project_id
70                                         	,task_id
71                                         	,status
72                                         	,funds_status
73                                         	,start_date
74                                         	,end_date
75                                     FROM GMS_FUNDING_PATTERNS_ALL
76                                     WHERE funding_pattern_id = P_rec.funding_pattern_id
77                                     AND  funding_sequence   =  P_rec.funding_sequence
78                                     AND  funding_name       =  P_rec.funding_name
79                                     AND  status             =  P_rec.status;
80                        X_rec C%ROWTYPE;
81    BEGIN
82    Counter := 0;
83       LOOP
84        BEGIN
85         Counter := Counter+1;
86         OPEN C;
87         FETCH C INTO X_rec;
88           if C%NOTFOUND then
89             CLOSE C;
90             fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
91             app_exception.raise_exception;
92             close C;
93             end if;
94             close C;
95 
96 
97             if (
98                ( (X_rec.funding_pattern_id	=	P_REC.funding_pattern_id ) OR
99                (( X_rec.funding_pattern_id is NULL ) AND ( P_REC.funding_pattern_id IS NULL ))
100                ) AND
101                ( (X_rec.funding_sequence	=	P_REC.funding_sequence ) OR
102                (( X_rec.funding_sequence is NULL ) AND ( P_REC.funding_sequence IS NULL ))
103                ) AND
104                ( (X_rec.org_id =	P_REC.org_id ) OR
105                (( X_rec.org_id is NULL ) AND ( P_REC.org_id IS NULL ))
106                ) AND
107                ( (X_rec.funding_name =	P_REC.funding_name ) OR
108                (( X_rec.funding_name is NULL ) AND ( P_REC.funding_name IS NULL ))
109                ) AND
110                ( (X_rec.retroactive_flag =	P_REC.retroactive_flag ) OR
111                (( X_rec.retroactive_flag is NULL ) AND ( P_REC.retroactive_flag IS NULL ))
112                ) AND
113                ( (X_rec.project_id =	P_REC.project_id ) OR
114                (( X_rec.project_id is NULL ) AND ( P_REC.project_id IS NULL ))
115                )  AND
116                ( (X_rec.task_id =	P_REC.task_id ) OR
117                (( X_rec.task_id is NULL ) AND ( P_REC.task_id IS NULL ))
118                ) AND
119                ( (X_rec.status =	P_REC.status ) OR
120                (( X_rec.status is NULL ) AND ( P_REC.status IS NULL ))
121                ) AND
122                ( (X_rec.funds_status =	P_REC.funds_status ) OR
123                (( X_rec.funds_status is NULL ) AND ( P_REC.funds_status IS NULL ))
124                ) AND
125                ( (X_rec.start_date =	P_REC.start_date ) OR
126                (( X_rec.start_date is NULL ) AND ( P_REC.start_date IS NULL ))
127                )   AND
128                ( (X_rec.end_date =	P_REC.end_date ) OR
129                (( X_rec.end_date is NULL ) AND ( P_REC.end_date IS NULL ))
130                )
131                )
132 
133 
134               then
135                return;
136               else
137                  fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
138                  app_exception.raise_exception;
139                end if;
140           EXCEPTION
141             when APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION then
142                 IF (C% ISOPEN) THEN
143                     close C;
144                 END IF;
145         end;
146       end loop;
147    END LOCK_ROW;
148 
149    PROCEDURE UPDATE_ROW( P_rec GMS_FUNDING_PATTERNS_ALL%ROWTYPE)
150    IS
151         X_rec GMS_FUNDING_PATTERNS_ALL%ROWTYPE;
152 
153    BEGIN
154     X_rec := P_rec;
155                update GMS_FUNDING_PATTERNS_ALL
156 		       set  funding_sequence  = X_rec.funding_sequence
157                    ,funding_name	  = X_rec.funding_name
158                    ,retroactive_flag  = X_rec.retroactive_flag
159                    ,status 	          = X_rec.status
160                    ,start_date        = nvl(X_rec.start_date,sysdate)
161                    ,end_date 	      = X_rec.end_date
162             where funding_pattern_id  = X_rec.funding_pattern_id ;
163              IF (SQL%NOTFOUND) THEN
164                 raise NO_DATA_FOUND;
165              END IF;
166 
167    EXCEPTION
168 	WHEN OTHERS THEN
169 		RAISE ;
170 
171  END UPDATE_ROW;
172 
173  PROCEDURE DELETE_ROW( P_rec GMS_FUNDING_PATTERNS_ALL%ROWTYPE)
174  IS
175   X_rec GMS_FUNDING_PATTERNS_ALL%ROWTYPE;
176  BEGIN
177     X_rec := P_rec;
178             delete gms_funding_patterns_all
179 	         where funding_pattern_id=X_rec.funding_pattern_id ;
180 
181               IF (SQL%NOTFOUND) THEN
182                 raise NO_DATA_FOUND;
183              END IF;
184 
185    EXCEPTION
186 	WHEN OTHERS THEN
187 		RAISE ;
188  END DELETE_ROW;
189 
190 
191 
192 END GMS_FUNDING_PATTERNS_PKG;