DBA Data[Home] [Help]

PACKAGE BODY: APPS.CS_MULTIORG_PUB

Source


1 PACKAGE BODY CS_MultiOrg_PUB as
2 /* $Header: csxpmoib.pls 115.1 2003/08/06 01:44:30 takwong noship $ */
3 
4 /*********** Global  Variables  ********************************/
5 G_PKG_NAME     CONSTANT  VARCHAR2(30)  := 'CS_MultiOrg_PUB' ;
6 
7 --   *******************************************************
8 --    Start of Comments
9 --   *******************************************************
10 --   API Name:  Get_OrgId
11 --   Type    :  Public
12 --   Purpose :  This public API is to get the MutliOrg id.
13 --              The implementation will be a wrapper on CS_MultiOrg_PVT.Get_OrgId private API.
14 --   Pre-Req :
15 --   Parameters:
16 --       p_api_version          IN                  NUMBER      Required
17 --       p_init_msg_list        IN                  VARCHAR2
18 --       p_commit               IN                  VARCHAR2
19 --       p_validation_level     IN                  NUMBER
20 --       x_return_status        OUT     NOCOPY      VARCHAR2
21 --       x_msg_count            OUT     NOCOPY      NUMBER
22 --       x_msg_data             OUT     NOCOPY      VARCHAR2
23 --       p_incident_id          IN                  NUMBER      Required
24 --       x_org_id			    OUT	    NOCOPY	    NUMBER,
25 --       x_profile			    OUT 	NOCOPY	    VARCHAR2
26 
27 --   Version : Current version 1.0
28 --   End of Comments
29 --
30 --
31 
32 PROCEDURE Get_OrgId(
33     p_api_version		IN              NUMBER,
34     p_init_msg_list		IN 	            VARCHAR2,
35     p_commit			IN			    VARCHAR2,
36     p_validation_level	IN	            NUMBER,
37     x_return_status		OUT     NOCOPY 	VARCHAR2,
38     x_msg_count			OUT 	NOCOPY 	NUMBER,
39     x_msg_data			OUT 	NOCOPY 	VARCHAR2,
40     p_incident_id		IN	            NUMBER,
41     x_org_id			OUT	    NOCOPY	NUMBER,
42     x_profile			OUT 	NOCOPY	VARCHAR2
43 )
44 IS
45     l_api_name       CONSTANT  VARCHAR2(30) := 'Get_OrgId' ;
46     l_api_name_full  CONSTANT  VARCHAR2(61) := G_PKG_NAME || '.' || l_api_name ;
47     l_api_version    CONSTANT  NUMBER       := 1.0 ;
48 
49     l_return_status      VARCHAR2(1) ;
50     l_msg_count          NUMBER;
51     l_msg_data           VARCHAR2(2000);
52 
53     l_debug     number      :=  ASO_DEBUG_PUB.G_DEBUG_LEVEL ;
54 
55 BEGIN
56     --  Standard Start of API Savepoint
57     SAVEPOINT   CS_Charge_Create_Order_PUB;
58 
59     --  Standard Call to check API compatibility
60     IF NOT FND_API.Compatible_API_Call( l_api_version,
61                                         p_api_version,
62                                         l_api_name,
63                                         G_PKG_NAME)  THEN
64         RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
65     END IF;
66 
67     -- Initialize message list if p_init_msg_list is set to TRUE.
68     IF FND_API.to_Boolean( p_init_msg_list ) THEN
69         FND_MSG_PUB.initialize;
70     END IF;
71 
72     if (l_debug > 0) then
73         aso_debug_pub.add('Public API: ' || l_api_name_full || ' start', 1, 'Y');
74         aso_debug_pub.add ('Start time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'), 1, 'Y');
75     end if;
76 
77     --  Initialize API return status to success
78     x_return_status := FND_API.G_RET_STS_SUCCESS;
79 
80     --
81     -- API body
82     --
83     -- Local Procedure
84 
85     if (l_debug > 0) then
86         aso_debug_pub.add(l_api_name_full || ': Incident Id =' || p_incident_id, 1, 'Y');
87 
88         -- Call CS_MultiOrg_PVT.Get_OrgId Private API
89         aso_debug_pub.add(l_api_name_full || ': Before call CS_MultiOrg_PVT.Get_OrgId', 1, 'Y');
90     end if;
91 
92     CS_MultiOrg_PVT.Get_OrgId(
93                 p_api_version           =>  p_api_version,
94                 p_init_msg_list         =>  p_init_msg_list,
95                 p_commit                =>  p_commit,
96                 p_validation_level      =>  p_validation_level,
97                 x_return_status         =>  l_return_status,
98                 x_msg_count             =>  l_msg_count,
99                 x_msg_data              =>  l_msg_data,
100                 p_incident_id           =>  p_incident_id,
101                 x_org_id                =>  x_org_id,
102                 x_profile               =>  x_profile
103                 );
104 
105     IF (l_return_status = FND_API.G_RET_STS_ERROR) THEN
106         if (l_debug > 0) then
107             aso_debug_pub.add(l_api_name_full || ': STS error: Calling CS_MultiOrg_PVT.Get_OrgId failed', 1, 'Y');
108         end if;
109         --FND_MESSAGE.Set_Name('CS','CS_CHG_PROCEDURE_FAILED');
110         --FND_MESSAGE.Set_Token('PROCEDURE','CS_MultiOrg_PVT.Get_OrgId');
111         --FND_MSG_PUB.Add;
112         x_msg_count := l_msg_count;
113         x_msg_data := l_msg_data;
114         RAISE FND_API.G_EXC_ERROR;
115     ELSIF (l_return_status = FND_API.G_RET_STS_UNEXP_ERROR) THEN
116         if (l_debug > 0) then
117             aso_debug_pub.add(l_api_name_full || ': Unexpected error: Calling CS_MultiOrg_PVT.Get_OrgId failed',1, 'Y');
118         end if;
119         --FND_MESSAGE.Set_Name('CS','CS_CHG_PROCEDURE_FAILED');
120         --FND_MESSAGE.Set_Token('PROCEDURE','CS_MultiOrg_PVT.Get_OrgId');
121         --FND_MSG_PUB.Add;
122         x_msg_count := l_msg_count;
123         x_msg_data := l_msg_data;
124         RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
125     END IF;
126 
127     if (l_debug > 0) then
128         aso_debug_pub.add(l_api_name_full || ': After call CS_MultiOrg_PVT.Get_OrgId', 1, 'Y');
129         aso_debug_pub.add(l_api_name_full || ': x_org_id =' || x_org_id, 1, 'Y');
130         aso_debug_pub.add(l_api_name_full || ': x_profile =' || x_profile, 1, 'Y');
131     end if;
132 
133     --
134     -- End of API body
135     --
136 
137     -- Standard check of p_commit.
138     IF FND_API.To_Boolean( p_commit ) THEN
139         COMMIT WORK;
140     END IF;
141 
142     if (l_debug > 0) then
143         aso_debug_pub.add ('Public API: ' || l_api_name_full || ' end', 1, 'Y');
144         aso_debug_pub.add ('End time: ' || TO_CHAR(SYSDATE, 'HH24:MI:SSSSS'), 1, 'Y');
145     end if;
146     -- Standard call to get message count and if count is 1, get message info.
147     FND_MSG_PUB.Count_And_Get
148         (   p_count     =>      x_msg_count,
149             p_data      =>      x_msg_data
150         );
151 
152     EXCEPTION
153         WHEN FND_API.G_EXC_ERROR THEN
154             ROLLBACK TO CS_Charge_Create_Order_PUB;
155             x_return_status := FND_API.G_RET_STS_ERROR;
156             FND_MSG_PUB.Count_And_Get
157                 (   p_count     =>      x_msg_count,
158                     p_data      =>      x_msg_data
159                 );
160         WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
161             ROLLBACK TO CS_Charge_Create_Order_PUB;
162             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
163             FND_MSG_PUB.Count_And_Get
164                 (   p_count     =>      x_msg_count,
165                     p_data      =>      x_msg_data
166                 );
167          WHEN OTHERS THEN
168             ROLLBACK TO CS_Charge_Create_Order_PUB;
169             x_return_status := FND_API.G_RET_STS_UNEXP_ERROR ;
170             IF FND_MSG_PUB.Check_Msg_Level
171                 (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
172             THEN
173                 FND_MSG_PUB.Add_Exc_Msg
174                     (   G_PKG_NAME,
175                         l_api_name
176                     );
177             END IF;
178             FND_MSG_PUB.Count_And_Get
179                 (   p_count     =>      x_msg_count,
180                     p_data      =>      x_msg_data
181                 );
182     END Get_OrgId;
183 
184 End CS_MultiOrg_PUB;