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