69: --
70: PROCEDURE Populate_Budget_Positions
71: (
72: p_api_version IN NUMBER ,
73: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
74: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
75: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
76: p_return_status OUT NOCOPY VARCHAR2 ,
77: p_msg_count OUT NOCOPY NUMBER ,
70: PROCEDURE Populate_Budget_Positions
71: (
72: p_api_version IN NUMBER ,
73: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
74: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
75: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
76: p_return_status OUT NOCOPY VARCHAR2 ,
77: p_msg_count OUT NOCOPY NUMBER ,
78: p_msg_data OUT NOCOPY VARCHAR2 ,
71: (
72: p_api_version IN NUMBER ,
73: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
74: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
75: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
76: p_return_status OUT NOCOPY VARCHAR2 ,
77: p_msg_count OUT NOCOPY NUMBER ,
78: p_msg_data OUT NOCOPY VARCHAR2 ,
79: --
77: p_msg_count OUT NOCOPY NUMBER ,
78: p_msg_data OUT NOCOPY VARCHAR2 ,
79: --
80: p_position_set_id IN psb_account_position_sets.account_position_set_id%TYPE
81: := FND_API.G_MISS_NUM ,
82:
83: p_data_extract_id IN psb_data_extracts.data_extract_id%TYPE
84: := FND_API.G_MISS_NUM
85: )
80: p_position_set_id IN psb_account_position_sets.account_position_set_id%TYPE
81: := FND_API.G_MISS_NUM ,
82:
83: p_data_extract_id IN psb_data_extracts.data_extract_id%TYPE
84: := FND_API.G_MISS_NUM
85: )
86: IS
87: --
88: l_api_name CONSTANT VARCHAR2(30) := 'Populate_Budget_Positions';
95: BEGIN
96: --
97: SAVEPOINT Populate_Budget_Positions_Pvt ;
98: --
99: IF NOT FND_API.Compatible_API_Call ( l_api_version,
100: p_api_version,
101: l_api_name,
102: G_PKG_NAME )
103: THEN
100: p_api_version,
101: l_api_name,
102: G_PKG_NAME )
103: THEN
104: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
105: END IF;
106: --
107:
108: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
104: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
105: END IF;
106: --
107:
108: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
109: FND_MSG_PUB.initialize ;
110: END IF;
111: --
112: p_return_status := FND_API.G_RET_STS_SUCCESS ;
108: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
109: FND_MSG_PUB.initialize ;
110: END IF;
111: --
112: p_return_status := FND_API.G_RET_STS_SUCCESS ;
113: --
114:
115: --
116: -- As FND_API.G_MISS_NUM is bigger than NUMBERR(15), now using a local
112: p_return_status := FND_API.G_RET_STS_SUCCESS ;
113: --
114:
115: --
116: -- As FND_API.G_MISS_NUM is bigger than NUMBERR(15), now using a local
117: -- variable to fis the bug #655442.
118: --
119: IF p_data_extract_id = FND_API.G_MISS_NUM THEN
120: l_data_extract_id := NULL;
115: --
116: -- As FND_API.G_MISS_NUM is bigger than NUMBERR(15), now using a local
117: -- variable to fis the bug #655442.
118: --
119: IF p_data_extract_id = FND_API.G_MISS_NUM THEN
120: l_data_extract_id := NULL;
121: ELSE
122: l_data_extract_id := p_data_extract_id ;
123: END IF;
121: ELSE
122: l_data_extract_id := p_data_extract_id ;
123: END IF;
124:
125: IF ( p_position_set_id = FND_API.G_MISS_NUM ) OR ( p_position_set_id IS NULL)
126: THEN
127: --
128: -- As no parameter is supplied, we have to populate all the position
129: -- sets in psb_account_position_sets table.
163: SAVEPOINT Populate_Budget_Positions_Pvt ;
164: --
165: ELSE
166: --
167: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
168: --
169: END IF;
170: --
171: END LOOP;
193: p_position_set_id ,
194: l_attribute_selection_type
195: )
196: THEN
197: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
198: END IF;
199: END IF;
200:
201: --
198: END IF;
199: END IF;
200:
201: --
202: IF FND_API.To_Boolean ( p_commit ) THEN
203: COMMIT WORK;
204: END IF;
205: --
206: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
207: p_data => p_msg_data );
208: --
209: EXCEPTION
210: --
211: WHEN FND_API.G_EXC_ERROR THEN
212: --
213: ROLLBACK TO Populate_Budget_Positions_Pvt ;
214: p_return_status := FND_API.G_RET_STS_ERROR;
215: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
210: --
211: WHEN FND_API.G_EXC_ERROR THEN
212: --
213: ROLLBACK TO Populate_Budget_Positions_Pvt ;
214: p_return_status := FND_API.G_RET_STS_ERROR;
215: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
216: p_data => p_msg_data );
217: --
218: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
214: p_return_status := FND_API.G_RET_STS_ERROR;
215: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
216: p_data => p_msg_data );
217: --
218: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
219: --
220: ROLLBACK TO Populate_Budget_Positions_Pvt ;
221: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
222: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
217: --
218: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
219: --
220: ROLLBACK TO Populate_Budget_Positions_Pvt ;
221: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
222: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
223: p_data => p_msg_data );
224: --
225: WHEN OTHERS THEN
224: --
225: WHEN OTHERS THEN
226: --
227: ROLLBACK TO Populate_Budget_Positions_Pvt ;
228: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
229: --
230: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
231: FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
232: l_api_name);
249: --
250: PROCEDURE Add_Position_To_Position_Sets
251: (
252: p_api_version IN NUMBER ,
253: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
254: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
255: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
256: p_return_status OUT NOCOPY VARCHAR2 ,
257: p_msg_count OUT NOCOPY NUMBER ,
250: PROCEDURE Add_Position_To_Position_Sets
251: (
252: p_api_version IN NUMBER ,
253: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
254: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
255: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
256: p_return_status OUT NOCOPY VARCHAR2 ,
257: p_msg_count OUT NOCOPY NUMBER ,
258: p_msg_data OUT NOCOPY VARCHAR2 ,
251: (
252: p_api_version IN NUMBER ,
253: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE ,
254: p_commit IN VARCHAR2 := FND_API.G_FALSE ,
255: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL ,
256: p_return_status OUT NOCOPY VARCHAR2 ,
257: p_msg_count OUT NOCOPY NUMBER ,
258: p_msg_data OUT NOCOPY VARCHAR2 ,
259: --
273: BEGIN
274: --
275: SAVEPOINT Add_Position_To_Pos_Sets_Pvt ;
276: --
277: IF NOT FND_API.Compatible_API_Call ( l_api_version,
278: p_api_version,
279: l_api_name,
280: G_PKG_NAME )
281: THEN
278: p_api_version,
279: l_api_name,
280: G_PKG_NAME )
281: THEN
282: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
283: END IF;
284: --
285:
286: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
282: RAISE FND_API.G_EXC_UNEXPECTED_ERROR ;
283: END IF;
284: --
285:
286: IF FND_API.to_Boolean ( p_init_msg_list ) THEN
287: FND_MSG_PUB.initialize ;
288: END IF;
289: --
290:
287: FND_MSG_PUB.initialize ;
288: END IF;
289: --
290:
291: p_return_status := FND_API.G_RET_STS_SUCCESS ;
292:
293: --
294: -- Find information about the position.
295: --
427: END LOOP; -- End processing all the sets.
428:
429:
430: --
431: IF FND_API.To_Boolean ( p_commit ) THEN
432: COMMIT WORK;
433: END IF;
434: --
435: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
436: p_data => p_msg_data );
437: --
438: EXCEPTION
439: --
440: WHEN FND_API.G_EXC_ERROR THEN
441: --
442: ROLLBACK TO Add_Position_To_Pos_Sets_Pvt ;
443: p_return_status := FND_API.G_RET_STS_ERROR;
444: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
439: --
440: WHEN FND_API.G_EXC_ERROR THEN
441: --
442: ROLLBACK TO Add_Position_To_Pos_Sets_Pvt ;
443: p_return_status := FND_API.G_RET_STS_ERROR;
444: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
445: p_data => p_msg_data );
446: --
447: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
443: p_return_status := FND_API.G_RET_STS_ERROR;
444: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
445: p_data => p_msg_data );
446: --
447: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
448: --
449: ROLLBACK TO Add_Position_To_Pos_Sets_Pvt ;
450: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
451: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
446: --
447: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
448: --
449: ROLLBACK TO Add_Position_To_Pos_Sets_Pvt ;
450: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
451: FND_MSG_PUB.Count_And_Get ( p_count => p_msg_count,
452: p_data => p_msg_data );
453: --
454: WHEN OTHERS THEN
453: --
454: WHEN OTHERS THEN
455: --
456: ROLLBACK TO Add_Position_To_Pos_Sets_Pvt ;
457: p_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
458: --
459: IF FND_MSG_PUB.Check_Msg_Level (FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR) THEN
460: FND_MSG_PUB.Add_Exc_Msg ( G_PKG_NAME,
461: l_api_name);
1024: (
1025: errbuf OUT NOCOPY VARCHAR2 ,
1026: retcode OUT NOCOPY VARCHAR2 ,
1027: --
1028: p_data_extract_id IN NUMBER := FND_API.G_MISS_NUM ,
1029: p_position_set_id IN NUMBER := FND_API.G_MISS_NUM
1030: )
1031: IS
1032: --
1025: errbuf OUT NOCOPY VARCHAR2 ,
1026: retcode OUT NOCOPY VARCHAR2 ,
1027: --
1028: p_data_extract_id IN NUMBER := FND_API.G_MISS_NUM ,
1029: p_position_set_id IN NUMBER := FND_API.G_MISS_NUM
1030: )
1031: IS
1032: --
1033: l_api_name CONSTANT VARCHAR2(30) := 'Populate_Budget_Positions_CP' ;
1040: BEGIN
1041: --
1042: SAVEPOINT Populate_Budget_Pos_CP_Pvt ;
1043: --
1044: IF ( p_data_extract_id = FND_API.G_MISS_NUM OR p_data_extract_id IS NULL )
1045: THEN
1046: FND_FILE.Put_Line( FND_FILE.OUTPUT, 'Processing all the position sets.');
1047: ELSE
1048: --
1045: THEN
1046: FND_FILE.Put_Line( FND_FILE.OUTPUT, 'Processing all the position sets.');
1047: ELSE
1048: --
1049: IF ( p_position_set_id = FND_API.G_MISS_NUM OR p_position_set_id IS NULL )
1050: THEN
1051: --
1052: FND_FILE.Put_Line( FND_FILE.OUTPUT,
1053: 'Processing position sets for data extract id : ' ||
1066: --
1067: PSB_Budget_Position_Pvt.Populate_Budget_Positions
1068: (
1069: p_api_version => 1.0 ,
1070: p_init_msg_list => FND_API.G_TRUE ,
1071: p_commit => FND_API.G_FALSE ,
1072: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
1073: p_return_status => l_return_status ,
1074: p_msg_count => l_msg_count ,
1067: PSB_Budget_Position_Pvt.Populate_Budget_Positions
1068: (
1069: p_api_version => 1.0 ,
1070: p_init_msg_list => FND_API.G_TRUE ,
1071: p_commit => FND_API.G_FALSE ,
1072: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
1073: p_return_status => l_return_status ,
1074: p_msg_count => l_msg_count ,
1075: p_msg_data => l_msg_data ,
1068: (
1069: p_api_version => 1.0 ,
1070: p_init_msg_list => FND_API.G_TRUE ,
1071: p_commit => FND_API.G_FALSE ,
1072: p_validation_level => FND_API.G_VALID_LEVEL_FULL ,
1073: p_return_status => l_return_status ,
1074: p_msg_count => l_msg_count ,
1075: p_msg_data => l_msg_data ,
1076: p_data_extract_id => p_data_extract_id ,
1077: p_position_set_id => p_position_set_id
1078: );
1079:
1080: --
1081: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1082: RAISE FND_API.G_EXC_ERROR;
1083: END IF;
1084: --
1085:
1078: );
1079:
1080: --
1081: IF l_return_status <> FND_API.G_RET_STS_SUCCESS THEN
1082: RAISE FND_API.G_EXC_ERROR;
1083: END IF;
1084: --
1085:
1086: --
1092: COMMIT WORK;
1093: --
1094: EXCEPTION
1095: --
1096: WHEN FND_API.G_EXC_ERROR THEN
1097: --
1098: ROLLBACK TO Populate_Budget_Pos_CP_Pvt ;
1099: PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1100: p_print_header => FND_API.G_TRUE ) ;
1096: WHEN FND_API.G_EXC_ERROR THEN
1097: --
1098: ROLLBACK TO Populate_Budget_Pos_CP_Pvt ;
1099: PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1100: p_print_header => FND_API.G_TRUE ) ;
1101: retcode := 2 ;
1102: --
1103: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1104: --
1099: PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1100: p_print_header => FND_API.G_TRUE ) ;
1101: retcode := 2 ;
1102: --
1103: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1104: --
1105: ROLLBACK TO Populate_Budget_Pos_CP_Pvt ;
1106: PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1107: p_print_header => FND_API.G_TRUE ) ;
1103: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1104: --
1105: ROLLBACK TO Populate_Budget_Pos_CP_Pvt ;
1106: PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1107: p_print_header => FND_API.G_TRUE ) ;
1108: retcode := 2 ;
1109: --
1110: WHEN OTHERS THEN
1111: --
1116: l_api_name ) ;
1117: END IF ;
1118: --
1119: PSB_MESSAGE_S.Print_Error ( p_mode => FND_FILE.LOG ,
1120: p_print_header => FND_API.G_TRUE ) ;
1121: retcode := 2 ;
1122: --
1123: END Populate_Budget_Positions_CP ;
1124: /*---------------------------------------------------------------------------*/