DBA Data[Home] [Help]

PACKAGE BODY: APPS.IEM_ARCH_FLDS_PVT

Source


1 PACKAGE BODY IEM_ARCH_FLDS_PVT as
2 /* $Header: iemaflvb.pls 120.1 2005/09/07 12:15:24 appldev ship $ */
3 
4 G_PKG_NAME CONSTANT varchar2(30) :='IEM_ARCH_FLDS_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_email_account_id  IN  NUMBER,
10 			p_folder	   IN  VARCHAR2,
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_folder_id	      OUT	NOCOPY NUMBER,
17 		     x_return_status	OUT NOCOPY VARCHAR2,
18   		 	x_msg_count	      OUT	NOCOPY NUMBER,
19 	  	  	x_msg_data	OUT	NOCOPY VARCHAR2
20 			 ) is
21 	l_api_name        		VARCHAR2(255):='create_item';
22 	l_api_version_number 	NUMBER:=1.0;
23 	l_seq_id				NUMBER;
24 	l_fld_id				NUMBER;
25 	l_oes_ret_code				NUMBER;
26 	l_arch_folder			VARCHAR2(128);
27 	l_ret_status			VARCHAR2(10);
28 	l_out_text			VARCHAR2(500);
29 	FOLDER_CREATE_ERROR		EXCEPTION;
30 
31 BEGIN
32 -- Standard call to check for call compatibility.
33 IF NOT FND_API.Compatible_API_Call (l_api_version_number,
34 				    p_api_version_number,
35 				    l_api_name,
36 				    G_PKG_NAME)
37 THEN
38 	 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
39 END IF;
40    x_return_status := FND_API.G_RET_STS_SUCCESS;
41    SAVEPOINT IEM_ARCHFLD_PVT;
42    select iem_archived_folders_s1.nextval into l_seq_id from dual;
43    select nvl(max(FOLDER_SEQ_NUM),0)+1
44    INTO l_fld_id
45    FROM IEM_ARCHIVED_FOLDERS
46    where email_account_id=p_email_account_id
47    and FOLDER_NAME=p_folder;
48    l_arch_folder:='Arch'||p_email_account_id||p_folder||l_fld_id;
49 INSERT INTO IEM_ARCHIVED_FOLDERS
50 (ARCH_FOLDER_ID,
51  ARCH_FOLDER_NAME,
52  FOLDER_NAME,
53  FOLDER_SEQ_NUM,
54  EMAIL_ACCOUNT_ID,
55  ARCH_FOLDER_STATUS,
56  CREATED_BY,
57  CREATION_DATE,
58  LAST_UPDATED_BY,
59  LAST_UPDATE_DATE,
60  LAST_UPDATE_LOGIN)
61 VALUES
62 (l_seq_id,
63 l_arch_folder,
64 p_folder,
65 l_fld_id,
66 p_email_account_id,
67 'I',							-- In used
68 decode(p_CREATED_BY,null,-1,p_CREATED_BY),
69 sysdate,
70 decode(p_LAST_UPDATED_BY,null,-1,p_LAST_UPDATED_BY),
71 sysdate,
72 decode(p_LAST_UPDATE_LOGIN,null,-1,p_LAST_UPDATE_LOGIN));
73 x_folder_id:=l_seq_id;
74 -- Standard Check Of p_commit.
75 	IF p_commit='T' THEN
76 		COMMIT WORK;
77 	END IF;
78 -- Standard callto get message count and if count is 1, get message info.
79        FND_MSG_PUB.Count_And_Get
80 			( p_count =>  x_msg_count,
81                  	p_data  =>    x_msg_data
82 			);
83 EXCEPTION
84    WHEN FOLDER_CREATE_ERROR THEN
85 	x_return_status := FND_API.G_RET_STS_ERROR ;
86 	 rollback to IEM_ARCHFLD_PVT;
87     FND_MESSAGE.Set_Name('IEM', 'IEM_ARCH_OES_FLD_CREATE_ERROR');
88   	FND_MESSAGE.Set_Token('CODE',l_oes_ret_code);
89     FND_MSG_PUB.Add;
90        FND_MSG_PUB.Count_And_Get
91 			( p_count => x_msg_count,
92                  	p_data  =>      x_msg_data
93 			);
94    WHEN FND_API.G_EXC_ERROR THEN
95        x_return_status := FND_API.G_RET_STS_ERROR ;
96 				rollback to IEM_ARCHFLD_PVT;
97        FND_MSG_PUB.Count_And_Get
98 			( p_count => x_msg_count,
99                  	p_data  =>      x_msg_data
100 			);
101    WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
102        x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
103 				rollback to IEM_ARCHFLD_PVT;
104        FND_MSG_PUB.Count_And_Get
105 			( p_count => x_msg_count,
106                  	p_data  =>      x_msg_data
107 			);
108    WHEN OTHERS THEN
109       x_return_status := FND_API.G_RET_STS_ERROR;
110 				rollback to IEM_ARCHFLD_PVT;
111 	IF 	FND_MSG_PUB.Check_Msg_Level
112 			(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
113 		THEN
114         		FND_MSG_PUB.Add_Exc_Msg
115     	    		(	G_PKG_NAME  	    ,
116     	    			l_api_name
117 	    		);
118 		END IF;
119 		FND_MSG_PUB.Count_And_Get
120     		( p_count         	=>      x_msg_count     	,
121         	p_data          	=>      x_msg_data
122     		);
123 
124  END	create_item;
125 END IEM_ARCH_FLDS_PVT ;