1 package body EGO_DOM_WS_INTERFACE_PUB AS
2 /*$Header: EGOPITFB.pls 120.3 2010/06/14 09:45:59 yjain ship $ */
3
4 -- ------------------------------------------------------------
5 -- -------------- Global variables and constants --------------
6 -- ------------------------------------------------------------
7 G_PKG_NAME CONSTANT VARCHAR2(30) := 'EGO_DOM_WS_INTERFACE_PUB';
8 G_CURRENT_USER_ID NUMBER := FND_GLOBAL.USER_ID;
9 G_CURRENT_LOGIN_ID NUMBER := FND_GLOBAL.LOGIN_ID;
10
11 -- ---------------------------------------------------------------------
12 -- For debugging purposes.
13 PROCEDURE mdebug (msg IN varchar2) IS
14 BEGIN
15 --dd_debug('EGO_DOM_WS_INTERFACE_PUB ' || msg);
16 null;
17 END mdebug;
18 -- ---------------------------------------------------------------------
19
20 ----------------------------------------------------------------------------
21 -- A. Add_OFO_Group_Member
22 ----------------------------------------------------------------------------
23
24 procedure Add_OFO_Group_Member (
25 p_api_version IN NUMBER,
26 p_init_msg_list IN VARCHAR2,
27 p_commit IN VARCHAR2,
28 p_group_id IN NUMBER,
29 p_member_id IN NUMBER,
30 x_return_status OUT NOCOPY VARCHAR2,
31 x_msg_count OUT NOCOPY NUMBER,
32 x_msg_data OUT NOCOPY VARCHAR2
33 ) IS
34 ------------------------------------------------------------------------
35 -- Start OF comments
36 -- API name : Add_OFO_Group_Member
37 -- TYPE : Public
38 -- Pre-reqs : None
39 -- FUNCTION : Add a member to the corresponding OFO Group.
40 --
41 --
42 -- Parameters:
43 -- IN : p_api_version IN NUMBER (required)
44 -- API Version of this procedure
45 -- p_init_msg_level IN VARCHAR2 (optional)
46 -- DEFAULT = FND_API.G_FALSE
47 -- Indicates whether the message stack needs to be cleared
48 -- p_commit IN VARCHAR2 (optional)
49 -- DEFAULT = FND_API.G_FALSE
50 -- Indicates whether the data should be committed
51 -- p_group_id IN NUMBER (required)
52 -- Group to which the member is being added
53 -- Eg., A Group
54 -- p_member_id IN VARCHAR2 (required)
55 -- Member which is to be added
56 -- Eg., PERSON
57 --
58 -- OUT : x_return_status OUT NUMBER
59 -- Result of all the operations
60 -- FND_API.G_RET_STS_SUCCESS if success
61 -- FND_API.G_RET_STS_ERROR if error
62 -- FND_API.G_RET_STS_UNEXP_ERROR if unexpected error
63 -- x_msg_count OUT NUMBER
64 -- number of messages in the message list
65 -- x_msg_data OUT VARCHAR2
66 -- if number of messages is 1, then this parameter
67 -- contains the message itself
68 --
69 -- Called From:
70 -- ego_party_pub.add_group_member
71 --
72 -- Version: Current Version 1.0
73 -- Previous Version : None
74 -- Notes :
75 --
76 -- END OF comments
77 ------------------------------------------------------------------------
78
79 l_api_name VARCHAR2(20) := 'Add_OFO_Group_Member';
80 p_return_status VARCHAR2(20) ;
81 p_msg_count NUMBER;
82 p_msg_data VARCHAR2(3000);
83
84 l_ws_exist BOOLEAN := FALSE;
85
86 BEGIN
87 --
88 --
89 mdebug(' ADD_OFO_GROUP_MEMBER: Tracing....' );
90 -- Standard Start of API savepoint
91 -- Initialize API message list if necessary.
92 -- Initialize message list if p_init_msg_list is set to TRUE.
93 IF FND_API.to_Boolean( NVL(p_init_msg_list, 'F') ) THEN
94 FND_MSG_PUB.initialize;
95 END IF;
96
97 -- Bug 9697013
98 BEGIN
99
100 l_ws_exist := DOM_WS_INTERFACE_PUB.Get_WebService_Repositories() ;
101
102 END;
103
104
105
106
107 IF l_ws_exist THEN
108
109 EXECUTE IMMEDIATE 'BEGIN DOM_WS_INTERFACE_PUB.Add_OFO_Group_Member( :1,:2,:3,:4,:5,:6,:7,:8); END; '
110 USING IN p_api_version,
111 IN p_init_msg_list ,
112 IN p_commit,
113 IN p_group_id,
114 IN p_member_id,
115 OUT p_return_status,
116 OUT p_msg_count,
117 OUT p_msg_data;
118 END IF;
119 -- Bug 9697013
120
121 x_return_status := FND_API.G_RET_STS_SUCCESS;
122
123 mdebug(' ADD_OFO_GROUP_MEMBER: Tracing....' || x_return_status);
124 FND_MSG_PUB.Count_And_Get
125 ( p_count => x_msg_count,
126 p_data => x_msg_data
127 );
128 EXCEPTION
129 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
130 mdebug('. Add_OFO_Group_Member : Ending : Returning ''FND_API.G_EXC_UNEXPECTED_ERROR''');
131 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
132 FND_MSG_PUB.Count_And_Get
133 ( p_count => x_msg_count,
134 p_data => x_msg_data
135 );
136 WHEN OTHERS THEN
137 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
138 IF FND_MSG_PUB.Check_Msg_Level
139 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
140 THEN
141 FND_MSG_PUB.Add_Exc_Msg
142 ( G_PKG_NAME,
143 l_api_name
144 );
145 END IF;
146 FND_MSG_PUB.Count_And_Get
147 ( p_count => x_msg_count,
148 p_data => x_msg_data
149 );
150 mdebug ( 'Add_OFO_Group_Member ' || SQLERRM);
151 END Add_OFO_Group_Member;
152
153 END EGO_DOM_WS_INTERFACE_PUB;