首页 primavera 6.0 使用手册

primavera 6.0 使用手册

举报
开通vip

primavera 6.0 使用手册 Primavera Integration API 使 用 手 册 上海普华科技发展有限公司 吕小妮 第一章 Primavera API 概要 11..11 简简介介 随着业务需求的不断增长,高速互联网/局域 网所催生的发展机遇,企业要求快速交换信息,实 现信息快速共享,以提高企业内部各个部门的共同 协作效率和水平,要求将企业生产信息,企业销售 信息,企业服务信息和企业管理信息集成在一起。 作为企业项目管理信息平台的 Primavera软件 也提供了快速与其他系统的集成方法...

primavera 6.0 使用手册
Primavera Integration API 使 用 手 册 上海普华科技发展有限公司 吕小妮 第一章 Primavera API 概要 11..11 简简介介 随着业务需求的不断增长,高速互联网/局域 网所催生的发展机遇,企业要求快速交换信息,实 现信息快速共享,以提高企业内部各个部门的共同 协作效率和水平,要求将企业生产信息,企业销售 信息,企业服务信息和企业管理信息集成在一起。 作为企业项目管理信息平台的 Primavera软件 也提供了快速与其他系统的集成方法:Primavera Integration API。 Primavera Integration API 是在企业级应用 上,提供与其他的应用系统一个无缝的访问接口。 具有以下特征: 1、 一个支持所有的关键业务对象和功能的接 口; 2、 可升级,性能稳定,可以支持大型企业级 的集成; 3、 安全性高,无论是在应用层还是在网络层; 4、 以面向对象的方式封装了 Primavera 所有 的业务对象,每个业务对象都有自己的属 性和方法。用户所面对的是和 Primavera 程序 中一样的对象,如,项目,WBS,作业,资源 等等。用户不需要考虑数据库。 11..22 架架构构 Primavera Integration API 是遵循 Primavera 业务逻辑(Primavera Business Rule Engine BRE) 的,遵循 Primavera 的 myPrimavera 的业务对象逻 辑,技术上的连接池,缓存,许可和安全等基本原 理也同于 myPrimavera。 Primavera Integration API 有两种架构 “Local Mode”和“Remote Mode”。 Local Mode 模式,也就是 Standalone,那么, Primavera Integration API 就不需要一个应用服 务器,这个模式最方便建立的。其架构图如下: 如果配置成 Remote Mode 模式,那么, Primavera Integration API 就必须要有一台应用 服务器,这台服务器上要求有 JSP 服务器,也就是 J2EE 服务器,现在 Primavera 支持的 J2EE 服务器 有 BEA WebLogic, IBM WebSphere,或者是 Oracle 9iAS。其架构图如下: 55 技术问答 关于 Primavera Integration API 的 Remote Mode 连接逻辑对比 myPrimavera 的连接逻辑图如下: 注意: 1、myPrimavera 服务器包含一个 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示层组件 (Presentation Component),用于生成应用服务程 序中的 HTML,XML 和一些图片文件,远程客户通过 这个组件访问连接。而 Primavera Integration API 有一个集成组件(integration component),通过 这个组件让远程的客户连接。 2、在 myPrimavera 和 Primavera integration API 中,他们是使用同样的连接许可,也就是说, 一个 myPrimavera 用户就有一个 myPrimavera 的许 可,Primavera Integration API 也是同样的原理, 一个通过 Primavera Integration API 访问用户就 得有一个许可。 3、在应用层的安全性上,由于 Primavera integration API 的 RMI Client 上可以使用 SSL, 那么,对比 myPrimavera 和 Primavera integration API 都是可以使用 SSL 的。因此,myPrimavera 和 Primavera integration API 都可以作为商业应用。 56 11..33 RReemmoottee MMooddee 配配置置图图和和集集成成时时序序图图 集成时序图 Java Remote Method Invocation(RMI)允许用户 写 Java 分布式对象。 RMI通过Java对象提供了一个简单直接的分布式计 算。 Java 信奉“write once,run anywhere”,RMI 不但 继承了 Java 这一特性,还更加发扬了其功能。由于 RMI 是基于 Java 开发的,所以,也秉承了 Java 的 安全,方便,分布计算的特性。 11..44 功功能能函函数数 尽管本章讲了一些功能函数,但只讲了一些核 心的功能函数,还有很多功能函数和周边功能函数 请 参 考 Primavera API 安 装 之 后 路 径 下 的 技术问答 \PrimaveraAPI\docs\api\index.html。 Primavera API 功能可读可写的模块有: Activities Activity Codes Activity Period Actuals Activity Relationships Activity Steps Baselines Budget Change Logs Calendars Collaboration Documents Cost Accounts Expense Categories Financial Periods Funding Sources Notebooks OBS Overhead Codes Portfolios & Teams Projects Project Codes Project Issues Project Risks Project Thresholds Security Settings Resources Resource Assignments Resource Assignment Period Actuals Resource Codes Resource Rates Roles User Defined Fields Users WBS Primavera API功能只可读的模块有: Date/Time Stamps Project Initiation Resource Planning Spread Data Summary Data Timesheets Primavera API另外增加的模块有: Apply Actuals Copy Project Export/Import via XML Run Batch Reports Schedule and Level Store Period Performance Summarize 11..55 数数据据库库表表名名与与 AAPPII 类类名名对对应应说说明明 表名 类名 访问 权限 说明 ACCOU NT CostAccoun t RW Cost accounts ACTVC ODE ActivityCo de RW Activity code values ACTVT YPE ActivityCo deType RW Activity codes BASET YPE BaselineTy pe RW Baseline types BUDGC HNG EPSBudget ChangeLog RW EPS Budget change log BUDGC HNG ProjectBud getChangeL og RW Project Budget change log CALEN DAR Calendar RW Calendars - base, project, and resource COSTT YPE ExpenseCat egory RW Expense categories CURRT YPE Currency RW Currency information DOCCA TG DocumentCa tegory RW Categories for 57 技术问答 documents DOCST AT DocumentSt atusCode RW Status codes for work products and documents DOCUM ENT Document RW Documents and work products FINDA TES FinancialP eriod RW Financial Periods FUNDS RC FundingSou rce RW Funding sources ISSUH IST IssueHisto ry RO Issue histories MEMOT YPE NotebookTo pic RW Notebook topics NONWO RK OverheadCo de RW Overhead codes OBS OBS RW Project organization al breakdown structure PCATT YPE ProjectCod eType RW Project code types PCATU SER ProjectCod eUser RO PCATV AL ProjectCod e RW Project code values PFOLI O ProjectPor tfolio RW Project portfolios PHASE WBSCategor y RW WBS categories PREFE R GlobalPref erences RO Admin preferences PROCG ROUP ActivitySt epTemplate RO Activity Step Template PROCI TEM ActivitySt epTemplate Item RO Activity Step Template Items PROFI LE GlobalProf ile RW User Global security profiles PROFI LE ProjectPro file RW User Project security profiles PROJC OST ActivityEx pense RW Expenses for a project PROJE CT BaselinePr oject RO Project Baseline PROJE CT Project RW PROJE ST ProjectEst imate RW History of estimates done for project PROJF UND EPSFunding RW EPS funding sources PROJF UND ProjectFun ding RW Project funding sources PROJI SSU ProjectIss ue RW Project issues PROJR ISK ProjectRis k RW Project risks PROJT HRS ProjectThr eshold RW Project thresholds PROJW BS EPS RW EPS work breakdown structure PROJW BS WBS RW Project work breakdown structure 58 技术问答 RCATT YPE ResourceCo deType RW Resource code types RCATV AL ResourceCo de RW Resource code values RFOLI O ResourceTe am RW Resource portfolios RISKT YPE RiskType RW Risk types RLFOL IO RoleTeam RW Role portfolio dictionary ROLER ATE RoleRate RO Role Rates ROLES Role RW Roles RPTBA TCH BatchRepor t RO Report series for batch printing RSRC Resource RW Resources RSRCC URV ResourceCu rve RW Resource curves RSRCH OUR ResourceHo ur RO Resource-tim esheet hours RSRCR ATE ResourceRa te RW Time-varying resource prices and maximum units RSRCR OLE ResourceRo le RW Resource-rol e assignments RSRCS EC ResourceAc cess RO SHIFT Shift RW Shift definitions for resources SHIFT PER ShiftPerio d RO Work periods within shifts TASK Activity RW Activities TASKD OC ProjectDoc ument RW Work products and documents assigned to activities TASKF IN ActivityPe riodActual RW Activity Past Period Actuals TASKM EMO ActivityNo te RW Activity specificatio ns TASKP RED Relationsh ip RW Activity dependencies TASKP ROC ActivitySt ep RW Activity steps TASKR SRC ResourceAs signment RW Resources assigned to activities THRSP ARM ThresholdP arameter RO Threshold parameters TIMES HT Timesheet RO Resource timesheets TRSRC FIN ResourceAs signmentPe riodActual RW Resource Assignment Past Period Actuals TSDAT ES TimesheetP eriod RO Timesheet periods UDFCO DE UDFCode RW UDFTY PE UDFType RW User-defined Types UMEAS UnitOfMeas RW Definitions/ 59 技术问答 URE ure labels for all Unit of Measure columns USERC OL UserFieldT itle RO Definitions/ labels for all user-defined columns USERE NG UserLicens e RW Maps users to database engine types for license enforcement USERO BS UserOBS RW User-OBS assignments USERS Users RW Application users USERS ScheduleOp tions RO Schedule Options WBSBU DG EPSSpendin gPlan RW Periodic (monthly) budgets for EPS WBSBU DG ProjectSpe ndingPlan RW Periodic (monthly) budgets for projects and WBS WBSME MO EPSNote RW EPS notebook WBSME MO ProjectNot e RW Project and WBS notebook WBSRS RC ProjectRes ource RO WBSRS RC_QT Y ProjectRes ourceQuant ity RO WBSST EP WBSMilesto ne RW WBS milestones WORKF LOW Initiation RO 第二章 Primavera Integration API 安装说明 22..11 系系统统需需求求 一、Java环境 1、Primavera Integration API要求应用客户端具有 JRE1.4x或1.5.0_x的运行环境。 2、在进行Primavera Integration API开发时,开发 环境需要Java SDK1.4x或1.5.0_x。 二、操作系统 1、windows 2、Solaris 3、Linux 三、数据库 Primavera 5.0 project management数据库: 1、MS SQL Server 2、Oracle 3、MSDE 四、应用程序服务器 1、Tomcat 5.0.x 2、BEA WebLogic Server 8.1x或7.0 3、IBM WebSphere Application Server v5.1 22..22 安安装装过过程程 Primavera Integration API程序光盘随Primavera 软件包一起发放,其光盘名称为API。如果用户没有 拿到,请与上海普华前台联系。 60 技术问答 1、运行Primavera API光盘根目录下的安装程序。 对于Windows操作系统,请运行setup.exe程序; 对于Linux系统平台,请运行setupLinux.bin程 序; 对于Solaris系统平台,请运行 setupSolaris.bin程序; 2、如果该机器上已经安装了J2SE或者是安装了 J2SDK,那么,直接出现欢迎界面,请点击下一步。 如果没有安装,那么要求先在这台机器上安装 JRE1.4.2、DK1.4.2或者以上。(关于J2SE1.4及 J2SDK1.4的安装,请参考其他的相关文档。) 3、接受许可 协议 离婚协议模板下载合伙人协议 下载渠道分销协议免费下载敬业协议下载授课协议下载 。 4、选择安装类型。 可选择的安装类型有: z Local Mode Packages Only -- 本机安装 Local Mode,没有RMI。 z Client Side Package Only -- Remote Mode Client安装,但是只安装Client端的 Java库, XML导入/导出工 具,一些DEMO程序 以及 Primavera Integration API 的参考文档。 z Weblogic 8.1x Server -- Remote Mode Server安装,安装在Weblogic8.1x的 应 用服务器 上。 z Tomcat5.0 -- Remote Mode Server安装,安装在Tomcat5.0的应 用 服务器上。 z Other supported J2EE compatible application or Web servers -- Remote Mode Server安装, 安装在其他类型 的应用 服务器上。 ¾ Local Mode 安装 ① Local Mode安装是指在安装了Primavera数 据库的机器上安装Primavera Integration API程序, Primavera API直接与数据库连接进行访问。在上述 步骤中选择了“Local Mode Packages Only”安装时, 进行本段的安装。 ② Primavera API程序安装路径,默认为 C:\Program Files\Primavera\IntegrationAPI。用 户也可以自定义这个路径。 请在“Specify the location of the JDK”中选择 这台机器上已经安装的有效的JRE路径。默认情况下 安装向导程序自动查找到相应的JRE路径。 61 技术问答 ③ 本节只安装Client端的Java库,一些DEMO程序以 及Primavera Integration API的参考文档。 ④ 拷贝文件。 ⑤ 点击完成,完成 Primavera Integrate API Local Mode 的安装。 ¾ Remote Mode Client 安装 ① Remote Mode Client安装是指在一台客户 机上,只安装Primavera Integration API的客户端 程序,Remote Client与Primavera Integration API 服务器连接进行访问。在上述步骤中选择了“Client Side Package Only”安装时,进行本段的安装。 ② Primavera API 程序安装路径,默认为 C:\Program Files\Primavera\ IntegrationAPI。 用户也可以自定义这个路径。 请在“Specify the location of the JDK”中 选择这台机器上已经安装的有效的 JRE 路径。 62 技术问答 ③ 本节只安装Client端的Java库,一些DEMO 程序以及Primavera Integration API的参考文 档。 ④ 拷贝文件。 ⑤ 数据库的连接配置,请参考Primavera5.0安装手 册中的相关章节。 点击完成,完成 Primavera Integrate API 在 Remote Mode 模式的 Client 端的安装。 ¾ Remote Mode Server(Weblogic)安装 ① Remote Mode Server(Weblogic)安装是指 在一台安装了Weblogic的J2EE服务器上,安装 Primavera Integration API的服务器端程序,作为 Primavera Integration API服务器提供服务。在上 述步骤中选择了“Weblogic 8.1x Server”安装时, 进行本段的安装。 ② 请在“Specify the location of the JDK”中 选择这台机器上已经安装的有效的 JDK 路径。 Primavera Integration API作为服务进,对外提供 HTTP服务的端口号默认为8080,对外提供HTTPS服务 的端口号默认为8081。用户也可以根据实际情况修改 成其他的端口号。 63 技术问答 ③ 确认是否将这个Primavera Integration API 安 装成一个服务。用户也可以选择不安装成一个服务, 每次需要时手工启动。 ④ 确认本节安装信息有Primavera Integration API客户端组件,服务器端组件,Java的开发参考文 档以及Primavera Integration API的Web应用程序组 件。如果有变动,可以点击“上一步”进行修改。 ⑤ 拷贝文件。 ⑥ 点击完成,完成 Primavera Integrate API 服务 器端的安装。 ⑦ 安 装 完 成 之 后 , 创 建 一 个 “ Primavera Integration API5.0”程序组。如下图所示。 ⑧ 如 果 在 第 ③ 步 中 选 择 了 “ Primavera Integration API 安装成一个服务”,那么, Primavera Integration API 安装完成之后,在服务 器 的 服 务 列 表 中 存 在 一 个 “ beasvc PrimaveraAPI_PrimaveraAPI Server”的服务,让该 服务自动启动。 用 户 也 可 以 在 不 启 动 “ beasvc PrimaveraAPI_PrimaveraAPI Server”服务的情况 下,启动程序组中的“Start Weblogic Server For Primavera Integration API5.0 SP1”作为服务。如 64 技术问答 下图所示。 ⑨ 至此,Primavera Integration API For Weblogic 的RMI服务器端安装完成。 ¾ Remote Mode Server(Tomcat)安装 安装位置同于“Remote Mode Server(Weblogic) 安装”,只是此时是以Tomcat作为J2EE服务器。本文 档不详细讲解。 ¾ Remote Mode Server(其他 J2EE)安装 安装位置同于“Remote Mode Server(Weblogic) 安装”,只是此时是以其他的 J2EE 服务器作为应用服 务器。本文档不详细讲解。 22..33 AAPPII 许许可可 Primavera Integration API 的许可与用户现有 产品许可绑定的,因此,用户如果需要 API 进行二次 开发,请与上海普华技术支持联系。 API 许可获取之后,要求加载到数据库,加载时, 要求注册,注册方法与本身许可的注册一致。具体请 参考《Primavera5.0 安装说明》第四章注册数据库。 API 加载成功之后,在 PM 程序中,帮助,关于 Primavera,单位页面,可以看到 Integration API 的 许可加载成功,如“Integration API NU(30),CU(0), 没有过期日期”。 确认 API 许可加载成功之后,对 Primavera 用 户授予 API 使用的许可。如下图所示,对 admin 这个 用 户 授 予 Integration API 的 使 用 许 可 。 在 Primavera API 客户端连接 API 服务器端时,只有授 予了 Integratin API 许可的用户方可通过 API 客户 端连接。 第三章 Primavera API 基础 33..11 PPrriimmaavveerraa AAPPII 基基础础 –– SSeessssiioonn •打开 Primavera API 参考文件,可以查到 Session 类。 •在 Primavera API 中有很多静态成员函数(这些成 员函数在创建类的实例后就可以被引用。)•这些 Session 类有: 1. isLocalModeAvailable() 2. isRemoteModeAvailable() 3. getDatabaseInstances(String sUrl) 4. Login(String sUrl,StringsDbId, String sUserName, String sPassword) 注:•Login 是一个静态成员函数,在引用它 时,将会创建一个实例 Session。 •其他的几个 Session 也是静态成员函 数,这些成员函数将帮助使用者获取登 录信息。 65 技术问答 •在的本机模式访问, isLocalModeAvailable()返回一个 True 值。 1、如果使用的是 Local 模式,那么请在写系统 属性时,如下写: System.setProperty("primavera.bootstrap .home","C:\\Program Files\\primavera\\PrimaveraAPI"); 2 、 如 果 是 远 程 访 问 , isRemoteModeAvailable() 返 回 一 个 True 值。 • getDatabaseInstances(String sUrl) 的引用如下所示: 1、 Session.getDatabaseInstances (); 2、此处的输入为一个 API 服务器 的 URL 字符串; 3、如果是远程访问模式,那么这 个字符趾值为 RMIURL,即访问远 程机器的 URL; 4、如果是本地模式,那么这个值 为 NULL; 5 、 Session.getDatabaseInstances ()返回 DatabaseInstance 实例 对象类型; 6、从返回值可以知道连接访问的 数据库是哪一个; 7、用户可以同时得到数据库的 ID 和数据库名称; 8、每个数据库实例同时包括两个 成员函数: •getDatabaseID – 包含数 据库 ID; 66 •getDatabaseName – 包含 数据库名称; •另外一个静态成员函数为 Login,这个 函数返回一个 session 对象。 •Login 成员函数输入有 RMIURL,数据库 ID,用户 ID 和用户口令。 •在Java代码中获取一个Session对象的代码如下所 示: Session mysession = Session.login(null,”1”,”S eanj”,”MyHardToGuessPasswo rd”) •所有通过 Login 成员函数登录的引用的 API 中的权 限,全部继承在 Project Management 中给用户所设 置的权限。这样确保了权限的一致性。 •一旦获取了 Session 对象,用户就可以引用非静态 成员函数。 •非静态成员函数有: getDatabaseInstanceId() getUserName() getXMLExporter getUserObjectId getXMLImporter getJobManager() getGlobalObjectManager logout() •上述成员函数返回的是用户及数据库信息有: •getUserName() 返回包含登录的用户名字符 串; •getUserObjectId() 返回登录用户的对象 ID 号; •getDatabaseInstanceId() 返回包含登录时 连接的数据库 ID 号; •成员函数logout释放Session和所有的登录后引用 的资源。 •其他的 4 个成员函数用于生产环境中的 API。 •成员函数 getGlobalObjectManager 是这几个中非 常重要的,此处只讲其概貌。 33..22 PPrriimmaavveerraa AAPPII 基基础础 –– XXMMLL •XMLImporter 和 XMLExporter 可以导入/导出包含 业务逻辑的数据到一个文件中。 技术问答 •这些导入/导入的文件是以 XML 格式存在。 •XML 支持可扩展标记语言(Extensible Markup Language XML)。 •XML 是一种标准的用于描述数据的文件格式,正如 HTML 是一种标准的用于描述 Web 页的文件格式。 •成员函数 XMLExporter 支持单个业务逻辑的写入。 •成员函数 XMLImporter 支持项目级数据的导入。 33..33 PPrriimmaavveerraa AAPPII 基基础础 –– JJoobbss •类 JobManager 提供 4 个 PM 的 API 函数。 •进度计算,本期进度更新,汇总这三个任务,一经 提交 Job 到数据库中,就由 Primavera Job Service 具体执行这些 Job。 •一旦提交任务,任务调度中心就调用成员函数实现 任务。 •用户也可以通过调用 JobManager.getJobStatus 来查看这些任务的状态,是否完成等。 •复制项目的操作,不通过 Job Service 来做,但是 这个工作是在 Java 客户端上进行。正因为这个原因, 任务调度中心在没有完成复制项目这个工作之前,是 不会调用任务成员函数的。 33..44 PPrriimmaavveerraa AAPPII 基基础础 –– GGOOMM •大多数 API 对象可以是全局对象管理器(Global Object Manager GOM)管理。 •全局对象管理器(Global Object Manager GOM)用于 访问所有的全局业务逻辑数据: •EPS •Projects •Resources •Roles •全局对象管理器(GlobalObjectManager GOM)通过 引用 Session.getGlobalObjectManager()来取得准 确的 Session。 •全局对象管理器(Global Object Manager GOM)可 以创建,调用,更新,删除。 •全局对象管理器(Global Object Manager GOM)是 用户调用其他的 API 数据的入口。 第四章 BOIterator, Projects, Activities 和 Assignments 44..11 BBOOIItteerraattoorrss——PPrriimmaavveerraa 迭迭代代器器 •在上一章,我们学习到 GlobalObjectManger 这个 类,这让我们学会了怎么调用和使用数据库中很多业 务逻辑数据。 •调用 GlobalObjectManger(GOM)返回一个类型为 BOIterator 的对象。 •BOIterator 是 Primavera 类,支持标准的业务迭代 逻辑。 •查阅 Java 2 参考手册中,Iterator 一个是结构集的成 员,提供给用户访问集对象的一个标准方法。 •BOIterators 和 Java 2 标准的 Iterators 有些不一 样。 •BOIterators 没有远程访问方式,这就意味着初始 封装时 do not have the Remove method, meaning its contents are frozen when initially populated. •BOIterators 有一个 getCount()函数,这个函数可 以返回 Iterator 对象个数。 •函数 getAll()返回所有的 Iterator 业务对象成数 组。(因为性能原因,不推荐使用这个函数) 44..22 PPrroojjeecctt 项项目目业业务务逻逻辑辑 •用户可以周遍查看一下整个项目数据库。 •首先可以得到 GOM。 •然后可以 set BOIterator 等于 LoadProjects 这个 成员函数的结果集。 67 技术问答 •loadProjects 将需要三个参数: 1、一个字符串数组,指定了被引用的字段名; 2、一个子句,指定了被引用的项目; 3、一个字符串指定项目的排序方式; • GlobalObjectManager gom = session.getGlobalObjectManager; BOIterator boiProjects = gom.loadProjects(Project.getAllFields(), ”Id like ‘y2k%’,”Id”); •现在,用户可以通过以下方式创建一个单独的项目 对象: if (boiProjects.hasNext() = true){ Project myProject = (Project) boiProjects.next …. •记住,从 Iterator(迭代器)中得到的对象,不能带 来自己的类的类型,因此,我们应该指出这些类的类 型。 •从上述的语句,现在可以创建一个名为“myProject” 的项目实例。接下测试一下对这个 myProject 所能进 行的操作。 •就这个 myProject 项目的业务逻辑,我们可以进行 如下操作: 1、新建和删除项目; 2、取项目级数据; 3、设置项目级数据; 4、创建和删除这个 myProject 项目下的对象, 如 WBS 等; 5、打开 myProject 项目的上一级和下一级对象; 6、更新 myProject 项目的下一级对象; 7、产生和排列包含所有项目级字段的可读和写 的字符串; •有两种方法创建项目: •方法 1 采用非静态方法创建: •在内存中,使用项目构造器 project (Session session)创建项目。 •引用成员函数 Projects.Create ()。 •返回项目创建后的 ObjectID 号(可能有 很多个 ID 号)。 •方法 2 采用静态方法创建: •引用成员函数 Projects.Create(Session session, Project [] projects)创建项目。 • 以 数 组 的 形 式 返 回 项 目 创 建 后 的 ObjectID 号。(区别于上方法 1,返回项目 对象 ID 形式不一样) •有两种方法删除项目: •方法 1 采用非静态方法删除: •将要删除的项目装载到项目对象中。 •在项目对象上引用成员函数 delete()。 •非静态方法删除只有成功地将项目装载 到项目对象中了delete这个成员函数才有 效。 •方法 2 采用静态方法删除: • 引 用 函 数 Projects.Delete(Session session, Project [] projects)。 •删除传递到上述函数中参数中的项目数 组所指定的项目。 •取项目级数据 •Primavera API 通过 Get/Set 方法访问项目级 数据。 •Primavera API 在 Get/Set 项目数据内容时, 要求这些数据都在内存中: •将数据读入内存时,可以在创建对象时就 装载这些数据。 •将数据读入内存时,也可以重新对相应的 项目运行一下装载命令。 •取到项目级数据后,After loading the fields, they are retrieved with get commands: •getActivityDefaultActivityType()— 返回一个作业类型对象,这个对象反映了 这个项目的默认的作业类型。 •getDataDate— 返回一个日期对象,这个 对象包含了这个项目的数据日期。 •getUserText2—返回一个字符串,这个字 68 技术问答 符串包含 UserText2 这个文本内容。 •写项目级数据 •写项目级数据与读项目级数据步骤是一样的, 如下几个写数据例子: •setActivityDefaultActivityType(Acti vityType acttype)— 对项目写入默认的 作业类型。 •setDataDate(Date dataDate)— 对项目 写入项目的数据日期。 •setUserText2(String usertext2)—对项 目写一个 UserText2 的文本内容。 •创建子对象 •首先为子对象创建一个对象。如下所示: Activity activity = new Activity(Session session) •然后引用创建子对象的成员函数: •createProjectLevelActivity(Activity activity) •createProjectLevelNote(ProjectNote projectlevelnote) •上述两个成员函数返回所创建对象的 ID 号。 • 删除子对象 •首先引用子对象级对象。 •调用 delete 成员函数: •deleteActivities(Activity[] activity) •deleteProjectNotes(ProjectNote[] projectnotes) •Load Parent or Child Objects •loadParentEPS(String[] fields) returns an EPS Object that is the parent of the current project. The EPS fields initially loaded are passed as an array of Strings •loadAllActivities(String[] fields, String sWhereClause, String sOrderBy) returns a BO iterator containing Activity Objects for every activity in the project. •更新子对象 •只要对象有所更新,用户必须将这些变更更新 到数据库中。 •这些变更的更新,是通过 Update 成员函数实 现。 •Rather than call the update method after each change to an activity, we can call the updateAllActivities(Activity [] allactivities) method. This sends the changes for every task in the array to the database at once. •创建包含所有有效的项目级数据的数组 •这是通过 getAllFields()成员函数实现。 •这个成员函数返回一个字符数组,这个数组包 含项目中所有的非编码数据。(就是数据是实际 数据,不是以代码表示的数据) •这是很有用处的,因为,用户可以直接知道数 据实体,而不是一个一个的数据代码。如,如 果某个所取数据为“Data Date”,”DataDate”,”datadate”, “DD” 等情况。 •在打开一个项目,对这个项目中的字段直接进 行操作时,这个也很有用,比较直观。 44..33 AAccttiivviittyy 作作业业业业务务逻逻辑辑 •既然我们已经讲到了项目业务逻辑,接下来我们讨 论一下作业的业务逻辑。 •用户既可以在项目类中引用作业成员函数,也可以 在作业类中引用作业成员函数。 •这两种业务案例,是通过两种不同途径来实现的: •1) 有时候用户只需要操作其中的一个项目, 和与此项目相关的作业。 •2) 有时候用户需要操作全部的项目,并不管 这些作业是在属于哪一个项目。 69 技术问答 •针对上述第二种情况,如,要求合并两个作业 的代码,这时候就不需要将作业的项目目信息 调用,而是仅从数据库中调用相关的作业进行 操作就可以了 •作业业务逻辑可以做的事项如下: •增加和删除作业; •读/写作业级字段; •创建,更新和删除作业下的子对象; •读取作业的上一级及下一级的子对象; •生成包含所有的可用于读/写的作业级字段数 据的数组。 •作业的创建和删除操作: •创建作业时,先创建一个对象: Activity myactivity = new Activity(Session session); •然后调用成员函数: Myactivity.Create(); •删除作业时,直接使用删除成员函数 Myactivity.delete() 70 •读作业的类和取项目类的方法是一样的。 •getStartDate 返回一个开始时间对象,包含作 业的开始时间。 •getType 返回一个作业类型对象,用户可以知 道这个作业是一个任务作业,独立作业,配合 作业等。 •写作业的类与写项目的类的方法是一样的。 •setName(String name)写入作业名称 •setId(String id)写入作业 ID 号, 如 AS100 •创建,更新,删除作业的子对象 •createActivityNote(ActivityNote activitynote)函数是直接从数据库中对一个 作业新建一个记事本。 •deleteActivitySteps(ActivityStep[] activitysteps)函数是直接从数据库中删除一 个作业的步骤。 •updateActivityExpenses(Activ
本文档为【primavera 6.0 使用手册】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_962602
暂无简介~
格式:pdf
大小:1MB
软件:PDF阅读器
页数:24
分类:互联网
上传时间:2011-03-31
浏览量:48