Funciones de gestión de datos > Gestión de estructuras de artículos > Desarrollo de lógica de selección avanzada para módulos configurables > Ejemplos y prácticas adecuadas de la lógica de selección avanzada > Creación de estructuras de producto configurables modulares > Diseño de una estructura de producto de módulo
  
Diseño de una estructura de producto de módulo
Muchos productos tienen una serie de subsistemas que tienen sus propios conjuntos de elementos opcionales. En algunos casos, el sistema procesa de forma independiente las opciones de cada subsistema en una progresión lógica. Sin embargo, en otros casos, puede ser necesario que las opciones disponibles en un subsistema se vean afectadas por las selecciones realizadas en otros subsistemas.
Por ejemplo, considere una vitrina de exposición de metal que está disponible en varios modelos diferentes con distintas opciones de exposición, moldura e iluminación. En función del modelo de vitrina de exposición seleccionado, las opciones que están disponibles para los elementos de exposición, moldura e iluminación pueden ser diferentes.
Para una estructura de producto simple con solo unos pocos módulos y un conjunto limitado de opciones, es relativamente fácil crear y probar una estructura de producto configurable adecuada. Sin embargo, si la estructura de producto tiene cinco módulos, cada uno con seis opciones posibles entre las que elegir, el número total de permutaciones (5 x 6 o 30, en este caso) puede ser abrumador.
El enfoque sugerido es organizar la estructura de producto del módulo en módulos configurables, tal como se muestra en la siguiente figura.
En este ejemplo, se supone que la vitrina de exposición está disponible en cinco modelos diferentes, Model_01 a Model_05, y que algunas de las opciones solo se aplican a determinados modelos, como se muestra en la tabla siguiente.
Modelo de Display Case
Trim Options
Lighting Options
Display Options
Model_01
Twin Standard
Single Double
Shelf, Ventilated Shelf, Solid
Model_02
Standard Deluxe
Double, Triple
Shelf, Ventilated Shelf, Solid
Model_03
Twin Standard Deluxe
Single Double Triple
Shelf, Ventilated Rack
Model_04
Twin Standard Deluxe
Single Double Triple
Shelf, Ventilated Shelf, Solid Rack
Model_05
Twin Standard Deluxe
Single Double Triple
Shelf, Ventilated Shelf, Solid Rack
El siguiente paso es establecer los elementos lógicos adecuados de forma modular, de modo que cada módulo de opciones se pueda probar de manera independiente y, a continuación, integrarse en la estructura del producto completo. Por ejemplo, considere la lógica del módulo Trim Options. Este módulo requiere cuatro parámetros, tal como se indica a continuación:
askModel
Cadena, parámetro de entrada
Indicador = "(TRIM OPTIONS) Select the desired display case model"
Restricción: "Model_01", "Model_02", "Model_03", "Model_04", "Model_05"
"hide when driven" = true
useStandard
Booleano, parámetro que no es de entrada
Se ha añadido a la Opción de inclusión de la ficha Componentes del módulo configurable de Display Case para el artículo Bumper, Standard
useTwin
Booleano, parámetro que no es de entrada
Se ha añadido a la Opción de inclusión de la ficha Componentes del módulo configurable de Display Case para el artículo Bumper, Twin
useDeluxe
Booleano, parámetro que no es de entrada
Se ha añadido a la Opción de inclusión de la ficha Componentes del módulo configurable de Display Case para el artículo Bumper, Deluxe
A continuación, se necesita una tabla de casos como pickTrim para controlar la aplicabilidad de las opciones de moldura de cada modelo de la vitrina de exposición, como se muestra en la siguiente tabla.
Modelo de Display Case
Trim Options
Lighting Options
Display Options
Model_03
TwinStandardDeluxe
SingleDoubleTriple
Shelf, Ventilated Rack
Model_04
TwinStandardDeluxe
SingleDoubleTriple
Shelf, Ventilated Shelf, Solid Rack
Model_05
TwinStandardDeluxe
SingleDoubleTriple
Shelf, Ventilated Shelf, Solid Rack
El siguiente paso es establecer los elementos lógicos adecuados de forma modular, de modo que cada módulo de opciones se pueda probar de manera independiente y, a continuación, integrarse en la estructura del producto completo. Por ejemplo, considere la lógica del módulo Trim Options. Este módulo requiere cuatro parámetros, tal como se indica a continuación:
askModel
Cadena, parámetro de entrada
Indicador = "(TRIM OPTIONS) Select the desired display case model"
Restricción: "Model_01", "Model_02", "Model_03", "Model_04", "Model_05"
"hide when driven" = true
useStandard
Booleano, parámetro que no es de entrada
Se ha añadido a la Opción de inclusión de la ficha Componentes del módulo configurable de Display Case para el artículo Bumper, Standard
useTwin
Booleano, parámetro que no es de entrada
Se ha añadido a la Opción de inclusión de la ficha Componentes del módulo configurable de Display Case para el artículo Bumper, Twin
useDeluxe
Booleano, parámetro que no es de entrada
Se ha añadido a la Opción de inclusión de la ficha Componentes del módulo configurable de Display Case para el artículo Bumper, Deluxe
A continuación, se necesita una tabla de casos como pickTrim para controlar la aplicabilidad de las opciones de moldura de cada modelo de la vitrina de exposición, como se muestra en la siguiente tabla.
askModel
useStandard
useTwin
useDeluxe
Model_01
yes
yes
no
Model_02
yes
no
yes
Model_03
yes
yes
yes
Model_04
yes
yes
yes
Model_05
yes
yes
yes
Estas expresiones lógicas permiten probar el módulo Trim Options de forma independiente, de modo que se pueda garantizar que todo funciona según lo previsto.
* 
Sin embargo, si se utiliza el mismo enfoque para cada uno de los módulos, se solicitará al usuario repetidamente el modelo de Display Case que deseen, lo que no resulta práctico. Por lo tanto, después de crear cada uno de los módulos y verificar que funcionan correctamente, es necesario integrarlos juntos.
Para integrar los módulos:
1. Cree un parámetro adecuado para determinar el modelo en el módulo configurable de Display Case, tal como se indica a continuación:
askModel: cadena, parámetro de entrada obligatorio
Indicador = "Select the desired display case model"
Restricción: "Model_01", "Model_02", "Model_03", "Model_04", "Model_05"
2. Establezca una equivalencia entre askModel en el módulo configurable de Display Case y todos sus descendientes.
3. Quite las restricciones de cada parámetro askModel en cada uno de los módulos de opciones.
* 
La eliminación de estas restricciones es necesaria para evitar conflictos entre el módulo configurable de nivel superior de Display Case y los módulos configurables que forman cada módulo.
4. Pruebe la estructura de producto configurable completada. Dado que ya se ha probado cada módulo, solo es necesario verificar que el valor de askModel introducido por el usuario en el módulo configurable de nivel superior de Display Case se ha copiado correctamente en cada uno de los módulos.
* 
Si se muestra el árbol de LDM en la página Definir parámetros de la ventana Configurar y se utiliza el botón Aplicar, se puede ver rápidamente si el valor actual de askModel en el módulo configurable de Display Case se ha copiado en cada uno de los módulos.