• 微软项目管理[EPM]数据库应用举例2: 取得一个项目的某大纲代码的值


    关键字:
    microsoft project server
    enterprise project outline code

    涉及的表

    表名

    说明

    MSP_WEB_PROJECTS

    项目表

    MSP_CODE_FIELDS

    大纲代码Field_IDCode_UID对应表

    MSP_OUTLINE_CODES

    大纲代码表

    MSP_FIELD_ATTRIBUTES

    定义域属性;该表包含与域属性(如自定义 WBS、自定义域名称别名和自定义域公式等)有关的数据。

    MSP_ATTRIBUTE_STRINGS

    该表存储在 MSP_FIELD_ATTRIBUTES 中所定义的自定义 WBS 代码定义、别名和公式。

     

     

    -- 先取得FieldID

     

    declare @tFieldValue varchar(300)

    set @tFieldValue = 'Product Development Manager'

     

    declare @FieldID int

     

    declare @GlobalProjID int

    SELECT @GlobalProjID = PROJ_ID FROM MSP_PROJECTS WITH (NOLOCK, INDEX=I_MSP_PROJECTS_PROJ_TYPE)   WHERE PROJ_TYPE = 2

     

    SELECT @FieldID = A.ATTRIB_FIELD_ID

    FROM MSP_FIELD_ATTRIBUTES A,MSP_ATTRIBUTE_STRINGS B

    WHERE

    A.PROJ_ID = B.PROJ_ID

    AND A.AS_ID = B.AS_ID

    AND A.ATTRIB_FIELD_ID >= 188744529

    AND A.ATTRIB_FIELD_ID <= 188744768

    AND A.ATTRIB_ID = 206 

    AND A.PROJ_ID = @GlobalProjID

    and b.AS_VALUE = @tFieldValue

    --ORDER BY A.ATTRIB_FIELD_ID

     

    print 'fieldid : ' + cast(@FieldID as varchar(30))

     

    --在表MSP_CODE_FIELDS根据FieldID和项目ID得到code_uid

    declare @code_uid int

    SELECT @code_uid = CODE_UID FROM MSP_CODE_FIELDS

    WHERE PROJ_ID = 22

    and

    code_Field_ID = @FieldID

    --ORDER BY CODE_FIELD_ID,CODE_REF_UID

     

    print @code_uid

     

    --回到表MSP_OUTLINE_CODES找到对应值

    select

    OC_NAME

    FROM MSP_OUTLINE_CODES

    WHERE

    PROJ_ID = @GlobalProjID

    and code_uid =@code_uid

    --AND OC_CACHED_IS_VALID > 0  AND OC_FIELD_ID IN (@FieldID) AND CODE_UID > 0

    --ORDER BY OC_FIELD_ID,CODE_UID

  • 相关阅读:
    命令行下的curl使用详解
    升级python版本(从2.4.3到2.6.5)
    vim设置
    php中curl模拟post提交多维数组
    vim折叠设置
    基础算法4——归并排序
    总线类型
    主板分类
    网卡 接口类型
    基础算法3——直接选择排序和堆排序
  • 原文地址:https://www.cnblogs.com/king_astar/p/202911.html
Copyright © 2020-2023  润新知