最近完成了服务条目审批的工作流,其中服务条目(ML81N)审批业务是PM和PS模块共有的业务。本文分析一下服务条目和采购订单、采购申请、工单、项目及WBS的关系。

一般而言,到服务条目审批要经过之前的创建项目(CJ20N),创建项目WBS(CJ20N),下达项目(CJ20N)。如果是PM业务,需要创建工单,下达工单后系统自动创建采购申请PR。PS业务不通过工单创建采购申请,直接通过手工创建采购申请。接下来流程基本相似,审批采购申请之后,可以创建采购订单PO,审批采购订单。最后通过采购订单创建服务条目,再审批服务条目。

各业务对应的主要的数据表:

项目:PROJ(项目定义)

WBS:PRPS(WBS(工作中断结构) 元素主数据)

工单:AUFK(订单主数据)

采购申请:EBAN(采购申请)

EBKN(采购申请帐户设置)

采购订单:EKKN(采购凭证中的帐户设置)

EKPO(采购凭证项目)

EKKO(采购凭证抬头)

服务条目:ESSR(服务输入表的表头数据)

ESLL(服务包的行)

(1)服务条目信息

*-服务条目信息
  select single
                txz01     "服务条目表的短文本
                ebeln     "采购凭证号
                ebelp     "采购凭证的项目编号
                bldat     "凭证中的凭证日期
                budat     "凭证中的过帐日期
                frgrl     "批准尚未完全生效('X':尚未批准 '')
                netwr     "输入表的净值(服务条目含税净值)
                lwert     "服务价值(服务条目总价值,税前)
                f_lock    "是否冻结('X':冻结  '':未冻结)
                kzabn     "是否已审批('X':已审批 '':未审批)
                   banfn     "采购申请编号
                bnfpo     "采购申请的项目编号
           into (l_ses_txz01,
                 l_ebeln,
                 l_ebelp,
                 l_bldat,
                 l_budat,
                 l_frgrl,
                 l_ses_netwr,
                 l_ses_lwert,
                 l_f_lock,
                 l_kzabn,
                    l_banfn,
                    l_bnfpo)
           from essr      "服务输入表的表头数据表
          where lblni = g_lblni.
    其中,最重要的是netwr和lwert的值。netwr是税后的值,lwert是税前的值。这两个值是服务条目各个行项目的总值。

(2)采购凭证信息
*-采购凭证信息
  select single
                a~txz01     "采购凭证行项目描述
                a~netwr     "采购订单货币的订单净值(含税)
                a~brtwr     "PO货币的全部订单值(税前)
                b~bsart
           into (l_po_txz01,
                 l_po_netwr,
                 l_po_brtwr,
                 l_bsart)
           from ekpo as a "采购凭证项目表
           join ekko as b "采购凭证抬头
             on b~ebeln = a~ebeln
          where a~ebeln = l_ebeln
            and a~ebelp = l_ebelp .

if l_bsart = 'ZPF'. "PM项目
*-工单信息及WBS要素(PM用)
    select single
                  b~aufnr   "订单号(工单号)
                  b~ktext   "描述(工单)
                  b~pspel   "工作分解结构要素 (WBS 要素)
             into (l_aufnr,
                   l_ktext,
                   l_pspel)
             from ekkn as a   "采购凭证中的帐户设置
             join aufk as b on b~aufnr = a~aufnr "订单主数据表
            where a~ebeln = l_ebeln
              and a~ebelp = l_ebelp.
*-WBS要素(PS用)
  elseif l_bsart = 'ZPB'. "PS项目
    select single
                  b~pspel
             into l_pspel
             from ekkn as a "采购凭证中的帐户设置
             join aufk as b "订单主数据
               on b~aufnr = a~nplnr
            where a~ebeln = l_ebeln
              and a~ebelp = l_ebelp .

endif.

(3)项目信息
*-项目、WBS信息
  select single
                a~pspid   "项目定义
                a~post1   "项目短描述
                a~prctr   "利润中心
                a~werks   "工厂
                b~vernr   "项目负责人
                b~posid   "工作分解结构元素 (WBS 元素)
                b~post1   "WBS短描述
           into (l_pspid,
                 l_proj_post1,
                 l_prctr,
                 l_werks,
                 l_vernr,
                 l_posid,
                 l_prps_post1
                 )
           from proj as a
           join prps as b on b~psphi  = a~pspnr
          where b~pspnr = l_pspel.

*-获取支付比例
  l_percent = l_ses_lwert * 100 / l_po_brtwr. "税前比例
  l_percent_c = l_percent.
  call function 'CONVERSION_EXIT_ALPHA_OUTPUT'
    exporting
      input  = l_percent_c
    importing
      output = l_percent_c.
  concatenate l_percent_c '%' into l_percent_c.

