SAP - 表、业务流程
SD
KNA1
General Data in Customer Master
一般数据,客户的基本数据,跟销售,财务业务无关 例如:姓名,电话,地址
TCODE: XD03/VD03
KNVV
Customer mater sales data
客户的,跟我们公司销售相关的数据 例如:销售地区,销售组,客户组,付款条件
KNB1
Customer Master (Company Code data)
客户的,跟我们公司财务相关的数据 例如:统驭科目
一般流程
询价VA11-->报价单(VA21-VA23)-->创建订单(VA01-VA03)-->交货(VL01N)-->捡配(LT03) à 发货过帐(VL02N,产生物料凭证) à 开发票(VF01-VF03,即账务过账,产生会计凭证)--->应收 (F-28, 即清账)
即交货确认,产生物料凭证
即产生会计凭证
发票即开票?是账务凭证产生的前一道操作?
捡配单: TO = Transfer Order
拣配, 是指从保管场所(库存)取出的商品,到进行商品出货准备的拣配区,进行数量正确的备货
VBAK/VBAP
询价、报价单,订单
通过:VBAK-VBTYP(SD 凭证类别) 来区分
TCODE: VA11/VA21/VA01/VA05N
订单/报价:抬头:客户编号(售达方),订单日期,销售相关数据。行项目:产品编号,批号,物料组,产品层次,销售数量,价格条件里的小计1,到小计6
VA05N :销售订标准ALV报表
LIKP/LIPS
重要的字段:抬头:送达方,行项目:交货数量,交货日期
TCODE: VL01N
VBRK/VBRP
重要的字段:抬头:开票方,字段和订单基本一样。
TCODE: VF01
VBFA
凭证(单据)流
TCODE: VF03
A+++/KONP
A+++ 是定价条件表, KONP价格条件项目
KONH : Conditions (Header)
KONP : Conditions (Item)
价格主数据在表AXXX里,XXX表示数字,KONH和KONP分别存放抬头和行项,三者存储了价格主数据信息?
价格主数据
Tcode :VK11
VBAK/KONV
KONV-KNUMV (单据条件号) = VBAK-KNUMV AND
KONV-KPOSN = VBAP-POSNR
单据的价格(每张单据根据价格主数据定价格过程算出来的?)存放在KONV-KBETR里
² 定价 由四个重要部分组成:定价过程 、条件类型 、存取顺序 、存取表。 之间的关系:定价过程由一系列的条件类型组成,而每个条件类型都有一个与之对应的存取顺序,而每个存取顺序由一系统的A表组成,即每个存取顺序的Item都对应一个存取表(A表)
² 定价过程 是通过销售区域 (销售组织+分销渠道+产品组)订单类型 以及客户 共同决定的,这也是符合实际业务逻辑的。一般来说,定价过程总是针对一定销售区域,一定客户以及特定的业务类型(决定了单据类型)来完成的
² 定价过程由许多条件类型 组成的。比如最常用的PR00 含税销售价、K007 客户折扣、NTPW 含税金额=PR00含税销售总价-折扣、MWSI 税=NTPW含税价/(1+税率)*税率、NTPS 不含税净价=NTPW折扣后含税价-MWSI税额、VPRS成本(物料主数据中的移动平均价) 等条件类型
² 条件类型 ( 指定价格要素如何被计算),如果是项目条件类型,则需要在定义时维护一个存取顺序 ,存取顺序区分了在不同层次上的定价 。比如对于一个条件类型,可以按照客户/物料 来定价,也可以只对物料 定价(还有一种:价格清单/货币/物料 ,每一种关键字段组合都会产生一个A表)。如果前一个是存取顺序项目号10(每一个存取顺序Item都是一个A表),后一个是20,那么在定价时,系统会判断是否满足第一个条件,以及前台是否有维护过相应的数据,如果没有则找20项,如果有则取10项,如果找遍所有存取顺序,都找不到,则根据条件类型定义的是否是必须的,可能会弹出定价条件丢失的警告
² 如果是项目条件类型,则需要在定义时维护一个存取顺序 ,存取顺序就区分了可以在不同层次上定价。比如对于一个条件类型,可以按照物料/客户来定价,也可以只对物料定价(每一种关键字段组合都会产生一个A表)。如果前一个是存取顺序项目号10(每一个存取顺序Item都是一个A表),后一个是20,那么在定价时,系统会判断是否满足第一个条件,以及前台是否有维护过相应的数据,如果没有则找20项,如果有则取10项,如果找遍所有存取顺序,都找不到,则根据条件类型定义的是否是必须的,可能会弹出定价条件丢失的警告
² 创建步骤:
把想要的字段放进字段目录(即长关键字段组合设定)
创建条件表、存取顺序,把条件表分配给存取顺序
创建条件类型,把存取顺序分配给条件类型
创建定价过程,把条件类型分配给定价过程
VBUK :抬头状态
VBUP :行项目状态
VBKD/VBPA/VBEP
销售凭证:业务数据/合作伙伴/计划行数据
MM
MARA/MAKT/MARM
MARA: 物料的一般数据,例如:基本单位,物料组,产品层次等 、 MAKT--物料描述,MARM:物料单位换算:对比MM03-附件数据
TCODE:MM01
MVKE/MVVE
物料的销售数据
MARC/MLAN
物料的采购数据
库存
MARD :物料库位(当前库存) MARDH(历史库存,Material Master Storage Location Segment: History)
MARC :物料工厂(在途库存) MSKU:第三方库存表 MSKA:销售订单库存
TCODE :MB51(物料凭证查询, 物料移动详情:凭证及数量) /MB52(可用库存)/MB53
可用库存:可通过BAPI_MATERIAL_AVAILABILITY 来获取 当前库存:一般保存在 MARD-LABST字段中
在途库存:MARC-UMLMC(中转库存) + MARC-TRAME(在途库存),在途库存是不存在库位关系的 寄售库存:MSKU-KULAB,寄售库存是不存在库位关系的
T001W :工厂表 T001L:工厂库位关系表
MBEW
物料的财务数据、物料评估/价格
业务表
(采购询价ME41 /报价 ME47 报价录入、ME49 报价比较 )->采购申请-->采购订单--> 发送采购单给供应商ME9F --> 采购收货(产生物料凭证?)->发票校验(产生会计凭证)->应付
EBAN/EBKN
采购申请头/Item
TCODE :ME51N-ME53N
EKKO/EKPO
采购订单
TCODE: ME21N-ME23N
MKPF/ MSEG
物料凭证:采购收货,货物移动(MB1A,MB1B,MB1C)
TCODE:MIGO MB01-MB03
RBKP/RSEG
发票校验(录入发票)
TCODE:MIRO
应付
F-53
EKBE
采购凭证
EKKN 为SO与PO的关联表
供应商
LFA1
一般数据
TCODE:XK01-XK03
LFB1
公司代码数据
LFM1
采购数据
FI
BSID 、BSAD
客户 的未清帐、已清帐凭证表。
TCODE: FBL 5N
BSIK ,BSAK
供应商 未清帐、已清帐凭证表。
TCODE: FBL 1N
BSIS ,BSAS
总账 的未清帐、已清帐凭证表。
TCODE: FBL 3N
现在要做一个报表,看某客户某日期欠款额度如何取数?
取bsid该客户该日期前的数据,bsad该客户该日期之后的数据
查看所有以上会计凭证:FB03
BKPF/ BSEG
会计凭证的主键:凭证号+公司代码+年份
PP
流程:
MD02 跑MRP (物料需求计划),系统会为相应销售订生成相应的生产计划单—> MD04 生产计划单转工单 —> CO02 下达 生产订单准备生产—> MB1A 领料 生产(物料移动类型选择“261从仓库发货到订单的消耗,即领料生产”)—> CO11N 工单确认 —> MIGO 生产订单收货 ,移动类型选择“101采购订单和生产订单的收货”(注:MIGO是一个集成了所有物料异动的事务,可以进行收、发货等多种操作)—> CO02 关闭 生产订单(订单新增CLSD 状态)
BSAD :应收明细(已清帐)BSID :应收明细(未清帐) BSAS :总帐明细(已清帐) BSIS :总帐明细(未清帐) BSAK :应付明细(已清帐) BSIK :应付明细(未清帐)
BSEG 主要通过“凭证号”“会计年度”“行号”和这六张表关联
一般情况下一笔业务产生的凭证都是未清的,那么:如果该业务行是客户相关的,则被记录到BSID; 如果该业务行是供应商相关的,则被记录到BSIK; 无论和客户相关还是和供应商相关,都是和总帐相关,所以也会有记录到BSIS; 但是如果这笔业务被清帐了,则相应的记录会从BSIS转移到BSAS
一般情况下:应收账款、预收账款、其他应收款、应收汇票等科目既和客户相关,又和未清项管理的总帐科目相关; 应付账款、预付账款、其他应付款、应付汇票等科目既和供应商相关,又和未清项管理的总帐科目相关; 其他总帐科目一般不启用未清项管理,所以记录一般都放在BSIS中。 BSEG 本身是一个 Cluster Table(簇表),BSEG就是由上述的六大表的集成,当要读取”BSEG”Table时就等于去读取那六个表,这样你可以想像它读起来会就多慢。对於 簇表或Pool Table,都是SAP系统本身在使用的,因此簇表本身是不存在资料库实体的,虽然是可以在ABAP使用,不过还是有一些限制: 1.不能使用select distinct or group by语法 2.不能使用Native SQL 3.不能使用specify field names after the order by clause 4.不能在建立次索引 5.查询时一定要用KEY FIELD
原文链接:https://www.cnblogs.com/jiangzhengjun