闲人闲谈PS之三十六——项目状态控制

news2024/11/20 10:44:51

**惯例闲话:**最近感觉时间不够用,脑子有很多想法,但是到下笔却感觉总是下不了手,写完一段,感觉和自己想的差距很大,然后有全部删除…这难道就是传说中年纪大了,手脚不停使唤…这让闲人更加焦虑了,前篇还说立了flag,难道就要打退堂鼓——还有一种可能性,就是追求完美主义的后遗症,但愿是后者。
闲话到此为止,今天聊聊项目状态管理。

项目状态管理的应用场景

项目全生命周期管理中,项目状态是常见的管控点。常见的有,将项目分成前期、计划、执行、收尾以及竣工等状态。
项目状态的主要应用于统计分析和管控业务。统计分析很好理解,管理层需要企业当前项目的进展情况,工程企业中,总共多少项目,哪些项目处在投标阶段,哪些项目中标,哪些项目在设计阶段,哪些项目在施工阶段等等,这些都是都是影响管理层需要了解的关键的经营信息。管控业务,则相对比较细节化,对于企业中层管理者而言,是一个重要的管理措施,举例如下:

在这里插入图片描述

通过上表可以看出,在不同的项目状态下,业务具有不同的管控点,大部分管控点均围绕项目的成本利润实现有关。下面就以上表为例,选取个别状态来说明SAP的状态配置和管控业务的实现过程。

相关技术配置

SAP的项目状态管理分为2大类,系统状态和用户状态。

系统状态常见的有创建状态CRTD、下达(REL)、技术性完成(TECO)、关闭(CLSD),系统状态是SAP固有的标准配置,为各个模块通用,不可变动。可以通过事务代码BS22来查看相应的系统状态下的受控业务。举例,查看创建状态的受控范围。

在这里插入图片描述在这里插入图片描述

如果想改变系统状态的受控内容,如下图,则双击状态编码上I0001,对相应的业务动作上单选框上做勾选即可。但是,笔者强烈的反对这样改配置,系统状态是其他模块公用的,一改必然会影响其他模块的使用。在笔者参与过的实施项目中,曾经出现过更改系统状态造成模块之间冲突事件,比如把PS模块创建CRTD状态的控制点改为可以货物移动,那么PP模块的生产订单在CRTD状态也可以领料发货,此类类似的情况屡见不鲜,教训也是惨痛的。这就是为何禁止这样修改系统状态控制内容的原因。

在这里插入图片描述
因此,PS模块实施,必然要启用用户状态功能。PS模块可以启用状态管理的有项目定义、WBS、网络三个结构对象,配置方法一样,我们以最常用的WBS为例,配置如下:

第1步: WBS状态参数文件配置
操作路径 项目系统->结构->实施结构->工作分解结构(WBS)->工作分解结构用户状态->创建状态参数文件
事务代码 OK02
配置说明 SAP经典的参数文件配置,用户状态的核心配置。配置之前,需要业务确认的文件有,状态清单,每个状态受控的业务清单。
配置内容
配置路径如下。
在这里插入图片描述
选中PS000002 WBS元素状态参数文件,点击复制按钮生成ZPS0003自定义状态参数文件并保存。双击新定义的状态参数文件之后,进入主配置界面,按照蓝图确定好的状态配置。

在这里插入图片描述

配置参数说明如下:
状态编号:从准备10——关闭60,编号间隔按照10。 这里有个思考,为何状态编号补按1-6这样的间隔来设置?我们在SAP中出处可见这种有别于常见自然数顺序的排序编号,如网络作业编号0010、0020,生产订单工序0010、0020……经历过蓝图流程反复变更就知道这其中奥妙。比如系统刚配置完成,用户想在准备和计划状态之间,增加一个状态投标,那问题来了如果按照1-6这样的编号规则,那么新增的投标状态自然得从7号编号,但是从实际应用排序上,应该排在1,2之间,这样便于使用,不至于引起误解。但是计算机的排序是按照编码,所以这就产生了矛盾。那么解决这个问题的方法,就是扩大编码间隔的容量,这就很简单了,用编号11即可轻松解决,这种解决方案让人拍案叫绝,这就不得不佩服SAP的设计思路。所谓大道至简,大抵如此。
状态(ID)和短文本:Z010~Z060,对每一个用户状态定义一个ID,以及描述。ID编码规则同上。状态ID会在TJ30T中保存,可作为BAPI输入参数改变WBS状态。在后续BAPI章节做详细介绍。
最低状态和最高状态:每一个当前状态可退回去最低和最高状态序号。如图配置,20计划状态,设置10,30,表示当前状态如果为20时候,可以退回到10准备状态,以及上升到30施工状态。在业务上,通常会有这样的考虑,项目状态具有连续性,不得跳序,如计划状态时候不能直接到竣工或关闭状态,同样道理,施工状态也不能直接跳回到准备状态。
在这里插入图片描述

请读者思考,如果允许施工状态能直接退回到10准备状态,升级到60关闭状态,应该如何设置?
授权代码:每一个用户状态的操作授权码,当绑定授权代码之后,只有授权的用户才能去修改状态。如图配置,ZPS00001财务部门的授权,ZPS00002计划部门授权,表示对应的WBS用户状态只能由相应的授权用户来操作。
双击其中一个状态编号20计划,进入业务管控配置页面。
在这里插入图片描述

点击 在这里插入图片描述
进入详细的业务动作选择清单。注意这里所列的业务动作清单,是系统标准的功能,暂不支持自定义的事务功能。我们以请购和采购的控制点为例,希望能实现项目在计划Z020阶段,不能进行物资请购和采购。
在业务控制栏位下滚动查找,找到材料采购定单和材料采购申请,单选禁止,保存。

在这里插入图片描述

业务事务这个栏位中有比较多的选项,除了采购申请和采购订单的控制之外,结合常见的业务控制策略的选项说明:
控制物料移动:发货,发货过账,货物移动,采购定单货物接收
控制成本记账:FI: 统计记帐FI: 记帐
控制预算调整:锁定预算,预算补充,预算
控制销售单据:建立销售订单、建立开票凭证
具体每一个事务动作的控制,可边设置边做测试。

统状态是WBS(其他业务对象也适用)必填的属性,这就意味着,每个用户状态必然会对应一个系统状态,而且是唯一。笔者的结论,应在系统状态的基础框架下设置用户状态,用户状态对应唯一的系统状态。对于系统状态对应,笔者根据经验做如下对照:

在这里插入图片描述
设计用户状态的前提,需要了解系统状态的详细内容,避免出现,用户状态和系统状态的控制逻辑冲突,用户状态对系统状态一对多。

在这里插入图片描述系统状态和用户状态联动。业务要求竣工和系统TECO状态联动。按下图配置,将技术实现动作的设置选中。注意这里的联动关系,区分主动和被动,系统状态主动,用户状态被动触发。

在这里插入图片描述

第2步: 用户状态的授权码
操作路径 项目系统->结构->实施结构->工作分解结构(WBS)->工作分解结构用户状态->定义WBS的授权码
事务代码 BS52
配置说明 用户状态的授权操作码定义。用于控制状态的修改权限。
配置内容:
配置2个授权码,用于步骤1中状态码的修改权限。授权码可按照部门也可按照状态清单每一个都定义。如果对于管控的颗粒度不是很高,可按照部门,本例按照部门来设置。
在这里插入图片描述
第3步: 状态参数文件分配给项目参数文件
操作路径 项目系统->结构->实施结构->工作分解结构(WBS)->创建项目参数文件
事务代码 OPSA
配置说明 用户状态参数文件分配给项目参数文件
配置内容
将状态参数文件分配给项目参数文件后,用户状态对项目生效。注意,更改凭证勾选,勾选后,任何修改状态的操作都会留下日志备查。否则,不会有日志保存,无法查询历史记录。切记要勾上。
在这里插入图片描述

其他模块配合

在这里插入图片描述

前台应用

第1步:建项目并改用户状态
操作路径
事务代码 CJ20N
操作岗位 计划管理部门
前置业务 项目前期结束,进入计划阶段
操作输出 项目和状态更改
操作内容:
创建项目1520000199,为了测试出差异,直接下达,将用户状态改为Z020 计划。
在这里插入图片描述
在这里插入图片描述

第2步:建采购申请的控制
操作路径
事务代码 ME51N
操作岗位 计划管理部门
前置业务 项目前期结束,进入计划阶段
操作输出 禁止建采购申请提示
操作内容:
ME51N建采购申请,系统提示:用户状态Z020(计划)是活动的。根据此状态,不允许事务’材料采购请求’。验证功能已生效。这里我们可以发现,虽然系统状态是REL,允许采购申请或采购订单,但是由于WBS启用了用户状态控制,在Z020用户状态的控制下,禁止用该WBS创建采购申请。这里可以推断,用户状态和系统状态,对业务的控制,是串联关系,必须同时满足才允许业务执行。从这个角度分析,笔者的结论是,系统状态的控制事务清单应包含用户状态控制事务,举例说明,系统状态REL控制了100种事务业务,那么REL状态下的用户状态,应在这100中事务业务中进行选取。避免出现,系统状态禁止的业务,在用户状态中可以被允许。
在这里插入图片描述

