微软项目管理[EPM]数据库应用举例1: 找到所有正在进行的项目

关键字:
microsoft project server
enterprise project outline code

涉及的表

表名 说明
MSP_WEB_PROJECTS 项目表
MSP_CODE_FIELDS大纲代码Field_ID和Code_UID对应表
MSP_OUTLINE_CODES 大纲代码表
MSP_FIELD_ATTRIBUTES 定义域属性;该表包含与域属性(如自定义 WBS、自定义域名称别名和自定义域公式等)有关的数据。
MSP_ATTRIBUTE_STRINGS 该表存储在 MSP_FIELD_ATTRIBUTES 中所定义的自定义 WBS 代码定义、别名和公式


先通过定义的大纲代码名称找到大纲代码的FieldID

 

None.gif
None.gif
declare   @tFieldValue   varchar ( 300 )
None.gif
None.gif
set   @tFieldValue   =   ' Project Status '
None.gif
None.gif 
None.gif
None.gif
declare   @FieldID   int  –定义大纲的域字段
None.gif
None.gif 
None.gif
None.gif
-- 取得全局项目的Proj_ID
None.gif

None.gif
declare   @GlobalProjID   int
None.gif
None.gif
SELECT   @GlobalProjID = PROJ_ID  FROM  MSP_PROJECTS  WITH  (NOLOCK,  INDEX = I_MSP_PROJECTS_PROJ_TYPE)    WHERE  PROJ_TYPE  =   2
None.gif
None.gif 
None.gif
None.gif
SELECT
None.gif
None.gif
@FieldID   =  A.ATTRIB_FIELD_ID
None.gif
None.gif
FROM  MSP_FIELD_ATTRIBUTES A,MSP_ATTRIBUTE_STRINGS B 
None.gif
None.gif
WHERE  
None.gif
None.gifA.PROJ_ID 
=  B.PROJ_ID 
None.gif
None.gif
AND  A.AS_ID  =  B.AS_ID 
None.gif
None.gif
AND  A.ATTRIB_FIELD_ID  >=   188744529  
None.gif
None.gif
AND  A.ATTRIB_FIELD_ID  <=   188744768  
None.gif
None.gif
AND  A.ATTRIB_ID  =   206   
None.gif
None.gif
AND  A.PROJ_ID  =   @GlobalProjID
None.gif
None.gif
and  b.AS_VALUE  =   @tFieldValue
None.gif
None.gif
-- ORDER BY A.ATTRIB_FIELD_ID
None.gif

None.gif 

ATTRIB_FIELD_ID AS_VALUE                                                                                                                                                                                                                                                       

--------------- ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

188744589       Project Status

It is 188744589

在根据全局项目@GlobalProjID和大纲代码的@FieldID,以及设置的状态值取得CODE_UID

 

None.gif
None.gif
None.gif
declare   @stautsValue   varchar ( 300 )
None.gif
None.gif
set   @stautsValue = ' In progress '
None.gif
None.gif 
None.gif
None.gif
declare   @code_uid   int
None.gif
None.gif 
None.gif
None.gif 
None.gif
None.gif
select  
None.gif
None.gif
@code_uid   =  CODE_UID
None.gif
None.gif
FROM  MSP_OUTLINE_CODES 
None.gif
None.gif
WHERE  
None.gif
None.gifPROJ_ID 
=   @GlobalProjID   AND  
None.gif
None.gifOC_CACHED_IS_VALID 
>   0    AND  OC_FIELD_ID  IN  ( @FieldID AND  CODE_UID  >   0  
None.gif
None.gif
-- ORDER BY OC_FIELD_ID,CODE_UID
None.gif

None.gif
and   cast (OC_NAME  as   varchar ( 300 ))  =   @stautsValue
None.gif
None.gif 
None.gif
None.gif
print   @code_uid

 

再根据这个@code_uid 到表MSP_CODE_FIELDS 来查看所有在运行的项目

 

None.gif  
None.gif
None.gif
select   *   from  MSP_WEB_PROJECTS
None.gif
None.gif
where  
None.gif
None.gifPROJ_ID
None.gif
None.gif
in
None.gif
None.gif(
None.gif
None.gif
select  Proj_ID  from  MSP_CODE_FIELDS
None.gif
None.gif
where  code_uid  =   @code_uid
None.gif

转载于:https://www.cnblogs.com/king_astar/archive/2005/07/29/202899.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值