DBA Data[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;