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