Search Results bom_based_config_validation




Overview

The APPS.BOM_CONFIG_VALIDATION_PUB package is a public PL/SQL API within Oracle Bill of Materials that validates configured model and option selections against the rules defined on the configured bill of materials. It is the programmatic entry point used to determine whether a specific configuration of a model—expressed as a set of ordered options with quantities and item references—represents a valid and complete buildable configuration. The package maintains two global flags, G_VALID_CONFIG and G_COMPLETE_CONFIG, both initialized to 'TRUE', which signal the calling program whether the submitted configuration passed validation and whether it is complete with respect to mandatory classes.

The package belongs to the PUB classification, indicating it is designed for external invocation by other application modules and custom code, rather than being a private helper. Its header identifies it as BOM_Config_Validation_Pub, and the source revision dates to 2005, establishing it as a long-standing component of the BOM configuration infrastructure that remains valid across the 12.1.1 and 12.2.2 releases.

Key Procedures and Functions

The package exposes a single documented procedure, BOM_BASED_CONFIG_VALIDATION. It accepts the top model line identifier along with a PL/SQL associative array of validation records, and returns three output values: x_valid_config, x_complete_config, and x_return_status. The input collection is typed as VALIDATE_OPTIONS_TBL_TYPE, a table of BOM_VALIDATION_REC indexed by BINARY_INTEGER. Each record carries component_code, ordered_quantity, ordered_item, bom_item_type, and sort_order, giving the API the full set of option selections to evaluate.

The procedure performs five distinct checks: it verifies that the ordered quantity of any option falls within the minimum and maximum quantity settings defined in BOM; it confirms that the ratio of an ordered class to its model and an option to its class is an exact integer multiple; it ensures no class exists without any selected option; it enforces that a class with mutually exclusive options does not have more than one option selected; and it confirms that at least one option is selected for every mandatory class.

Tables Accessed

Three objects are referenced through APPS synonyms. BOM_EXPLOSIONS provides the configured bill structure and quantity settings against which ordered quantities and min-max ranges are compared. OE_ORDER_LINES supplies order line context, linking the configuration being validated to its originating sales order line. PLITBLM is used for option item resolution and validation support. Read access to these tables allows the package to reconcile the submitted configuration against both engineering and order management data.

Usage Notes

The package is typically invoked from configuration-related forms, order entry flows, and concurrent programs that must validate a configured model before booking or releasing an order. Custom code commonly calls BOM_BASED_CONFIG_VALIDATION when building integrations that create configured items, passing the top model line identifier and a populated VALIDATE_OPTIONS_TBL_TYPE. Callers must inspect all three output parameters rather than relying solely on x_return_status, because a syntactically successful call can still return an invalid or incomplete configuration. It is referenced by no other application packages, so it functions as a leaf-level public API intended for external consumption.