[Home] [Help]
PACKAGE BODY: APPS.JTF_TERR_OKS_PUB
Source
1 Package Body JTF_TERR_OKS_PUB AS
2 /* $Header: jtfptscb.pls 120.0 2005/06/02 18:20:57 appldev ship $ */
3 -- Start of Comments
4 -- ---------------------------------------------------
5 -- PACKAGE NAME: JTF_TERR_OKS_PUB
6 -- ---------------------------------------------------
7 -- PURPOSE
8 -- Joint task force core Service Contracts territory manager public api's.
9 -- This package is a public API for getting winning territories
10 -- or territory resources.
11 --
12 -- Procedures:
13 -- (see below for specification)
14 --
15 -- NOTES
16 -- This package is publicly available for use
17 --
18 -- HISTORY
19 -- 07/21/00 EIHSU Created
20 -- 02/15/01 SP Modified to make it backward compatible
21 -- Changed datatypes of lp_rec and lx_rec
22 --
23 -- End of Comments
24 --
25 -- ***************************************************
26 -- GLOBAL VARIABLES
27 -- ***************************************************
28 G_PKG_NAME CONSTANT VARCHAR2(30):='JTF_TERR_OKS_PUB';
29 G_FILE_NAME CONSTANT VARCHAR2(12):='jtfptscb.pls';
30
31 G_NEW_LINE VARCHAR2(02) := FND_GLOBAL.Local_Chr(10);
32 G_APPL_ID NUMBER := FND_GLOBAL.Prog_Appl_Id;
33 G_LOGIN_ID NUMBER := FND_GLOBAL.Conc_Login_Id;
34 G_PROGRAM_ID NUMBER := FND_GLOBAL.Conc_Program_Id;
35 G_USER_ID NUMBER := FND_GLOBAL.User_Id;
36 G_REQUEST_ID NUMBER := FND_GLOBAL.Conc_Request_Id;
37 G_APP_SHORT_NAME VARCHAR2(15) := FND_GLOBAL.Application_Short_Name;
38 --
39 -- Start of Comments
40
41 -- ***************************************************
42 -- start of comments
43 -- ***************************************************
44 -- api name : Get_WinningTerrMembers
45 --
46 -- end of comments
47 procedure Get_WinningTerrMembers
48 ( p_api_version_number IN number,
49 p_init_msg_list IN varchar2 := fnd_api.g_false,
50 p_TerrKRen_Rec IN JTF_TERRITORY_PUB.JTF_KRen_rec_type,
51 p_Resource_Type IN varchar2,
52 p_Role IN varchar2,
53 x_return_status OUT NOCOPY varchar2,
54 x_msg_count OUT NOCOPY number,
55 X_msg_data OUT NOCOPY varchar2,
56 x_TerrResource_tbl OUT NOCOPY JTF_TERRITORY_PUB.WinningTerrMember_tbl_type
57 )
58 AS
59 l_api_name CONSTANT VARCHAR2(30) := 'Get_WinningTerrMembers_Kren';
60 l_api_version_number CONSTANT NUMBER := 1.0;
61 l_return_status VARCHAR2(1);
62 l_Counter NUMBER := 0;
63 l_RscCounter NUMBER := 0;
64 l_NumberOfWinners NUMBER ;
65 l_RetCode BOOLEAN;
66
67 lp_rec JTF_TERR_ASSIGN_PUB.bulk_trans_rec_type;
68 lx_rec JTF_TERR_ASSIGN_PUB.bulk_winners_rec_type;
69 BEGIN
70 --dbms_output.put_line('J_T_O_P.Get_WinningTerrMembers: BEGIN');
71
72 -- Standard call to check for call compatibility.
73 IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
74 p_api_version_number,
75 l_api_name,
76 G_PKG_NAME)
77 THEN
78 RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
79 END IF;
80
81
82 -- Initialize message list if p_init_msg_list is set to TRUE.
83 IF FND_API.to_Boolean( p_init_msg_list )
84 THEN
85 FND_MSG_PUB.initialize;
86 END IF;
87
88 -- Debug Message
89 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW)
90 THEN
91 FND_MESSAGE.Set_Name('JTF', 'JTF_TERR_MEMBERS_KREN_START');
92 FND_MSG_PUB.Add;
93 END IF;
94
95 -------------------
96 ----- API body ----
97 -------------------
98
99 x_return_status := FND_API.G_RET_STS_SUCCESS;
100
101 lp_Rec.trans_object_id.EXTEND ;
102 lp_Rec.trans_detail_object_id.EXTEND;
103 lp_Rec.squal_char01.EXTEND;
104 lp_Rec.squal_char04.EXTEND;
105 lp_Rec.squal_char07.EXTEND;
106 lp_Rec.squal_num01.EXTEND;
107
108 /* initialise trans_object_id and trans_detail_object_id:
109 ** required in JTF_TERR_1500_KREN_DYN.SEARCH_TERR_RULES
110 */
111 lp_Rec.trans_object_id(1) := -1501;
112 lp_Rec.trans_detail_object_id(1) := -1501;
113
114 /* initialise BULK tables with SINGLE record values */
115 lp_Rec.squal_char01(1) := p_TerrKRen_Rec.comp_name_range;
116 lp_Rec.squal_char04(1) := p_TerrKRen_Rec.state;
117 lp_Rec.squal_char07(1) := NULL;
118 lp_Rec.squal_num01(1) := p_TerrKRen_Rec.party_id;
119
120 jtf_terr_1500_kren_dyn.search_terr_rules(
121 p_rec => lp_rec
122 , x_rec => lx_rec
123 , p_role => p_role
124 , p_resource_type => p_resource_type );
125
126 l_counter := lx_rec.terr_id.FIRST;
127
128 WHILE (l_counter <= lx_rec.terr_id.LAST) LOOP
129
130 x_TerrResource_tbl(l_counter).TERR_RSC_ID := lx_rec.terr_rsc_id(l_counter);
131 x_TerrResource_tbl(l_counter).RESOURCE_ID := lx_rec.resource_id(l_counter);
132 x_TerrResource_tbl(l_counter).RESOURCE_TYPE := lx_rec.resource_type(l_counter);
133 x_TerrResource_tbl(l_counter).GROUP_ID := lx_rec.group_id(l_counter);
134 x_TerrResource_tbl(l_counter).ROLE := lx_rec.role(l_counter);
135 x_TerrResource_tbl(l_counter).PRIMARY_CONTACT_FLAG := lx_rec.full_access_flag(l_counter);
136 x_TerrResource_tbl(l_counter).FULL_ACCESS_FLAG := lx_rec.primary_contact_flag(l_counter);
137 x_TerrResource_tbl(l_counter).TERR_ID := lx_rec.terr_id(l_counter);
138
139 l_counter := l_counter + 1;
140
141 END LOOP;
142
143 IF (l_Counter = 1) THEN
144 NULL;
145 --dbms_output.put_line('No records returned');
146 END IF;
147
148 --
149 -- Debug Message
150 IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_DEBUG_LOW)
151 THEN
152 FND_MESSAGE.Set_Name('JTF', 'JTF_TERR_MEMBERS_KREN_END');
153 FND_MSG_PUB.Add;
154 END IF;
155
156 -- Standard call to get message count and if count is 1, get message info.
157 FND_MSG_PUB.Count_And_Get
158 ( p_count => x_msg_count,
159 p_data => x_msg_data
160 );
161 --dbms_output.put_line('Get_Escalation_TerrMembers: Exiting the API');
162 EXCEPTION
163 --
164 WHEN OTHERS THEN
165 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
166 IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR ) THEN
167 FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
168 END IF;
169 FND_MSG_PUB.Count_And_Get
170 ( p_count => x_msg_count,
171 p_data => x_msg_data
172 );
173 --
174 End Get_WinningTerrMembers;
175 --
176 END JTF_TERR_OKS_PUB;