Disables database triggers before you perform a dump or load procedure. You must have CAN-DUMP and CAN-LOAD permissions on the table for which you want to disable the triggers.
For more information on database replication, see the reference entry for the RAW-TRANSFER statement, and OpenEdge Data Management: Database Administration.
The following example lets you dump or load the contents of a database table. The procedure uses the DISABLE TRIGGERS statement to disable the appropriate triggers before each dump or load operation.
r-dstrig.p
DEFINE SUB-MENU file
MENU-ITEM viewit LABEL "&View Data"
MENU-ITEM dumpit LABEL "&Dump Data"
MENU-ITEM loadit LABEL "&Load Data".
MENU-ITEM exit LABEL "E&xit".
DEFINE MENU mbar MENUBAR
SUB-MENU file LABEL "&File".
DEFINE BUTTON b_more LABEL "Next".
DEFINE BUTTON b_exit LABEL "Cancel".
DEFINE VARIABLE ix AS INTEGER NO-UNDO.
DEFINE FRAME cust-frame
Customer.CustNum SKIP
Customer.Name SKIP
Customer.Phone SKIP
b_more b_exit
WITH CENTERED SIDE-LABELS ROW 3.
DEFINE STREAM cust.
PAUSE 0 BEFORE-HIDE.
ON CHOOSE OF b_exit IN FRAME cust-frame DO:
HIDE FRAME cust-frame NO-PAUSE.
DISABLE ALL WITH FRAME cust-frame.
LEAVE.
END.
ON CHOOSE OF b_more IN FRAME cust-frame DO:
FIND NEXT Customer NO-LOCK NO-ERROR.
IF NOT AVAILABLE(Customer) THEN
RETURN.
DISPLAY Customer.CustNum Customer.Name Customer.Phone
WITH FRAME cust-frame.
END.
ON CHOOSE OF MENU-ITEM viewit DO:
ENABLE ALL WITH FRAME cust-frame.
FIND FIRST Customer NO-LOCK NO-ERROR.
DISPLAY Customer.CustNum Customer.Name Customer.Phone
WITH FRAME cust-frame.
END.
ON CHOOSE OF MENU-ITEM dumpit DO:
DISABLE TRIGGERS FOR DUMP OF Customer.
ix = 1.
SESSION:IMMEDIATE-DISPLAY = TRUE.
OUTPUT STREAM cust TO "Customer.d".
FOR EACH Customer NO-LOCK:
EXPORT STREAM cust Customer.
DISPLAY ix LABEL "Records Processed"
WITH FRAME rec-info SIDE-LABELS ROW SCREEN-LINES / 2 CENTERED.
ix = ix + 1.
PROCESS EVENTS.
END.
SESSION:IMMEDIATE-DISPLAY = FALSE.
OUTPUT STREAM cust CLOSE. /*
APPLY "ENTRY" TO b_quit IN FRAME butt-frame. */
END.
IF NOT RETRY THEN
ASSIGN
CURRENT-WINDOW:MENUBAR = MENU mbar:HANDLE
CURRENT-WINDOW:VISIBLE = TRUE.
WAIT-FOR CHOOSE OF MENU-ITEM exit.
ON CHOOSE OF MENU-ITEM loadit DO:
DISABLE TRIGGERS FOR LOAD OF Customer.
INPUT FROM "Customer.d".
SESSION:IMMEDIATE-DISPLAY = TRUE.
REPEAT:
CREATE Customer.
IMPORT Customer.
DISPLAY ix LABEL "Records Processed"
WITH FRAME rec-info SIDE-LABELS ROW SCREEN-LINES / 2 CENTERED.
ix = ix + 1.
PROCESS EVENTS.
END.
INPUT CLOSE.
SESSION:IMMEDIATE-DISPLAY = FALSE.
END.
|