How Dependencies Are Handled
This section describes how iiimport and iiexport handle the relationships between frames and dependent components when you copy a frame.
A frame in a Vision application is interconnected with other frames in the application. For example, a frame can be a parent frame that calls one or more child frames. The parent/child structure of the application is displayed in the application flow diagram. Other components of an application, for example menu items and parameters, depend on the relationships of one frame to another.
Because the same frame can appear more than once in the application, a frame can have multiple relationships in the application. For example, a frame can have one child frame in one place, and another child frame in another place.
When you are copying a frame from one application to another, the iiimport and iiexport commands do not know the relationships that can exist between that frame and others in the target application.
The parent/child structure of the target application can be different from the structure of the exporting application. For the frame to be consistent and usable after the frame is imported, the dependent components, such as menu items, must reflect the structure of the target application. For this reason, components which depend on the relative positions of frames to one another are not included as part of the frame definition when you copy a frame.
The iiimport command does not change the following dependent components:
• Child frames (unless specified explicitly)
If the frame is a parent frame in a Vision application, iiimport does not copy the child frames unless you explicitly specified the child frames to iiexport.
If parent and child frames are both copied (specified explicitly to iiexport), the frames are copied singly, and not in relationship to each other. The iiimport command does not change the parent/child structure of the target application, or the related menu items.
• Menu items associated with child frames
Because the menu for a frame reflects its child frames, iiimport preserves the menu for the structure of the target application, rather than changing it to reflect the structure in the exported application.
Any user-defined menu items are copied as part of the frame, because they are contained in escape code and do not depend on the parent/child structure.
• Frame parameter passing
The iiimport command preserves the passing of frame parameters you have specified in the target application. If the exported application passes parameters between frames, this information is not copied when the frame is copied. You must specify this in the target application. (Any local variables that you defined to use for passing parameters are copied.)
• Global components (unless specified explicitly)
A frame can also be dependent on global components, that is, global constants, record types, global procedures, or global variables. For the frame to run correctly, those components must exist in the target application. When you copy a frame with iiexport and iiimport, global components are not automatically copied, even if the frame references them. To copy global components, you can specify them explicitly to iiexport.
Last modified date: 01/30/2023