[Home] [Help]
PACKAGE BODY: APPS.IBC_CITEM_PREVIEW_GRP
Source
1 Package Body IBC_CITEM_PREVIEW_GRP as
2 /* $Header: ibcgcipb.pls 115.7 2003/11/13 21:07:43 vicho ship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'IBC_CITEM_PREVIEW_GRP';
5 G_FILE_NAME CONSTANT VARCHAR2(12) := 'ibcgcipb.pls';
6
7
8
9 PROCEDURE Preview_Citem_Basic_Xml (
10 p_api_version IN NUMBER,
11 p_init_msg_list IN VARCHAR2,
12 p_content_item_id IN NUMBER,
13 p_citem_version_id IN NUMBER,
14 p_lang_code IN VARCHAR2,
15 x_return_status OUT NOCOPY VARCHAR2,
16 x_msg_count OUT NOCOPY NUMBER,
17 x_msg_data OUT NOCOPY VARCHAR2,
18 x_content_item_xml OUT NOCOPY CLOB
19 ) AS
20 --******** local variable for standards **********
21 l_api_name CONSTANT VARCHAR2(30) := 'Preview_Citem_Basic_Xml';
22 l_api_version CONSTANT NUMBER := 1.0;
23 --
24 l_latest_component_versions VARCHAR2(1) := FND_API.G_TRUE;
25 x_num_levels_loaded NUMBER;
26 l_xml_encoding VARCHAR2(50);
27 BEGIN
28 -- ******* Standard Begins ********
29
30 -- Standard call to check for call compatibility.
31 IF NOT FND_API.Compatible_API_Call (
32 l_api_version,
33 p_api_version,
34 l_api_name,
35 G_PKG_NAME)
36 THEN
37 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
38 END IF;
39 -- Initialize message list if p_init_msg_list is set to TRUE.
40 IF FND_API.to_Boolean( p_init_msg_list )
41 THEN
42 FND_MSG_PUB.initialize;
43 END IF;
44
45 -- Initialize API return status to success
46 x_return_status := FND_API.G_RET_STS_SUCCESS;
47
48 --******************* Real Logic Start *********************
49
50 DBMS_LOB.CREATETEMPORARY(x_content_item_xml, TRUE);
51
52 l_xml_encoding := '<?xml version="1.0" encoding="'||
53 IBC_UTILITIES_PVT.getEncoding() ||
54 '"?>';
55 DBMS_LOB.WRITEAPPEND(x_content_item_xml, LENGTH(l_xml_encoding), l_xml_encoding);
56
57 IBC_CITEM_PREVIEW_PVT.Preview_Citem_Xml (
58 p_init_msg_list => p_init_msg_list,
59 p_content_item_id => p_content_item_id,
60 p_citem_version_id => p_citem_version_id,
61 p_lang_code => p_lang_code,
62 p_xml_clob_loc => x_content_item_xml,
63 p_num_levels => 0,
64 x_num_levels_loaded => x_num_levels_loaded,
65 x_return_status => x_return_status,
66 x_msg_count => x_msg_count,
67 x_msg_data => x_msg_data
68 );
69 -- Content Item is not valid
70 IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
71 RAISE FND_API.G_EXC_ERROR;
72 END IF;
73
74 --******************* Real Logic End *********************
75
76 -- Standard call to get message count and if count=1, get the message
77 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
78 p_data => x_msg_data);
79 EXCEPTION
80 WHEN FND_API.G_EXC_ERROR THEN
81 x_return_status := FND_API.G_RET_STS_ERROR;
82 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
83 p_data => x_msg_data);
84 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
85 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
86 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
87 p_data => x_msg_data);
88 WHEN OTHERS THEN
89 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
90 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
91 THEN
92 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
93 END IF;
94 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
95 p_data => x_msg_data);
96 END Preview_Citem_Basic_Xml;
97
98
99
100
101 PROCEDURE Preview_Citem_Deep_Xml (
102 p_api_version IN NUMBER,
103 p_init_msg_list IN VARCHAR2,
104 p_content_item_id IN NUMBER,
105 p_citem_version_id IN NUMBER,
106 p_lang_code IN VARCHAR2,
107 p_preview_mode IN VARCHAR2,
108 x_return_status OUT NOCOPY VARCHAR2,
109 x_msg_count OUT NOCOPY NUMBER,
110 x_msg_data OUT NOCOPY VARCHAR2,
111 x_content_item_xml OUT NOCOPY CLOB,
112 x_num_levels_loaded OUT NOCOPY NUMBER
113 ) AS
114 --******** local variable for standards **********
115 l_api_name CONSTANT VARCHAR2(30) := 'Preview_Citem_Deep_Xml';
116 l_api_version CONSTANT NUMBER := 1.0;
117 --
118 l_xml_encoding VARCHAR2(50);
119 BEGIN
120 -- ******* Standard Begins ********
121
122 -- Standard call to check for call compatibility.
123 IF NOT FND_API.Compatible_API_Call (
124 l_api_version,
125 p_api_version,
126 l_api_name,
127 G_PKG_NAME)
128 THEN
129 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
130 END IF;
131 -- Initialize message list if p_init_msg_list is set to TRUE.
132 IF FND_API.to_Boolean( p_init_msg_list )
133 THEN
134 FND_MSG_PUB.initialize;
135 END IF;
136
137 -- Initialize API return status to success
138 x_return_status := FND_API.G_RET_STS_SUCCESS;
139
140 --******************* Real Logic Start *********************
141
142 DBMS_LOB.CREATETEMPORARY(x_content_item_xml, TRUE);
143
144 l_xml_encoding := '<?xml version="1.0" encoding="'||
145 IBC_UTILITIES_PVT.getEncoding() ||
146 '"?>';
147 DBMS_LOB.WRITEAPPEND(x_content_item_xml, LENGTH(l_xml_encoding), l_xml_encoding);
148
149 IBC_CITEM_PREVIEW_PVT.Preview_Citem_Xml (
150 p_init_msg_list => p_init_msg_list,
151 p_content_item_id => p_content_item_id,
152 p_citem_version_id => p_citem_version_id,
153 p_lang_code => p_lang_code,
154 p_version_number => NULL,
155 p_start_date => NULL,
156 p_end_date => NULL,
157 p_preview_mode => p_preview_mode,
158 p_xml_clob_loc => x_content_item_xml,
159 p_num_levels => NULL,
160 x_num_levels_loaded => x_num_levels_loaded,
161 x_return_status => x_return_status,
162 x_msg_count => x_msg_count,
163 x_msg_data => x_msg_data
164 );
165 -- Content Item is not valid
166 IF (x_return_status = FND_API.G_RET_STS_ERROR) THEN
167 RAISE FND_API.G_EXC_ERROR;
168 END IF;
169
170 --******************* Real Logic End *********************
171
172 -- Standard call to get message count and if count=1, get the message
173 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
174 p_data => x_msg_data);
175 EXCEPTION
176 WHEN FND_API.G_EXC_ERROR THEN
177 x_return_status := FND_API.G_RET_STS_ERROR;
178 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
179 p_data => x_msg_data);
180 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
181 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
182 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
183 p_data => x_msg_data);
184 WHEN OTHERS THEN
185 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
186 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
187 THEN
188 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
189 END IF;
190 FND_MSG_PUB.Count_And_Get ( p_count => x_msg_count,
191 p_data => x_msg_data);
192 END Preview_Citem_Deep_Xml;
193
194
195 END IBC_CITEM_PREVIEW_GRP;