1 PACKAGE BODY PRP_IBC_INT_PVT AS
2 /* $Header: PRPVIBCB.pls 115.2 2003/10/28 22:49:24 hekkiral noship $ */
3
4 G_PKG_NAME CONSTANT VARCHAR2(30) := 'PRP_IBC_INT_PVT';
5
6 PROCEDURE Get_Object_Name(
7 P_ASSOCIATION_TYPE_CODE IN VARCHAR2
8 ,P_ASSOCIATED_OBJECT_VAL1 IN VARCHAR2
9 ,P_ASSOCIATED_OBJECT_VAL2 IN VARCHAR2
10 ,P_ASSOCIATED_OBJECT_VAL3 IN VARCHAR2
11 ,P_ASSOCIATED_OBJECT_VAL4 IN VARCHAR2
12 ,P_ASSOCIATED_OBJECT_VAL5 IN VARCHAR2
13 ,X_OBJECT_NAME OUT NOCOPY VARCHAR2
14 ,X_OBJECT_CODE OUT NOCOPY VARCHAR2
15 ,X_RETURN_STATUS OUT NOCOPY VARCHAR2
16 ,X_MSG_COUNT OUT NOCOPY NUMBER
17 ,X_MSG_DATA OUT NOCOPY VARCHAR2)
18 AS
19
20 CURSOR Cur_Component_sytles(p_component_style_id NUMBER) IS
21 SELECT PCS.component_style_name,PCS.content_node_type
22 FROM PRP_COMPONENT_STYLES_VL PCS
23 WHERE PCS.component_style_id = p_component_style_id;
24
25 CURSOR Cur_Content_item_name(p_component_style_id NUMBER,p_association_type VARCHAR2) IS
26 SELECT ICV.Content_Item_Name
27 FROM IBC_CITEM_VERSIONS_VL ICV,
28 IBC_CONTENT_ITEMS ICI,
29 IBC_ASSOCIATIONS IBA
30 WHERE IBA.ASSOCIATION_TYPE_CODE = P_ASSOCIATION_TYPE_CODE
31 AND IBA.ASSOCIATED_OBJECT_VAL1 = p_component_style_id
32 AND ICI.CONTENT_ITEM_ID = IBA.CONTENT_ITEM_ID
33 AND ICV.CITEM_VERSION_ID = ICI.LIVE_CITEM_VERSION_ID;
34
35 CURSOR Cur_style_ctntvers(p_comp_style_ctntver_id NUMBER) IS
36 SELECT component_style_id
37 FROM prp_comp_style_ctntvers
38 WHERE comp_style_ctntver_id = p_comp_style_ctntver_id;
39
40 CURSOR Cur_Proposals(p_proposal_id NUMBER) IS
41 SELECT Proposal_Name
42 FROM PRP_PROPOSALS
43 WHERE PROPOSAL_ID = p_proposal_id;
44
45 CURSOR Cur_Proposal_ctntvers(p_proposal_ctntver_id NUMBER) IS
46 SELECT proposal_name
47 FROM prp_proposals pp, prp_proposal_ctntvers ppc
48 WHERE pp.proposal_id = ppc.proposal_id
49 AND ppc.PROPOSAL_CTNTVER_ID = p_proposal_ctntver_id;
50
51 CURSOR Cur_Perz_Files(p_perz_file_id NUMBER) IS
52 SELECT proposal_name
53 FROM prp_proposals pp, prp_perz_files ppf, prp_prop_style_ctntvers pps
54 WHERE pp.proposal_id = pps.proposal_id
55 AND pps.OBJECT_ID = ppf.perz_file_id
56 AND ppf.perz_file_id = p_perz_file_id;
57
58 l_api_name CONSTANT VARCHAR2(30) := 'GET_OBJECT_NAME';
59 l_content_node_type VARCHAR2(30);
60 l_component_style_id NUMBER;
61 BEGIN
62
63 x_return_status := FND_API.G_RET_STS_SUCCESS;
64
65 IF (p_association_type_code = 'PRP_COMPONENT_DOCUMENT') THEN
66
67 -- Check to see if the component is in hidden folder. If it is in hidden folder return the component style name.
68 OPEN Cur_Component_sytles(p_associated_object_val1);
69 Fetch Cur_Component_sytles INTO x_object_name,l_content_node_type;
70 IF(l_content_node_type = 'SHARED') THEN
71 OPEN Cur_Content_item_name(p_associated_object_val1,p_association_type_code);
72 FETCH Cur_Content_item_name INTO x_object_name;
73 CLOSE Cur_Content_item_name;
74 END IF;
75 CLOSE Cur_Component_sytles;
76
77 ELSIF (p_association_type_code = 'PRP_COMPONENT_DOCUMENT_VERSION') THEN
78
79 -- Get the Component_style_id.
80 OPEN Cur_style_ctntvers(p_associated_object_val1);
81 FETCH Cur_style_ctntvers INTO l_component_style_id;
82 CLOSE Cur_style_ctntvers;
83
84 -- Check to see if the component is in hidden folder. If it is in hidden folder return the component style name.
85 OPEN Cur_Component_sytles(l_component_style_id);
86 Fetch Cur_Component_sytles INTO x_object_name,l_content_node_type;
87 IF(l_content_node_type = 'SHARED') THEN
88 OPEN Cur_Content_item_name(p_associated_object_val1,p_association_type_code);
89 FETCH Cur_Content_item_name INTO x_object_name;
90 CLOSE Cur_Content_item_name;
91 END IF;
92 CLOSE Cur_Component_sytles;
93
94 ELSIF (p_association_type_code = 'PRP_GENERATED_PROPOSAL') THEN
95
96 OPEN Cur_Proposals(p_associated_object_val1);
97 FETCH Cur_Proposals INTO x_object_name;
98 CLOSE Cur_Proposals;
99
100 ELSIF (p_association_type_code = 'PRP_GENERATED_DOCUMENT_VERSION') THEN
101
102 OPEN Cur_Proposal_ctntvers(p_associated_object_val1);
103 FETCH Cur_Proposal_ctntvers INTO x_object_name;
104 CLOSE Cur_Proposal_ctntvers;
105
106 ELSIF (p_association_type_code = 'PRP_PERZ_FILE_VERSION') THEN
107
108 OPEN Cur_Perz_Files(p_associated_object_val1);
109 FETCH Cur_Perz_Files INTO x_object_name;
110 CLOSE Cur_Perz_Files;
111
112 END IF;
113
114 EXCEPTION
115 WHEN FND_API.G_EXC_ERROR THEN
116 x_return_status := FND_API.G_RET_STS_ERROR;
117 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
118 p_data => x_msg_data);
119 WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
120 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
121 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
122 p_data => x_msg_data);
123
124 WHEN OTHERS THEN
125 x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
126 IF FND_MSG_PUB.Check_Msg_Level(FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
127 THEN
128 FND_MSG_PUB.Add_Exc_Msg(G_PKG_NAME, l_api_name);
129 END IF;
130
131 FND_MSG_PUB.Count_And_Get (p_count => x_msg_count,
132 p_data => x_msg_data);
133
134 END Get_Object_Name;
135
136 END PRP_IBC_INT_PVT;