[Home] [Help]
27: INDEX BY BINARY_INTEGER;
28:
29: -- To store current position set id.
30: g_position_set_id
31: psb_account_position_sets.account_position_set_id%TYPE;
32:
33: --
34: -- WHO columns variables
35: --
76: p_return_status OUT NOCOPY VARCHAR2 ,
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
88: l_api_name CONSTANT VARCHAR2(30) := 'Populate_Budget_Positions';
89: l_api_version CONSTANT NUMBER := 1.0;
90: --
91: l_attribute_selection_type
92: psb_account_position_sets.attribute_selection_type%TYPE ;
93: l_data_extract_id psb_data_extracts.data_extract_id%TYPE ;
94: --
95: BEGIN
96: --
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.
130: --
131: FOR l_set_rec IN
132: (
133: SELECT account_position_set_id ,
131: FOR l_set_rec IN
132: (
133: SELECT account_position_set_id ,
134: attribute_selection_type
135: FROM psb_account_position_sets
136: WHERE account_or_position_type = 'P'
137: AND data_extract_id = NVL( l_data_extract_id, data_extract_id )
138: )
139: LOOP
181: --
182: -- Find attribute_selection_type for the given set.
183: --
184: SELECT attribute_selection_type INTO l_attribute_selection_type
185: FROM psb_account_position_sets
186: WHERE account_position_set_id = p_position_set_id ;
187:
188: --
189: -- Call Populate_Budget_Position_Set only for the given position set.
305: FOR l_set_rec IN
306: (
307: SELECT account_position_set_id ,
308: attribute_selection_type
309: FROM psb_account_position_sets
310: WHERE account_or_position_type = 'P'
311: AND data_extract_id = l_data_extract_id
312: )
313: LOOP
547: business_group_id
548: INTO
549: l_data_extract_id ,
550: l_business_group_id
551: FROM psb_account_position_sets
552: WHERE account_position_set_id = p_position_set_id ;
553:
554: --
555: -- Lock psb_account_position_sets table to prevent modifications.
551: FROM psb_account_position_sets
552: WHERE account_position_set_id = p_position_set_id ;
553:
554: --
555: -- Lock psb_account_position_sets table to prevent modifications.
556: -- Also set maintain_status to 'C' so that database trigger wont fire.
557: --
558: UPDATE psb_account_position_sets
559: SET maintain_status = 'C'
554: --
555: -- Lock psb_account_position_sets table to prevent modifications.
556: -- Also set maintain_status to 'C' so that database trigger wont fire.
557: --
558: UPDATE psb_account_position_sets
559: SET maintain_status = 'C'
560: WHERE account_position_set_id = p_position_set_id ;
561:
562: --
990: -- Update last_maintained_date column. Set maintain_status to 'C'
991: -- ( meaning updated from PSBVMBAB module) so now the database trigger
992: -- will not fire.
993: --
994: UPDATE psb_account_position_sets
995: SET maintain_status = 'C' ,
996: last_maintained_date = g_current_date
997: WHERE account_position_set_id = p_position_set_id;
998: --