DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_ROLE_STATUS_MENU_PKG

Source


1 PACKAGE BODY pa_role_status_menu_pkg AS
2  /* $Header: PAXRSMTB.pls 120.1 2005/08/19 17:19:26 mwasowic noship $ */
3 -- INSERT ROW -----------------------------------------
4 
5 PROCEDURE INSERT_ROW (
6  -- P_ROWID                        IN OUT     VARCHAR2,
7  P_ROLE_STATUS_MENU_ID          OUT        NOCOPY NUMBER, --File.Sql.39 bug 4440895
8  P_ROLE_ID                      IN         NUMBER,
9  P_STATUS_TYPE                  IN         VARCHAR2,
10  P_STATUS_CODE                  IN         VARCHAR2,
11  P_MENU_ID                      IN         NUMBER,
12  P_OBJECT_VERSION_NUMBER        OUT        NOCOPY NUMBER, --File.Sql.39 bug 4440895
13  P_LAST_UPDATE_DATE             IN         DATE,
14  P_LAST_UPDATED_BY              IN         NUMBER,
15  P_CREATION_DATE                IN         DATE,
16  P_CREATED_BY                   IN         NUMBER,
17  P_LAST_UPDATE_LOGIN            IN         NUMBER
18 ) IS
19 
20 BEGIN
21 
22   -- Initialize object version number.
23   p_object_version_number := 1;
24 
25   -- Get the next sequence number for the primary key.
26   select PA_ROLE_STATUS_MENU_MAP_S.nextval
27     into P_ROLE_STATUS_MENU_ID
28     from sys.dual;
29 
30   insert into pa_role_status_menu_map (
31     ROLE_STATUS_MENU_ID,
32     ROLE_ID,
33     STATUS_TYPE,
34     STATUS_CODE,
35     MENU_ID,
36     OBJECT_VERSION_NUMBER,
37     CREATION_DATE,
38     CREATED_BY,
39     LAST_UPDATE_DATE,
40     LAST_UPDATED_BY,
41     LAST_UPDATE_LOGIN
42   ) values (
43     P_ROLE_STATUS_MENU_ID,
44     P_ROLE_ID,
45     P_STATUS_TYPE,
46     P_STATUS_CODE,
47     P_MENU_ID,
48     P_OBJECT_VERSION_NUMBER,
49     P_CREATION_DATE,
50     P_CREATED_BY,
51     P_LAST_UPDATE_DATE,
52     P_LAST_UPDATED_BY,
53     P_LAST_UPDATE_LOGIN
54 	    );
55 
56 END INSERT_ROW;
57 
58 
59 -- LOCK ROW ------------------------------------------
60 PROCEDURE LOCK_ROW (
61  P_ROLE_STATUS_MENU_ID          IN         NUMBER,
62  P_OBJECT_VERSION_NUMBER        IN         NUMBER
63 ) IS
64 
65 	CURSOR c
66 	IS
67         SELECT *
68         FROM   pa_role_status_menu_map
69         WHERE  ROLE_STATUS_MENU_ID = P_ROLE_STATUS_MENU_ID
70         FOR UPDATE NOWAIT;
71 
72         Recinfo c%ROWTYPE;
73 
74 BEGIN
75 
76         OPEN c;
77         FETCH c INTO Recinfo;
78         IF (c%NOTFOUND)
79         THEN
80             CLOSE c;
81             FND_MESSAGE.Set_Name('FND','FORM_RECORD_DELETED');
82             APP_EXCEPTION.Raise_Exception;
83         END IF;
84         CLOSE c;
85 
86 
87         IF ( ( (Recinfo.OBJECT_VERSION_NUMBER  = P_OBJECT_VERSION_NUMBER)
88             OR ( (Recinfo.OBJECT_VERSION_NUMBER IS NULL)
89              AND (P_OBJECT_VERSION_NUMBER IS NULL)))
90            )
91         THEN
92               RETURN;
93         ELSE
94               FND_MESSAGE.Set_Name('FND','FORM_RECORD_CHANGED');
95               APP_EXCEPTION.Raise_Exception;
96         END IF;
97 
98 END LOCK_ROW;
99 
100 -- UPDATE ROW -----------------------------------------
101 PROCEDURE UPDATE_ROW (
102  -- P_ROWID                        IN OUT     VARCHAR2,
103  P_ROLE_STATUS_MENU_ID          IN         NUMBER,
104  P_ROLE_ID                      IN         NUMBER,
105  P_STATUS_TYPE                  IN         VARCHAR2,
106  P_STATUS_CODE                  IN         VARCHAR2,
107  P_MENU_ID                      IN         NUMBER,
108  P_OBJECT_VERSION_NUMBER        IN OUT     NOCOPY NUMBER, --File.Sql.39 bug 4440895
109  P_LAST_UPDATE_DATE             IN         DATE,
110  P_LAST_UPDATED_BY              IN         NUMBER,
111  P_CREATION_DATE                IN         DATE,
112  P_CREATED_BY                   IN         NUMBER,
113  P_LAST_UPDATE_LOGIN            IN         NUMBER
114 ) IS
115 
116 
117 BEGIN
118    -- Lock the row for update.
119    LOCK_ROW (
120         P_ROLE_STATUS_MENU_ID,
121         P_OBJECT_VERSION_NUMBER
122         );
123 
124     -- Increment the object version number.
125     p_object_version_number := p_object_version_number + 1;
126 
127     update pa_role_status_menu_map
128     set
129     STATUS_CODE = P_STATUS_CODE,
130     MENU_ID = P_MENU_ID,
131     OBJECT_VERSION_NUMBER = P_OBJECT_VERSION_NUMBER,
132     LAST_UPDATE_DATE = P_LAST_UPDATE_DATE,
133     LAST_UPDATED_BY = P_LAST_UPDATED_BY,
134     LAST_UPDATE_LOGIN = P_LAST_UPDATE_LOGIN
135     WHERE role_status_menu_id = p_role_status_menu_id;
136 
137     IF (SQL%NOTFOUND)
138       THEN
139        RAISE NO_DATA_FOUND;
140     END IF;
141   if (sql%notfound) then
142     raise no_data_found;
143   end if;
144 
145 END UPDATE_ROW;
146 
147 
148 -- DELETE ROW -----------------------------------------
149 PROCEDURE DELETE_ROW (
150  P_ROLE_STATUS_MENU_ID          IN         NUMBER,
151  P_OBJECT_VERSION_NUMBER        IN         NUMBER) IS
152 
153 BEGIN
154 
155 LOCK_ROW (
156         P_ROLE_STATUS_MENU_ID,
157         P_OBJECT_VERSION_NUMBER
158         );
159 
160   delete from pa_role_status_menu_map
161   where role_status_menu_id = p_role_status_menu_id;
162 
163   if (sql%notfound) then
164     raise no_data_found;
165   end if;
166 
167 END Delete_Row;
168 
169 END pa_role_status_menu_pkg;