表的要求
表中使用的字段请尽量参照各模块的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. 有关xerosploit运行报错问题的有效解决方案

    [安装xerosploit]安装xerosploit的步骤如下,我是将xerosploit直接克隆到了根目录下(使用“cd /”到达根目录) git clone https://github.com/ ...

  2. 黑马学习SpringMVC 基本开发步骤

  3. js中的面向对象程序设计

    面向对象的语言有一个标志,即拥有类的概念,抽象实例对象的公共属性与方法,基于类可以创建任意多个实例对象,一般具有封装.继承.多态的特性!但JS中对象与纯面向对象语言中的对象是不同的,ECMA标准定义J ...

  4. CC38:第k个数

    题目 有一些数的素因子只有3.5.7,请设计一个算法,找出其中的第k个数. 给定一个数int k,请返回第k个数.保证k小于等于100. 测试样例: 3 返回:7 解法 主要就是在于isPrime这个 ...

  5. Struts2拦截器再认识

    拦截器(Interceptor)是 Struts 2 的核心组成部分. Struts2 很多功能都是构建在拦截器基础之上的,例如文件的上传和下载.国际化.数据类型转换和数据校验等等. Struts2 ...

  6. 破解百度翻译页面api参数加密

    我们的目标 https://fanyi.baidu.com/      找到获取翻译的请求 是这个 https://fanyi.baidu.com/v2transapi 查看一下post提交的表单,是 ...

  7. 1121 - Reverse the lights 思维题

    http://www.ifrog.cc/acm/problem/1121 我看到这些翻转的题就怕,可能要练下这些专题. 我最怕这类题了. 一开始想了下dp, dp[i][0 / 1]表示完成了前i位, ...

  8. GC是如何回收SoftReference对象的

    看Fresco的代码中,有这样的一个类: /** * To eliminate the possibility of some of our objects causing an OutOfMemor ...

  9. Redis string(字符串)

    1.getset key newValue   //给key设置value,并返回旧的value,如果没有旧的value,返回nil. 示例: getset age      //age 的值被设置为 ...

  10. springboot使用过滤器和拦截器

    1.Filter过滤器 @Componentpublic class AuthFilter implements Filter { private static final Log log = Log ...