Attach_Main_File - BaseData_Set

Performs attach command on main file

Type: Event

Parameters: None

Syntax
Procedure Attach_Main_File 

Description

Attach_Main_File performs an attach. It gets called during save and find operations. An Attach moves related field data from a parent table to the DDO's table. This ensures that the relationship values between tables are properly maintained.

Note that this attach is only applied to parent DDOs that are connected to this DDO. If a parent table is related to the DDO's main-file but there is no parent DDO connected to the DDO, no attach will occur.

You can use this procedure to create additional attaches, to cancel all attaches, or to create your own custom attaches. The following sample performs a normal attach except that one of the field's attaches is ignored.

Procedure Attach_Main_File
    String sTempVal

    Move Vndr.Parent_Stat to sTempVal // remember this value

    // the normal attach will attach data from all parent files 
    // including an attach into Vndr.Parent_Stat. We want to
    // ignore this attach
    Forward Send Attach_Main_File

    Move sTempVal to Vndr.Parent_State // undo this one attach
End_Procedure


Note that Attach_Main_File and Relate_Main_File are not true inverses of each other. Relate_Main_File does nothing by default (the relate occurs as part of the find). Attach_Main_File actually performs the attach command. If you do not forward, the message no attach will occur.

When accessing table values you should always access the global file buffers and not the DDO buffers (i.e., use "Move File.Field to var" syntax). See Understanding File Buffers and DDO Field Buffers for more information.

With the BaseData_set class, this attach behavior attaches all open parent files. Normally this is not a desired behavior. The DataDictionary sub-class (the class you will be using) has a different, better behavior. With DDO classes, this attach will only occur if the parent DDO is part of the current DDO structure. This behavior can be altered by setting the property pbDDAttach.

See Also

When to Use the File-Buffer | Defining Data Dictionary Events | Understanding Relates and Attaches