This tutorial shows you how to configure a subassembly to pass information between the L! workbook (local prompts), and the S! workbook (subassemblies). This example expands on the overview article "Overview: Passing Prompt Information Between Workbooks" and shows how to configure the door subassemblies in a very simple Base Starter Horizontal product to receive and react to the upper-level product prompts for the bay swing. It will demonstrate the simplicity of using this method to establish data communication between workbooks.
In this simple example, we want to pass the data for a prompt named "Bay_1_Left_Swing" from the top-level product prompt to a subassembly named "Base Single Door."
This formula evaluates to a pipe-delimited list of prompts and values that will be passed from the product prompts to the subassembly prompts.
The syntax and definition of each element in the formula are found in the article link in the first paragraph above. Left_Swing in the evaluated formula refers to the subassembly prompt that will be searched for, and if found, populated with the data immediately following the semi-colon (1). The name in the evaluated formula must match the subassembly prompt name exactly for the prompt data to be passed through to the subassembly prompts.
Left_Swing and Right_Swing in the evaluated formulas refer to the subassembly prompts that will be searched for. If the program finds a subassembly prompt name that matches exactly, the subassembly prompt will be populated with the data immediately following the semi-colon (1). The name in the evaluated formula must match the subassembly prompt name exactly for the prompt data to be passed through to the subassembly prompts. Right-click on the first Base Single Door subassembly and select "Show Subassembly File." Compare the prompt names specified in the subassembly Prompt Values cells with the corresponding subassembly prompts and values in the figures below.
In the examples above, the product prompts passed to the two Base Single Door subassemblies are named "Left_Swing" and "Right_Swing." Therefore, the program looks for a subassembly prompt named "Left_Swing" in the first subassembly, and if it finds it, it populates the value cell of that prompt with the PROMPT_VALUE parameter that is passed through. It looks for a subassembly prompt named "Right_Swing" in the second subassembly, and if it finds it, it populates the value cell of that prompt with the prompt value. That value may be a hard value or the result of a formula.
This newly modified product with the prompt data passed product to the subassembly replaces the need for lookup tables and their associated complexity.