DBA Data[Home] [Help]

PACKAGE BODY: APPS.GMS_FP_DISTRIBUTIONS_PKG

Source


1 Package Body GMS_FP_DISTRIBUTIONS_PKG AS
2 -- $Header: gmsfdtbb.pls 120.1 2005/07/26 14:22:03 appldev ship $
3 
4    PROCEDURE INSERT_ROW ( P_rec GMS_FP_DISTRIBUTIONS%ROWTYPE)
5     IS
6       X_rec GMS_FP_DISTRIBUTIONS%ROWTYPE;
7 
8    BEGIN
9       X_rec := P_rec;
10 
11       IF X_rec.creation_date is NULL THEN
12 	     x_rec.creation_date := SYSDATE ;
13       END IF ;
14       insert into GMS_FP_DISTRIBUTIONS(funding_pattern_id
15                                         ,distribution_number
16                                         ,award_id
17                                         ,distribution_value
18                                         ,last_update_date
19                                         ,last_updated_by
20                                         ,creation_date
21                                         ,created_by
22                                         ,last_update_login
23 					)
24                                  values( X_rec .funding_pattern_id
25                                         ,X_rec .distribution_number
26                                         ,X_rec .award_id
27                                         ,X_rec .distribution_value
28                                         ,X_rec .last_update_date
29                                         ,X_rec .last_updated_by
30                                         ,X_rec .creation_date
31                                         ,X_rec .created_by
32                                         ,X_rec .last_update_login);
33 
34 
35 
36 
37    END INSERT_ROW;
38 
39    PROCEDURE LOCK_ROW ( P_rec GMS_FP_DISTRIBUTIONS%ROWTYPE) IS
40      Counter NUMBER;
41        CURSOR C IS
42            SELECT funding_pattern_id
43                   ,distribution_number
44                   ,award_id
45                   ,distribution_value
46            FROM GMS_FP_DISTRIBUTIONS
47            WHERE funding_pattern_id    = P_rec.funding_pattern_id
48            AND   distribution_number   = P_rec.distribution_number
49            AND   award_id              = P_rec.award_id;
50            X_rec C%ROWTYPE;
51    BEGIN
52    Counter := 0;
53       LOOP
54        BEGIN
55         Counter := Counter+1;
56         OPEN C;
57         FETCH C INTO X_rec;
58           if C%NOTFOUND then
59             CLOSE C;
60             fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
61             app_exception.raise_exception;
62             close C;
63             end if;
64             close C;
65 
66 
67             if (
68                ( (X_rec.funding_pattern_id	=	P_REC.funding_pattern_id ) OR
69                (( X_rec.funding_pattern_id is NULL ) AND ( P_REC.funding_pattern_id IS NULL ))
70                ) AND
71                ( (X_rec.distribution_number	=	P_REC.distribution_number ) OR
72                (( X_rec.distribution_number is NULL ) AND ( P_REC.distribution_number IS NULL ))
73                ) AND
74                ( (X_rec.award_id =	P_REC.award_id ) OR
75                (( X_rec.award_id is NULL ) AND ( P_REC.award_id IS NULL ))
76                ) AND
77                ( (X_rec.distribution_value =	P_REC.distribution_value ) OR
78                (( X_rec.distribution_value is NULL ) AND ( P_REC.distribution_value IS NULL ))
79                )
80                )
81 
82 
83               then
84                return;
85               else
86                  fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
87                  app_exception.raise_exception;
88                end if;
89           EXCEPTION
90             when APP_EXCEPTIONS.RECORD_LOCK_EXCEPTION then
91                 IF (C% ISOPEN) THEN
92                     close C;
93                 END IF;
94         end;
95       end loop;
96    END LOCK_ROW;
97    PROCEDURE UPDATE_ROW ( P_rec GMS_FP_DISTRIBUTIONS%ROWTYPE) IS
98         X_rec GMS_FP_DISTRIBUTIONS%ROWTYPE;
99      BEGIN
100       X_rec := P_rec;
101 
102            update GMS_FP_DISTRIBUTIONS
103        	   set distribution_value    = X_rec.distribution_value
104               ,award_id 	         = X_rec.award_id
105 	       where funding_pattern_id  = X_rec.funding_pattern_id
106 	       and distribution_number   = X_rec.distribution_number;
107         --IF (SQL%NOTFOUND) THEN
108           --  raise NO_DATA_FOUND;
109         --END IF;
110 
111      EXCEPTION
112 	     WHEN OTHERS THEN
113 		  RAISE ;
114 
115   END UPDATE_ROW;
116   PROCEDURE DELETE_ROW ( P_rec GMS_FP_DISTRIBUTIONS%ROWTYPE) IS
117   X_rec GMS_FP_DISTRIBUTIONS%ROWTYPE;
118   BEGIN
119         X_rec := P_rec;
120                     delete gms_fp_distributions
121                     where funding_pattern_id    = X_rec.funding_pattern_id
122                     and distribution_number   =   X_rec.distribution_number;
123 
124                     IF (SQL%NOTFOUND) THEN
125                      raise NO_DATA_FOUND;
126                     END IF;
127 
128    EXCEPTION
129 	WHEN OTHERS THEN
130 		RAISE ;
131     END DELETE_ROW;
132 
133 END GMS_FP_DISTRIBUTIONS_PKG;