LOCAL llRetVal llRetVal = .t. PRIVATE pcParentDBF,pnParentRec,pcChildDBF,pnChildRec,pcParentID,pcChildID PRIVATE pcParentExpr,pcChildExpr STORE "" TO pcParentDBF,pcChildDBF,pcParentID,pcChildID,pcParentExpr,pcChildExpr STORE 0 TO pnParentRec,pnChildRec IF _triggerlevel=1 BEGIN TRANSACTION PRIVATE pcRIcursors,pcRIwkareas,pcRIolderror,pnerror,; pcOldDele,pcOldExact,pcOldTalk,pcOldCompat,PcOldDBC pcOldTalk=SET("TALK") SET TALK OFF pcOldDele=SET("DELETED") pcOldExact=SET("EXACT") pcOldCompat=SET("COMPATIBLE") SET COMPATIBLE OFF SET DELETED ON SET EXACT OFF pcRIcursors="" pcRIwkareas="" pcRIolderror=ON("error") pnerror=0 ON ERROR pnerror=rierror(ERROR(),message(),message(1),program()) IF TYPE('gaErrors(1)')<>"U" release gaErrors ENDIF PUBLIC gaErrors(1,12) pcOldDBC=DBC() SET DATA TO ("TASTRADE") ENDIF first trigger LOCAL lcParentID && parent's value to be sought in child LOCAL lcChildWkArea && child work area handle returned by riopen LOCAL lcParentWkArea LOCAL llDelHeaderarea lcStartArea=select() llRetVal=.t. lcParentWkArea=select() SELECT (lcParentWkArea) pcParentDBF=dbf() pnParentRec=recno() STORE GROUP_ID TO lcParentID,pcParentID pcParentExpr="GROUP_ID" lcChildWkArea=riopen("employee","group_id") IF lcChildWkArea<=0 IF _triggerlevel=1 DO riend WITH .F. ENDIF at the end of the highest trigger level RETURN .F. ENDIF not able to open the child work area pcChildDBF=dbf(lcChildWkArea) llRetVal=!SEEK(lcParentID,lcChildWkArea) SELECT (lcChildWkArea) pnChildRec=recno() pcChildID=GROUP_ID pcChildExpr="GROUP_ID" IF !llRetVal DO rierror with -1,"Delete restrict rule violated.","","" ENDIF =rireuse("employee",lcChildWkArea) IF NOT llRetVal IF _triggerlevel=1 DO riend WITH llRetVal ENDIF at the end of the highest trigger level SELECT (lcStartArea) RETURN llRetVal ENDIF IF _triggerlevel=1 do riend with llRetVal ENDIF at the end of the highest trigger level SELECT (lcStartArea) RETURN llRetVal ** "End of Referential integrity Delete trigger for" user_level ******************************************************************************** ********************************************************************************