表的要求
表中使用的字段请尽量参照各模块的SAP字段标准使用习惯;
  例:"ZXSLRZX销售组织对应的利润中心"中的销售组织应该使用VKORG、利润中心应该使用PRCTR。
根据表的用途,需确定是否属于配置目的、还是业务目的。
配置表的建议:
需要加入MANDT字段
  例: "ZQJQD缺件清单"就没有MANDT字段
需提供相应的维护视图;
例:如ZCHECK_MM01工厂和利润中心的对应
为保证DEV/QAS/PRD系统的一致性,不应该对配置表提供批量维护的功能,而应该走Request传输流程;
例: "ZMM_GSJJGLJ公司间物料转卖价格逻辑"就是一个失败的开发案例。
若有必要,可激活日志功能,便于对配置的更改查询;
在定义表的时候,请不要偷懒使用"预定义数据类型"这种方式;
业务表的建议:
若无特殊目的,也请加入MANDT字段
在定义关键字段的时候,请务必慎重,在理解业务需求的前提下,合理设置;(数据存在后,关键自动的变更存在较大风险)
为减少系统存储空间,一般不需要激活更改日志;
在定义表的时候,请不要偷懒使用"预定义数据类型"这种方式;
程序的要求
程序的选择屏幕,如果需要提供缺省值,请尽量通过Memory ID的方式实现,不要使用硬代码。
   例:"ZPOOIS采购订单信息报表"中的公司代码(BUK)、工厂(WRK)。
程序的选择屏幕上的选择文本,如果属于标准字段,若无特殊需求,请尽量使用Dictionary,避免造成在不同环境中显示错误的情况。
   例:ZPOOIS的选择屏幕在英文环境下完全错误,而ZJSJSNEW就相对正确。
程序变式(选择变式、输出变式)的灵活使用
ALV报表,请提供变式功能(IS_VARIANT ,I_SAVE等变量);
   例: ZPOOIS的输出格式就无法保存 。
二次开发程序中定义的自定义表,需考虑相应数据的删除及归档策略,并应该对数据量的大小有合理的估计。
金额,请考虑币别;数量,请考虑计量单位;
 • 公司代码与工厂的关系
一个工厂只能属于一个公司代码;
例:3110起重机工厂只能属于3011公司代码。
表:T001K,其中的BWKEY就是指工厂,完全等同于T001W的WERKS;
 • 公司代码与利润中心的关系
SAP是允许一个利润中心属于多个公司代码的,但是,我们实际业务上一个利润中心通常只应该对应一个公司代码(有部分特例!)
一个公司代码下,可以存在多个利润中心;
例:在2001公司代码下,存在LR2180/LR2170/LR2160等多个利润中心;
表:CEPC_BUKRS分配利润中心至公司代码
 • 工厂与利润中心的关系
 工厂跟利润中心按照SAP的本身逻辑是没有关系的;
 但为了保证业务的正确性,我们创建了表ZCHECK_MM01(工厂和利润中心的对应)来进行检查(如在物料主数据创建的时候进行检查)。
 • 工厂与库存地点的关系
库存地点必须跟工厂一起才有意义,牢记"工厂+库存地点"!
在不同的工厂下虽然可以存在同样的库存地点代码,但本质上是有区别的;
T001L,工厂+库存地点
 • WM仓库与库存地点的关系
一个仓库可以包括多个"工厂+库存地点",一个"工厂+库存地点"只能属于一个仓库;
 T320,工厂+库存地点=>仓库号
 • 销售组织与公司代码的关系
一个销售组织只能属于一个公司代码;
例:3011宁乡起重机销售组织只能属于3011公司代码。
表: TVKO销售组织;
 •  销售组织与工厂的关系
 销售组织与工厂是多对多的关系,但是该关系仅说明了销售组织可以"销售"哪些工厂的,并不能表示两者之间有财务上的所属关系;
 表: TVKWZ 每个销售机构允许的工厂数
 • 采购组织与公司代码的关系
采购组织与公司代码可以不存在分配关系,我们除极少的两三家公司外,基本上没有进行分配(如果进行分配的话,则一个采购组织只能分配给一个公司代码)。
表:T024E 采购组织
 • 采购组织与工厂的关系
 采购组织与工厂是多对多的关系(但是如果采购组织已经分配给公司代码后,则只能分配该公司代码下的工厂给采购组织)
T024W工厂的有效采购组织
 • 不能根据字段在前台所属的物料视图来确定相应的数据表,一定要使用F1->技术信息;
    例:采购视图的"采购价值代码"就是属于基本数据(MARA-EKWSL)。
 •  物料主数据的关键表:
 MARA,基本视图
 MARC,工厂
 MARD,工厂/库存地点
 MBEW,财务数据,其中的MBEW-BWKEY就是指工厂MARC-WERKS
 MVKE,销售组织/分销渠道
 MLGN,仓库
 MLGT,仓库/存储类型
 MSTA,物料主数据维护状态
 •  BOM主数据
 BOM用途:1表示生产
 BOM类别:M表示物料BOM
 MAST,BOM 链接物料
 STKO,BOM表头
 STPO,BOM 项目
 STZU,永久 BOM 数据
 STAS,BOMs - 项选择
 • 工艺路线主数据
任务清单类型:N表示工艺路线、Q表示检验计划
 MAPL,分配任务清单到物料
 PLKO,任务清单 - 表头
 PLFL,任务清单 - 顺序
 PLPO,任务清单 - 工序/作业
 PLAS,任务清单 - 工序/作业选择
 PLMZ,组件分配
 CRHD,工作中心
 • 独立需求
 PBIM,物料的独立需求
 PBED,独立需求数据
 PBID,独立需求数据(MRP区域)
 PBHI ,独立需求历史记录
 • 计划订单
 PLAF,计划订单,需注意计划工厂PLWRK、生产工厂PWWRK的区别;
 RESB,预留表(通过PLAF-RSNUM与RESB-RSNUM关联)
 • 生产订单
 订单类别: AUTYP,10表示生产订单
 AUFK,订单主数据
  其中WERKS 工厂是指生产订单的生产工厂、 LOEKZ删除标记是对删除状态的生产订单生效(其他状态需通过JEST)进行读取。
 AFKO,订单表头数据 PP 订单
  其中PLNBEZ 、STLBEZ并不一定是订单中产出物料(真正的物料应该是AFPO-MATNR)。
 AFPO,订单项
  虽然关键字中存在POSNR,但实际上我们不存在co-product业务,所以POSNR都为0001.
 AFVC,订单的工序(通过AFKO- AUFPL进行关联)
 AFVV,工序中数量/日期/值的DB结构
 AFFL,加工单顺序
 JEST,订单状态(通过AUFK-OBJNR关联)
 其中STAT的具体含义通过TJ02T对应,注意当INACT=X时,表示该状态不存在。
 RESB,预留表(通过AFKO-RSNUM与RESB-RSNUM关联)
 • 报工/入库/发料
 AFRU,订单确认(AFRU-AUFNR为订单号)
 AFFW,COGI错误(AFFW-AUFNR为订单号)
由于我们没有激活COGI更改历史,所以COGI的更改在AFFWPRO中是没有记录的,若有必要,可通过自定义备份表ZAFFWH进行查看。
  AUFM,订单物料移动数据(AUFM-AUFNR为订单号)
该表的数据更新需依赖于PP的相关配置。此外,如果需要得到某一预留的累计发料数量,可直接使用RESB-ENMNG;如果需要得到某一订单的累计入库数量,可直接使用AFPO-WEMNG。均不需要对物料移动数据进行累加。
 • 供应商主数据
 LFA1,集团数据
 ADRC,地址信息
 LFB1,公司代码数据
 LFM1,采购组织数据
 • 计划订单
 PLAF,计划订单;
 • 采购合同
凭证类别(EKKO-BSTYP)等于K(合同)
 EKKO,采购凭证抬头
 EKPO,采购凭证项目
 • 采购信息记录
 信息记录类别(EINE-ESOKZ):0(标准)、 2(寄售)、3(分包合同)
 EINA ,采购信息记录 - 一般数据
 EINE ,采购信息记录 - 采购组织数据
 • 采购申请
 EBAN,采购申请
 • 采购订单
 凭证类别(EKKO-BSTYP)等于F(采购订单)
 关键表:
 EKKO,采购凭证抬头
 EKPO,采购凭证项目
 EKET,计划协议计划行
 EKKN,采购凭证中的帐户设置
 • 采购收货及发票校验
 EKBE,采购凭证历史
 如果需要得到某一采购订单行项目的累计入库数量,可直接使用EKET-WEMNG,不需要对物料移动数据进行累加。 (虽然SAP是允许同一采购订单行项目是允许多个交货计划(EKET),但我们实际上业务中只允许一个交货计划,很多开发和考核都是基于此)
 RBKP,凭证表头:发票收据
 RSEG,凭证项目:收款发票
 通过发票凭证读取会计凭证建议使用函数AC_DOCUMENT_RECORD。
 • 仓位主数据
 仓位必须跟仓库号、仓储类型一起才有意义,牢记"仓库号+仓储类型+仓位"!
 关键表:
 LAGP,仓位
 • 库存数据
 IM库存数据(注意使用待H的数据):
 MARD,物料的仓储位置数据
 MSLB,供应商特殊库存(o)
 MKOL,供应商的特殊库存(k)
 MSKA,销售订单库存
 MCH1/MCHB,批次库存
 • WM库存数据:
 LQUA,份(quants错误翻译为数量)
 • 物料移动数据
 关键表:
 MKPF,抬头:物料凭证
 MSEG,凭证段:物料
 不是所有的物料移动数据都需要从这物料移动表中进行读取。
 生产订单相关 AUFM,采购订单相关 EKBE,销售相关 VBFA。
 • 移动类型
 借贷标示:MSEG-SHKZG,S表示增加库存、H表示减少库存
 关键表:
 T156*,移动类型
 T030,移动类型科目自动记账
 • WM的数据
 关键表:
 LTBK,转储请求抬头
 LTBP,转储请求项目
 LTAK,WM转储单抬头
 LTAP,转储单项目
 • 客户主数据
 KNA1,   基础数据
 KNB1,公司代码
 KNVV,销售组织
 ADRC,地址
 • 销售价格
 根据条件类型(如PR01)查找存储顺序(如PR02),得到表(如A305等A*表)
 KONP,条件记录号关联
 • 销售合同(销售意向)
 凭证类别G(VBAK-VBTYP)
 VBAK
 VBAP
 • 销售订单
 VBAK:      销售凭证 : 抬头数据
 VBAP:      销售凭证 : 项目数据
 VBEP:      销售凭证  :  计划行数据
 VBKD:      销售凭证  : 业务数据
 VBPA:      销售凭证 : 合作伙伴
 • 交货单
 LIKP
 LIPS
 • 发票凭证
 VBRK
 VBRP
 • 销售凭证流、凭证状态
 VBFA
 VBUK
 VBUP
 • 会计
 • 会计科目主数据
 SKA1,科目表
 SKB1,公司代码
 SKAT,科目描述
 • 成本要素
 CSKB,成本要素
 • 记账期间
 T001B
 财务供应商、财务客户(同后勤模块,维护事务代码FK01,只有公司代码数据)
 • 总账
 BKPF/BSEG
 FAGLFLEXT
 BSAS/BSIS
 GLFUNCT,功能范围
 • AR/AP
 BSAD/BSID
 BSAK/BSIK
 • AM
 ANLA
 • CO
 CSKS,成本中心
 COEP
 COSS(计划/实际,通过WRTTP区分,期间通过字段区分,如WTG004)
 COSP
 • CO-ML
 CKMLHD
 CKMLCR
 CKMLPR
 COPA
 CE*,如CE18000,8000指使用的经营范围
CO与FI的区别及数据
SAP增强技术
用户出口(USER EXIT)
增强(ENHANCEMENT)
•  SMOD
•  CMOD
BADI
•  SE18
•  SE19
 Enhancement Spot
•  ECC6.0后
 标准程序的修改(以CO02为例)
•  SE95查看

SAP 常用业务数据表设计的更多相关文章

  1. 【原创】C#搭建足球赛事资料库与预测平台(6) 赔率数据表设计2

            本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源C#彩票数据资料库系列文章总目录:[目录]C#搭建足球赛事资料库与预测平台与彩票数据分析目录 本篇文章开始将逐步介 ...

  2. 【原创】C#搭建足球赛事资料库与预测平台(3) 基础数据表设计

            本博客所有文章分类的总目录:http://www.cnblogs.com/asxinyu/p/4288836.html 开源C#彩票数据资料库系列文章总目录:http://www.cn ...

  3. 【原创】C#搭建足球赛事资料库与预测平台(4) 比赛信息数据表设计

            本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新 开源C#彩票数据资料库系列文章总目录:[目录]C#搭建足球赛事资料库与预测平台与彩票数据分析目录 本篇文章开始将逐步介 ...

  4. SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 后端篇(五): 数据表设计、使用 jwt、redis、sms 工具类完善注册登录逻辑

    (1) 相关博文地址: SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(一):搭建基本环境:https://www.cnblogs.com/l-y-h/p ...

  5. MySql数据表设计,索引优化,SQL优化,其他数据库

    MySql数据表设计,索引优化,SQL优化,其他数据库 1.数据表设计 1.1数据类型 1.2避免空值 1.3text类型优化 2.索引优化 2.1索引分类 2.2索引优化 3.SQL优化 3.1分批 ...

  6. 数据表设计之主键自增、UUID或联合主键

    最近在做数据库设计的时候(以MySQL为主),遇到不少困惑,因为之前做数据库表设计,基本上主键都是使用自增的形式,最近因为这种做法,被领导指出存在一些不足,于是我想搞明白哪里不足. 一.MySQL为什 ...

  7. PHP 开发 APP 接口 学习笔记与总结 - APP 接口实例 [5] 版本设计分析及数据表设计

    APP 版本升级以及 APP 演示 ① 版本升级分析以及数据表设计 ② 版本升级接口开发以及 APP 演示 /** * version_upgrade 版本升级信息表 */ CREATE TABLE ...

  8. mysql status关键字 数据表设计中慎重使用

    mysql status关键字  数据表设计中慎重使用

  9. 中小型WEB系统权限日志数据表设计

    中小型WEB系统权限日志数据表设计 watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvdTAxMjc1MDU3OA==/font/5a6L5L2T/fontsi ...

随机推荐

  1. How far away(DFS+vector存图)

    There are n houses in the village and some bidirectional roads connecting them. Every day peole alwa ...

  2. Java Excel API的使用

    https://wenku.baidu.com/view/724cc9e2dd88d0d232d46a1b.html

  3. HDU 5883 F - The Best Path 欧拉通路 & 欧拉回路

    给定一个图,要求选一个点作为起点,然后经过每条边一次,然后把访问过的点异或起来(访问一次就异或一次),然后求最大值. 首先为什么会有最大值这样的分类?就是因为你开始点选择不同,欧拉回路的结果不同,因为 ...

  4. 《java学习三》并发编程 -------线程池原理剖析

    阻塞队列与非阻塞队 阻塞队列与普通队列的区别在于,当队列是空的时,从队列中获取元素的操作将会被阻塞,或者当队列是满时,往队列里添加元素的操作会被阻塞.试图从空的阻塞队列中获取元素的线程将会被阻塞,直到 ...

  5. Java的常量接口思考,项目中的常量是放在接口里还是放在类里呢?

    最近在看一本书 Java与模式,里面提了一句不建议使用常量接口,甚至举了个java源码的反例, 蛋疼的是没有说为什么? 查了网上一圈发现他们也是知道怎么做而不知道为什么这么做. 然后我只能找谷歌了,翻 ...

  6. 浅谈C#解析网页

    最近做了一个项目,要求获取各大主流网页上的关键信息,本人以前了解过网页爬虫的知识,所以想到了网页爬虫了实现功能 第一次尝试: 采用webclient获取远程网页的内容,然后采用正则表达式进行过滤 但, ...

  7. @ConfigurationProperties

    功能 将属性文件与一个Java类绑定,属性文件中的变量与Java类中的成员变量一一对应,无需完全一致. 如需将 @ConfigurationProperties 注解的目标类添加到Spring IOC ...

  8. iOS Programming Autorotation, Popover Controllers, and Modal View Controllers

    iOS Programming Autorotation, Popover Controllers, and Modal View Controllers  自动旋转,Popover 控制器,Moda ...

  9. SPOJ BALNUM Balanced Numbers 平衡数(数位DP,状压)

    题意: 平衡树定义为“一个整数的某个数位若是奇数,则该奇数必定出现偶数次:偶数位则必须出现奇数次”,比如 222,数位为偶数2,共出现3次,是奇数次,所以合法.给一个区间[L,R],问有多少个平衡数? ...

  10. input输入大于0的小数和整数

    <input onkeyup="num(this)"onbeforepaste="num(this)"> <script src='jquer ...