[Home] [Help]
PACKAGE BODY: APPS.ASG_PROD_PKG
Source
1 PACKAGE BODY ASG_PROD_PKG as
2 /*$Header: asgprodb.pls 120.1 2005/08/12 02:53:42 saradhak noship $*/
3
4 -- HISTORY
5 -- OCT 29, 2003 ytian Modified the update_row to handle the entries
6 -- without release_version.
7 -- SEP. 15, 2003 ytian Modified update_row to update the values only
8 -- if the LDT has a different RELEASE_VERSION than
9 -- the row in the database.
10 -- SEP. 09, 2002 ytian Updated update_row to not update the value for
11 -- parameter DISABLED_SYNCH_MESSAGE.
12 -- AUG. 30, 2002 ytian created.
13
14 procedure insert_row (
15 x_PROD_TOP in VARCHAR2,
16 x_RUN_ORDER in NUMBER,
17 x_INI_FILE in VARCHAR2,
18 x_ZIP_FILE in VARCHAR2,
19 x_CREATION_DATE in DATE,
20 x_CREATED_BY in NUMBER,
21 x_LAST_UPDATE_DATE in DATE,
22 x_LAST_UPDATED_BY in NUMBER,
23 x_RELEASE_VERSION in NUMBER) IS
24
25 begin
26
27
28 insert into ASG_PROD_INFO(
29 PROD_TOP,
30 RUN_ORDER,
31 INI_FILE,
32 ZIP_FILE,
33 CREATION_DATE,
34 CREATED_BY,
35 LAST_UPDATE_DATE,
36 LAST_UPDATED_BY,
37 RELEASE_VERSION
38 ) values (
39 decode(X_PROD_TOP, FND_API.G_MISS_CHAR, NULL, x_PROD_TOP),
40 decode(X_RUN_ORDER,FND_API.G_MISS_NUM, NULL, x_RUN_ORDER),
41 decode(X_INI_FILE, FND_API.G_MISS_CHAR, NULL, x_INI_FILE),
42 decode(X_ZIP_FILE, FND_API.G_MISS_CHAR, NULL, x_ZIP_FILE),
43 decode(X_CREATION_DATE,FND_API.G_MISS_DATE, NULL, x_creation_date),
44 decode(X_CREATED_BY,FND_API.G_MISS_NUM, NULL,x_created_by),
45 decode(X_LAST_UPDATE_DATE,FND_API.G_MISS_DATE, NULL, x_last_update_date),
46 decode(X_LAST_UPDATED_BY,FND_API.G_MISS_NUM, NULL,x_last_updated_by),
47 decode(X_RELEASE_VERSION, FND_API.G_MISS_NUM, NULL, x_release_version)
48 );
49
50 end insert_row;
51
52
53 procedure update_row (
54 x_PROD_TOP in VARCHAR2,
55 x_RUN_ORDER in NUMBER,
56 x_INI_FILE in VARCHAR2,
57 x_ZIP_FILE in VARCHAR2,
58 x_CREATION_DATE in DATE,
59 x_CREATED_BY in NUMBER,
60 x_LAST_UPDATE_DATE in DATE,
61 x_LAST_UPDATED_BY in NUMBER,
62 x_RELEASE_VERSION in NUMBER) IS
63
64 x_count number;
65
66 begin
67
68 IF (x_RELEASE_VERSION IS NOT NULL ) THEN
69 update asg_PROD_INFO set
70 RUN_ORDER = X_RUN_ORDER,
71 PROD_TOP = x_PROD_TOP,
72 INI_FILE = X_INI_FILE,
73 ZIP_FILE = x_ZIP_FILE,
74 CREATION_DATE = X_CREATION_DATE,
75 CREATED_BY = X_CREATED_BY,
76 LAST_UPDATE_DATE = X_LAST_UPDATE_DATE,
77 LAST_UPDATED_BY = X_LAST_UPDATED_BY,
78 RELEASE_VERSION = X_RELEASE_VERSION
79 where PROD_TOP = X_PROD_TOP
80 and nvl(RELEASE_VERSION,-1) <> x_RELEASE_VERSION;
81
82
83
84 if (sql%notfound) then
85 begin
86 select count(*) into x_count from asg_prod_info
87 where PROD_TOP = X_PROD_TOP;
88
89 if (x_count = 0) then
90 raise no_data_found;
91 end if;
92 end;
93
94 end if;
95 ELSE
96 /* if the release-version not set, and if the record is not
97 existing, we should raise and then insert_row will catch
98 and insert it then. */
99 begin
100 select count(*) into x_count from asg_prod_info
101 where PROD_TOP = X_PROD_TOP;
102
103 if (x_count = 0) then
104 raise no_data_found;
105 end if;
106 end;
107 END IF;
108 END UPDATE_ROW;
109
110
111 procedure load_row (
112 x_PROD_TOP in VARCHAR2,
113 x_RUN_ORDER in NUMBER,
114 x_INI_FILE in VARCHAR2,
115 x_ZIP_FILE in VARCHAR2,
116 x_CREATION_DATE in DATE,
117 x_CREATED_BY in NUMBER,
118 x_LAST_UPDATE_DATE in DATE,
119 x_LAST_UPDATED_BY in NUMBER,
120 x_RELEASE_VERSION in NUMBER,
121 p_owner in VARCHAR2) IS
122
123 l_user_id number := 0;
124 BEGIN
125
126
127 if (p_owner = 'SEED') then
128 l_user_id := 1;
129 end if;
130
131 asg_prod_pkg.UPDATE_ROW (
132 X_PROD_TOP => x_PROD_TOP,
133 X_RUN_ORDER => x_RUN_ORDER,
134 X_INI_FILE => x_INI_FILE,
135 X_ZIP_FILE => x_ZIP_FILE,
136 X_CREATION_DATE => X_CREATION_DATE,
137 X_CREATED_BY => X_CREATED_BY,
138 X_LAST_UPDATE_DATE => sysdate,
139 X_LAST_UPDATED_BY => l_user_id,
140 x_RELEASE_VERSION => X_RELEASE_VERSION);
141
142 EXCEPTION
143 WHEN NO_DATA_FOUND THEN
144
145 asg_prod_pkg.insert_row (
146 X_PROD_TOP => x_PROD_TOP,
147 X_RUN_ORDER => x_RUN_ORDER,
148 X_INI_FILE => x_INI_FILE,
149 X_ZIP_FILE => x_ZIP_FILE,
150 X_CREATION_DATE => X_CREATION_DATE,
151 X_CREATED_BY => X_CREATED_BY,
152 X_LAST_UPDATE_DATE => sysdate,
153 X_LAST_UPDATED_BY => l_user_id,
154 x_RELEASE_VERSION => X_RELEASE_VERSION);
155
156 END load_row;
157
158 END ASG_PROD_PKG;