1 PACKAGE BODY GMD_FORMULA_SUBSTITUTION_PKG as
2 /* $Header: GMDFRSBB.pls 120.0 2005/05/25 18:33:19 appldev noship $ */
3 procedure INSERT_ROW (
4 X_ROWID in out nocopy VARCHAR2,
5 X_FORMULA_SUBSTITUTION_ID in NUMBER,
6 X_SUBSTITUTION_ID in NUMBER,
7 X_FORMULA_ID in NUMBER,
8 X_ASSOCIATED_FLAG in VARCHAR2,
9 X_CREATION_DATE in DATE,
10 X_CREATED_BY in NUMBER,
11 X_LAST_UPDATE_DATE in DATE,
12 X_LAST_UPDATED_BY in NUMBER,
13 X_LAST_UPDATE_LOGIN in NUMBER
14 ) is
15 cursor C is select ROWID from GMD_FORMULA_SUBSTITUTION
16 where FORMULA_SUBSTITUTION_ID = X_FORMULA_SUBSTITUTION_ID
17 ;
18 begin
19 insert into GMD_FORMULA_SUBSTITUTION (
20 FORMULA_SUBSTITUTION_ID,
21 SUBSTITUTION_ID,
22 FORMULA_ID,
23 ASSOCIATED_FLAG,
24 CREATION_DATE,
25 CREATED_BY,
26 LAST_UPDATE_DATE,
27 LAST_UPDATED_BY,
28 LAST_UPDATE_LOGIN
29 ) values (
30 X_FORMULA_SUBSTITUTION_ID,
31 X_SUBSTITUTION_ID,
32 X_FORMULA_ID,
33 X_ASSOCIATED_FLAG,
34 X_CREATION_DATE,
35 X_CREATED_BY,
36 X_LAST_UPDATE_DATE,
37 X_LAST_UPDATED_BY,
38 X_LAST_UPDATE_LOGIN
39 );
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 end INSERT_ROW;
50
51 procedure LOCK_ROW (
52 X_FORMULA_SUBSTITUTION_ID in NUMBER,
53 X_SUBSTITUTION_ID in NUMBER,
54 X_FORMULA_ID in NUMBER,
55 X_ASSOCIATED_FLAG in VARCHAR2
56 ) is
57 cursor c is select
58 SUBSTITUTION_ID,
59 FORMULA_ID,
60 ASSOCIATED_FLAG
61 from GMD_FORMULA_SUBSTITUTION
62 where FORMULA_SUBSTITUTION_ID = X_FORMULA_SUBSTITUTION_ID
63 for update of FORMULA_SUBSTITUTION_ID nowait;
64 recinfo c%rowtype;
65
66 begin
67 open c;
68 fetch c into recinfo;
69 if (c%notfound) then
70 close c;
71 fnd_message.set_name('FND', 'FORM_RECORD_DELETED');
72 app_exception.raise_exception;
73 end if;
74 close c;
75 if ( (recinfo.SUBSTITUTION_ID = X_SUBSTITUTION_ID)
76 AND (recinfo.FORMULA_ID = X_FORMULA_ID)
77 AND ((recinfo.ASSOCIATED_FLAG = X_ASSOCIATED_FLAG)
78 OR ((recinfo.ASSOCIATED_FLAG is null) AND (X_ASSOCIATED_FLAG is null)))
79 ) then
80 null;
81 else
82 fnd_message.set_name('FND', 'FORM_RECORD_CHANGED');
83 app_exception.raise_exception;
84 end if;
85 return;
86 end LOCK_ROW;
87
88 procedure UPDATE_ROW (
89 X_FORMULA_SUBSTITUTION_ID in NUMBER,
90 X_SUBSTITUTION_ID in NUMBER,
91 X_FORMULA_ID in NUMBER,
92 X_ASSOCIATED_FLAG in VARCHAR2,
93 X_LAST_UPDATE_DATE in DATE,
94 X_LAST_UPDATED_BY in NUMBER,
95 X_LAST_UPDATE_LOGIN in NUMBER
96 ) is
97 begin
98 update GMD_FORMULA_SUBSTITUTION set
99 SUBSTITUTION_ID = X_SUBSTITUTION_ID,
100 FORMULA_ID = X_FORMULA_ID,
101 ASSOCIATED_FLAG = X_ASSOCIATED_FLAG,
102 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
103 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
104 LAST_UPDATE_LOGIN = X_LAST_UPDATE_LOGIN
105 where FORMULA_SUBSTITUTION_ID = X_FORMULA_SUBSTITUTION_ID;
106
107 if (sql%notfound) then
108 raise no_data_found;
109 end if;
110
111 end UPDATE_ROW;
112
113 procedure DELETE_ROW (
114 X_FORMULA_SUBSTITUTION_ID in NUMBER
115 ) is
116 begin
117
118 delete from GMD_FORMULA_SUBSTITUTION
119 where FORMULA_SUBSTITUTION_ID = X_FORMULA_SUBSTITUTION_ID;
120
121 if (sql%notfound) then
122 raise no_data_found;
123 end if;
124 end DELETE_ROW;
125
126 end GMD_FORMULA_SUBSTITUTION_PKG;