资源

使用ANNOTATE=选项(gantte21)

/****************************************************************//*S A S S A M P L E L I B R A R Y*//*                                                              *//*名称:GANTTE21*//*标题:使用ANNOTATE=选项(gantte21)*//*产品:或*//*系统:所有*//*钥匙:GANTT*//*程序:CPM、SORT、GANTT*//*数据:*//*                                                              *//*支持:更新:*//*参考:GANTT章节中的示例21(PM用户指南)*//*MISC:使用ANNOTATE=选项*//*a)在甘特图上打印资源要求*//*b)绘图资源使用和资源可用性*//*在甘特图上*//*                                                              *//****************************************************************//*项目弧形表示活动*/数据widgres;输入任务$1-12天尾部主管工程师;如果工程师^=。则engcost=工程师*200;数据线;批准计划5 1 2 2图纸10 2 3 1研究市场5 2 4 1写入规范5 2 3 2原型15 3 5 4市场。地层。10   4   6  .材料10 5 7。贷款10 5 7 2初始化。产品10 7 8 4评估10 8 9 1测试市场15 6 9。更改5 9 10 2生产0 10 11 4营销0 6 12。假人0 8 6。;数据widgrin;输入每个日期7。型号11-18美元工程师工程成本;每个日期的格式7。;数据线;.重新键入1 2.suplevel 1。2003年12月1日等级3 400002003年12月26日,第4级。;数据保持数据;格式hol date7。;输入hol日期7。姓名$10-18;数据线;2003年12月25日圣诞节2004年1月1日新年;选项ls=80;进程cpm日期='01dec03’d间隔=工作日data=widgres-holidata=holdata树脂=widgrin输出=widgsch2资源=widgroup2;尾节尾;持续天数;头节点头部;假日假期;资源工程师engcost/period=每个obtype=类型规则=lst延迟分析;id任务;运行;title2'资源受限计划:规则=LST';进程打印数据=宽度ch2;运行;*设置所需的模式语句;模式1 c=绿色v=s;/*非写入活动的持续时间*/模式2 c=绿色v=e;/*非书面行为的空闲时间*/模式3 c=红色v=s;/*关键活动持续时间*/图案4 c=红色v=e;/*超级编辑的空闲时间*/pattern5 c=红色v=r2;/*超写行为的持续时间*/图案6 c=青色v=s;/*活动的实际持续时间*/图案7 c=黑色v=x1;/*假期休息*/图案8 c=蓝色v=s;/*行为期间的限制*/title c=黑色h=1.75“甘特图示例21”;title2 c=black h=1.25“显示资源需求”;*将背景设置为白色,文本设置为黑色;goptions ctext=黑色cback=白色;*设置图形选项;goptions vpos=50 hpos=100 htext=1.01;*开始注释过程;*编译注释宏;%annomac;*为第一个图表创建注释数据集;数据注释1;%dclanno;/*设置注释变量的长度和类型*/%系统(2,2,4);/*定义注释参考系统*/设置widgsch2;长度实验室20美元;长度文本$37;Y1=_n_;实验室=“”;如果n_=1,则执行;%标签('03年12月1日,13,'格式:工程师每天,总成本',*,0,0,1.2,画笔,6);结束;如果工程师^=。然后做;/*创建文本标签*/lab=put(工程师,1.)||“工程师”;如果engineer>1,则lab=trim(lab)“s”;如果天数>0,则lab=trim(lab)“,”||put(engcost*天,美元7);/*放置文本标签*/如果y1<10,则执行;x1=最大值(l_finish,s_finish)+2;%标签(x1,y1,实验室,黑色,0,0,1.0,画笔,6);结束;否则;x1=e_start-2;%标签(x1,y1,lab,黑色,0,0,1.0,刷子,4);结束;结束;运行;*标注甘特图;proc-gantt graphics data=widgsch2 holidata=holdata annotate=anno1;图表/压缩假日=(hol)间隔=工作日增量=7ref='2003年12月1日至'2004年3月21日,按周cref=蓝色lref=2dur=天cmile=黑色caxis=黑色;id任务;运行;*计算成本曲线的比例因子;数据_全部_;设置widgrou2end=最终;保留最大成本;如果aengcost>maxcost,则maxcost=aengcost;如果是最终的,则调用信号(“scale”,14/maxcost);运行;*为第二个图表创建注释数据集;数据anno2;%dclanno;/*设置注释变量的长度和类型*/%系统(2,2,4);/*定义注释参考系统*/设置widgeroup2;长度实验室16美元;长度文本$27;x1=时间;y1=15-aengcost*symget(“刻度”);y2=15-重组;实验室=“”;如果n_=1,则执行;/*打印标签*/do i=1到14乘1;实验室=放置((15-i)/symget(‘刻度’),美元7);%标签('04年3月21日,i,实验室,黑色,0,0,1.0,,4);结束;i=0到4乘以1;lab=放置(i,1.);%标签('01dec03'd,15-i,lab,黑色,0,0,1.0,,6);结束;%标签('01dec03'd,10,“资源使用:工程师”,*,0,0,1.2,,6);%标签('02年1月4日,“资源可用性:成本”,*,0,0,1.2,,6);%移动(x1,y1);%推送;结束;否则;/*绘制成本可用性曲线*/%流行音乐;当='a'时;%绘制(x1,y1,黑色,1,2);%推送;/*绘制工程师使用条形图*/当=“b”时;如果y2<=14,则执行;%条(x1,15,x1+1,y2,蓝色,0,l1);结束;结束;运行;title c=黑色h=1.75“甘特图示例21”;标题2 c=黑色h=1.25“绘制资源使用和资源可用性”;*标注甘特图;proc-gantt graphics data=widgsch2 holidata=holdata annotate=anno2;chart/p压缩假日=(hol)间隔=工作日增量=7mindate='2003年12月1日maxdate='04年3月21日ref='2003年12月1日至'2004年3月21日,按周cref=蓝色lref=2dur=天cmile=黑色caxis=黑色;id任务;运行;