您的位置:首页 > 其它

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

2009-09-14 21:40 501 查看
最近完成了服务条目审批的工作流,其中服务条目(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下或是通过工单来关联项目的。这个问题在相关的文章中再分析讨论。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: