版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、功能说明书功能说明书 发货单增强与发货单增强与 OA 接口接口 目录目录 1功能说明书描述功能说明书描述.3 2程序说明程序说明.3 3权限设置权限设置.4 4涉及业务流程和事务代码涉及业务流程和事务代码 .4 5输入屏幕输入屏幕.4 6输出结果要求、输出屏幕输出结果要求、输出屏幕 .4 7程序逻辑程序逻辑.5 8所需数据表及字段描述所需数据表及字段描述.5 8.1数据筛选逻辑数据筛选逻辑.5 9单元测试场景单元测试场景 .5 版本信息版本信息 版本日期作者修改注释 1.02011.01.22 李振华创建 文档确认文档确认 姓名职务角色签字日期 华兴公司项目 经理 (手签) 埃森哲项目经 理
2、应用功能顾问 开发人员 关键用户 业务负责人 1功能说明书描述功能说明书描述 模块销售 文档编号 BLD_RICEF_SD_0009 程序名 ZSD0009 模块顾问李振华关键用户 运行频率: ( )每月 ( ) 每周 ( ) 每日 ( X ) 其它 _ 运行数据量: ( )条 运行模式:( )后台 ( X )前台 程序类型:( ) 报表 ( ) 表单 ( ) 批导入 ( ) 接口 ( ) 函数 (X) 对话程序 ( ) 用户出口 程序目的: 创建发货单时,需要检查创建者的权限,当用户引用订单创建发货单时,系统通过该客 户主数据对应的业务员信息,比对登陆账号是否该业务员。同时,需要判断该客户是
3、什么付款条件, 若为月结付款条件的客户,需要检查客户是否有超期未付货款:若为定金付款客户,则需判断客户 预付款科目是否有足够定金来满足订单的需要。 2程序说明程序说明 2.1 1、集团外销售业务的发货单由业务员自行创建,且每个业务员计划一人一个独立 sap 账号。账 号为业务员员工号。在客户主数据中维护了唯一的一个业务员(科目代码为 Z005 或者 Z006)对应该客户,且业务员代码为工号。 2、当业务员创建发货订单时,需要引用销售订单类。系统需要检查该客户对应的业务员是否为 该登录用户。如果不是,则不能为该客户创建销售订单,系统 Error 提示用户。 3、当创建发货单时,需要检查创建日期是
4、否超过合同有效期,超过有效期需要审批;需要检查 累计发货数量是否超过合同量,超过合同量一定幅度需要审批。 4、同时,系统需要根据客户主数据带出来的付款条件,检查客户的信用状况,以及付款情况。 针对标准的信贷,系统具有标准检查方案;但是对于定金模式付款的先款后货客户,则需要 系统检查客户账户是否有足够的定金来满足该发货单,需要考虑以前的未交货完毕的订单。 5 5、系统需要检查发货单的三种情况,若不满足,需要分别将相关数据传入 OA 系统的工作表的相应 字段,待 OA 审批结束后,通过 OA 按钮释放发货单. OA 审批通过后审批通过后,通过通过 OA 系统释放该发货系统释放该发货 单单.需要将字
5、段需要将字段 LIKP-SDABW 值赋予值赋予 Z1 :OA 审批通过审批通过.并将字段并将字段 LIKP-SDABW 设置为不能设置为不能 通过人工手工更改。通过人工手工更改。 2.2 无。 2.3 中文/英文 3权限设置权限设置 针对集团外销售业务的发货单的创建,需要检查创建者是否为该业务员。 订单的修改权限只分配给业务文员。 订单的查看权限分配给业务文员,及业务员,但是业务员只能查看自己创建的发货单。 4涉及业务流程和事务代码涉及业务流程和事务代码 流程:DBP-SD-HX-业务蓝图_内销订单发货流程_V1.0.doc DBP-SD-HX-业务蓝图_外销订单发货流程 V1.0.doc
6、事务代码:VL10 VL01N 5输入屏幕输入屏幕 1:订单创建 标准的发货单的创建输入界面, 选择类型选择类型必要输入必要输入 屏幕字段屏幕字段 中文描述中文描述 单单 一一 区区 间间 复复 选选 框框 选选 择择 圆圆 点点 屏幕字段名称屏幕字段名称 参考字段名参考字段名 称称 缺省值缺省值 是是否否 检核条件检核条件 装运点/接收 点 装运点/接收点 VEPVG- VSTEL 装运点/接 收点 交货创建日 期 交货创建日期 VEPVG - LEDAT 6输出结果要求、输出屏幕输出结果要求、输出屏幕 输入结果为订单创建,修改,显示界面。 7程序逻辑程序逻辑 1:创建发货单时,检查创建者是
7、否为业务员。:创建发货单时,检查创建者是否为业务员。 需要引用销售订单来创建发货单,所以当用户在引用销售订单创建发货单后,需要检查该客户对 应的业务员是否为该登录用户。若为登录用户,可以继续创建,若不是登录用户,则系统 Error 报错提示,该用户无权创建该客户的发货单。 客户主数据中合作伙伴功能视图中有客户对应的业务员信息。 通过客户代码找到对应客户主数据中合伙人 KNVP-PARVW 的值 Z5 或者 Z6。Z5 与 Z6 为业务 员功能,两者不会同时存在一个客户主数据中。Z5 工号字母开头,Z6 工号数字开头。用户登录 账号也是工号,所以可以通过登录账号和 Z5,或者 Z6 的代码值来比
8、较判断是否业务员为登录用 户。 2:检查发货日期是否超过合同有效期,发货数量是否超过订单量。:检查发货日期是否超过合同有效期,发货数量是否超过订单量。 需要比较创建发货单当天的创建日期是否超过合同有效期 VBAK-GUEEN 通过凭证流中订单找到对应的合同,取得合同的有效期与发货单创建日期比较。 通过表 VBFA。销售订单号 VBFA-VBELN,找到 VBFA-VBELV 先前凭证,即为合同号码 VBFA-VBELV。再通过表 VBAK 找到该合同号对应的合同有效期 VBAK-GUEEN 需要比较创建发货单当天的创建日期是否超过合同有效期 VBAK-GUEEN 超过合同有效期,交货单需要冻结
9、。通过改变字段 LIKP-LIFSK 值来实现。 发货累计量超过订单量超过一定范围(1 万个),发货单同样需要冻结。通过程序改变字段 LIKP-LIFSK 值来实现。如下图。 累计发货量 的计算逻辑如下: 先通过新创建发货单的单号 LIPS-VBELN 及行项目 LIPS-POSNR,找到所引用的销售订单号 LIPS-VGBEL 及其行项目 LIPS-VGPOS 找到销售订单号,及其行项目后, 需要找到表 VBAP 中的 VBAP-KWMENG 即为订单行项目数量, 再通过 VBFA 表找到对应的该销售订单行项目所对应的所有交货单, VBFA-VBELN 发货单号,VBFA-POSNN 发货单
10、行项目, 找到 VBFA-VBELV 销售订单号,VBFA-POSNV 销售订单行项目 要取满足 VBFA-VBTYP_N = J 且移动类型 VBFA-BWART = 601 的记录。 并取得数量 VBFA-RFMNG 后,即为交货数量,汇总所有该销售订单行项目对应的交货数量。 与订单行项目数量比较,若超过 1 万个,则系统将行项目的产品编码传入 OA 系统对应的字段中, 同时传入该行项目的汇总发货量,订单量以及以下抬头数据: 申请人:LIKP-ERNAM 为用户工号,通过该工号到表 KNA1 中找到 KNA1-NAME1 为申请人名字 通过 LIKP-KUNAG 找到客户代码后,才能找到以
11、下字段 申请部门:VBAK-VKGRP 客户代码:VBAK-KUNNR 客户名称:KNA1_NAME1 客户类别:KNA1-KUKLA 付款方式:VBKD-ZTERM(通过销售订单号在表 VBKD 中查找) OA 审批通过后,通过 OA 系统释放该发货单.需要将字段 LIKP-SDABW 值赋予 Z1 :OA 审批通过. 并将字段 LIKP-SDABW 设置为不能通过人工手工更改。 3:检查客户的付款情况,信贷状况,是否有超期货款。:检查客户的付款情况,信贷状况,是否有超期货款。 付款情况:付款情况: 对于先款后货的客户,及付款方式为以下三种情况的客户对于先款后货的客户,及付款方式为以下三种情
12、况的客户 Z024无订金立即付款 Z02530%订金立即付款 Z026长期押金立即付款 付款方式:VBKD-ZTERM(通过销售订单号 LIPS-VGBEL 在表 VBKD 中查找) 若为 Z024 无订金立即付款 Z026长期押金立即付款 则系统需要检查客户的账户余额是否有足够的货款用户该批产品发货。 发货单产品总额发货单产品总额 = 发货数量发货数量 x 产品价格产品价格 发货数量发货数量 LIPS-LFIMG(通过发货单(通过发货单 LIPS-VBELN 及行项目及行项目 LIPS-POSNR 找到发货数量)找到发货数量) 产品价格,需要找到产品价格,需要找到销售订单号 LIPS-VGB
13、EL 及其行项目 LIPS-VGPOS 满足 VBAP-VBELN = LIPS-VGBEL VBAP-POSNR = LIPS-VGPOS 后,在表后,在表 VBAP 中找到中找到 VBAP-NETPR 价格。价格。 客户的账户余额客户的账户余额 客户账户余额客户账户余额 VALUE (D) = 客户预付款余额客户预付款余额 客户应收款余额。客户应收款余额。 客户预付款余额客户预付款余额 通过 BSID 表 通过创建的销售订单的客户代码 VBAK-KUNNR,到表 BSID 中找到满足 VBAK-KUNNR = BSID-KUNNR BSID-BUKRS = 销售订单的销售组织 VBAK-V
14、KORG BSID-HKONT = 的记录,并取得 贷方余额 总额: 取字段 借方/贷方 BSID-SHKZG:为 H 的所有记录中的本位币金额 BSID-DMBTR 汇总后得到客户预付款贷方总额 VALUE(预付 H) 再取借方余额:取字段 借方/贷方 BSID-SHKZG:为 S 的所有记录中的本位币金额 BSID-DMBTR 汇总后得到客户预付款借方总额 VALUE(预付 S) 客户预付款余额客户预付款余额 =客户预付款贷方总额客户预付款贷方总额 VALUE(预付预付 H)客户预付款借方总额客户预付款借方总额 VALUE(预付预付 S) 客户应收款余额:客户应收款余额: 通过 BSID
15、表 通过创建的销售订单的客户代码 VBAK-KUNNR,到表 BSID 中找到满足 VBAK-KUNNR = BSID-KUNNR BSID-BUKRS = 销售订单的销售组织 VBAK-VKORG BSID-HKONT = 的记录,并取得 贷方余额 总额: 取字段 借方/贷方 BSID-SHKZG:为 H 的所有记录中的本位币金额 BSID-DMBTR 汇总后得到客户预付款贷方总额 VALUE(预付 H) 再取借方余额:取字段 借方/贷方 BSID-SHKZG:为 S 的所有记录中的本位币金额 BSID-DMBTR 汇总后得到客户预付款借方总额 VALUE(预付 S) 客户应收款余额客户应收
16、款余额 =客户应收借方总额客户应收借方总额 VALUE(应收应收 S) 客户应收贷方总额客户应收贷方总额 VALUE(应收应收 H) 客户账户余额客户账户余额 VALUE (D) = 客户预付款余额客户预付款余额 客户应收款余额客户应收款余额 客户账户余额客户账户余额 VALUE (D) = 发货单产品总额发货单产品总额 则该张发货单可以保存则该张发货单可以保存. 客户账户余额客户账户余额 VALUE (D) 发货单产品总额发货单产品总额 则系统程序需要将发货单冻结则系统程序需要将发货单冻结,通过给字段通过给字段 LIKP-LIFSK 赋值赋值 Z2 来实现来实现. 若付款条款为若付款条款为
17、Z025 30%订金立即付款 则客户需要全款发货。系统需要判断该客户的账户余额是否够本次发货单的全款,以及以往未清 销售订单的 30%定金。 发货单产品总额发货单产品总额 + 未完全发货的销售订单的总额未完全发货的销售订单的总额 x 30% 与与客户预付款余额客户预付款余额 比较,比较, 若小于,则系统需要冻结发货单,将相关数据传入若小于,则系统需要冻结发货单,将相关数据传入 OA 系统。系统。 与与客户预付款余额客户预付款余额 =客户预付款贷方总额客户预付款贷方总额 VALUE(预付预付 H)客户预付款借方总额客户预付款借方总额 VALUE(预付预付 S) 发货单产品总额发货单产品总额 =
18、发货数量发货数量 x 产品价格产品价格 发货数量发货数量 LIPS-LFIMG(通过发货单(通过发货单 LIPS-VBELN 及行项目及行项目 LIPS-POSNR 找到发货数量)找到发货数量) 产品价格,需要找到产品价格,需要找到销售订单号 LIPS-VGBEL 及其行项目 LIPS-VGPOS 满足 VBAP-VBELN = LIPS-VGBEL VBAP-POSNR = LIPS-VGPOS 后,在表后,在表 VBAP 中找到中找到 VBAP-NETPR 价格。价格。 未完全发货的销售订单的未完全发货的销售订单的定金定金: 通过当前用户新建的发货单号码 LIKP-VBELN 在表 LIK
19、P 找到对应字段,作为查询条件: 销售组织 LIKP-VKORG, 客户 LIKP-KUNNR, 在表 VBAK 中找到对应的该客户的其他的销售订单,类型 VBAK-AUART 为 ZOR, 每找到一条记录,并取得 VBAK-VBELN 销售订单号,需要到表 VBUP 通过 VBUP-VBELN= VBAK-VBELN 找到对应的销售订单行项目 VBUP-POSNR,交货状态 VBUP-LFGSA 若为若为 A 或者 B,若为 A 则需要将该条记录销售凭证 VBUP-VBELN,项目 VBUP-POSNR 到表 VBAP 中找到价格 VBAP-NETWR , 则未交货订单行项目定金未交货订单行
20、项目定金 VALUE(A)= 订单行项目数量订单行项目数量 VBAP-KWMENG x 价值价值 VBAP- NETWR X 30% 或者交货状态 VBUP-LFGSA 若为若为 B 的, 及订单部分交货。 需要通过 VBUP-VBELN 号码找到 VBFA 中的记录 逻辑为 VBUP-VBELN = VBFA-VBELV 且行项目 VBUP-POSNR = VBFA-POSNV, 且子层凭证类别 VBFA-VBTYP_N 为 J, 并且移动类型 VBFA-BWART = 601 通过以上条件找到对应的 记录后,取得发货单发货量 VBFA-RFMNG 然后未交货数量= 订单对应行项目数量-发货
21、行项目数量 VBUP-VBELN 对应的 VBAP-VBELN, VBUP-POSNR = VBAP-POSNV 找到订单数量 VBAP-KWMENG 然后部分交货对应的定金部分交货对应的定金 VALUE(C)= (订单对应行项目数量订单对应行项目数量 VBAP-KWMENG - 发货行项目数发货行项目数 量量 VBFA-RFMNG) x 价值价值 VBAP-NETWR X 30%,得到未交货的部分产品对应的定金,得到未交货的部分产品对应的定金 VALUE(C)。 若订单对应行项目数量若订单对应行项目数量 VBAP-KWMENG - 发货行项目数量发货行项目数量 VBFA-RFMNG 等于负数
22、,则这部等于负数,则这部 分行项目的定金为分行项目的定金为 0 需要将该客户对应的所有以上情况的销售订单行项目中的未交货订单行项目定金未交货订单行项目定金 VALUE(A) 与部分交货对应的定金与部分交货对应的定金 VALUE(C)汇总。需要循环处理后得到最后该客户的订单定金。汇总。需要循环处理后得到最后该客户的订单定金。 发货单产品总额发货单产品总额 + 未完全发货的销售订单的总额未完全发货的销售订单的总额 x 30% 与与客户预付款余额客户预付款余额 比较,比较, 若小于,则系统需要冻结发货单,将相关数据传入若小于,则系统需要冻结发货单,将相关数据传入 OA 系统。系统。 需要传入的数据如
23、下: 申请人:LIKP-ERNAM 为用户工号,通过该工号到表 KNA1 中找到 KNA1-NAME1 为申请人名字 通过 LIKP-KUNAG 找到客户代码后,以及 LIPS-VBELV 销售订单号,LIPS-POSNV 行项目,取 表 VBAK 的以下字段 才能找到以下字段 申请部门:VBAK-VKGRP 客户代码:VBAK-KUNNR 客户名称:KNA1_NAME1 客户类别:KNA1-KUKLA 付款方式:VBKD-ZTERM(通过销售订单号在表 VBKD 中查找) 客户余额:客户账户余额 VALUE (D) = 客户预付款余额 客户应收款余额 应收货款: 可用货款:客户余额 ( 发货
24、单产品总额 + 未完全发货的销售订单的总额 x 30%) 应收货款:本次发货单总额 可用货款 OA 审批通过后,通过 OA 系统释放该发货单.需要将字段 LIKP-SDABW 值赋予 Z1 :OA 审批通过. 并将字段 LIKP-SDABW 设置为不能通过人工手工更改。 3:客户回款检查: 针对付款条款为以下类别的客户,需要检查客户是否有超期欠款。 Z006第三月 10 号 Z007第三月 15 号 Z008第三月 20 号 Z009第三月 25 号 Z010第三月 28 号 Z011第四月 10 号 Z012第四月 15 号 Z013第四月 20 号 Z014第四月 25 号 Z015第四月
25、 28 号 Z016开票后 10 天 Z017开票后 15 天 Z018开票后 20 天 Z019开票后 30 天 Z020开票后 45 天 Z021开票后 60 天 Z022开票后 75 天 Z023开票后 90 天 如果客户有超期欠款,发货单保存后需要冻结订单,并给订单拒绝原因 LIKP-LIFSK 赋值 “Z2 客户货款问题”来实现对订单的冻结。 系统通过以下逻辑进行判断, BSID-KUNNR 客户编码; BSID-BUKRS 公司代码; BSID-DMBTR 本位币金额; BSID-ZFBDT 基准日期; BSID-ZTERM 付款条款; BSID-ZBT1T 天数; 计算:如果基准
26、日期基准日期 + 天数天数 BSID-ZFBDT 0,则通过系 统提示消息:系统存在过期未收款项,冻结发货单。并向 OA 发送审批请求。需要将该客户超期欠 款的总额数值发送到 OA 系统的工作表的某个字段中(待 OA 系统工作表字段确定后完善该信息) 需要将以下信息发送到 OA 系统, 超期金额(元):金额(BSID-DMBTR)需要汇总所有超期情况下的金额。 超期天数:当前日历天数(基准日期 + 天数),等于超期天数。如果有多笔欠款超期,即 BSID 有多天满足条件的记录,则取超期最长的天数。而超期金额还是需要去 BSID 表中的所有超期金额 汇总值。 同时需要将订单中其他基本信息传入 OA
27、 工作表: 申请人:LIKP-ERNAM 为用户工号,通过该工号到表 KNA1 中找到 KNA1-NAME1 为申请人名字 通过 LIKP-KUNAG 找到客户代码后,以及 LIPS-VBELV 销售订单号,LIPS-POSNV 行项目,取 表 VBAK 的以下字段 才能找到以下字段 申请部门:VBAK-VKGRP 客户代码:VBAK-KUNNR 客户名称:KNA1_NAME1 客户类别:KNA1-KUKLA 付款方式:VBKD-ZTERM(通过销售订单号在表 VBKD 中查找) 下图为 OA 工作流表单的基本格式。 需要将超期金额,超期天数数据传入 OA 表单。 给订单拒绝原因 LIKP-L
28、IFSK 赋值“Z2 客户货款问题”来实现对订单的冻结。 OA 审批通过后,通过 OA 系统释放该发货单.需要将字段 LIKP-SDABW 值赋予 Z1 :OA 审批通过. 并将字段 LIKP-SDABW 设置为不能通过人工手工更改。 3:客户客户信贷状况检查信贷状况检查: 客户信贷检查:客户信贷检查: 若该客户为信贷客户,系统会对该客户的发货单做信贷检查,若超过信贷额度,则系统有如下提 示; 消息提示为:超出动态的信贷额度 717.00 CNY 消息号消息号 V1152 保存发货单时,系统窗口提示用户,有超过信贷额度的金额,询问是否需要进入审批流程。 若用户选择否,则系统删除该订单。若用户选择是,则订单需要进入审批流程,将信息传递到 OA 系统。 将以下提示信息传递到 OA 系统, 申请人:LIKP-ERNAM 为用户工号,通过该工号到表 KNA1 中找到 KNA1-NAME1 为申请人名字 通过 LIKP-KUNAG 找到客户代码后,以及 LIPS-VBELV 销售订单号,LIPS-POSNV 行项目,取 表 VBAK 的以下字段 才能找到以下字段 申请部门:VBAK-VKGRP 客户代码:VBAK-KUNNR 客户名称:KNA1_NAME1 客户类别:KNA1-KUKLA 付款方式:VBK
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024建筑装饰施工合同样本新(合同版本)
- 电器学研究课题研究报告
- 电商运营教学课程设计
- 电商美工培训课程设计
- 电压调节器课程设计
- 电动线锯机的课程设计
- 电动汽车响应研究报告
- 电动机保养课程设计
- 电动卷扬机的课程设计
- 电力的短路分析课程设计
- 矿山安全生产培训
- 2024年执业药师继续教育专业答案
- 中国高血压防治指南(2024年修订版)要点解读
- 非ST段抬高型急性冠脉综合征诊断和治疗指南(2024)解读
- 自然资源调查监测劳动和技能竞赛
- 建筑公司安全生产专项整治三年行动实施方案
- 承包酒店鲜榨果汁合同范本
- 2024-2030年中国无菌注射剂行业市场发展趋势与前景展望战略分析报告
- 2024-2025学年人教版七年级数学上册期末达标测试卷(含答案)
- 第七章-应聘应试技巧
- 退休员工返聘审批表
评论
0/150
提交评论