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