测试授权码对用户权限的控制

第1步:建2个角色
操作路径
事务代码 PFCG
操作岗位 IT后台管理
前置业务 业务蓝图的权限控制策略
操作输出 角色授权
操作内容:
进入角色权限对象参数维护界面,建角色Z_PS001_F804_01(财务人员),插入权限对象B_USERSTAT。授权参数中STSMA是状态参数文件,选择自定义的ZPS00003,对象类型OBTYP则选择PRN,这里可以点开搜索帮助在列表中选择,BERSL选择授权码ZPS0001。
在这里插入图片描述

再建一个角色Z_PS001_F804_02(计划人员),其他参数同上,授权码配置维护ZPS0002

在这里插入图片描述
第2步:计划岗位操作
操作路径
事务代码 CJ20N
操作岗位 计划岗位
前置业务 计划人员误操作项目进入计划阶段,出现特殊情况需要将项目状态撤回到准备状态
操作输出 计划人员未授权计划状态的授权码,禁止操作提示
操作内容:
系统提示无授权
在这里插入图片描述
第3步:财务岗位操作
操作路径
事务代码 CJ20N
操作岗位 计划岗位
前置业务 项目进入计划阶段,财务人员误操作状态改到施工状态
操作输出 财务人员未授权计划状态的授权码,禁止操作提示
在这里插入图片描述

再测试下财务改回准备状态。

在这里插入图片描述
第4步:状态联动
操作路径
事务代码 CJ20N
操作岗位 计划岗位
前置业务 项目进入竣工阶段,计划岗位做系统状态TECO
操作输出 TECO技术完成设置后,用户状态自动变成50竣工
操作内容:
实际测试中,我们在Z020计划状态做TECO,系统提示报错。这个错误信息。再一次验证了在用户状态逐级改变的策略下,系统状态变更也遵循配置规则。

在这里插入图片描述
逐级更改用户状态到40 收尾。做TECO操作,用户状态变到了50 竣工状态

在这里插入图片描述

小结

从这一测试过程中,我们发现,WBS系统状态REL,TECO,CLSD,通过用户状态的联动关系设置,可以对系统状态的设置起到约束的作用,从而有效解决实际应用场景中的一些管控需求,比如项目不到收尾状态不能TECO,可以用这个思路来解决问题。
需要注意的是,部分场景下,通过MRP自动跑出采购申请,则不受状态控制。这个就需要在MRP程序中做相应的增强干预。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/62454.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[附源码]计算机毕业设计基于Springboot数字乡村基础治理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【JDBC】------ResultSet(结果集)和常见异常

分享第二十条励志语句 宁可自信,也不要盲目悲观。因为自信是一种力量,即使你的自信有些盲目,也无关大局,你可以在实践中调整心态,找到自己的恰当的位置。如果盲目自卑,你就必然失去一切。 目录 分享第二十…

汇编语言之母逝世,71岁时还和儿子合写神经网络论文

凯瑟琳・布斯被称为汇编语言之母,具体来说就是她创造了第一个“汇编语言”。 在1940年代中期,第一台通用电子计算机最初并没有用于代码的内部存储。如果我们想要用它编程,就要操纵数千个开关和电缆,而这些开关和电缆所在的位置&am…

GDP-L-岩藻糖,鸟苷二磷酰岩藻糖,Guanosine 5′-diphospho-β-L-fucose sodium salt

产品名称:GDP-L-岩藻糖,鸟苷二磷酰岩藻糖 英文名称:Guanosine 5′-diphospho-β-L-fucose sodium salt 英文别名 [(2R,3S,4R,5R)-5-(2-Amino-6-oxo-1,6-dihydro-9H-purin-9-yl)-3,4-dihydroxytetrahydro-2-furanyl]methyl (3S,4R,5S,6S)-3,…

周末小技 | 开发一个Feeds流系统——写扩散模式

点个关注👆跟腾讯工程师学技术导语 | 本文主要针对Feeds流进行介绍,将从Feeds流的演变入手,带你一步步了解Feeds流,而后学习如何从开发角度入手,对其进行建模,抽象出Feeds流常见的架构,最终搭建…

Python开发6年,整理的《Python从入门到精通学习笔记》免费下载

