[Home] [Help]
PACKAGE BODY: APPS.IEM_ARCH_DTLS_PVT
Source
1 PACKAGE BODY IEM_ARCH_DTLS_PVT as
2 /* $Header: iemardvb.pls 115.0 2003/08/20 21:38:37 sboorela noship $ */
3
4 G_PKG_NAME CONSTANT varchar2(30) :='IEM_ARCH_DTLS_PVT ';
5
6 PROCEDURE create_item (p_api_version_number IN NUMBER,
7 p_init_msg_list IN VARCHAR2 ,
8 p_commit IN VARCHAR2 ,
9 p_request_id in number,
10 p_source_message_id IN jtf_varchar2_Table_100,
11 p_CREATED_BY IN NUMBER,
12 p_CREATION_DATE IN DATE,
13 p_LAST_UPDATED_BY IN NUMBER ,
14 p_LAST_UPDATE_DATE IN DATE,
15 p_LAST_UPDATE_LOGIN IN NUMBER ,
16 x_return_status OUT NOCOPY VARCHAR2,
17 x_msg_count OUT NOCOPY NUMBER,
18 x_msg_data OUT NOCOPY VARCHAR2
19 ) is
20 l_api_name VARCHAR2(255):='create_item';
21 l_api_version_number NUMBER:=1.0;
22
23 BEGIN
24 -- Standard call to check for call compatibility.
25 IF NOT FND_API.Compatible_API_Call (l_api_version_number,
26 p_api_version_number,
27 l_api_name,
28 G_PKG_NAME)
29 THEN
30 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
31 END IF;
32 x_return_status := FND_API.G_RET_STS_SUCCESS;
33 SAVEPOINT IEM_ARCH_DTL_PVT;
34 FOR i in p_source_message_id.FIRST..p_source_message_id.LAST LOOP
35 IF p_source_message_id(i) is not null then
36 INSERT INTO IEM_ARCHIVED_DTLS
37 (REQUEST_ID,
38 SOURCE_MESSAGE_ID,
39 CREATED_BY,
40 CREATION_DATE,
41 LAST_UPDATED_BY,
42 LAST_UPDATE_DATE,
43 LAST_UPDATE_LOGIN)
44 VALUES
45 (p_request_id,
46 p_source_message_id(i),
47 decode(p_CREATED_BY,null,-1,p_CREATED_BY),
48 sysdate,
49 decode(p_LAST_UPDATED_BY,null,-1,p_LAST_UPDATED_BY),
50 sysdate,
51 decode(p_LAST_UPDATE_LOGIN,null,-1,p_LAST_UPDATE_LOGIN));
52 END IF;
53 END LOOP;
54 -- Standard Check Of p_commit.
55 IF p_commit='T' THEN
56 COMMIT WORK;
57 END IF;
58 -- Standard callto get message count and if count is 1, get message info.
59 FND_MSG_PUB.Count_And_Get
60 ( p_count => x_msg_count,
61 p_data => x_msg_data
62 );
63 EXCEPTION
64 WHEN FND_API.G_EXC_ERROR THEN
65 x_return_status := FND_API.G_RET_STS_ERROR ;
66 rollback to IEM_ARCH_DTL_PVT;
67 FND_MSG_PUB.Count_And_Get
68 ( p_count => x_msg_count,
69 p_data => x_msg_data
70 );
71 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
72 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
73 rollback to IEM_ARCH_DTL_PVT;
74 FND_MSG_PUB.Count_And_Get
75 ( p_count => x_msg_count,
76 p_data => x_msg_data
77 );
78 WHEN OTHERS THEN
79 x_return_status := FND_API.G_RET_STS_ERROR;
80 rollback to IEM_ARCH_DTL_PVT;
81 IF FND_MSG_PUB.Check_Msg_Level
82 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
83 THEN
84 FND_MSG_PUB.Add_Exc_Msg
85 ( G_PKG_NAME ,
86 l_api_name
87 );
88 END IF;
89 FND_MSG_PUB.Count_And_Get
90 ( p_count => x_msg_count ,
91 p_data => x_msg_data
92 );
93
94 END create_item;
95 END IEM_ARCH_DTLS_PVT ;