壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 7334|回复: 0

[其他] IFS CS经验总结8(如何一次性完整删除文档数据)---lenon系列

[复制链接]
发表于 2011/5/22 19:27:26 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
    有时需要在IFS系统中开发一次性完整删除一个文档相关所有数据的功能,而文档模块后台表很多,关系错综复杂,所以整理出如下代码。


/* 删除及修改文档记录
   
*/

/*
ROWSTATE
------------------------------
Approval In Progress
Approved
Archived
Obsolete
Preliminary
Released
*/

/*
_select* FROM  doc_issue_tab
WHERE  doc_no IN ('2005328880002');
--查找文档对应的状态(ROWSTATE字段)
*/

DEFINE DOC_NO_   = ('2005328880005')
DEFINE ROWSTATE_ = 'Archived->Approved'

--STEP 1:
_deleteFROM doc_dist_list_history_tab t
WHERE doc_no IN &DOC_NO_;

--STEP 2:
--_select* from doc_issue_tab t where doc_no = '&DOC_NO_'
_updatedoc_issue_tab
SET    rowstate = SUBSTR('&ROWSTATE_',INSTR('&ROWSTATE_','>')+1)
WHERE  doc_no   IN &DOC_NO_
  AND  rowstate = SUBSTR('&ROWSTATE_',1,INSTR('&ROWSTATE_','>')-2);

--STEP 3:
PROMPT 从客户端"设置作废"文档,然后"删除文档文件",最后"删除文档"

/*用于检查信息是否删除干净
--文档档案
_selectCOUNT(*) from document_issue_history_tab t WHERE  doc_no IN &DOC_NO_;
--访问
_selectCOUNT(*) from document_issue_access_tab t WHERE  doc_no IN &DOC_NO_;
--审批
_selectCOUNT(*) from approval_routing_tab t
WHERE  SUBSTR(key_ref,INSTR(key_ref,'DOC_NO=')+7,INSTR(key_ref,'DOC_REV')-INSTR(key_ref,'DOC_NO=')-8) IN %&DOC_NO_%;
--标题
_selectCOUNT(*) from doc_title_tab t where doc_no IN &DOC_NO_;
*/

/*
_selectCOUNT(*) FROM DOC_DIST_LIST WHERE doc_class = :value1_ AND doc_no = :value2_ AND DOC_REV = :value3_
_selectCOUNT(*) FROM DOC_PACKAGE_TEMPLATE WHERE doc_class = :value1_ AND doc_no = :value2_ AND DOC_REV = :value3_
_selectCOUNT(*) FROM DOC_PACKAGE_TEMPLATE_EXTRA WHERE doc_class = :value1_ AND doc_no = :value2_ AND DOC_REV = :value3_
_selectCOUNT(*) FROM DOC_REFERENCE_OBJECT WHERE doc_class = :value1_ AND doc_no = :value2_ AND DOC_REV = :value3_
_selectCOUNT(*) FROM DOC_STRUCTURE WHERE Doc_Class = :value1_ AND Doc_No = :value2_ AND DOC_REV = :value3_
_selectCOUNT(*) FROM EDM_FILE WHERE doc_class = :value1_ AND doc_no = :value2_ AND DOC_REV = :value3_
_selectCOUNT(*) FROM EDM_FILE_TEMPLATE WHERE doc_class = :value1_ AND doc_no = :value2_ AND DOC_REV = :value3_
_selectCOUNT(*) FROM DOC_STRUCTURE WHERE sub_doc_class = :value1_ AND sub_doc_no = :value2_ AND SUB_DOC_REV = :value3_
_selectCOUNT(*) FROM DOC_DIST_LIST WHERE doc_class = :value1_ AND DOC_NO = :value2_
_selectCOUNT(*) FROM DOC_ISSUE WHERE doc_class = :value1_ AND DOC_NO = :value2_
_selectCOUNT(*) FROM DOC_ISSUE_ORIGINAL WHERE doc_class = :value1_ AND DOC_NO = :value2_
_selectCOUNT(*) FROM DOC_ISSUE_SHEET WHERE doc_class = :value1_ AND DOC_NO = :value2_
_selectCOUNT(*) FROM DOC_PACKAGE WHERE doc_class = :value1_ AND DOC_NO = :value2_
_selectCOUNT(*) FROM DOC_PACKAGE_TEMPLATE WHERE doc_class = :value1_ AND DOC_NO = :value2_
_selectCOUNT(*) FROM DOC_PACKAGE_TEMPLATE_EXTRA WHERE doc_class = :value1_ AND DOC_NO = :value2_
_selectCOUNT(*) FROM DOC_REFERENCE_OBJECT WHERE doc_class = :value1_ AND DOC_NO = :value2_
_selectCOUNT(*) FROM DOC_STRUCTURE WHERE Doc_Class = :value1_ AND DOC_NO = :value2_
_selectCOUNT(*) FROM EDM_FILE_TEMPLATE WHERE doc_class = :value1_ AND DOC_NO = :value2_
_selectCOUNT(*) FROM DOC_STRUCTURE WHERE sub_doc_class = :value1_ AND SUB_DOC_NO = :value2_
*/

UNDEFINE DOC_NO_  
UNDEFINE ROWSTATE_
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/28 23:19 , Processed in 0.010911 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表