DBA Data[Home] [Help]

PACKAGE BODY: APPS.AMS_MULTIMEDIA_PVT

Source


1 PACKAGE BODY AMS_Multimedia_PVT as
2 /* $Header: amsvmulb.pls 115.3 2002/06/11 14:44:58 pkm ship      $ */
3 -- Start of Comments
4 -- Package name     : AMS_Multimedia_PVT
5 -- Purpose          :
6 
7 -- History          :
8 -- 12/26/2000     abhola   created.
9 -- 12-MAY-2002    ABHOLA   removed references to G_USER_ID
10 -- End of Comments
11 
12 
13 G_PKG_NAME CONSTANT VARCHAR2(30):= 'AMS_Multimedia_PVT';
14 G_FILE_NAME CONSTANT VARCHAR2(12) := 'amsvmulb.pls';
15 
16 
17 
18 PROCEDURE Process_Multimedia(
19   p_api_version         IN  NUMBER,
20   p_init_msg_list       IN  VARCHAR2 := FND_API.g_false,
21   p_commit              IN  VARCHAR2 := FND_API.g_false,
22   p_validation_level    IN  NUMBER   := FND_API.g_valid_level_full,
23 
24   x_return_status       OUT VARCHAR2,
25   x_msg_count           OUT NUMBER,
26   x_msg_data            OUT VARCHAR2,
27 
28   p_multi_rec           IN  multimedia_rec_type )
29 
30  IS
31 
32 
33  l_api_name                CONSTANT VARCHAR2(50) := 'Process_Multimedia';
34 
35  l_multimedia_tbl  IBE_LogicalContent_GRP.obj_lgl_ctnt_tbl_type;
36 
37  l_api_version           NUMBER   := p_api_version;
38  l_init_msg_list         VARCHAR2(1) := p_init_msg_list;
39  l_commit                VARCHAR2(1) := p_commit;
40  l_validation_level      NUMBER   := p_validation_level;
41 
42  transaction_type VARCHAR2(1);
43 
44 BEGIN
45       -- Standard Start of API savepoint
46       SAVEPOINT Process_Multimedia;
47 
48       -- Standard call to check for call compatibility.
49       IF NOT FND_API.Compatible_API_Call ( l_api_version,
50                                            p_api_version,
51                                            l_api_name,
52                                            G_PKG_NAME)
53       THEN
54           RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
55       END IF;
56 
57       -- Initialize message list if p_init_msg_list is set to TRUE.
58       IF FND_API.to_Boolean( p_init_msg_list )
59       THEN
60           FND_MSG_PUB.initialize;
61       END IF;
62 
63       -- Debug Message
64      --  AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'start');
65 
66 
67       -- Initialize API return status to SUCCESS
68       x_return_status := FND_API.G_RET_STS_SUCCESS;
69 
70 
71       -- ******************************************************************
72       -- Validate Environment
73       -- ******************************************************************
74       IF FND_GLOBAL.User_Id IS NULL
75       THEN
76           IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_ERROR)
77           THEN
78               FND_MESSAGE.Set_Name('AMS', 'USER_PROFILE_MISSING');
79               FND_MSG_PUB.ADD;
80           END IF;
81           RAISE FND_API.G_EXC_ERROR;
82       END IF;
83 
84       --
85       -- get the default image if default falg is 'Y'
86       --
87 
88       transaction_type := p_multi_rec.create_delete_flag;
89 
90       if (p_multi_rec.default_flag = 'Y') then
91 
92          transaction_type := FND_API.g_true;
93 
94       end if;
95 
96       l_multimedia_tbl(1).obj_lgl_ctnt_delete  := transaction_type ;
97       l_multimedia_tbl(1).OBJ_lgl_ctnt_id  :=   p_multi_rec.obj_lgl_ctnt_id;
98       l_multimedia_tbl(1).Object_Version_Number  :=   p_multi_rec.object_version_number;
99       l_multimedia_tbl(1).Object_id  := p_multi_rec.object_id ;
100       l_multimedia_tbl(1).Context_id  :=   p_multi_rec.context_id;
101       l_multimedia_tbl(1).deliverable_id  :=  p_multi_rec.image_id ;
102 
103       -- Call to IBE Procedure
104       ------------------------
105       IBE_LogicalContent_GRP.save_delete_lgl_ctnt(
106 		p_api_version         =>   l_api_version,
107 		p_init_msg_list       =>   l_init_msg_list,
108 		p_commit              =>   l_commit,
109 		x_return_status       => x_return_status,
110 		x_msg_count           => x_msg_count,
111 		x_msg_data            => x_msg_data,
112 		p_object_type_code    => p_multi_rec.obj_type_code,
113 		p_lgl_ctnt_tbl        => l_multimedia_tbl );
114 
115 
116       -- Standard check for p_commit
117       IF FND_API.to_Boolean( p_commit )
118       THEN
119           COMMIT WORK;
120       END IF;
121 
122 
123       -- Debug Message
124       -- AMS_UTILITY_PVT.debug_message('Private API: ' || l_api_name || 'end');
125 
126       -- Standard call to get message count and if count is 1, get message info.
127       FND_MSG_PUB.Count_And_Get
128         (p_count          =>   x_msg_count,
129          p_data           =>   x_msg_data
130       );
131 EXCEPTION
132    WHEN FND_API.G_EXC_ERROR THEN
133 
134     x_return_status := FND_API.G_RET_STS_ERROR;
135     -- Standard call to get message count and if count=1, get the message
136     FND_MSG_PUB.Count_And_Get (
137             p_encoded => FND_API.G_FALSE,
138             p_count => x_msg_count,
139             p_data  => x_msg_data
140     );
141    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
142 
143     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
144     -- Standard call to get message count and if count=1, get the message
145     FND_MSG_PUB.Count_And_Get (
146             p_encoded => FND_API.G_FALSE,
147             p_count => x_msg_count,
148              p_data  => x_msg_data
149     );
150    WHEN OTHERS THEN
151 
152     x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
153     IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
154     THEN
155             FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
156     END IF;
157     -- Standard call to get message count and if count=1, get the message
158     FND_MSG_PUB.Count_And_Get (
159             p_encoded => FND_API.G_FALSE,
160             p_count => x_msg_count,
161             p_data  => x_msg_data
162     );
163  END;
164 
165 
166 End AMS_Multimedia_PVT;