DBA Data[Home] [Help]

PACKAGE BODY: APPS.PA_PAGE_CONTENTS_PKG

Source


1 PACKAGE BODY PA_PAGE_CONTENTS_PKG AS
2 --$Header: PAPGCTTB.pls 115.1 2002/12/03 18:20:01 mwasowic noship $
3 
4 
5 procedure INSERT_PAGE_CONTENTS_ROW (
6 
7   P_PAGE_CONTENT_ID  	IN NUMBER,
8   P_OBJECT_TYPE    	IN VARCHAR2,
9   P_PK1_VALUE      	IN VARCHAR2,
10   P_PK2_VALUE      	IN VARCHAR2,
11   P_PK3_VALUE      	IN VARCHAR2,
12   P_PK4_VALUE      	IN VARCHAR2,
13   P_PK5_VALUE      	IN VARCHAR2,
14 
15   x_return_status       OUT    NOCOPY VARCHAR2,
16   x_msg_count           OUT    NOCOPY NUMBER,
17   x_msg_data            OUT    NOCOPY VARCHAR2
18 ) is
19 
20   l_ROWID ROWID;
21 
22    cursor C is select ROWID from PA_PAGE_CONTENTS
23      where Page_content_id = P_PAGE_CONTENT_ID;
24 
25 BEGIN
26 
27   x_return_status := FND_API.G_RET_STS_SUCCESS;
28 
29   --get the unique page content id from the Oracle Sequence
30   --SELECT pa.pa_page_contents_s.nextval
31   --INTO l_content_id
32   --FROM DUAL;
33 
34 
35   insert into PA_PAGE_CONTENTS (
36     PAGE_CONTENT_ID,
37     OBJECT_TYPE,
38     PK1_VALUE,
39     PK2_VALUE,
40     PK3_VALUE,
41     PK4_VALUE,
42     PK5_VALUE,
43     PAGE_CONTENT,
44     RECORD_VERSION_NUMBER,
45     LAST_UPDATED_BY,
46     CREATED_BY,
47     CREATION_DATE,
48     LAST_UPDATE_DATE,
49     LAST_UPDATE_LOGIN
50 
51   ) VALUES (
52     P_PAGE_CONTENT_ID,
53     P_OBJECT_TYPE,
54     P_PK1_VALUE,
55     P_PK2_VALUE,
56     P_PK3_VALUE,
57     P_PK4_VALUE,
58     P_PK5_VALUE,
59     empty_clob(),
60     1,
61     fnd_global.user_id,
62     fnd_global.user_id,
63     sysdate,
64     sysdate,
65     fnd_global.user_id
66     );
67 
68 
69   open c;
70   fetch c into l_ROWID;
71   if (c%notfound) then
72     close c;
73     raise no_data_found;
74   end if;
75   close c;
76   --x_page_content_id := l_content_id;
77 
78 EXCEPTION
79     WHEN OTHERS THEN
80         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
81         RAISE;
82 
83 end INSERT_PAGE_CONTENTS_ROW;
84 
85 -- Clear existing CLOB before writing new contents
86 -- in case new contents length is < old length
87 
88 procedure CLEAR_CLOB (
89   P_PAGE_CONTENT_ID       IN NUMBER,
90   --P_RECORD_VERSION_NUMBER IN NUMBER := NULL,
91 
92   x_return_status         OUT    NOCOPY VARCHAR2,
93   x_msg_count             OUT    NOCOPY NUMBER,
94   x_msg_data              OUT    NOCOPY VARCHAR2
95 ) is
96 begin
97 
98   x_return_status := FND_API.G_RET_STS_SUCCESS;
99 
100   update PA_PAGE_CONTENTS set
101     PAGE_CONTENT              = empty_clob(),
102     RECORD_VERSION_NUMBER     = record_version_number +1,
103     LAST_UPDATED_BY           = fnd_global.user_id,
104     LAST_UPDATE_DATE          = sysdate,
105     LAST_UPDATE_LOGIN         = fnd_global.login_id
106     where page_content_id     = p_page_content_id;
107     --AND record_version_number = Nvl(p_record_version_number, record_version_number);
108 
109    if (sql%notfound) then
110        PA_UTILS.Add_Message ( p_app_short_name => 'PA',p_msg_name => 'PA_XC_RECORD_CHANGED');
111        x_return_status := FND_API.G_RET_STS_ERROR;
112   end if;
113 
114 EXCEPTION
115     WHEN OTHERS THEN
116         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
117         RAISE;
118 end CLEAR_CLOB;
119 
120 
121 procedure UPDATE_PAGE_CONTENTS_ROW (
122   P_PAGE_CONTENT_ID       in NUMBER,
123   P_OBJECT_TYPE           in VARCHAR2,
124   P_PK1_VALUE             in VARCHAR2,
125   P_PK2_VALUE             in VARCHAR2,
126   P_PK3_VALUE             in VARCHAR2,
127   P_PK4_VALUE             in VARCHAR2,
128   P_PK5_VALUE             in VARCHAR2,
129   p_record_version_number IN NUMBER,
130 
131   x_return_status               OUT    NOCOPY VARCHAR2,
132   x_msg_count                   OUT    NOCOPY NUMBER,
133   x_msg_data                    OUT    NOCOPY VARCHAR2
134 ) is
135 begin
136   x_return_status := FND_API.G_RET_STS_SUCCESS;
137 
138   update PA_PAGE_CONTENTS set
139     OBJECT_TYPE               = Nvl(p_object_type, object_type),
140     PK1_VALUE                 = Nvl(P_PK1_VALUE, PK1_VALUE),
141     PK2_VALUE                 = Nvl(P_PK2_VALUE, PK2_VALUE),
142     PK3_VALUE                 = Nvl(P_PK3_VALUE, PK3_VALUE),
143     PK4_VALUE                 = Nvl(P_PK4_VALUE, PK4_VALUE),
144     PK5_VALUE                 = Nvl(P_PK5_VALUE, PK5_VALUE),
145 
146     RECORD_VERSION_NUMBER     = record_version_number +1,
147     LAST_UPDATED_BY           = fnd_global.user_id,
148     LAST_UPDATE_DATE          = sysdate,
149     LAST_UPDATE_LOGIN         = fnd_global.login_id
150     where page_content_id     = p_page_content_id
151     AND record_version_number = Nvl(p_record_version_number, record_version_number);
152 
153    if (sql%notfound) then
154        PA_UTILS.Add_Message ( p_app_short_name => 'PA',p_msg_name => 'PA_XC_RECORD_CHANGED');
155        x_return_status := FND_API.G_RET_STS_ERROR;
156   end if;
157 
158 EXCEPTION
159     WHEN OTHERS THEN
160         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
161         RAISE;
162 end UPDATE_PAGE_CONTENTS_ROW;
163 
164 
165 
166 procedure DELETE_PAGE_CONTENTS_ROW (
167   P_PAGE_CONTENT_ID       in NUMBER,
168   x_return_status               OUT    NOCOPY VARCHAR2,
169   x_msg_count                   OUT    NOCOPY NUMBER,
170   x_msg_data                    OUT    NOCOPY VARCHAR2
171 ) is
172 begin
173   x_return_status := FND_API.G_RET_STS_SUCCESS;
174 
175   DELETE FROM  PA_PAGE_CONTENTS
176     where page_content_id = P_PAGE_CONTENT_ID;
177 
178 
179 EXCEPTION
180     WHEN OTHERS THEN
181         x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
182         RAISE;
183 end DELETE_PAGE_CONTENTS_ROW;
184 
185 END  PA_PAGE_CONTENTS_PKG;