注:服务条目通过服务类的采购订单创建,所以在查找对应的项目及WBS时比较简单。一般的采购订单或是采购申请是通过查找对应的工单或是网络或是WBS要素来查找对应的项目及WBS。通常情况下,采购订单或是采购申请都是挂在网络或是WBS下或是通过工单来关联项目的。这个问题在相关的文章中再分析讨论。

服务条目与采购订单、采购申请、工单、项目及WBS的关系相关推荐

  1. 36 MM配置-采购-采购订单-采购订单审批-编辑特性

    业务背景:定义采购订单审批特性 事务码:CT04 SPRO路径:物料管理->采购->采购订单->采购订单的下达过程->编辑特性 第1步,SPRO进入 第2步,创建 采购申请 审 ...

  2. SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了?

    SAP MM 有了采购订单历史的PO行项目里的采购附加费不允许再改了? 正确答案是: 不允许,这是SAP标准逻辑. 那么问题来了!今日收到业务人员报说采购订单4300013979,完成了收货和IV, ...

  3. 38 MM配置-采购-采购订单-采购订单审批-定义采购订单审批过程

    业务背景:定义采购订单审批过程 事务码:SPRO SPRO路径:物料管理->采购->采购订单->采购订单的下达过程->定义采购订单审批过程 第1步,SPRO进入 第2步,选择& ...

  4. 37 MM配置-采购-采购订单-采购订单审批-编辑类

    业务背景:定义采购订单审批类 事务码:CL02 SPRO路径:物料管理->采购->采购订单->采购订单的下达过程->编辑类 第1步,SPRO进入 第2步,创建审批类 配置完成! ...

  5. 服务器维修工单,运维工单--服务器申请工单

    服务器申请工单,遇到三个困难点 第一个是前端页面的新建工单,服务器申请,不一定只申请一台,有可能是两台,三台,每台服务器的配置要求也有可能是不一样的,所以需要动态的添加服务器工单,如图,我实现的是点击 ...

  6. 开源工单系统 python_运维工单--服务器申请工单

    服务器申请工单,遇到三个困难点 第一个是前端页面的新建工单,服务器申请,不一定只申请一台,有可能是两台,三台,每台服务器的配置要求也有可能是不一样的,所以需要动态的添加服务器工单,如图,我实现的是点击 ...

  7. 自助服务的演变:如何减少支持工单?

    在电子商务客户支持的世界中,很容易被工单所淹没.这可能是一场噩梦. 工单太多 + 没有足够的代理来回答它们 = 完全支持超载. 平均而言,内部支持团队每月收到492张工单.每周有一百多张工单,或者每天 ...

  8. Odoo 14 手册 采购订单 采购招标 代发货 供应商管理 对账

    Purchase Management(采购管理) 采购是公司或个人资产的一个方面,它处理以特定价格从供应商处获得的产品.服务和商品.公司运营的操作大多是重复的,并且具有固定的批发价格,而供应商向客户 ...

  9. 采购订单中的容差项目解释

    AN: Amount for item without order reference AN:没有订单的项目金额 When you activate the item amount check , t ...

最新文章

  1. [TJOI2013]最长上升子序列
  2. POJ1151基本的扫描线求面积
  3. matlab代码重改python代码,对应函数
  4. etcd安装及go简单操作
  5. 数据库原理与应用(SQL Server)笔记 第一章 数据定义语言和数据操纵语言
  6. SAP 电商云 Spartacus UI 和路由相关的 State 处理
  7. [Unity] 在 3DsMax 中将骨骼调整为适应 Unity 的 Humanoid 的结构的记录
  8. iOS活动倒计时的两种实现方式
  9. 用c语言赋值表示的例子,一起talk C栗子吧(第五回:C语言实例--数组巧妙赋值)...
  10. 电脑脱机状态怎么解除_win7系统如何解除脱机工作 win7系统解除脱机工作步骤【介绍】...
  11. Photopile JS – 帮助你实现精致的照片堆叠效果
  12. 拓端tecdat|R语言中进行期权定价的Heston模型
  13. 3D 世界的钥匙「GitHub 热点速览 v.22.08」
  14. python身份证年龄计算_通过计算当前年份出生y,使用python创建年龄计算器
  15. 那些年项目启动问题之类冲突及扫描问题篇
  16. iproxy工具的作用
  17. Java Instrument
  18. 10秒钟搞定圆柱齿轮设计所有课题
  19. 如何生成EAN13流水号条形码
  20. linux窗口死,Linux系统入门学习:Linux 上 Wireshark 界面僵死解决

热门文章

  1. 最左推导和最右推导,语法树,二义性文法
  2. android开发集成flash,Android开发之Adobe flash操作工具类
  3. 单片机驱动SD3077时钟芯片
  4. 从技术原理解析区块链为何列入新基建
  5. 计算机英语测试,计算机专业英语测试
  6. java绘制五子棋棋盘
  7. 根据身份证号(18/15)计算年龄、出生日期、性别
  8. 网上书城图书模块及首页分页
  9. 使用U盘安装windows系统时提示找不到任何设备驱动程序
  10. check 和nocheck