SAP收发存报表开发功能设计说明书
SAP收发存报表程序
功能详细设计说明书
1.1 表结构关系 相关数据表描述 字段名称 表 EBAN 采购申 请抬头表 EBKN 采购申 请项目明细表 EKKO 采购订 单抬头表 EKPO 采购订KNTTP 单项目明细表 EKKN 采购订EBELN 单科目
字段描述 科目设置类型 Page 2 of 17
相关数据表描述 字段名称 表 分配数据 EBELP ZEKKN 字段描述 帐户分配的序列号 PS_PSP_PNR 工作分解结构元素 (WBS 元素) NPLNR 科目分配的网络号 AFKO 生产抬AUFNR 生产订单号 头文件 PRONR WBS元素指针 AUFK 生产订 单长文本 MSPRH 项目库SOBKZ 特殊库存标识 存:历史(无价值字段) PSPNR 工作分解结构元素 (WBS 元素) LFGJA 当前期间的会计年度 LFMON 当前期间 (记帐期间)
Page 3 of 17
相关数据表描述 字段名称 表 PRLAB MSPR PRINS PRSPE PREIN 字段描述 非限制使用的估价的库存 质量在检的库存 冻结库存 所有限制批次的总计库存 (当前期存储位置层次项目库存) (当前期工厂层次项目库存) 项目库 存(无价值字段) MSSQ 项目库 存(无价值字段) MSSQH QBEW 项目库 存的分开评估(仅包含项目库存及估价数据) QBEWH 项目库
Page 4 of 17
相关数据表描述 字段名称 表 存的分开评估(历史记录) EBEW 销售订 单库存的分开评估 EBEWH 销售订 单库存的分开评估(历史记录) MBEW 常规库 存的评估(仅包含常规库存价值数据,不包含项目库存的相关数据) MBEWH 常规库 存的评估(历史
字段描述 Page 5 of 17
相关数据表描述 字段名称 表 记录) PRPS WBS结POSID 构数据 字段描述 WBS元素 MSEG-PSPNR 搜索此表可得到WBS号码; PROJ 项目定 义结构表 MKPF MSEG EKET
物料凭 证抬头数据 物料凭 证行项目数据 采购订
MSEG-PSPNR,搜索此表可得到项目定义; WBS元素(24码)找其项目定义,也必须透过指针来寻找项目定义; Page 6 of 17
相关数据表描述 字段名称 表 单收货 QINF 物料和MATNR 字段描述 物料号 供应商的 QM 信息记录 MARC QMAT LIEFERANT 供应商帐户号 WERK 工厂 FREI_DAT 下达的有效到期日 NOINSP QM 信息记录中的检验控制 物料工QMATV 物料工厂的质检厂数据 设置是否存在 检验类MATNR 物料号 型 - 物料参数 WERKS 工厂 ART 检验类型 APA 首选的检验类型 AFR 处理单位的检验 AKTIV 检验类型 - 物料合并已激活 发票抬
Page 7 of 17
RBKP
相关数据表描述 字段名称 表 头数据 RSEG 发票行 项目 相关的事务代码: MB52 – 库存综览显示 MB51 – 物料凭证清单
字段描述 1.2 自定义表清单及结构定义
程序处理逻辑內表一: 字段名称
程序处理逻辑內表二和內表三: 字段描述 字段名称
字段描述 值 1.3 输入/输出数据格式定义
源 数 据 序号 1) 2) 3) 域名 类型 (长度) 描述 字段名 SAP系 统 类型 (长度) 描述 转换关系
Page 8 of 17
4) 5) 6) 7) 8) 9) Page 9 of 17
2 输入/输出画面格式设计要求
2.1 报表选择屏幕
以下是本程序的第一个画面:初始化画面
名 称 工厂 存储位置 WBS元素 物料类型 物料组 评估类 期间(YYYYMM) 输出明细资料 注: “属性”字段注明:
必输其他参考表项 属 性 默认值 特殊字段 (是/要求 否) (多 权限MSEG-值) 检查 WERKS (多 值) MSEG- (多 PS_PSP_值) PNR (多 值) (多 值) (多 值) MKPF- (单 BUDAT值) 之年月 N (单 (核选值) 框) 多选, 单选, 单选钮/, 选框或其他等;
2.2 客户化增强功能画面设计
Page 10 of 17
(以下是格式化画面设计要求)
Page 11 of 17
3 程序处理逻辑说明
1.
生成选择输入画面,用户输入参数;检查权限; 按用户选择画面参数,选择指定范围的数据,结合如下取数规则,生成报表: 取数规则:
2.
3.
安装项目定义掩码:X-XX NN NN 制作项目定义掩码:X-X-XX NN NN 序字段 取数规则 号 1) 物料 编号 2) 物料MAKT- 描述 3) 单位 MARA-MEINS; 4) 物料MARA-MTART; 类型 ZFS1或ZFS2,则: 5) 单重 如果物料类型为其期初库存及相关交易一定是项目库存相关:如果WBS元素的第四位为 “-”,则取WBS元素第5位~第10位;否则取WBS元素的第3位~第8位 作为 WBS 元素“基本编码”; 由 生产订单抬头表中找产品物料编码、WBS元素第5位~第10位 与上述 WBS 元素“基本编码”一致的订单,取其生产订单抬头文本的第四行,如果为零,再找下一个生产订单直到取值非零为止; 如果最终由生产订单中不能取值,则取 采购订单行项目: 由EKKN/EKKO表中找:物料编码、WBS元素第5位~第10位 与上述 WBS 元素“基本编码”一致的采购订单,取其采购该项目文本的第四行(第一页标签),如果为零,再找下一个采购订单直到取值非零为止; 最终找不到,则置零; 如果是其他物料类型,则取物料主数据中基本数据视图之毛重;备注 6) 物料
MARA-MATKL;
Page 12 of 17
组 7) 商务分类 8) 评估由MBEWH/QBEWH中取 类 (分别对于常规库存和项目库存); 9) 工厂 10) WBS 元素 11) 项目 定义 12) 项目 描述 对于常规库存,按用户选取的物料/工厂/存储位置/评估类型13) 期初 范围,按如下规则取期初库存数据: 1) 截取报表期间的的年份、月份,按“物料”+“工厂“+ “仓+“年份”+“月份-1” 读取MARDH 表的数据. 数量 库” 注:“月份-1”是指报表期间的前一个月 1.1)如果读取成功,保存至“上月期末库存临时字段”, 1.2)如果读取不成功,再从MARDH找“=月份”或“>月份且 期初最接近的纪录”,1.2.1)如果找到了,就保存至“上月期末库存临时字段” )如果找不到,则取MARD的当前库存保存至”上月期末金额 1.2.2库存临时字段”(非限制库存/质检库存); 参照上述规则,按物料/工厂/期间年份/期间月份,由表MBEWH/MBEW中取期初单价数据; 对于项目库存,按用户选取的物料/工厂/存储位置/WBS元素范围,由表MSPR/MSPRH中期初数量数据,由QBEW/QBEWH中取单价数据(VERPR-移动平均价); 如果物料类型为ZFS1或ZFS2,则由物料号码+WBS元素找任一生产订单文本的第六行,压缩空格后取前15位; 可在取单重时同时取商务分类:生产订单文本的第六行或采购订单相应文本标签下的第六行; 如果物料类型为其他,则置空; 按前一字段取值规则得到的数量*单价即为期初金额; 14) 收入 数量 收入金额
以下取第一部分:由表MSEG中按移动类型取物料编号不为空的记录: 收入数量&收入金额: 由表MKPF/MSEG中按选择的数据范围,取以下移动类型记录其对应字段 MSEG-MENGE/DMBTR的值,如果MSEG- SHKZG 为 “S”,则记为本字段的正项,如果为 “H”,则为本字段的负项: 移动类型范围为 100 ~ 199 , 561/562, 501/502, 921/922, 301~499,541~544 ; 对于发票确认对收入金额的影响部分取值规则,请参照 “发出数量”字段的取值说明。 Page 13 of 17
15) 发出 数量 发出金额 16) 盘点 数量 17) 盘点 金额 18) 调整 金额 由MSEG中取物料编号非空的记录: 收入数量&收入金额: 由表MKPF/MSEG中按选择的数据范围,取以下移动类型记录其对应字段 MSEG-MENGE/DMBTR的值,如果MSEG- SHKZG 为 “S”,则记为本字段的负项,如果为 “H”,则为本字段的正项: 移动类型范围为 201 ~ 299 , 551/552, 645/646, 901~914 , 923/924 , 301~499, 541~544 ; 第二部分: 还要取移动类型为101/102/122/161/162, 物料号非空,但MSEG- KZVBR字段为 “V”的记录(对应的MSEG-KNTTP= “K/P/S/R”之一) :其数量和价值分别累加到相应的 “物料/工厂(可能还有WBS元素)” 记录的 “发出数量/发出金额”中, 如果MSEG- SHKZG 为 “S”,则记为本字段的正项,如果为 “H”,则为本字段的负项; 以下取第三部分(由发票校验的差异调整部分,RSEG- KNTTP =K/P/R/S 的记录): 由RBKP取当期的所有发票凭证号码。由RBKP-BELNR找表RSEG:如果RSEG-KNTTP 为 “K/P/R/S”之一,且RSEG-MATNR 非空且RSEG-EFKOR 非空,则说明发票确认有对直接采购消耗的存货物资的金额调整记账,但此部分的调整记账,是同时反映在收入金额和(消耗)发出金额上,没有经过库存帐。所以以下继续处理取得的值必须要同时累加到 “收入金额”和 “发出金额”上,但收入数量和发出数量不变更(发票交易不会带来数量变化): 由 RSEG- BELNR + RSEG- GJAHR 搜索 BKPF-BWKEY, 取BKPF- BELNR(会计凭证号码);由 BKPF-BELNR 取表BSEG 中 BSEG-MATR = RSEG-MANR .AND. BSEG- EBELN = RSEG-EBELN .AND. BSEG-EBELP=RSEG-EBELP 的记录,如果BSEG- SHKZG = “S”则取 BSEG- DMBTR 的值为调整金额暂存值;如果BSEG- SHKZG = “H”: BSEG- DMBTR 的负值为调整金额暂存值; 如果RSEG-KNTTP = “Q” ,或为空,则舍弃此 “调整金额暂存值”;否则,分别将此金额累加到 “收入金额”和“发出金额”中(对应关键字段:物料+工厂(或者加WBS元素)); 按指定期间和数据范围,由MKPF/MSEG中取移动类型为 “701/702/711/712” 的交易记录字段MSEG-MENGE/ DMBTR(基本单位数量/本位币金额); 如果MSEG- SHKZG 为 “S”,则记为本字段的正项,如果为 “H”,则为本字段的负项;参照前一字段的说明; 库存价值调整: 不对应库存交易,对应发票确认时因采购订单价格与发票价格差异导致的对库存金额的调整(此时库存数量不变), 或者调整库存物料的单价时也导致库存金额变化; 库存价值调整金额,仅当按公司出具报表时,该字段值才有效。因为系统没有记录各存储位置的价格更改和价值更新(价值更改是在评估范围层次或WBS元素层次有效); 以下是第一部分: 单价修改的凭证上 \"价值修改\"可能对应: 存货价值的改变及差异的改变: 无论是按S或V计价, 只要是价格改变, 存货价值一定是变化的. 取MLCR-BDATJ/POPER为报告期间的所有记录,得到凭证号+会计年度+项目号(MLCR-BELNR/KJAHR/POSNR)+存货价值修改(MLCR-SALK3); Page 14 of 17
再按上述 三个字段(MLCR-BELNR/KJAHR/POSNR) 取 表 MLIT-MATNR/BWKEY(评估范围)/WBS号; 如果上述过程由MLCR中取得的金额为零(SALK3),则以相同的(MLCR-BELNR /KJAHR /POSNR) 及前一期间再取MLCR-SALK3, 以该值置换符号(乘以 -1),则得到报告期间的库存调整金额; 单价调整:可能针对常规库存或项目库存。取值时要将物料号码及WBS元素和工厂代码一同取值; 以下是第二部分: 由表RSEG/RBKP中取价值修改记录。 由表RBKP中取当前报表期间的发票凭证抬头数据记录,由此表的凭证号找表RSEG-STOCK POSTING 非零的记录,得到 RSEG-WERKS/RSEG-MATNR 的库存价值变更。如果RSEG-KNTTP为空,则累加到此报表的工厂+物料的 “调整金额”中(该字段的值有正项,也可能有负项,直接累加到“调整金额”中);如果RSEG-KNTTP= “Q”,则该调整金额属于项目库存金额的调整,必须由RSEG-EBELN 和 RSEG-EBELP(采购订单号码及行项目号码)找PO的行项目的WBS元素号码,而将该 RSEG-STOCK POSTING 的金额写入 “工厂+物料+WBS元素” 的值中; =期初数量+收入数量-发出数量 19) 期末 数量 =期初金额+收入金额-发出金额+调整金额; 20) 期末 金额 =期末数量-(画面输入期间的下一期间)期初数量(按期初21) 差异 数量取数规则得到) 数量 =期末金额-(画面输入期间的下一期间)期初金额(按期初22) 差异 金额取值规则得到) 金额 23) 构件 单重*期末数量 / 1000 吨位
4. 如果用户未输入存储位置,则表示是在工厂层次出具报表,取报表记录关键字为: 工厂代码/物料编码/WBS元素/商务分类(物料组、物料类型依附于该三个键值),所有数量和金额按此键值汇总; 同时对于 “收入数量”“收入金额”“发出数量”“发出金额”字段,不统计移动类型 311~316;
Page 15 of 17
5. 如果用户输入了存储位置,则取值表字段 “工厂代码/存储位置/物料编码/WBS元素/商务分类”,相应的取数结果均按物料+工厂+存储位置+WBS元素+商务分类层次累计;对于 “收入数量”“收入金额”“发出数量”“发出金额”字段,所统计的移动类型无限制;
6. 最终输出方式:
如果用户在画面上选择了 “输出明细资料”(Y”,则首先按取数规则表的字段格式输出清单; 否则不执行明细清单资料的输出;
接下来,在同一清单上,再附加如下分类统计表: 除了列出上表格式的按料号的明细外,还需要列出如下分类小计报表:
附加清单一:按WBS元素分类汇总的收发存明细表(仅对WBS元素非空的记录进行小计并分类汇总输出);
附加清单二:按商务分类汇总的收发存明细表(仅列出物料类型为 “ZFS1/ZF2”的每一商务分类的小计);
附加清单三:按商务分类+项目定义分类汇总的收发存明细表;
附加清单四:按评估类分类汇总的收发存明细资料;
请依次输出。相应清单字段如下: 附加清单附加清附加清附加清一 单二 单三 单四
Page 16 of 17
1) 物料 编号 2) 物料 描述 3) 单位 4) 物料 类型 5) 单重 6) 物料 组 7) 商务 X X 分类 8) 评估 类 9) 工厂 10) WBS X 元素 11) 项目 X 定义 12) 项目 O 描述 取数规则表中的其余字段,均要输出;
X Page 17 of 17
因篇幅问题不能全部显示,请点此查看更多更全内容