1 package body PA_CI_TYPE_USAGE_PKG as
2 /* $Header: PACITUTB.pls 120.2 2005/08/22 05:14:57 sukhanna noship $ */
3 procedure INSERT_ROW (
4 X_ROWID out NOCOPY VARCHAR2, --File.Sql.39 bug 4440895
5 X_CI_TYPE_USAGE_ID out NOCOPY NUMBER, --File.Sql.39 bug 4440895
6 X_PROJECT_TYPE_ID in NUMBER,
7 X_CI_TYPE_ID in NUMBER,
8 X_CREATION_DATE in DATE,
9 X_CREATED_BY in NUMBER,
10 X_LAST_UPDATE_DATE in DATE,
11 X_LAST_UPDATED_BY in NUMBER,
12 X_LAST_UPDATE_LOGIN in NUMBER
13 ) is
14 cursor C is select ROWID from PA_CI_TYPE_USAGE
15 where CI_TYPE_USAGE_ID = X_CI_TYPE_USAGE_ID
16 ;
17 begin
18 SELECT pa_ci_type_usage_s.NEXTVAL
19 INTO X_CI_TYPE_USAGE_ID
20 FROM sys.dual;
21
22 insert into PA_CI_TYPE_USAGE (
23 CI_TYPE_USAGE_ID,
24 PROJECT_TYPE_ID,
25 CI_TYPE_ID,
26 CREATION_DATE,
27 CREATED_BY,
28 LAST_UPDATE_DATE,
29 LAST_UPDATED_BY,
30 LAST_UPDATE_LOGIN
31 ) values (
32 X_CI_TYPE_USAGE_ID,
33 X_PROJECT_TYPE_ID,
34 X_CI_TYPE_ID,
35 X_CREATION_DATE,
36 X_CREATED_BY,
37 X_LAST_UPDATE_DATE,
38 X_LAST_UPDATED_BY,
39 X_LAST_UPDATE_LOGIN
40 );
41 open c;
42 fetch c into X_ROWID;
43 if (c%notfound) then
44 close c;
45 raise no_data_found;
46 end if;
47 close c;
48
49 exception --Added for bug 4565156
50 when others then
51 x_rowid := null;
52 x_ci_type_usage_id := null;
53 raise;
54
55 end INSERT_ROW;
56
57 procedure UPDATE_ROW (
58 X_CI_TYPE_USAGE_ID in NUMBER,
59 X_PROJECT_TYPE_ID in NUMBER,
60 X_CI_TYPE_ID in NUMBER,
61 X_LAST_UPDATE_DATE in DATE,
62 X_LAST_UPDATED_BY in NUMBER,
63 X_LAST_UPDATE_LOGIN in NUMBER
64 ) is
65 begin
66 update PA_CI_TYPE_USAGE set
67 PROJECT_TYPE_ID = X_PROJECT_TYPE_ID,
68 CI_TYPE_ID = X_CI_TYPE_ID,
69 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
70 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
71 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
72 where ci_type_usage_id = X_CI_TYPE_USAGE_ID;
73 end UPDATE_ROW;
74
75 procedure LOCK_ROW (
76 X_CI_TYPE_USAGE_ID in NUMBER,
77 X_PROJECT_TYPE_ID in NUMBER,
78 X_CI_TYPE_ID in NUMBER
79 ) is
80 cursor c is select
81 PROJECT_TYPE_ID,
82 CI_TYPE_ID
83 from PA_CI_TYPE_USAGE
84 where CI_TYPE_USAGE_ID = X_CI_TYPE_USAGE_ID
85 for update of CI_TYPE_USAGE_ID nowait;
86 recinfo c%rowtype;
87
88 begin
89 open c;
90 fetch c into recinfo;
91 if (c%notfound) then
92 close c;
93 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
94 app_exception.raise_exception;
95 end if;
96 close c;
97 if ( (recinfo.PROJECT_TYPE_ID = X_PROJECT_TYPE_ID)
98 AND (recinfo.CI_TYPE_ID = X_CI_TYPE_ID)
99 ) then
100 null;
101 else
102 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
103 app_exception.raise_exception;
104 end if;
105
106 return;
107 end LOCK_ROW;
108
109
110 procedure DELETE_ROW (
111 X_CI_TYPE_USAGE_ID in NUMBER
112 ) is
113 begin
114 delete from PA_CI_TYPE_USAGE
115 where CI_TYPE_USAGE_ID = X_CI_TYPE_USAGE_ID;
116
117 if (sql%notfound) then
118 raise no_data_found;
119 end if;
120 end DELETE_ROW;
121
122
123 end PA_CI_TYPE_USAGE_PKG;