前言 首先明确一点:为什么要学习python? 我说几个最主要的。 1.简单易学,入门友好 python其实就是英文句子,你只要能够认识基本的英文单词,你就可以非常熟练地使用python。 (文末送读者福利&#xff09…

[附源码]计算机毕业设计水果管理系统Springboot程序

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

苹果app开发流程详解​

苹果App Store上传应用流程详解,在向AppStore提交应用之前,开发者首先要成为苹果iOS开发者项目的成员,每年向苹果缴纳99美元或199美元的费用(具体申请方法后期更新)。​ 免688开发IOS应用,根据apple的规定…

信号驱动任务执行(pause、sigsuspend函数)

信号驱动任务指的是通过信号来驱动任务的执行,每发送一次信号,任务就执行一次。实现该目的所需的函数就是 pause 或者 sigsuspend,pause和sigsuspend函数可以暂停当前进程,直至收到信号才会继续运行之后的程序。 目录 1、认识 pa…

实战:kubeadm方式搭建k8s集群(containerd)-2022.12.5(成功测试-超详细)【荐】

实战:kubeadm方式搭建k8s集群(containerd)-2022.12.5(成功测试-超详细)【荐】 写在开头 语雀原文阅读效果最佳,原文地址:实战:kubeadm方式搭建k8s集群(containerd)-2022.12.5(成功测试-超详细)【荐】 语雀 《实战:ku…

Liunx进程间信号

Linux进程间信号 文章目录Linux进程间信号1.信号的理解1.1 对信号的认识1.2 为什么要有信号1.3 信号概念1.4 查看系统定义的信号的方法1.5 信号的处理方式2.产生信号的方法2.1 通过终端按键发送信号2.2 通过系统函数发送信号2.3 通过软件条件发送信号2.4 通过硬件异常发送信号2…

股市资讯天宇优配|政策利好叠加竞争格局向好 机构做多建材板块

近来,受房地产板块上涨带动,建材板块也敞开一轮反弹行情,东方雨虹、三棵树、科顺股份等体现抢眼。在组织看来,房地产职业近期利好政策频出,商场对建材职业后期需求的忧虑将会消解。另一方面,在过去一年多的…

计算机总线详解(数据总线、地址总线、控制总线)

文章目录1 概述2 总线分类2.1 数据总线 Data Bus2.2 地址总线 Address Bus2.3 控制总线 Control Bus3 扩展3.1 常考题3.2 百度百科 - 总线 Bus1 概述 总线(Bus)是计算机各种功能部件之间传送信息的 公共通信干线如果说 主板(Mother Board&am…

Hadoop集群安装和搭建

Hadoop集群安装和搭建 前言    Hadoop是一个开源的、可运行与Linux集群上的分布式计算平台,用户可借助Hadoop存有基础环境的配置(虚拟机安装、Linux安装等),Hadoop集群搭建,配置和测试。 一、虚拟机的安装  VMware …

.sqlite后缀文件转为sql文件

第一步 安装sqlite3 1.官网下载 https://www.sqlite.org/download.html ,因为我是win64的,需要下载图片这两个安装包 2.将解压下载的安装包 首先创建一个文件夹,比如放在D盘,在D盘创建一个文件目录sqlite,路径最终为D:\sqlit…

二本蒟蒻的带牌退役感言(感谢两年来的acm经历)

TP20年10月20年 - 21年期间22年开始,大二下暑假后,怎么就大三了,时间好快第47届icpc杭州站润~20年10月 一个高考发挥失常的蒟蒻来到了化大。他带着不甘和兴奋走进了大学的殿堂,励志要好好学习天天向上。 可是很快现实就给予了充…

Eolink如何解决API测试痛点

文章目录前言一、API测试的痛点二、eolink可以解决什么?2.1 Eolink是什么?2.2 Eolink可以解决什么?三、环境安装以及实践操作3. 1 下载安装3.2 创建项目四、支持所有自动化接口测试场景4.1 单API接口测试4.2 API变更智能通知4.3 API历史版本对…

Kube-OVN子网

子网是 Kube-OVN 中的一个核心概念和基本使用单元,Kube-OVN 会以子网来组织 IP 和网络配置,每个 Namespace 可以归属于特定的子网, Namespace 下的 Pod 会自动从所属的子网中获取 IP 并共享子网的网络配置(CIDR,网关类…

代码随想录刷题Day55 | 392. 判断子序列 | 115. 不同的子序列

代码随想录刷题Day55 | 392. 判断子序列 | 115. 不同的子序列 392. 判断子序列 题目: 给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形…

阿里又出神作:最新Spring Cloud Alibaba全解手册限时开源,手慢无

有一说一,网上的那些Spring Cloud 学习资料大多是老版本那套东西,学习 Spring Cloud Alibaba 才是目前最正确的姿势!Spring Cloud Alibaba 基于 Spring Cloud 构建,提供了对 Alibaba 组件的封装而已,其最顶层的抽象还是…