📄 risp.old
字号:
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 ("通用进销存管理系统")
ENDIF first trigger
LOCAL lcParentID && parent's value to be sought in child
LOCAL lcOldParentID && previous parent id value
LOCAL lcChildWkArea && child work area handle returned by riopen
LOCAL lcChildID && child's value to be sought in parent
LOCAL lcOldChildID && old child id value
LOCAL lcParentWkArea && parentwork area handle returned by riopen
LOCAL lcStartArea
lcStartArea=select()
llRetVal=.t.
lcParentWkArea=select()
SELECT (lcParentWkArea)
pcParentDBF=dbf()
pnParentRec=recno()
lcOldParentID=OLDVAL("编号")
pcParentID=lcOldParentID
pcParentExpr="编号"
lcParentID=编号
IF lcParentID<>lcOldParentID
lcChildWkArea=riopen("订单表")
IF lcChildWkArea<=0
IF _triggerlevel=1
DO riend WITH .F.
ENDIF at the end of the highest trigger level
SELECT (lcStartArea)
RETURN .F.
ENDIF not able to open the child work area
pcChildDBF=dbf(lcChildWkArea)
SELECT (lcChildWkArea)
SCAN FOR 客户编号=lcOldParentID
pnChildRec=recno()
pcChildID=客户编号
pcChildExpr="客户编号"
IF NOT llRetVal
EXIT
ENDIF && not llretval
llRetVal=riupdate("客户编号",lcParentID,"客户信息表")
ENDSCAN get all of the 订单表 records
=rireuse("订单表",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
ENDIF this parent id changed
IF _triggerlevel=1
do riend with llRetVal
ENDIF at the end of the highest trigger level
SELECT (lcStartArea)
RETURN llRetVal
** "结束参照完整性更新触发器" 客户信息表
********************************************************************************
********************************************************************************
procedure __RI_UPDATE_商品信息表
** "参照完整性更新触发器" 商品信息表
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 ("通用进销存管理系统")
ENDIF first trigger
LOCAL lcParentID && parent's value to be sought in child
LOCAL lcOldParentID && previous parent id value
LOCAL lcChildWkArea && child work area handle returned by riopen
LOCAL lcChildID && child's value to be sought in parent
LOCAL lcOldChildID && old child id value
LOCAL lcParentWkArea && parentwork area handle returned by riopen
LOCAL lcStartArea
lcStartArea=select()
llRetVal=.t.
lcParentWkArea=select()
SELECT (lcParentWkArea)
pcParentDBF=dbf()
pnParentRec=recno()
lcOldParentID=OLDVAL("编号")
pcParentID=lcOldParentID
pcParentExpr="编号"
lcParentID=编号
IF lcParentID<>lcOldParentID
lcChildWkArea=riopen("订单表")
IF lcChildWkArea<=0
IF _triggerlevel=1
DO riend WITH .F.
ENDIF at the end of the highest trigger level
SELECT (lcStartArea)
RETURN .F.
ENDIF not able to open the child work area
pcChildDBF=dbf(lcChildWkArea)
SELECT (lcChildWkArea)
SCAN FOR 商品编号=lcOldParentID
pnChildRec=recno()
pcChildID=商品编号
pcChildExpr="商品编号"
IF NOT llRetVal
EXIT
ENDIF && not llretval
llRetVal=riupdate("商品编号",lcParentID,"商品信息表")
ENDSCAN get all of the 订单表 records
=rireuse("订单表",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
ENDIF this parent id changed
SELECT (lcParentWkArea)
pcParentDBF=dbf()
pnParentRec=recno()
lcOldParentID=OLDVAL("编号")
pcParentID=lcOldParentID
pcParentExpr="编号"
lcParentID=编号
IF lcParentID<>lcOldParentID
lcChildWkArea=riopen("入库日志")
IF lcChildWkArea<=0
IF _triggerlevel=1
DO riend WITH .F.
ENDIF at the end of the highest trigger level
SELECT (lcStartArea)
RETURN .F.
ENDIF not able to open the child work area
pcChildDBF=dbf(lcChildWkArea)
SELECT (lcChildWkArea)
SCAN FOR 商品编号=lcOldParentID
pnChildRec=recno()
pcChildID=商品编号
pcChildExpr="商品编号"
IF NOT llRetVal
EXIT
ENDIF && not llretval
llRetVal=riupdate("商品编号",lcParentID,"商品信息表")
ENDSCAN get all of the 入库日志 records
=rireuse("入库日志",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
ENDIF this parent id changed
SELECT (lcParentWkArea)
pcParentDBF=dbf()
pnParentRec=recno()
lcOldParentID=OLDVAL("编号")
pcParentID=lcOldParentID
pcParentExpr="编号"
lcParentID=编号
IF lcParentID<>lcOldParentID
lcChildWkArea=riopen("入库信息表")
IF lcChildWkArea<=0
IF _triggerlevel=1
DO riend WITH .F.
ENDIF at the end of the highest trigger level
SELECT (lcStartArea)
RETURN .F.
ENDIF not able to open the child work area
pcChildDBF=dbf(lcChildWkArea)
SELECT (lcChildWkArea)
SCAN FOR 商品编号=lcOldParentID
pnChildRec=recno()
pcChildID=商品编号
pcChildExpr="商品编号"
IF NOT llRetVal
EXIT
ENDIF && not llretval
llRetVal=riupdate("商品编号",lcParentID,"商品信息表")
ENDSCAN get all of the 入库信息表 records
=rireuse("入库信息表",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
ENDIF this parent id changed
SELECT (lcParentWkArea)
pcParentDBF=dbf()
pnParentRec=recno()
lcOldParentID=OLDVAL("编号")
pcParentID=lcOldParentID
pcParentExpr="编号"
lcParentID=编号
IF lcParentID<>lcOldParentID
lcChildWkArea=riopen("零售信息表")
IF lcChildWkArea<=0
IF _triggerlevel=1
DO riend WITH .F.
ENDIF at the end of the highest trigger level
SELECT (lcStartArea)
RETURN .F.
ENDIF not able to open the child work area
pcChildDBF=dbf(lcChildWkArea)
SELECT (lcChildWkArea)
SCAN FOR 商品编号=lcOldParentID
pnChildRec=recno()
pcChildID=商品编号
pcChildExpr="商品编号"
IF NOT llRetVal
EXIT
ENDIF && not llretval
llRetVal=riupdate("商品编号",lcParentID,"商品信息表")
ENDSCAN get all of the 零售信息表 records
=rireuse("零售信息表",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
ENDIF this parent id changed
SELECT (lcParentWkArea)
pcParentDBF=dbf()
pnParentRec=recno()
lcOldParentID=OLDVAL("编号")
pcParentID=lcOldParentID
pcParentExpr="编号"
lcParentID=编号
IF lcParentID<>lcOldParentID
lcChildWkArea=riopen("库存信息表")
IF lcChildWkArea<=0
IF _triggerlevel=1
DO riend WITH .F.
ENDIF at the end of the highest trigger level
SELECT (lcStartArea)
RETURN .F.
ENDIF not able to open the child work area
pcChildDBF=dbf(lcChildWkArea)
SELECT (lcChildWkArea)
SCAN FOR 商品编号=lcOldParentID
pnChildRec=recno()
pcChildID=商品编号
pcChildExpr="商品编号"
IF NOT llRetVal
EXIT
ENDIF && not llretval
llRetVal=riupdate("商品编号",lcParentID,"商品信息表")
ENDSCAN get all of the 库存信息表 records
=rireuse("库存信息表",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
ENDIF this parent id changed
SELECT (lcParentWkArea)
pcParentDBF=dbf()
pnParentRec=recno()
lcOldParentID=OLDVAL("编号")
pcParentID=lcOldParentID
pcParentExpr="编号"
lcParentID=编号
IF lcParentID<>lcOldParentID
lcChildWkArea=riopen("入库退货")
IF lcChildWkArea<=0
IF _triggerlevel=1
DO riend WITH .F.
ENDIF at the end of the highest trigger level
SELECT (lcStartArea)
RETURN .F.
ENDIF not able to open the child work area
pcChildDBF=dbf(lcChildWkArea)
SELECT (lcChildWkArea)
SCAN FOR 商品编号=lcOldParentID
pnChildRec=recno()
pcChildID=商品编号
pcChildExpr="商品编号"
IF NOT llRetVal
EXIT
ENDIF && not llretval
llRetVal=riupdate("商品编号",lcParentID,"商品信息表")
ENDSCAN get all of the 入库退货 records
=rireuse("入库退货",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
ENDIF this parent id changed
IF _triggerlevel=1
do riend with llRetVal
ENDIF at the end of the highest trigger level
SELECT (lcStartArea)
RETURN llRetVal
** "结束参照完整性更新触发器" 商品信息表
********************************************************************************
********************************************************************************
procedure __RI_UPDATE_员工信息表
** "参照完整性更新触发器" 员工信息表
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 ("通用进销存管理系统")
ENDIF first trigger
LOCAL lcParentID && parent's value to be sought in child
LOCAL lcOldParentID && previous parent id value
LOCAL lcChildWkArea && child work area handle returned by riopen
LOCAL lcChildID && child's value to be sought in parent
LOCAL lcOldChildID && old child id value
LOCAL lcParentWkArea && parentwork area handle returned by riopen
LOCAL lcStartArea
lcStartArea=select()
llRetVal=.t.
lcParentWkArea=select()
SELECT (lcParentWkArea)
pcParentDBF=dbf()
pnParentRec=recno()
lcOldParentID=OLDVAL("编号")
pcParentID=lcOldParentID
pcParentExpr="编号"
lcParentID=编号
IF lcParentID<>lcOldParentID
lcChildWkArea=riopen("操作员信息表")
IF lcChildWkArea<=0
IF _triggerlevel=1
DO riend WITH .F.
ENDIF at the end of the highest trigger level
SELECT (lcStartArea)
RETURN .F.
ENDIF not able to open the child work area
pcChildDBF=dbf(lcChildWkArea)
SELECT (lcChildWkArea)
SCAN FOR 员工编号=lcOldParentID
pnChildRec=recno()
pcChildID=员工编号
pcChildExpr="员工编号"
IF NOT llRetVal
EXIT
ENDIF && not llretval
llRetVal=riupdate("员工编号",lcParentID,"员工信息表")
ENDSCAN get all of the 操作员信息表 records
=rireuse("操作员信息表",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
ENDIF this parent id changed
IF _triggerlevel=1
do riend with llRetVal
ENDIF at the end of the highest trigger level
SELECT (lcStartArea)
RETURN llRetVal
** "结束参照完整性更新触发器" 员工信息表
********************************************************************************
**__RI_FOOTER!@ Do NOT REMOVE or MODIFY this line!!!! @!__RI_FOOTER**
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -