User Tools

Site Tools


preinsert_trigger_insert_action_pre_processing_.htm
Navigation:  ABC Library Reference > FileManager > FileManager Methods >====== PreInsert(trigger insert action pre-processing) ====== Previous pageReturn to chapter overviewNext page

PreInsert(OpCode, AddLength ErrCode, ErrMsg ), returncode

PreInsert Returns confirmation that valid dictionary trigger activity has occurred before an insert action, and optionally sets an error code and message to be processed.
OpCode A SIGNED integer that indicates the type of ADD that will be attempted.
AddLength An UNSIGNED integer that indicates the record length about to be added when the ADD ( File, Length) mode is active.
ErrCode A string constant, variable, EQUATE, or expression that represents an error code.
ErrMsg A string constant, variable, EQUATE, or expression that represents an error message.
returncode Indicates if an error occurs.

The PreInsert method is a virtual method that returns a TRUE value by default if pre-insert trigger activity was processed normally. The developer must set the return level to FALSE if any problems occurred in the pre-insert trigger activity code. When PreInsert returns FALSE, an ERRORCODE 100 (trigger error) is posted. If ErrCode is set, then FILEERRORCODE will be set to the contents of ErrCode when the error is processed by the ErrorClass object for the associated file (table). Similarly, FILEERROR will be set to ErrMsg.

The OpCode and AddLength parameters can be used in your pre-processing trigger code.

DriverOp:ADD ADD(FILE)
DriverOp:Append APPEND(FILE)
DriverOP:AddLen ADD(FILE,LENGTH)
DriverOp:AppendLen APPEND(FILE,LENGTH)

Use the Equates provided in EQUATES.CLW (shown above) to test the OpCode. AddLength is used to return the value of the length parameter if used with ADD.

The PreInsert method is accessible from a table's trigger properties located in the Dictionary Editor, or, in the Global Embeds of a target application

Implementation:

PreInsert is implemented using the file driver callback mechanism, therefore, this method will have access to all variables that the File Manager has access to. These variables and the ones added in the Data section of the method will allow the developer to insert code that will be executed before an INSERT action for a file.

Return Data Type:     BYTE

Example:

 CODE

 PUSHERRORS()

 ReturnValue = PARENT.PreInsert(OpCode,AddLen,ErrCode,ErrMsg)

  MESSAGE('Trigger Test Before Insert')

  !Trigger code entered here

 POPERRORS()

 RETURN ReturnValue

See Also:     PostInsert , PreDelete , PreUpdate

preinsert_trigger_insert_action_pre_processing_.htm.txt · Last modified: 2021/04/15 15:57 by 127.0.0.1