87: WHERE offer_id = p_offer_id --p_mo_rec.offer_id
88: AND group_number = p_group_number); --p_mo_rec.group_number);
89:
90: BEGIN
91: x_return_status := FND_API.G_RET_STS_SUCCESS;
92: OZF_Volume_Offer_disc_PVT.debug_message('Market optionId is : '|| p_mo_rec.offer_market_option_id);
93: IF p_validation_mode = JTF_PLSQL_API.G_CREATE THEN
94: IF p_mo_rec.offer_market_option_id IS NOT NULL AND p_mo_rec.offer_market_option_id <> FND_API.G_MISS_NUM THEN
95: OZF_Volume_Offer_disc_PVT.debug_message('Checking qunqieness for moid');
90: BEGIN
91: x_return_status := FND_API.G_RET_STS_SUCCESS;
92: OZF_Volume_Offer_disc_PVT.debug_message('Market optionId is : '|| p_mo_rec.offer_market_option_id);
93: IF p_validation_mode = JTF_PLSQL_API.G_CREATE THEN
94: IF p_mo_rec.offer_market_option_id IS NOT NULL AND p_mo_rec.offer_market_option_id <> FND_API.G_MISS_NUM THEN
95: OZF_Volume_Offer_disc_PVT.debug_message('Checking qunqieness for moid');
96: IF OZF_Utility_PVT.check_uniqueness('ozf_offr_market_options','offer_market_option_id = ''' || p_mo_rec.offer_market_option_id ||'''') = FND_API.g_false THEN
97: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_OFF_MO_ID_DUP');
98: x_return_status := FND_API.g_ret_sts_error;
92: OZF_Volume_Offer_disc_PVT.debug_message('Market optionId is : '|| p_mo_rec.offer_market_option_id);
93: IF p_validation_mode = JTF_PLSQL_API.G_CREATE THEN
94: IF p_mo_rec.offer_market_option_id IS NOT NULL AND p_mo_rec.offer_market_option_id <> FND_API.G_MISS_NUM THEN
95: OZF_Volume_Offer_disc_PVT.debug_message('Checking qunqieness for moid');
96: IF OZF_Utility_PVT.check_uniqueness('ozf_offr_market_options','offer_market_option_id = ''' || p_mo_rec.offer_market_option_id ||'''') = FND_API.g_false THEN
97: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_OFF_MO_ID_DUP');
98: x_return_status := FND_API.g_ret_sts_error;
99: END IF;
100: END IF;
94: IF p_mo_rec.offer_market_option_id IS NOT NULL AND p_mo_rec.offer_market_option_id <> FND_API.G_MISS_NUM THEN
95: OZF_Volume_Offer_disc_PVT.debug_message('Checking qunqieness for moid');
96: IF OZF_Utility_PVT.check_uniqueness('ozf_offr_market_options','offer_market_option_id = ''' || p_mo_rec.offer_market_option_id ||'''') = FND_API.g_false THEN
97: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_OFF_MO_ID_DUP');
98: x_return_status := FND_API.g_ret_sts_error;
99: END IF;
100: END IF;
101: END IF;
102: OZF_Volume_Offer_disc_PVT.debug_message('Val mode is : '|| p_validation_mode);
103: /*
104: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
105: OZF_Volume_Offer_disc_PVT.debug_message('Val mode is1 : '|| p_validation_mode);
106: OZF_Volume_Offer_disc_PVT.debug_message('Market OPtion Id is1 '|| p_mo_rec.offer_market_option_id);
107: IF (p_mo_rec.offer_id IS NOT NULL AND p_mo_rec.offer_id <> FND_API.G_MISS_NUM)
108: AND (p_mo_rec.group_number IS NOT NULL AND p_mo_rec.group_number <> FND_API.G_MISS_NUM)
109: THEN
110: OZF_Volume_Offer_disc_PVT.debug_message('Market OPtion Id is1 '|| p_mo_rec.offer_market_option_id);
111: OPEN c_mo_uk(p_mo_rec.offer_id,p_mo_rec.group_number);
104: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
105: OZF_Volume_Offer_disc_PVT.debug_message('Val mode is1 : '|| p_validation_mode);
106: OZF_Volume_Offer_disc_PVT.debug_message('Market OPtion Id is1 '|| p_mo_rec.offer_market_option_id);
107: IF (p_mo_rec.offer_id IS NOT NULL AND p_mo_rec.offer_id <> FND_API.G_MISS_NUM)
108: AND (p_mo_rec.group_number IS NOT NULL AND p_mo_rec.group_number <> FND_API.G_MISS_NUM)
109: THEN
110: OZF_Volume_Offer_disc_PVT.debug_message('Market OPtion Id is1 '|| p_mo_rec.offer_market_option_id);
111: OPEN c_mo_uk(p_mo_rec.offer_id,p_mo_rec.group_number);
112: FETCH c_mo_uk INTO l_dummy;
113: IF ( c_mo_uk%NOTFOUND) THEN
114: NULL;
115: ELSE
116: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_MO_DUP');
117: x_return_status := FND_API.g_ret_sts_error;
118: END IF;
119: END IF;
120:
121: END IF;
122: */
123:
124: IF l_dummy = 1 THEN
125: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_OFFR_MO_DUP');
126: x_return_status := FND_API.g_ret_sts_error;
127: END IF;
128:
129: END check_mo_uk_items;
130:
138: BEGIN
139: OZF_Volume_Offer_disc_PVT.debug_message('Private API: ' || l_api_name || 'start');
140: OZF_Volume_Offer_disc_PVT.debug_message('Validation Mode is : ' || p_validation_mode || ' '|| JTF_PLSQL_API.g_create);
141:
142: x_return_status := FND_API.g_ret_sts_success;
143:
144: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
145: IF p_mo_rec.offer_id = FND_API.G_MISS_NUM OR p_mo_rec.offer_id IS NULL THEN
146: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'OFFER_ID' );
141:
142: x_return_status := FND_API.g_ret_sts_success;
143:
144: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
145: IF p_mo_rec.offer_id = FND_API.G_MISS_NUM OR p_mo_rec.offer_id IS NULL THEN
146: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'OFFER_ID' );
147: x_return_status := FND_API.g_ret_sts_error;
148: END IF;
149:
143:
144: IF p_validation_mode = JTF_PLSQL_API.g_create THEN
145: IF p_mo_rec.offer_id = FND_API.G_MISS_NUM OR p_mo_rec.offer_id IS NULL THEN
146: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'OFFER_ID' );
147: x_return_status := FND_API.g_ret_sts_error;
148: END IF;
149:
150: /*IF p_mo_rec.group_number = FND_API.G_MISS_NUM OR p_mo_rec.group_number IS NULL THEN
151: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'GROUP_NUMBER' );
146: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'OFFER_ID' );
147: x_return_status := FND_API.g_ret_sts_error;
148: END IF;
149:
150: /*IF p_mo_rec.group_number = FND_API.G_MISS_NUM OR p_mo_rec.group_number IS NULL THEN
151: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'GROUP_NUMBER' );
152: x_return_status := FND_API.g_ret_sts_error;
153: END IF;
154: */
148: END IF;
149:
150: /*IF p_mo_rec.group_number = FND_API.G_MISS_NUM OR p_mo_rec.group_number IS NULL THEN
151: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'GROUP_NUMBER' );
152: x_return_status := FND_API.g_ret_sts_error;
153: END IF;
154: */
155: IF p_mo_rec.retroactive_flag = FND_API.G_MISS_CHAR OR p_mo_rec.retroactive_flag IS NULL THEN
156: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'RETROACTIVE_FLAG' );
151: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'GROUP_NUMBER' );
152: x_return_status := FND_API.g_ret_sts_error;
153: END IF;
154: */
155: IF p_mo_rec.retroactive_flag = FND_API.G_MISS_CHAR OR p_mo_rec.retroactive_flag IS NULL THEN
156: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'RETROACTIVE_FLAG' );
157: x_return_status := FND_API.g_ret_sts_error;
158: END IF;
159:
153: END IF;
154: */
155: IF p_mo_rec.retroactive_flag = FND_API.G_MISS_CHAR OR p_mo_rec.retroactive_flag IS NULL THEN
156: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'RETROACTIVE_FLAG' );
157: x_return_status := FND_API.g_ret_sts_error;
158: END IF;
159:
160: IF p_mo_rec.combine_schedule_flag = FND_API.G_MISS_CHAR OR p_mo_rec.combine_schedule_flag IS NULL THEN
161: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','COMBINE_SCHEDULE_FLAG');
156: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'RETROACTIVE_FLAG' );
157: x_return_status := FND_API.g_ret_sts_error;
158: END IF;
159:
160: IF p_mo_rec.combine_schedule_flag = FND_API.G_MISS_CHAR OR p_mo_rec.combine_schedule_flag IS NULL THEN
161: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','COMBINE_SCHEDULE_FLAG');
162: x_return_status := FND_API.g_ret_sts_error;
163: END IF;
164: IF p_mo_rec.volume_tracking_level_code = FND_API.G_MISS_CHAR OR p_mo_rec.volume_tracking_level_code IS NULL THEN
158: END IF;
159:
160: IF p_mo_rec.combine_schedule_flag = FND_API.G_MISS_CHAR OR p_mo_rec.combine_schedule_flag IS NULL THEN
161: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','COMBINE_SCHEDULE_FLAG');
162: x_return_status := FND_API.g_ret_sts_error;
163: END IF;
164: IF p_mo_rec.volume_tracking_level_code = FND_API.G_MISS_CHAR OR p_mo_rec.volume_tracking_level_code IS NULL THEN
165: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','VOLUME_TRACKING_LEVEL_CODE');
166: x_return_status := FND_API.g_ret_sts_error;
160: IF p_mo_rec.combine_schedule_flag = FND_API.G_MISS_CHAR OR p_mo_rec.combine_schedule_flag IS NULL THEN
161: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','COMBINE_SCHEDULE_FLAG');
162: x_return_status := FND_API.g_ret_sts_error;
163: END IF;
164: IF p_mo_rec.volume_tracking_level_code = FND_API.G_MISS_CHAR OR p_mo_rec.volume_tracking_level_code IS NULL THEN
165: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','VOLUME_TRACKING_LEVEL_CODE');
166: x_return_status := FND_API.g_ret_sts_error;
167: END IF;
168: IF p_mo_rec.accrue_to_code = FND_API.G_MISS_CHAR OR p_mo_rec.accrue_to_code IS NULL THEN
162: x_return_status := FND_API.g_ret_sts_error;
163: END IF;
164: IF p_mo_rec.volume_tracking_level_code = FND_API.G_MISS_CHAR OR p_mo_rec.volume_tracking_level_code IS NULL THEN
165: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','VOLUME_TRACKING_LEVEL_CODE');
166: x_return_status := FND_API.g_ret_sts_error;
167: END IF;
168: IF p_mo_rec.accrue_to_code = FND_API.G_MISS_CHAR OR p_mo_rec.accrue_to_code IS NULL THEN
169: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','ACCRUE_TO_CODE');
170: x_return_status := FND_API.g_ret_sts_error;
164: IF p_mo_rec.volume_tracking_level_code = FND_API.G_MISS_CHAR OR p_mo_rec.volume_tracking_level_code IS NULL THEN
165: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','VOLUME_TRACKING_LEVEL_CODE');
166: x_return_status := FND_API.g_ret_sts_error;
167: END IF;
168: IF p_mo_rec.accrue_to_code = FND_API.G_MISS_CHAR OR p_mo_rec.accrue_to_code IS NULL THEN
169: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','ACCRUE_TO_CODE');
170: x_return_status := FND_API.g_ret_sts_error;
171: END IF;
172: IF p_mo_rec.precedence = FND_API.G_MISS_NUM OR p_mo_rec.precedence IS NULL THEN
166: x_return_status := FND_API.g_ret_sts_error;
167: END IF;
168: IF p_mo_rec.accrue_to_code = FND_API.G_MISS_CHAR OR p_mo_rec.accrue_to_code IS NULL THEN
169: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','ACCRUE_TO_CODE');
170: x_return_status := FND_API.g_ret_sts_error;
171: END IF;
172: IF p_mo_rec.precedence = FND_API.G_MISS_NUM OR p_mo_rec.precedence IS NULL THEN
173: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','PRECEDENCE');
174: END IF;
168: IF p_mo_rec.accrue_to_code = FND_API.G_MISS_CHAR OR p_mo_rec.accrue_to_code IS NULL THEN
169: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','ACCRUE_TO_CODE');
170: x_return_status := FND_API.g_ret_sts_error;
171: END IF;
172: IF p_mo_rec.precedence = FND_API.G_MISS_NUM OR p_mo_rec.precedence IS NULL THEN
173: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','PRECEDENCE');
174: END IF;
175:
176:
174: END IF;
175:
176:
177: ELSE
178: IF p_mo_rec.offer_market_option_id = FND_API.G_MISS_NUM THEN
179: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'offer_market_option_id' );
180: x_return_status := FND_API.g_ret_sts_error;
181: END IF;
182:
176:
177: ELSE
178: IF p_mo_rec.offer_market_option_id = FND_API.G_MISS_NUM THEN
179: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'offer_market_option_id' );
180: x_return_status := FND_API.g_ret_sts_error;
181: END IF;
182:
183: IF p_mo_rec.offer_id = FND_API.G_MISS_NUM THEN
184: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'OFFER_ID' );
179: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'offer_market_option_id' );
180: x_return_status := FND_API.g_ret_sts_error;
181: END IF;
182:
183: IF p_mo_rec.offer_id = FND_API.G_MISS_NUM THEN
184: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'OFFER_ID' );
185: x_return_status := FND_API.g_ret_sts_error;
186: END IF;
187:
181: END IF;
182:
183: IF p_mo_rec.offer_id = FND_API.G_MISS_NUM THEN
184: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'OFFER_ID' );
185: x_return_status := FND_API.g_ret_sts_error;
186: END IF;
187:
188: /* IF p_mo_rec.group_number = FND_API.G_MISS_NUM THEN
189: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'GROUP_NUMBER' );
184: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'OFFER_ID' );
185: x_return_status := FND_API.g_ret_sts_error;
186: END IF;
187:
188: /* IF p_mo_rec.group_number = FND_API.G_MISS_NUM THEN
189: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'GROUP_NUMBER' );
190: x_return_status := FND_API.g_ret_sts_error;
191: END IF;
192: */
186: END IF;
187:
188: /* IF p_mo_rec.group_number = FND_API.G_MISS_NUM THEN
189: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'GROUP_NUMBER' );
190: x_return_status := FND_API.g_ret_sts_error;
191: END IF;
192: */
193: IF p_mo_rec.retroactive_flag = FND_API.G_MISS_CHAR THEN
194: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'RETROACTIVE_FLAG' );
189: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'GROUP_NUMBER' );
190: x_return_status := FND_API.g_ret_sts_error;
191: END IF;
192: */
193: IF p_mo_rec.retroactive_flag = FND_API.G_MISS_CHAR THEN
194: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'RETROACTIVE_FLAG' );
195: x_return_status := FND_API.g_ret_sts_error;
196: END IF;
197:
191: END IF;
192: */
193: IF p_mo_rec.retroactive_flag = FND_API.G_MISS_CHAR THEN
194: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'RETROACTIVE_FLAG' );
195: x_return_status := FND_API.g_ret_sts_error;
196: END IF;
197:
198: IF p_mo_rec.combine_schedule_flag = FND_API.G_MISS_CHAR THEN
199: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','COMBINE_SCHEDULE_FLAG');
194: OZF_Utility_PVT.Error_Message('OZF_API_MISSING_FIELD', 'MISS_FIELD', 'RETROACTIVE_FLAG' );
195: x_return_status := FND_API.g_ret_sts_error;
196: END IF;
197:
198: IF p_mo_rec.combine_schedule_flag = FND_API.G_MISS_CHAR THEN
199: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','COMBINE_SCHEDULE_FLAG');
200: x_return_status := FND_API.g_ret_sts_error;
201: END IF;
202: IF p_mo_rec.volume_tracking_level_code = FND_API.G_MISS_CHAR THEN
196: END IF;
197:
198: IF p_mo_rec.combine_schedule_flag = FND_API.G_MISS_CHAR THEN
199: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','COMBINE_SCHEDULE_FLAG');
200: x_return_status := FND_API.g_ret_sts_error;
201: END IF;
202: IF p_mo_rec.volume_tracking_level_code = FND_API.G_MISS_CHAR THEN
203: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','VOLUME_TRACKING_LEVEL_CODE');
204: x_return_status := FND_API.g_ret_sts_error;
198: IF p_mo_rec.combine_schedule_flag = FND_API.G_MISS_CHAR THEN
199: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','COMBINE_SCHEDULE_FLAG');
200: x_return_status := FND_API.g_ret_sts_error;
201: END IF;
202: IF p_mo_rec.volume_tracking_level_code = FND_API.G_MISS_CHAR THEN
203: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','VOLUME_TRACKING_LEVEL_CODE');
204: x_return_status := FND_API.g_ret_sts_error;
205: END IF;
206: IF p_mo_rec.accrue_to_code = FND_API.G_MISS_CHAR THEN
200: x_return_status := FND_API.g_ret_sts_error;
201: END IF;
202: IF p_mo_rec.volume_tracking_level_code = FND_API.G_MISS_CHAR THEN
203: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','VOLUME_TRACKING_LEVEL_CODE');
204: x_return_status := FND_API.g_ret_sts_error;
205: END IF;
206: IF p_mo_rec.accrue_to_code = FND_API.G_MISS_CHAR THEN
207: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','ACCRUE_TO_CODE');
208: x_return_status := FND_API.g_ret_sts_error;
202: IF p_mo_rec.volume_tracking_level_code = FND_API.G_MISS_CHAR THEN
203: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','VOLUME_TRACKING_LEVEL_CODE');
204: x_return_status := FND_API.g_ret_sts_error;
205: END IF;
206: IF p_mo_rec.accrue_to_code = FND_API.G_MISS_CHAR THEN
207: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','ACCRUE_TO_CODE');
208: x_return_status := FND_API.g_ret_sts_error;
209: END IF;
210: IF p_mo_rec.precedence = FND_API.G_MISS_NUM THEN
204: x_return_status := FND_API.g_ret_sts_error;
205: END IF;
206: IF p_mo_rec.accrue_to_code = FND_API.G_MISS_CHAR THEN
207: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','ACCRUE_TO_CODE');
208: x_return_status := FND_API.g_ret_sts_error;
209: END IF;
210: IF p_mo_rec.precedence = FND_API.G_MISS_NUM THEN
211: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','PRECEDENCE');
212: x_return_status := FND_API.g_ret_sts_error;
206: IF p_mo_rec.accrue_to_code = FND_API.G_MISS_CHAR THEN
207: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','ACCRUE_TO_CODE');
208: x_return_status := FND_API.g_ret_sts_error;
209: END IF;
210: IF p_mo_rec.precedence = FND_API.G_MISS_NUM THEN
211: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','PRECEDENCE');
212: x_return_status := FND_API.g_ret_sts_error;
213: END IF;
214: IF p_mo_rec.object_version_number = FND_API.G_MISS_NUM OR p_mo_rec.object_version_number IS NULL THEN
208: x_return_status := FND_API.g_ret_sts_error;
209: END IF;
210: IF p_mo_rec.precedence = FND_API.G_MISS_NUM THEN
211: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','PRECEDENCE');
212: x_return_status := FND_API.g_ret_sts_error;
213: END IF;
214: IF p_mo_rec.object_version_number = FND_API.G_MISS_NUM OR p_mo_rec.object_version_number IS NULL THEN
215: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','OBJECT_VERSION_NUMBER');
216: x_return_status := FND_API.g_ret_sts_error;
210: IF p_mo_rec.precedence = FND_API.G_MISS_NUM THEN
211: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','PRECEDENCE');
212: x_return_status := FND_API.g_ret_sts_error;
213: END IF;
214: IF p_mo_rec.object_version_number = FND_API.G_MISS_NUM OR p_mo_rec.object_version_number IS NULL THEN
215: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','OBJECT_VERSION_NUMBER');
216: x_return_status := FND_API.g_ret_sts_error;
217: END IF;
218:
212: x_return_status := FND_API.g_ret_sts_error;
213: END IF;
214: IF p_mo_rec.object_version_number = FND_API.G_MISS_NUM OR p_mo_rec.object_version_number IS NULL THEN
215: OZF_UTILITY_PVT.Error_message('OZF_API_MISSING_FIELD','MISS_FIELD','OBJECT_VERSION_NUMBER');
216: x_return_status := FND_API.g_ret_sts_error;
217: END IF;
218:
219: END IF;
220:
230: CURSOR c_mo_grp(p_list_header_id NUMBER, p_group_number NUMBER) IS
231: SELECT 1 FROM dual WHERE EXISTS( SELECT 'X' FROM qp_qualifiers WHERE list_header_id = p_list_header_id AND qualifier_grouping_no = p_group_number);
232:
233: BEGIN
234: x_return_status := FND_API.G_RET_STS_SUCCESS;
235: IF p_mo_rec.offer_id IS NOT NULL AND p_mo_rec.offer_id <> FND_API.G_MISS_NUM
236: THEN
237: IF ozf_utility_pvt.check_fk_exists('OZF_OFFERS','OFFER_ID',to_char(p_mo_rec.offer_id)) = FND_API.g_false THEN
238: OZF_Utility_PVT.Error_Message('OZF_INVALID_OFFER_ID' );
231: SELECT 1 FROM dual WHERE EXISTS( SELECT 'X' FROM qp_qualifiers WHERE list_header_id = p_list_header_id AND qualifier_grouping_no = p_group_number);
232:
233: BEGIN
234: x_return_status := FND_API.G_RET_STS_SUCCESS;
235: IF p_mo_rec.offer_id IS NOT NULL AND p_mo_rec.offer_id <> FND_API.G_MISS_NUM
236: THEN
237: IF ozf_utility_pvt.check_fk_exists('OZF_OFFERS','OFFER_ID',to_char(p_mo_rec.offer_id)) = FND_API.g_false THEN
238: OZF_Utility_PVT.Error_Message('OZF_INVALID_OFFER_ID' );
239: x_return_status := FND_API.g_ret_sts_error;
233: BEGIN
234: x_return_status := FND_API.G_RET_STS_SUCCESS;
235: IF p_mo_rec.offer_id IS NOT NULL AND p_mo_rec.offer_id <> FND_API.G_MISS_NUM
236: THEN
237: IF ozf_utility_pvt.check_fk_exists('OZF_OFFERS','OFFER_ID',to_char(p_mo_rec.offer_id)) = FND_API.g_false THEN
238: OZF_Utility_PVT.Error_Message('OZF_INVALID_OFFER_ID' );
239: x_return_status := FND_API.g_ret_sts_error;
240: END IF;
241: END IF;
235: IF p_mo_rec.offer_id IS NOT NULL AND p_mo_rec.offer_id <> FND_API.G_MISS_NUM
236: THEN
237: IF ozf_utility_pvt.check_fk_exists('OZF_OFFERS','OFFER_ID',to_char(p_mo_rec.offer_id)) = FND_API.g_false THEN
238: OZF_Utility_PVT.Error_Message('OZF_INVALID_OFFER_ID' );
239: x_return_status := FND_API.g_ret_sts_error;
240: END IF;
241: END IF;
242:
243: IF p_mo_rec.qp_list_header_id IS NOT NULL AND p_mo_rec.qp_list_header_id <> FND_API.G_MISS_NUM
239: x_return_status := FND_API.g_ret_sts_error;
240: END IF;
241: END IF;
242:
243: IF p_mo_rec.qp_list_header_id IS NOT NULL AND p_mo_rec.qp_list_header_id <> FND_API.G_MISS_NUM
244: THEN
245: IF ozf_utility_pvt.check_fk_exists('QP_LIST_HEADERS_B','list_header_id',to_char(p_mo_rec.qp_list_header_id)) = FND_API.g_false THEN
246: OZF_Utility_PVT.Error_Message('OZF_INVALID_QP_LIST_HEADER' );
247: x_return_status := FND_API.g_ret_sts_error;
241: END IF;
242:
243: IF p_mo_rec.qp_list_header_id IS NOT NULL AND p_mo_rec.qp_list_header_id <> FND_API.G_MISS_NUM
244: THEN
245: IF ozf_utility_pvt.check_fk_exists('QP_LIST_HEADERS_B','list_header_id',to_char(p_mo_rec.qp_list_header_id)) = FND_API.g_false THEN
246: OZF_Utility_PVT.Error_Message('OZF_INVALID_QP_LIST_HEADER' );
247: x_return_status := FND_API.g_ret_sts_error;
248: END IF;
249: END IF;
243: IF p_mo_rec.qp_list_header_id IS NOT NULL AND p_mo_rec.qp_list_header_id <> FND_API.G_MISS_NUM
244: THEN
245: IF ozf_utility_pvt.check_fk_exists('QP_LIST_HEADERS_B','list_header_id',to_char(p_mo_rec.qp_list_header_id)) = FND_API.g_false THEN
246: OZF_Utility_PVT.Error_Message('OZF_INVALID_QP_LIST_HEADER' );
247: x_return_status := FND_API.g_ret_sts_error;
248: END IF;
249: END IF;
250:
251: IF p_mo_rec.beneficiary_party_id IS NOT NULL AND p_mo_rec.beneficiary_party_id <> FND_API.G_MISS_NUM THEN
247: x_return_status := FND_API.g_ret_sts_error;
248: END IF;
249: END IF;
250:
251: IF p_mo_rec.beneficiary_party_id IS NOT NULL AND p_mo_rec.beneficiary_party_id <> FND_API.G_MISS_NUM THEN
252: IF ozf_utility_pvt.check_fk_exists('QP_CUSTOMERS_V','CUSTOMER_ID',to_char(p_mo_rec.beneficiary_party_id)) = FND_API.g_false THEN
253: OZF_Utility_PVT.Error_Message('OZF_INVALID_BENEFICIARY' );
254: x_return_status := FND_API.g_ret_sts_error;
255: END IF;
248: END IF;
249: END IF;
250:
251: IF p_mo_rec.beneficiary_party_id IS NOT NULL AND p_mo_rec.beneficiary_party_id <> FND_API.G_MISS_NUM THEN
252: IF ozf_utility_pvt.check_fk_exists('QP_CUSTOMERS_V','CUSTOMER_ID',to_char(p_mo_rec.beneficiary_party_id)) = FND_API.g_false THEN
253: OZF_Utility_PVT.Error_Message('OZF_INVALID_BENEFICIARY' );
254: x_return_status := FND_API.g_ret_sts_error;
255: END IF;
256: END IF;
250:
251: IF p_mo_rec.beneficiary_party_id IS NOT NULL AND p_mo_rec.beneficiary_party_id <> FND_API.G_MISS_NUM THEN
252: IF ozf_utility_pvt.check_fk_exists('QP_CUSTOMERS_V','CUSTOMER_ID',to_char(p_mo_rec.beneficiary_party_id)) = FND_API.g_false THEN
253: OZF_Utility_PVT.Error_Message('OZF_INVALID_BENEFICIARY' );
254: x_return_status := FND_API.g_ret_sts_error;
255: END IF;
256: END IF;
257:
258: /* IF (p_mo_rec.qp_list_header_id IS NOT NULL AND p_mo_rec.qp_list_header_id <> FND_API.G_MISS_NUM)
254: x_return_status := FND_API.g_ret_sts_error;
255: END IF;
256: END IF;
257:
258: /* IF (p_mo_rec.qp_list_header_id IS NOT NULL AND p_mo_rec.qp_list_header_id <> FND_API.G_MISS_NUM)
259: AND (p_mo_rec.group_number IS NOT NULL AND p_mo_rec.group_number <> FND_API.G_MISS_NUM)
260: THEN
261: OPEN c_mo_grp(p_mo_rec.qp_list_header_id,p_mo_rec.group_number);
262: FETCH c_mo_grp INTO l_dummy;
255: END IF;
256: END IF;
257:
258: /* IF (p_mo_rec.qp_list_header_id IS NOT NULL AND p_mo_rec.qp_list_header_id <> FND_API.G_MISS_NUM)
259: AND (p_mo_rec.group_number IS NOT NULL AND p_mo_rec.group_number <> FND_API.G_MISS_NUM)
260: THEN
261: OPEN c_mo_grp(p_mo_rec.qp_list_header_id,p_mo_rec.group_number);
262: FETCH c_mo_grp INTO l_dummy;
263: IF (c_mo_grp%NOTFOUND) THEN
261: OPEN c_mo_grp(p_mo_rec.qp_list_header_id,p_mo_rec.group_number);
262: FETCH c_mo_grp INTO l_dummy;
263: IF (c_mo_grp%NOTFOUND) THEN
264: OZF_Utility_PVT.Error_Message('OZF_OFFR_INV_LH_GRP' );
265: x_return_status := FND_API.g_ret_sts_error;
266: END IF;
267: END IF;
268: */
269: END check_mo_fk_items;
274: , x_return_status OUT NOCOPY VARCHAR2
275: )
276: IS
277: BEGIN
278: x_return_status := FND_API.G_RET_STS_SUCCESS;
279: IF p_mo_rec.volume_tracking_level_code <> FND_API.G_MISS_CHAR AND p_mo_rec.volume_tracking_level_code IS NOT NULL THEN
280: IF OZF_UTILITY_PVT.check_lookup_exists('OZF_LOOKUPS', 'OZF_VO_TRACKING_LEVEL', p_mo_rec.volume_tracking_level_code) = FND_API.g_false THEN
281: OZF_Utility_PVT.Error_Message('OZF_OFFR_MO_INV_VOL_TRK' );
282: x_return_status := FND_API.g_ret_sts_error;
275: )
276: IS
277: BEGIN
278: x_return_status := FND_API.G_RET_STS_SUCCESS;
279: IF p_mo_rec.volume_tracking_level_code <> FND_API.G_MISS_CHAR AND p_mo_rec.volume_tracking_level_code IS NOT NULL THEN
280: IF OZF_UTILITY_PVT.check_lookup_exists('OZF_LOOKUPS', 'OZF_VO_TRACKING_LEVEL', p_mo_rec.volume_tracking_level_code) = FND_API.g_false THEN
281: OZF_Utility_PVT.Error_Message('OZF_OFFR_MO_INV_VOL_TRK' );
282: x_return_status := FND_API.g_ret_sts_error;
283: END IF;
276: IS
277: BEGIN
278: x_return_status := FND_API.G_RET_STS_SUCCESS;
279: IF p_mo_rec.volume_tracking_level_code <> FND_API.G_MISS_CHAR AND p_mo_rec.volume_tracking_level_code IS NOT NULL THEN
280: IF OZF_UTILITY_PVT.check_lookup_exists('OZF_LOOKUPS', 'OZF_VO_TRACKING_LEVEL', p_mo_rec.volume_tracking_level_code) = FND_API.g_false THEN
281: OZF_Utility_PVT.Error_Message('OZF_OFFR_MO_INV_VOL_TRK' );
282: x_return_status := FND_API.g_ret_sts_error;
283: END IF;
284: END IF;
278: x_return_status := FND_API.G_RET_STS_SUCCESS;
279: IF p_mo_rec.volume_tracking_level_code <> FND_API.G_MISS_CHAR AND p_mo_rec.volume_tracking_level_code IS NOT NULL THEN
280: IF OZF_UTILITY_PVT.check_lookup_exists('OZF_LOOKUPS', 'OZF_VO_TRACKING_LEVEL', p_mo_rec.volume_tracking_level_code) = FND_API.g_false THEN
281: OZF_Utility_PVT.Error_Message('OZF_OFFR_MO_INV_VOL_TRK' );
282: x_return_status := FND_API.g_ret_sts_error;
283: END IF;
284: END IF;
285:
286: IF p_mo_rec.accrue_to_code <> FND_API.G_MISS_CHAR AND p_mo_rec.accrue_to_code IS NOT NULL THEN
282: x_return_status := FND_API.g_ret_sts_error;
283: END IF;
284: END IF;
285:
286: IF p_mo_rec.accrue_to_code <> FND_API.G_MISS_CHAR AND p_mo_rec.accrue_to_code IS NOT NULL THEN
287: IF OZF_UTILITY_PVT.check_lookup_exists('OZF_LOOKUPS', 'OZF_VO_ACCRUE_TO', p_mo_rec.accrue_to_code) = FND_API.g_false THEN
288: OZF_Utility_PVT.Error_Message('OZF_OFFR_MO_INV_ACCR_TO' );
289: x_return_status := FND_API.g_ret_sts_error;
290: END IF;
283: END IF;
284: END IF;
285:
286: IF p_mo_rec.accrue_to_code <> FND_API.G_MISS_CHAR AND p_mo_rec.accrue_to_code IS NOT NULL THEN
287: IF OZF_UTILITY_PVT.check_lookup_exists('OZF_LOOKUPS', 'OZF_VO_ACCRUE_TO', p_mo_rec.accrue_to_code) = FND_API.g_false THEN
288: OZF_Utility_PVT.Error_Message('OZF_OFFR_MO_INV_ACCR_TO' );
289: x_return_status := FND_API.g_ret_sts_error;
290: END IF;
291: END IF;
285:
286: IF p_mo_rec.accrue_to_code <> FND_API.G_MISS_CHAR AND p_mo_rec.accrue_to_code IS NOT NULL THEN
287: IF OZF_UTILITY_PVT.check_lookup_exists('OZF_LOOKUPS', 'OZF_VO_ACCRUE_TO', p_mo_rec.accrue_to_code) = FND_API.g_false THEN
288: OZF_Utility_PVT.Error_Message('OZF_OFFR_MO_INV_ACCR_TO' );
289: x_return_status := FND_API.g_ret_sts_error;
290: END IF;
291: END IF;
292: END check_mo_lkup_items;
293:
298: , x_return_status OUT NOCOPY VARCHAR2
299: )
300: IS
301: BEGIN
302: x_return_status := FND_API.G_RET_STS_SUCCESS;
303: IF p_mo_rec.retroactive_flag IS NOT NULL AND p_mo_rec.retroactive_flag <> FND_API.G_MISS_CHAR THEN
304: IF upper(p_mo_rec.retroactive_flag) <> 'Y' AND upper(p_mo_rec.retroactive_flag) <> 'N' THEN
305: OZF_Utility_PVT.Error_Message('OZF_OFFR_MO_INV_RETROACT_FLAG' );
306: x_return_status := FND_API.g_ret_sts_error;
299: )
300: IS
301: BEGIN
302: x_return_status := FND_API.G_RET_STS_SUCCESS;
303: IF p_mo_rec.retroactive_flag IS NOT NULL AND p_mo_rec.retroactive_flag <> FND_API.G_MISS_CHAR THEN
304: IF upper(p_mo_rec.retroactive_flag) <> 'Y' AND upper(p_mo_rec.retroactive_flag) <> 'N' THEN
305: OZF_Utility_PVT.Error_Message('OZF_OFFR_MO_INV_RETROACT_FLAG' );
306: x_return_status := FND_API.g_ret_sts_error;
307: END IF;
302: x_return_status := FND_API.G_RET_STS_SUCCESS;
303: IF p_mo_rec.retroactive_flag IS NOT NULL AND p_mo_rec.retroactive_flag <> FND_API.G_MISS_CHAR THEN
304: IF upper(p_mo_rec.retroactive_flag) <> 'Y' AND upper(p_mo_rec.retroactive_flag) <> 'N' THEN
305: OZF_Utility_PVT.Error_Message('OZF_OFFR_MO_INV_RETROACT_FLAG' );
306: x_return_status := FND_API.g_ret_sts_error;
307: END IF;
308: END IF;
309:
310: IF p_mo_rec.combine_schedule_flag IS NOT NULL AND p_mo_rec.combine_schedule_flag <> FND_API.G_MISS_CHAR THEN
306: x_return_status := FND_API.g_ret_sts_error;
307: END IF;
308: END IF;
309:
310: IF p_mo_rec.combine_schedule_flag IS NOT NULL AND p_mo_rec.combine_schedule_flag <> FND_API.G_MISS_CHAR THEN
311: IF upper(p_mo_rec.combine_schedule_flag) <> 'Y' AND upper(p_mo_rec.combine_schedule_flag) <> 'N' THEN
312: OZF_Utility_PVT.Error_Message('OZF_OFFR_MO_INV_COMB_TIERS' );
313: x_return_status := FND_API.g_ret_sts_error;
314: END IF;
309:
310: IF p_mo_rec.combine_schedule_flag IS NOT NULL AND p_mo_rec.combine_schedule_flag <> FND_API.G_MISS_CHAR THEN
311: IF upper(p_mo_rec.combine_schedule_flag) <> 'Y' AND upper(p_mo_rec.combine_schedule_flag) <> 'N' THEN
312: OZF_Utility_PVT.Error_Message('OZF_OFFR_MO_INV_COMB_TIERS' );
313: x_return_status := FND_API.g_ret_sts_error;
314: END IF;
315: END IF;
316:
317: END check_mo_attr;
323: , x_return_status OUT NOCOPY VARCHAR2
324: )
325: IS
326: BEGIN
327: x_return_status := FND_API.G_RET_STS_SUCCESS;
328: END check_mo_inter_attr;
329:
330: PROCEDURE check_mo_entity(
331: p_mo_rec IN vo_mo_rec_type
333: , x_return_status OUT NOCOPY VARCHAR2
334: )
335: IS
336: BEGIN
337: x_return_status := FND_API.G_RET_STS_SUCCESS;
338: END check_mo_entity;
339:
340:
341:
346: )
347: IS
348: BEGIN
349: -- initialize
350: x_return_status := FND_API.G_RET_STS_SUCCESS;
351: -- check unique items
352: check_mo_uk_items(
353: p_mo_rec => p_mo_rec
354: , p_validation_mode => p_validation_mode
353: p_mo_rec => p_mo_rec
354: , p_validation_mode => p_validation_mode
355: , x_return_status => x_return_status
356: );
357: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
358: RAISE FND_API.G_EXC_ERROR;
359: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
360: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
361: END IF;
354: , p_validation_mode => p_validation_mode
355: , x_return_status => x_return_status
356: );
357: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
358: RAISE FND_API.G_EXC_ERROR;
359: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
360: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
361: END IF;
362:
355: , x_return_status => x_return_status
356: );
357: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
358: RAISE FND_API.G_EXC_ERROR;
359: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
360: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
361: END IF;
362:
363: -- check required items
356: );
357: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
358: RAISE FND_API.G_EXC_ERROR;
359: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
360: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
361: END IF;
362:
363: -- check required items
364: check_mo_req_items(
365: p_mo_rec => p_mo_rec
366: , p_validation_mode => p_validation_mode
367: , x_return_status => x_return_status
368: );
369: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
370: RAISE FND_API.G_EXC_ERROR;
371: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
372: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
373: END IF;
366: , p_validation_mode => p_validation_mode
367: , x_return_status => x_return_status
368: );
369: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
370: RAISE FND_API.G_EXC_ERROR;
371: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
372: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
373: END IF;
374:
367: , x_return_status => x_return_status
368: );
369: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
370: RAISE FND_API.G_EXC_ERROR;
371: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
372: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
373: END IF;
374:
375: -- check Foreign key items
368: );
369: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
370: RAISE FND_API.G_EXC_ERROR;
371: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
372: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
373: END IF;
374:
375: -- check Foreign key items
376: check_mo_fk_items(
378: , p_validation_mode => p_validation_mode
379: , x_return_status => x_return_status
380: );
381:
382: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
383: RAISE FND_API.G_EXC_ERROR;
384: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
385: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
386: END IF;
379: , x_return_status => x_return_status
380: );
381:
382: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
383: RAISE FND_API.G_EXC_ERROR;
384: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
385: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
386: END IF;
387:
380: );
381:
382: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
383: RAISE FND_API.G_EXC_ERROR;
384: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
385: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
386: END IF;
387:
388: -- check lookup items
381:
382: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
383: RAISE FND_API.G_EXC_ERROR;
384: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
385: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
386: END IF;
387:
388: -- check lookup items
389: check_mo_lkup_items(
391: , p_validation_mode => p_validation_mode
392: , x_return_status => x_return_status
393: );
394:
395: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
396: RAISE FND_API.G_EXC_ERROR;
397: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
399: END IF;
392: , x_return_status => x_return_status
393: );
394:
395: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
396: RAISE FND_API.G_EXC_ERROR;
397: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
399: END IF;
400:
393: );
394:
395: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
396: RAISE FND_API.G_EXC_ERROR;
397: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
399: END IF;
400:
401: -- check mo attributes
394:
395: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
396: RAISE FND_API.G_EXC_ERROR;
397: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
398: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
399: END IF;
400:
401: -- check mo attributes
402: check_mo_attr(
404: , p_validation_mode => p_validation_mode
405: , x_return_status => x_return_status
406: );
407:
408: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
409: RAISE FND_API.G_EXC_ERROR;
410: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
411: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
412: END IF;
405: , x_return_status => x_return_status
406: );
407:
408: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
409: RAISE FND_API.G_EXC_ERROR;
410: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
411: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
412: END IF;
413:
406: );
407:
408: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
409: RAISE FND_API.G_EXC_ERROR;
410: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
411: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
412: END IF;
413:
414: -- check mo inter attributes
407:
408: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
409: RAISE FND_API.G_EXC_ERROR;
410: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
411: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
412: END IF;
413:
414: -- check mo inter attributes
415: check_mo_inter_attr(
417: , p_validation_mode => p_validation_mode
418: , x_return_status => x_return_status
419: );
420:
421: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
422: RAISE FND_API.G_EXC_ERROR;
423: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
424: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
425: END IF;
418: , x_return_status => x_return_status
419: );
420:
421: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
422: RAISE FND_API.G_EXC_ERROR;
423: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
424: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
425: END IF;
426:
419: );
420:
421: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
422: RAISE FND_API.G_EXC_ERROR;
423: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
424: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
425: END IF;
426:
427: -- check mo entity
420:
421: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
422: RAISE FND_API.G_EXC_ERROR;
423: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
424: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
425: END IF;
426:
427: -- check mo entity
428: check_mo_entity(
430: , p_validation_mode => p_validation_mode
431: , x_return_status => x_return_status
432: );
433:
434: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
435: RAISE FND_API.G_EXC_ERROR;
436: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
437: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
438: END IF;
431: , x_return_status => x_return_status
432: );
433:
434: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
435: RAISE FND_API.G_EXC_ERROR;
436: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
437: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
438: END IF;
439:
432: );
433:
434: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
435: RAISE FND_API.G_EXC_ERROR;
436: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
437: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
438: END IF;
439:
440: END Check_mo_Items;
433:
434: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
435: RAISE FND_API.G_EXC_ERROR;
436: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
437: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
438: END IF;
439:
440: END Check_mo_Items;
441:
443:
444: PROCEDURE validate_market_options
445: (
446: p_api_version_number IN NUMBER
447: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
448: , p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
449: , p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create
450: , x_return_status OUT NOCOPY VARCHAR2
451: , x_msg_count OUT NOCOPY NUMBER
444: PROCEDURE validate_market_options
445: (
446: p_api_version_number IN NUMBER
447: , p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE
448: , p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL
449: , p_validation_mode IN VARCHAR2 := JTF_PLSQL_API.g_create
450: , x_return_status OUT NOCOPY VARCHAR2
451: , x_msg_count OUT NOCOPY NUMBER
452: , x_msg_data OUT NOCOPY VARCHAR2
461: -- Standard Start of API savepoint
462: SAVEPOINT validate_market_options_pvt;
463:
464: -- Standard call to check for call compatibility.
465: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
466: p_api_version_number,
467: l_api_name,
468: G_PKG_NAME)
469: THEN
466: p_api_version_number,
467: l_api_name,
468: G_PKG_NAME)
469: THEN
470: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
471: END IF;
472: -- Initialize message list if p_init_msg_list is set to TRUE.
473: IF FND_API.to_Boolean( p_init_msg_list )
474: THEN
469: THEN
470: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
471: END IF;
472: -- Initialize message list if p_init_msg_list is set to TRUE.
473: IF FND_API.to_Boolean( p_init_msg_list )
474: THEN
475: FND_MSG_PUB.initialize;
476: END IF;
477:
478: -- Debug Message
479: OZF_Volume_Offer_disc_PVT.debug_message('Private API: ' || l_api_name || 'start');
480:
481: -- Initialize API return status to SUCCESS
482: x_return_status := FND_API.G_RET_STS_SUCCESS;
483:
484: -- check items
485: IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
486: Check_mo_Items(
487: p_mo_rec => p_mo_rec,
488: p_validation_mode => p_validation_mode,
489: x_return_status => x_return_status
490: );
491: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
492: RAISE FND_API.G_EXC_ERROR;
493: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
494: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
495: END IF;
488: p_validation_mode => p_validation_mode,
489: x_return_status => x_return_status
490: );
491: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
492: RAISE FND_API.G_EXC_ERROR;
493: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
494: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
495: END IF;
496: END IF;
489: x_return_status => x_return_status
490: );
491: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
492: RAISE FND_API.G_EXC_ERROR;
493: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
494: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
495: END IF;
496: END IF;
497: IF p_validation_mode = JTF_PLSQL_API.g_update THEN
490: );
491: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
492: RAISE FND_API.G_EXC_ERROR;
493: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
494: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
495: END IF;
496: END IF;
497: IF p_validation_mode = JTF_PLSQL_API.g_update THEN
498: /* Complete_mo_Rec(
503: -- END IF;
504: /* IF p_validation_level >= JTF_PLSQL_API.g_valid_level_item THEN
505: Validate_vo_discounts_rec(
506: p_api_version_number => 1.0,
507: p_init_msg_list => FND_API.G_FALSE,
508: x_return_status => x_return_status,
509: x_msg_count => x_msg_count,
510: x_msg_data => x_msg_data,
511: p_vo_disc_rec => l_vo_disc_rec);
509: x_msg_count => x_msg_count,
510: x_msg_data => x_msg_data,
511: p_vo_disc_rec => l_vo_disc_rec);
512: */
513: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
514: RAISE FND_API.G_EXC_ERROR;
515: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
516: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
517: END IF;
510: x_msg_data => x_msg_data,
511: p_vo_disc_rec => l_vo_disc_rec);
512: */
513: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
514: RAISE FND_API.G_EXC_ERROR;
515: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
516: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
517: END IF;
518: END IF;
511: p_vo_disc_rec => l_vo_disc_rec);
512: */
513: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
514: RAISE FND_API.G_EXC_ERROR;
515: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
516: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
517: END IF;
518: END IF;
519:
512: */
513: IF x_return_status = FND_API.G_RET_STS_ERROR THEN
514: RAISE FND_API.G_EXC_ERROR;
515: ELSIF x_return_status = FND_API.G_RET_STS_UNEXP_ERROR THEN
516: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
517: END IF;
518: END IF;
519:
520: -- exception
531: );
532: EXCEPTION
533:
534: WHEN OZF_Utility_PVT.resource_locked THEN
535: x_return_status := FND_API.g_ret_sts_error;
536: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
537:
538: WHEN FND_API.G_EXC_ERROR THEN
539: ROLLBACK TO validate_market_options_pvt;
534: WHEN OZF_Utility_PVT.resource_locked THEN
535: x_return_status := FND_API.g_ret_sts_error;
536: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
537:
538: WHEN FND_API.G_EXC_ERROR THEN
539: ROLLBACK TO validate_market_options_pvt;
540: x_return_status := FND_API.G_RET_STS_ERROR;
541: -- Standard call to get message count and if count=1, get the message
542: FND_MSG_PUB.Count_And_Get (
536: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
537:
538: WHEN FND_API.G_EXC_ERROR THEN
539: ROLLBACK TO validate_market_options_pvt;
540: x_return_status := FND_API.G_RET_STS_ERROR;
541: -- Standard call to get message count and if count=1, get the message
542: FND_MSG_PUB.Count_And_Get (
543: p_encoded => FND_API.G_FALSE,
544: p_count => x_msg_count,
539: ROLLBACK TO validate_market_options_pvt;
540: x_return_status := FND_API.G_RET_STS_ERROR;
541: -- Standard call to get message count and if count=1, get the message
542: FND_MSG_PUB.Count_And_Get (
543: p_encoded => FND_API.G_FALSE,
544: p_count => x_msg_count,
545: p_data => x_msg_data
546: );
547:
544: p_count => x_msg_count,
545: p_data => x_msg_data
546: );
547:
548: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
549: ROLLBACK TO validate_market_options_pvt;
550: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
551: -- Standard call to get message count and if count=1, get the message
552: FND_MSG_PUB.Count_And_Get (
546: );
547:
548: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
549: ROLLBACK TO validate_market_options_pvt;
550: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
551: -- Standard call to get message count and if count=1, get the message
552: FND_MSG_PUB.Count_And_Get (
553: p_encoded => FND_API.G_FALSE,
554: p_count => x_msg_count,
549: ROLLBACK TO validate_market_options_pvt;
550: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
551: -- Standard call to get message count and if count=1, get the message
552: FND_MSG_PUB.Count_And_Get (
553: p_encoded => FND_API.G_FALSE,
554: p_count => x_msg_count,
555: p_data => x_msg_data
556: );
557:
556: );
557:
558: WHEN OTHERS THEN
559: ROLLBACK TO validate_market_options_pvt;
560: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
561: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
562: THEN
563: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
564: END IF;
563: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
564: END IF;
565: -- Standard call to get message count and if count=1, get the message
566: FND_MSG_PUB.Count_And_Get (
567: p_encoded => FND_API.G_FALSE,
568: p_count => x_msg_count,
569: p_data => x_msg_data
570: );
571: END validate_market_options;
602: -- ==============================================================================
603:
604: PROCEDURE Create_market_options(
605: p_api_version_number IN NUMBER,
606: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
607: p_commit IN VARCHAR2 := FND_API.G_FALSE,
608: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
609:
610: x_return_status OUT NOCOPY VARCHAR2,
603:
604: PROCEDURE Create_market_options(
605: p_api_version_number IN NUMBER,
606: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
607: p_commit IN VARCHAR2 := FND_API.G_FALSE,
608: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
609:
610: x_return_status OUT NOCOPY VARCHAR2,
611: x_msg_count OUT NOCOPY NUMBER,
604: PROCEDURE Create_market_options(
605: p_api_version_number IN NUMBER,
606: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
607: p_commit IN VARCHAR2 := FND_API.G_FALSE,
608: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
609:
610: x_return_status OUT NOCOPY VARCHAR2,
611: x_msg_count OUT NOCOPY NUMBER,
612: x_msg_data OUT NOCOPY VARCHAR2,
635: -- Standard Start of API savepoint
636: SAVEPOINT Create_market_options_pvt;
637:
638: -- Standard call to check for call compatibility.
639: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
640: p_api_version_number,
641: l_api_name,
642: G_PKG_NAME)
643: THEN
640: p_api_version_number,
641: l_api_name,
642: G_PKG_NAME)
643: THEN
644: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
645: END IF;
646:
647: -- Initialize message list if p_init_msg_list is set to TRUE.
648: IF FND_API.to_Boolean( p_init_msg_list )
644: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
645: END IF;
646:
647: -- Initialize message list if p_init_msg_list is set to TRUE.
648: IF FND_API.to_Boolean( p_init_msg_list )
649: THEN
650: FND_MSG_PUB.initialize;
651: END IF;
652:
653: -- Debug Message
654: OZF_Volume_Offer_disc_PVT.debug_message('Private API: ' || l_api_name || 'start');
655:
656: -- Initialize API return status to SUCCESS
657: x_return_status := FND_API.G_RET_STS_SUCCESS;
658:
659: -- =========================================================================
660: -- Validate Environment
661: -- =========================================================================
662:
663: IF FND_GLOBAL.USER_ID IS NULL
664: THEN
665: OZF_Utility_PVT.Error_Message(p_message_name => 'USER_PROFILE_MISSING');
666: RAISE FND_API.G_EXC_ERROR;
667: END IF;
668:
669: l_mo_rec := p_mo_rec;
670:
668:
669: l_mo_rec := p_mo_rec;
670:
671:
672: IF p_mo_rec.offer_market_option_id IS NULL OR p_mo_rec.OFFER_MARKET_OPTION_ID = FND_API.g_miss_num THEN
673: LOOP
674: l_dummy := NULL;
675: OPEN c_id;
676: FETCH c_id INTO l_market_option_id;
685: l_market_option_id := p_mo_rec.offer_market_option_id;
686: END IF;
687:
688: -- if group_number is -1 then dont create a market option. But since the market option id may be required , set the returned market option id to -1
689: IF l_mo_rec.group_number IS NOT NULL AND l_mo_rec.group_number <> FND_API.G_MISS_NUM THEN
690: IF l_mo_rec.group_number <> -1 THEN
691: -- validate
692: validate_market_options
693: (
720: , p_last_update_date => SYSDATE
721: , p_last_update_login => FND_GLOBAL.conc_login_id
722: );
723:
724: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
725: RAISE FND_API.G_EXC_ERROR;
726: END IF;
727:
728: x_vo_market_option_id := l_market_option_id;
721: , p_last_update_login => FND_GLOBAL.conc_login_id
722: );
723:
724: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
725: RAISE FND_API.G_EXC_ERROR;
726: END IF;
727:
728: x_vo_market_option_id := l_market_option_id;
729: ELSE
731: END IF;
732: END IF;
733:
734: -- commit;
735: IF FND_API.to_Boolean( p_commit )
736: THEN
737: COMMIT WORK;
738: END IF;
739: -- Debug Message
747: );
748:
749: -- exception
750: EXCEPTION
751: WHEN FND_API.G_EXC_ERROR THEN
752: ROLLBACK TO Create_market_options_pvt;
753: x_return_status := FND_API.G_RET_STS_ERROR;
754: -- Standard call to get message count and if count=1, get the message
755: FND_MSG_PUB.Count_And_Get (
749: -- exception
750: EXCEPTION
751: WHEN FND_API.G_EXC_ERROR THEN
752: ROLLBACK TO Create_market_options_pvt;
753: x_return_status := FND_API.G_RET_STS_ERROR;
754: -- Standard call to get message count and if count=1, get the message
755: FND_MSG_PUB.Count_And_Get (
756: p_encoded => FND_API.G_FALSE,
757: p_count => x_msg_count,
752: ROLLBACK TO Create_market_options_pvt;
753: x_return_status := FND_API.G_RET_STS_ERROR;
754: -- Standard call to get message count and if count=1, get the message
755: FND_MSG_PUB.Count_And_Get (
756: p_encoded => FND_API.G_FALSE,
757: p_count => x_msg_count,
758: p_data => x_msg_data
759: );
760:
757: p_count => x_msg_count,
758: p_data => x_msg_data
759: );
760:
761: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
762: ROLLBACK TO Create_market_options_pvt;
763: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
764: -- Standard call to get message count and if count=1, get the message
765: FND_MSG_PUB.Count_And_Get (
759: );
760:
761: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
762: ROLLBACK TO Create_market_options_pvt;
763: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
764: -- Standard call to get message count and if count=1, get the message
765: FND_MSG_PUB.Count_And_Get (
766: p_encoded => FND_API.G_FALSE,
767: p_count => x_msg_count,
762: ROLLBACK TO Create_market_options_pvt;
763: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
764: -- Standard call to get message count and if count=1, get the message
765: FND_MSG_PUB.Count_And_Get (
766: p_encoded => FND_API.G_FALSE,
767: p_count => x_msg_count,
768: p_data => x_msg_data
769: );
770:
769: );
770:
771: WHEN OTHERS THEN
772: ROLLBACK TO Create_market_options_pvt;
773: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
774: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
775: THEN
776: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
777: END IF;
776: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
777: END IF;
778: -- Standard call to get message count and if count=1, get the message
779: FND_MSG_PUB.Count_And_Get (
780: p_encoded => FND_API.G_FALSE,
781: p_count => x_msg_count,
782: p_data => x_msg_data
783: );
784:
798: -- Parameters
799: --
800: -- IN
801: -- p_api_version_number IN NUMBER Required
802: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
803: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
804: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
805: -- p_mo_rec IN vo_mo_rec_type Required Record Containing Market options Data
806: -- x_return_status OUT NOCOPY VARCHAR2
799: --
800: -- IN
801: -- p_api_version_number IN NUMBER Required
802: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
803: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
804: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
805: -- p_mo_rec IN vo_mo_rec_type Required Record Containing Market options Data
806: -- x_return_status OUT NOCOPY VARCHAR2
807: -- x_msg_count OUT NOCOPY NUMBER
800: -- IN
801: -- p_api_version_number IN NUMBER Required
802: -- p_init_msg_list IN VARCHAR2 Optional Default = FND_API_G_FALSE
803: -- p_commit IN VARCHAR2 Optional Default = FND_API.G_FALSE
804: -- p_validation_level IN NUMBER Optional Default = FND_API.G_VALID_LEVEL_FULL
805: -- p_mo_rec IN vo_mo_rec_type Required Record Containing Market options Data
806: -- x_return_status OUT NOCOPY VARCHAR2
807: -- x_msg_count OUT NOCOPY NUMBER
808: -- x_msg_data OUT NOCOPY VARCHAR2
817: -- ==============================================================================
818:
819: PROCEDURE Update_market_options(
820: p_api_version_number IN NUMBER,
821: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
822: p_commit IN VARCHAR2 := FND_API.G_FALSE,
823: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
824:
825: x_return_status OUT NOCOPY VARCHAR2,
818:
819: PROCEDURE Update_market_options(
820: p_api_version_number IN NUMBER,
821: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
822: p_commit IN VARCHAR2 := FND_API.G_FALSE,
823: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
824:
825: x_return_status OUT NOCOPY VARCHAR2,
826: x_msg_count OUT NOCOPY NUMBER,
819: PROCEDURE Update_market_options(
820: p_api_version_number IN NUMBER,
821: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
822: p_commit IN VARCHAR2 := FND_API.G_FALSE,
823: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
824:
825: x_return_status OUT NOCOPY VARCHAR2,
826: x_msg_count OUT NOCOPY NUMBER,
827: x_msg_data OUT NOCOPY VARCHAR2,
848: --initialize
849: -- Standard Start of API savepoint
850: SAVEPOINT Update_market_options_pvt;
851: -- Standard call to check for call compatibility.
852: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
853: p_api_version_number,
854: l_api_name,
855: G_PKG_NAME)
856: THEN
853: p_api_version_number,
854: l_api_name,
855: G_PKG_NAME)
856: THEN
857: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
858: END IF;
859: -- Initialize message list if p_init_msg_list is set to TRUE.
860: IF FND_API.to_Boolean( p_init_msg_list )
861: THEN
856: THEN
857: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
858: END IF;
859: -- Initialize message list if p_init_msg_list is set to TRUE.
860: IF FND_API.to_Boolean( p_init_msg_list )
861: THEN
862: FND_MSG_PUB.initialize;
863: END IF;
864: -- Debug Message
864: -- Debug Message
865: OZF_Volume_Offer_disc_PVT.debug_message('Private API: ' || l_api_name || 'start');
866:
867: -- Initialize API return status to SUCCESS
868: x_return_status := FND_API.G_RET_STS_SUCCESS;
869:
870: OPEN c_get_mo( l_tar_mo_rec.offer_market_option_id,l_tar_mo_rec.object_version_number);
871: FETCH c_get_mo INTO l_ref_mo_rec ;
872: If ( c_get_mo%NOTFOUND) THEN
872: If ( c_get_mo%NOTFOUND) THEN
873: OZF_Utility_PVT.Error_Message(p_message_name => 'API_MISSING_UPDATE_TARGET'
874: , p_token_name => 'INFO'
875: , p_token_value => 'OZF_MARKET_OPTIONS') ;
876: RAISE FND_API.G_EXC_ERROR;
877: END IF;
878: CLOSE c_get_mo;
879:
880: If (l_tar_mo_rec.object_version_number is NULL or
877: END IF;
878: CLOSE c_get_mo;
879:
880: If (l_tar_mo_rec.object_version_number is NULL or
881: l_tar_mo_rec.object_version_number = FND_API.G_MISS_NUM ) Then
882: OZF_Utility_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING'
883: , p_token_name => 'COLUMN'
884: , p_token_value => 'Last_Update_Date') ;
885: RAISE FND_API.G_EXC_ERROR;
881: l_tar_mo_rec.object_version_number = FND_API.G_MISS_NUM ) Then
882: OZF_Utility_PVT.Error_Message(p_message_name => 'API_VERSION_MISSING'
883: , p_token_name => 'COLUMN'
884: , p_token_value => 'Last_Update_Date') ;
885: RAISE FND_API.G_EXC_ERROR;
886: End if;
887: -- Check Whether record has been changed by someone else
888: If (l_tar_mo_rec.object_version_number <> l_ref_mo_rec.object_version_number) Then
889: OZF_Utility_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED'
888: If (l_tar_mo_rec.object_version_number <> l_ref_mo_rec.object_version_number) Then
889: OZF_Utility_PVT.Error_Message(p_message_name => 'API_RECORD_CHANGED'
890: , p_token_name => 'INFO'
891: , p_token_value => 'Ozf_Market_Options') ;
892: RAISE FND_API.G_EXC_ERROR;
893: End if;
894: -- validate
895: validate_market_options
896: (
903: , x_msg_data => x_msg_data
904: , p_mo_rec => l_tar_mo_rec
905: );
906: -- update
907: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
908: RAISE FND_API.G_EXC_ERROR;
909: END IF;
910:
911: OZF_OFFR_MARKET_OPTION_PKG.Update_Row(
904: , p_mo_rec => l_tar_mo_rec
905: );
906: -- update
907: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
908: RAISE FND_API.G_EXC_ERROR;
909: END IF;
910:
911: OZF_OFFR_MARKET_OPTION_PKG.Update_Row(
912: p_offer_market_option_id => l_tar_mo_rec.offer_market_option_id
926: , p_last_update_date => SYSDATE
927: , p_last_update_login => FND_GLOBAL.conc_login_id
928: );
929:
930: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
931: RAISE FND_API.G_EXC_ERROR;
932: END IF;
933:
934: IF FND_API.to_Boolean( p_commit )
927: , p_last_update_login => FND_GLOBAL.conc_login_id
928: );
929:
930: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
931: RAISE FND_API.G_EXC_ERROR;
932: END IF;
933:
934: IF FND_API.to_Boolean( p_commit )
935: THEN
930: IF x_return_status <> FND_API.G_RET_STS_SUCCESS THEN
931: RAISE FND_API.G_EXC_ERROR;
932: END IF;
933:
934: IF FND_API.to_Boolean( p_commit )
935: THEN
936: COMMIT WORK;
937: END IF;
938: -- Debug Message
946: -- exception
947: EXCEPTION
948:
949: WHEN OZF_Utility_PVT.resource_locked THEN
950: x_return_status := FND_API.g_ret_sts_error;
951: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
952:
953: WHEN FND_API.G_EXC_ERROR THEN
954: ROLLBACK TO Update_market_options_pvt;
949: WHEN OZF_Utility_PVT.resource_locked THEN
950: x_return_status := FND_API.g_ret_sts_error;
951: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
952:
953: WHEN FND_API.G_EXC_ERROR THEN
954: ROLLBACK TO Update_market_options_pvt;
955: x_return_status := FND_API.G_RET_STS_ERROR;
956: -- Standard call to get message count and if count=1, get the message
957: FND_MSG_PUB.Count_And_Get (
951: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
952:
953: WHEN FND_API.G_EXC_ERROR THEN
954: ROLLBACK TO Update_market_options_pvt;
955: x_return_status := FND_API.G_RET_STS_ERROR;
956: -- Standard call to get message count and if count=1, get the message
957: FND_MSG_PUB.Count_And_Get (
958: p_encoded => FND_API.G_FALSE,
959: p_count => x_msg_count,
954: ROLLBACK TO Update_market_options_pvt;
955: x_return_status := FND_API.G_RET_STS_ERROR;
956: -- Standard call to get message count and if count=1, get the message
957: FND_MSG_PUB.Count_And_Get (
958: p_encoded => FND_API.G_FALSE,
959: p_count => x_msg_count,
960: p_data => x_msg_data
961: );
962:
959: p_count => x_msg_count,
960: p_data => x_msg_data
961: );
962:
963: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
964: ROLLBACK TO Update_market_options_pvt;
965: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
966: -- Standard call to get message count and if count=1, get the message
967: FND_MSG_PUB.Count_And_Get (
961: );
962:
963: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
964: ROLLBACK TO Update_market_options_pvt;
965: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
966: -- Standard call to get message count and if count=1, get the message
967: FND_MSG_PUB.Count_And_Get (
968: p_encoded => FND_API.G_FALSE,
969: p_count => x_msg_count,
964: ROLLBACK TO Update_market_options_pvt;
965: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
966: -- Standard call to get message count and if count=1, get the message
967: FND_MSG_PUB.Count_And_Get (
968: p_encoded => FND_API.G_FALSE,
969: p_count => x_msg_count,
970: p_data => x_msg_data
971: );
972:
971: );
972:
973: WHEN OTHERS THEN
974: ROLLBACK TO Update_market_options_pvt;
975: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
976: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
977: THEN
978: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
979: END IF;
978: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
979: END IF;
980: -- Standard call to get message count and if count=1, get the message
981: FND_MSG_PUB.Count_And_Get (
982: p_encoded => FND_API.G_FALSE,
983: p_count => x_msg_count,
984: p_data => x_msg_data
985: );
986:
1020: -- End of Comments
1021: -- ==============================================================================
1022: PROCEDURE Delete_market_options(
1023: p_api_version_number IN NUMBER,
1024: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1025: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1026: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1027: x_return_status OUT NOCOPY VARCHAR2,
1028: x_msg_count OUT NOCOPY NUMBER,
1021: -- ==============================================================================
1022: PROCEDURE Delete_market_options(
1023: p_api_version_number IN NUMBER,
1024: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1025: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1026: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1027: x_return_status OUT NOCOPY VARCHAR2,
1028: x_msg_count OUT NOCOPY NUMBER,
1029: x_msg_data OUT NOCOPY VARCHAR2,
1022: PROCEDURE Delete_market_options(
1023: p_api_version_number IN NUMBER,
1024: p_init_msg_list IN VARCHAR2 := FND_API.G_FALSE,
1025: p_commit IN VARCHAR2 := FND_API.G_FALSE,
1026: p_validation_level IN NUMBER := FND_API.G_VALID_LEVEL_FULL,
1027: x_return_status OUT NOCOPY VARCHAR2,
1028: x_msg_count OUT NOCOPY NUMBER,
1029: x_msg_data OUT NOCOPY VARCHAR2,
1030: p_offer_market_option_id IN NUMBER,
1038: -- Standard Start of API savepoint
1039: SAVEPOINT Delete_market_options_PVT;
1040:
1041: -- Standard call to check for call compatibility.
1042: IF NOT FND_API.Compatible_API_Call ( l_api_version_number,
1043: p_api_version_number,
1044: l_api_name,
1045: G_PKG_NAME)
1046: THEN
1043: p_api_version_number,
1044: l_api_name,
1045: G_PKG_NAME)
1046: THEN
1047: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1048: END IF;
1049:
1050: -- Initialize message list if p_init_msg_list is set to TRUE.
1051: IF FND_API.to_Boolean( p_init_msg_list )
1047: RAISE FND_API.G_EXC_UNEXPECTED_ERROR;
1048: END IF;
1049:
1050: -- Initialize message list if p_init_msg_list is set to TRUE.
1051: IF FND_API.to_Boolean( p_init_msg_list )
1052: THEN
1053: FND_MSG_PUB.initialize;
1054: END IF;
1055:
1053: FND_MSG_PUB.initialize;
1054: END IF;
1055:
1056: -- Initialize API return status to SUCCESS
1057: x_return_status := FND_API.G_RET_STS_SUCCESS;
1058:
1059: --
1060: -- Api body
1061: --
1070: -- End of API body
1071: --
1072:
1073: -- Standard check for p_commit
1074: IF FND_API.to_Boolean( p_commit )
1075: THEN
1076: COMMIT WORK;
1077: END IF;
1078:
1083: );
1084: EXCEPTION
1085:
1086: WHEN OZF_Utility_PVT.resource_locked THEN
1087: x_return_status := FND_API.g_ret_sts_error;
1088: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
1089:
1090: WHEN FND_API.G_EXC_ERROR THEN
1091: ROLLBACK TO Delete_market_options_PVT;
1086: WHEN OZF_Utility_PVT.resource_locked THEN
1087: x_return_status := FND_API.g_ret_sts_error;
1088: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
1089:
1090: WHEN FND_API.G_EXC_ERROR THEN
1091: ROLLBACK TO Delete_market_options_PVT;
1092: x_return_status := FND_API.G_RET_STS_ERROR;
1093: -- Standard call to get message count and if count=1, get the message
1094: FND_MSG_PUB.Count_And_Get (
1088: OZF_Utility_PVT.Error_Message(p_message_name => 'OZF_API_RESOURCE_LOCKED');
1089:
1090: WHEN FND_API.G_EXC_ERROR THEN
1091: ROLLBACK TO Delete_market_options_PVT;
1092: x_return_status := FND_API.G_RET_STS_ERROR;
1093: -- Standard call to get message count and if count=1, get the message
1094: FND_MSG_PUB.Count_And_Get (
1095: p_encoded => FND_API.G_FALSE,
1096: p_count => x_msg_count,
1091: ROLLBACK TO Delete_market_options_PVT;
1092: x_return_status := FND_API.G_RET_STS_ERROR;
1093: -- Standard call to get message count and if count=1, get the message
1094: FND_MSG_PUB.Count_And_Get (
1095: p_encoded => FND_API.G_FALSE,
1096: p_count => x_msg_count,
1097: p_data => x_msg_data
1098: );
1099:
1096: p_count => x_msg_count,
1097: p_data => x_msg_data
1098: );
1099:
1100: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1101: ROLLBACK TO Delete_market_options_PVT;
1102: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1103: -- Standard call to get message count and if count=1, get the message
1104: FND_MSG_PUB.Count_And_Get (
1098: );
1099:
1100: WHEN FND_API.G_EXC_UNEXPECTED_ERROR THEN
1101: ROLLBACK TO Delete_market_options_PVT;
1102: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1103: -- Standard call to get message count and if count=1, get the message
1104: FND_MSG_PUB.Count_And_Get (
1105: p_encoded => FND_API.G_FALSE,
1106: p_count => x_msg_count,
1101: ROLLBACK TO Delete_market_options_PVT;
1102: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1103: -- Standard call to get message count and if count=1, get the message
1104: FND_MSG_PUB.Count_And_Get (
1105: p_encoded => FND_API.G_FALSE,
1106: p_count => x_msg_count,
1107: p_data => x_msg_data
1108: );
1109:
1108: );
1109:
1110: WHEN OTHERS THEN
1111: ROLLBACK TO Delete_market_options_PVT;
1112: x_return_status := FND_API.G_RET_STS_UNEXP_ERROR;
1113: IF FND_MSG_PUB.Check_Msg_Level ( FND_MSG_PUB.G_MSG_LVL_UNEXP_ERROR)
1114: THEN
1115: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1116: END IF;
1115: FND_MSG_PUB.Add_Exc_Msg( G_PKG_NAME,l_api_name);
1116: END IF;
1117: -- Standard call to get message count and if count=1, get the message
1118: FND_MSG_PUB.Count_And_Get (
1119: p_encoded => FND_API.G_FALSE,
1120: p_count => x_msg_count,
1121: p_data => x_msg_data
1122: );
1123: