19: PROCEDURE error( P_FIELD IN VARCHAR2 ) IS
20: BEGIN
21: BIS_UTILITIES_PUB.Build_Report_Title( FORM_FUNCTION, RDF_FILENAME, NULL );
22: htp.p( '
' ||
23: fnd_message.get_string( 'WIP', 'INVALID_PARAM' ) || ': ' ||
24: P_FIELD || '');
25: htp.p( '
' ||
26: fnd_message.get_string( 'WIP', 'INVALID_PARAM_INSTRUCTION' ) ||
27: '');
22: htp.p( '
' ||
23: fnd_message.get_string( 'WIP', 'INVALID_PARAM' ) || ': ' ||
24: P_FIELD || '');
25: htp.p( '
' ||
26: fnd_message.get_string( 'WIP', 'INVALID_PARAM_INSTRUCTION' ) ||
27: '');
28: END error;
29:
30:
214:
215:
216: /* ORGANIZATION */
217:
218: params(1).Label := fnd_message.get_string( 'MRP', 'MRP_ORGANIZATION_LABEL' );
219: params(1).Value := htf.formSelectOpen( 'P_ORGANIZATION_ID' );
220: FOR c1 in c_orgs LOOP
221: if( c1.organization_id = L_ORGANIZATION_ID ) then
222: params(1).Value := params(1).Value || htf.formSelectOption( c1.name, 'Y', 'value=' || c1.organization_id );
228:
229:
230: /* BUSINESS PLAN */
231:
232: params(2).Label := fnd_message.get_string( 'BOM', 'CST_BUSINESS_PLAN_LABEL' );
233: params(2).Value := htf.formSelectOpen( 'P_BUSINESS_PLAN' );
234: FOR c1 in c_business_plans LOOP
235: if( c1.plan_id = L_BUSINESS_PLAN_ID ) then
236: params(2).Value := params(2).Value || htf.formSelectOption( c1.name, 'Y', 'value=' || c1.plan_id );
241: params(2).Value := params(2).Value || htf.formSelectClose;
242:
243: /* MRP PLANS */
244:
245: params(3).Label := fnd_message.get_string( 'MRP', 'MRP_PLAN_NAME_LABEL' );
246: params(3).Value := htf.formSelectOpen('P_PLAN1');
247: FOR c1 in c_plans LOOP
248: params(3).Value := params(3).Value || htf.formSelectOption( c1.name, NULL, 'value=' || c1.name );
249: END LOOP;
256:
257:
258: /* PERIOD TYPE */
259:
260: params(4).Label := fnd_message.get_string( 'MRP', 'MRP_PERIOD_TYPE_LABEL' );
261: params(4).Value := htf.formSelectOpen( 'P_PERIOD_TYPE' );
262: FOR c1 in c_period_types LOOP
263: params(4).Value := params(4).Value ||
264: htf.formSelectOption( c1.name, NULL, 'value=' || c1.name);
283: l_count INTEGER;
284: BEGIN
285: if (P_ORG_NAME is NULL) then
286: -- htp.p( 'Please select an organization' );
287: error( FND_MESSAGE.get_string( 'BOM', 'CST_ORGANIZATION_LABEL' ) );
288: return FALSE;
289: end if;
290:
291: select organization_id
298: EXCEPTION
299: WHEN TOO_MANY_ROWS THEN
300: if P_ORG_ID is null then
301: -- htp.p( 'Too many matching organizations found' );
302: error( FND_MESSAGE.get_string( 'BOM', 'CST_ORGANIZATION_LABEL' ) );
303: return FALSE;
304: end if;
305:
306: select max(organization_id), count(*)
312: if l_count = 1 then
313: RETURN TRUE;
314: else
315: -- htp.p( 'Too many matching organizations found' );
316: error( FND_MESSAGE.get_string( 'BOM', 'CST_ORGANIZATION_LABEL' ) );
317: RETURN FALSE;
318: end if;
319:
320: WHEN NO_DATA_FOUND THEN
318: end if;
319:
320: WHEN NO_DATA_FOUND THEN
321: -- htp.p( 'No matching organization found' );
322: error( FND_MESSAGE.get_string( 'BOM', 'CST_ORGANIZATION_LABEL' ) );
323: return FALSE;
324:
325: WHEN OTHERS THEN
326: -- htp.p( 'Uncaught exception' );
323: return FALSE;
324:
325: WHEN OTHERS THEN
326: -- htp.p( 'Uncaught exception' );
327: error( FND_MESSAGE.get_string( 'BOM', 'CST_ORGANIZATION_LABEL' ) );
328: return FALSE;
329:
330: END Validate_Org;
331:
345: EXCEPTION
346: WHEN TOO_MANY_ROWS THEN
347: if P_PLAN_NAME is null then
348: -- htp.p( 'Too many matching areas found' );
349: error( FND_MESSAGE.get_string( 'BOM', 'CST_AREA_LABEL' ) );
350: return FALSE;
351: end if;
352:
353: select max(compile_designator), count(*)
358: if l_count = 1 then
359: RETURN TRUE;
360: else
361: -- htp.p( 'Too many matching areas found' );
362: error( FND_MESSAGE.get_string( 'BOM', 'CST_AREA_LABEL' ) );
363: RETURN FALSE;
364: end if;
365:
366: WHEN NO_DATA_FOUND THEN
364: end if;
365:
366: WHEN NO_DATA_FOUND THEN
367: -- htp.p( 'No matching area found' );
368: error( FND_MESSAGE.get_string( 'BOM', 'CST_AREA_LABEL' ) );
369: return FALSE;
370:
371: WHEN OTHERS THEN
372: -- htp.p( 'Uncaught exception' );
369: return FALSE;
370:
371: WHEN OTHERS THEN
372: -- htp.p( 'Uncaught exception' );
373: error( FND_MESSAGE.get_string( 'BOM', 'CST_AREA_LABEL' ) );
374: return FALSE;
375:
376: END Validate_Plan;
377: