VBAK 销售订单抬头(注意:有各种类型凭证,有合同)

VBAK-VBELN 销售凭证号                  VBAK-AUART 销售凭证类型(免费订单、三包订单)               

VBAK-KNUMV 单据条件数(查找销售订单项目定价条件直接去konv查即可,​S4在PRCD_ELEMENTS​里) 

abstk  拒绝状态(C全部拒绝)             

VKBUR 销售办公室(销售部门)

VABK-KUNNR 售达方                        VBAK-ERDAT    创建日期                   VBAK-ADRNR  地址编号

VBTYP 销售凭证类别(询价、B报价、订单)(只选销售订单时为 C H I)                              

KVGR(N) 附加数据(客户组,可自定义配置)              

VTWEG 分销渠道    VKORG 销售组织                

AUGRU 订单原因    OBJNR 对象(不需要审批的objnr为空)

vdatu 请求的交货日期

objnr 对象号(用于取系统状态和用户状态,可以取表JEST,也可以用函数 STATUS_TEXT_EDIT取)

注:销售凭证类型没有对应文本,只能从域VBTYP中值,使用函数 DD_DOMVALUES_GET

VBUV 销售凭证 : 不完整性日志

PRCD_ELEMENTS(测出来S4有些条件没有,可能是bug,取了A501和KONP)

注:PRCD_ELEMENTS KBETR存表和别的表不一样,如果是日元之类的货币,计算时还需要​转入​一下

kschl 条件类型

KBETR 率(单价)  kpein 条件定价单位      waers 货币

kwert 金额

TVKBT

VKBUR 销售办事处        BEZEI 描述

VBPM​ - Supplement for Sales Document Items: ​Technical PM Objects

VEDA 合同数据(对抬头,修改后有行项目)

VBEGDAT 合同开始日期        VENDDAT 合同终止日期

TVKBT 销售部门描述

BEZEI 描述

VBPA 销售凭证 : 合作伙伴

POSNR ​取空 ​ PARVW 功能(注意转换例程)  KUNNR 送达方 加功能判断

tvak 销售凭证类型

VBTYP 销售和分销凭证类别(为C则为销售订单,为H则为退货订单)

TVAKT 销售订单类型描述

AUART 凭证类型     BEZEI 描述   SPRAS 语言代码

TVGRT 组织单位: 销售组: 文本(可取附加数据客户组文本)

VKGRP 销售组                              BEZEI 描述 

TVV(N)T 客户组1:描述(销售订单抬头自定义客户组描述)

KVGR(N) 客户组1                            BEZEI 描述

TVKOT 销售组织文本


VBAP 销售订单行项目(销项税税码用定价条件取,在BSEG中也有)

VBAP-VBELN 销售凭证号                     VBAP-POSNR 项目号                      

WERKS 工厂                               VBAP-MATNR 物料号        ARKTX 描述

LFSTA 交货状态(是否创建交货单)

VBAP-NETPR 净价(不含税)                               VBAP-NETWR 净价值(净价*数量) WAERK 凭证货币

VBAP-KWMENG 销售单位对应的订单数量    VRKME 销售单位(取这个单位)                

KWMENG*UMVKZ/UMVKN 基本计量单位的数量        VBAP-MEINS 基本计量单位    

VBAP-ABGRU 拒绝原因

VBAP-PRODH 事业部         MVGR3 物料组3         

CUOBJ Configuration               

VSTEL 装运点

UPMAT 上层物料号

CMPRE 项目信贷价格(客户单价)(最终单价)

KZWI1 含税金额 小计1(总金额、含税);定价系列字段,分别有1到6;本位币金额在其对应的会计凭证中(取含税金额就在这里取,用netwr + 定价里的税额不一定对)                           

注:VBAP中有销售订单,也有报价单,根据VBAK销售凭证类别判断

销售订单的定价不同指的是一个物料对不同客户的价格不同,在一张销售订单上,物料的价格是确定的,所以可以直接从KONV中取出不同条件类型的价格

销售订单常用金额字段:金额(KONV中,条件类型价格),客户价格(VBAP中,实际价格),净价(不含税单价),净价值(不含税总价)

VISER02 合同的技术对象 物料和序列号

注:如果修改了设备料号,不会更新合同的历史数据,但va43显示的料号是从主数据带过去的

TVM3T 物料组3描述

VBUK 销售订单(交货单)抬头状态 (s4是空的,直接取单据上的状态)

LFSTK  交货状态(是否创建交货单,交货单关联时是空的)

WBSTK DN过账状态(只有A未过账和C完全过账两种状态) 

FKSTK 开票状态

UVFAK 抬头开票状态

VBUP 销售订单项目状态(可以直接inner join vbap)(S4不用了)

VBELN 销售订单号                              POSNR 项目号                              

GBSTA 总处理状态                              LFSTA 交货状态(A没有处理 B部分处理 C完全处理)               

UVFAK 出具发票状态     注:状态描述取域值

注:如果开票是参考交货单的,还得用交货单关联VBUP才行,也可以用VBAK~VBELN 关联VBRP~AUBEL判断是否开票(可以再加上冲销逻辑)

VBEP 计划行数据

VBELN 销售订单号                POSNR 项目号      

ETENR 交货计划行号(如果只取一个交货日期时就取1)     EDATU 计划行日期

ETTYP 计划行类别

TVST 装运点

注意创建交货单,时区是从装运点的配置时区带过来的

LIKP 销售凭证交货抬头(物理删除)

LFART 交货类型            WADAT_IST 过账日期(实际发货日期)

lifsk 冻结        spe_loekz     删除

wbstk 过账状态        KOSTK 拣配状态

VSTEL 装运点

LIPS 销售凭证交货行项目

LIPS-VBELN 交货单号                                             LIPS-POSNR 项目号

LIPS-VGBEL 参考单据的单据编号(销售订单号)    LIPS-VGPOS 参考单据的项目编号

WBSTA 发货状态(是否过账)    FKSTA 出具发票状态(是否开票)---------这些状态新版本才有,老版本找vbup

LIPS-LFIMG 实际已交货量(按销售单位) VRKME  销售单位   

KCMENG ​所有分裂项目的累计批数量(以库存单位计)--有批次拆分时LFIMG 为0取KCMENG 

BWART 移动类型(过账时会作为物料凭证的移动类型,可以在增强中修改)(如果没批次拆分这个字段就是0)

WERKS 发货工厂        UMWRK 收货工厂

UECHA 上层项目(批次拆分)

附:

1.销售订单已交货数量     (LIPS-VGBEL = VBAP-VBELN AND LIPS-VGPOS = VBAP-POSNR SUM(LIPS~LFIMG))

2.已发货数量 sum(lips~lifmg) where WBSTA  = 'C'

3.inner join

inner join ekpo on lips~vgbel = ekpo~ebeln and substring( lips~vgpos,2,5 ) = ekpo~ebelp

tvswz 工厂和装运点的对应关系

VBKD 销售凭证:业务数据(销售订单项目细节、含报价单)

VBKD-VBELN 销售凭证号                        VBKD-POSNR 项目号

BSTKD 采购订单编号

VBKD-KURSK 决定价格的汇率(VBAP中没有本位币金额,需要用汇率计算本位币金额)

vsart 装运类型                 sdabw 提货方式

注:如果不修改汇率或只在表头修改汇率,则该销售订单只有一条数据,其中POSNR为空,在项目细节上修改汇率时,会增加一条该项目数据(之前的只有销售订单号没有项目号的数据还在,​取值时直接取POSNR = SPACE​)

LCNUM 信用证号码

条件

a304等,vk13 st05跟一下即可

KONV 条件价格

KONV-KNUMV 单据条件数             KONV-KPOSN 条件项目号(连接VBAP POSNR)               KSCHL 条件类型

KBETR 条件类型金额(当配置百分比时,此字段显示的是百分比*1000)(单价)                          

KWERT 定价值(无论条件类型是百分比还是数值,此字段都显示金额值)(金额)

MWSK1 税码

附:销售凭证定价过程(以万联为例);以下条件类型和定价顺序均可配置

报价               ZPR1(国内报价)、ZPR2(国外报价)               在销售订单项目中显示在“金额”字段             

提价               K005

折扣               K007

降价               K004

总计                                                                                                 上述条件类型金额相加;可以从VBAP-CMPRE中取出(不显示在前台项目字段中)

销项税           MWSI                                                                        

货物价值       NETW(净价值)                                                     显示在前台“净价值”字段(VBAP-NETPR)(前台“净价”字段会显示净单价(VBAP-NETWR))     

内部价格       VPRS(成本)

边际利润                                                                                          净价值减内部价格                              

V_konv_CDS 没有采购信息记录KONV就没有数据了,从这个视图取(SD也可以)

lifnr 供应商     KBETR 税率(1000倍)、价格

kinak 未激活

KONH 条件记录抬头

KONP 条件项目(事务数据)(销售订单金额)(VK11中的物料销售价格条件记录)(簇表)(销售订单客户价格可以直接取VBAP取CMPRE)

注:WL VK11中维护完物料销售价格后会写入A304中,根据物料号(和其他维护)在A304中选取KNUMV单据条件数,可以读出KBETR价格(此时KSPOSN默认为1),如果用bapi创建,konp可以创建出多条,这是有bug的

VBRK (销售)发票抬头

FKSTO 出具发票凭证被取消(X)    SFAKN 冲销凭证号(本张发票冲了别人,被冲销的发票VBELN,参考vgbel是dn,​也需要排除​)

FKDAT 开票日期(跨月冲销时FKDAT在上月,ERDAT在本月)

NETPR Net Value

KURRF 汇率

注 :以上两种冲销AUBEL都会参考同一张销售订单

RFBSK 过账状态(C已过帐)

注:对应的会计凭证

bkpf-awtyp = 'VBRK'

bkpf-awkey = vbrk-vbeln

bkpf-bukrs = vbrk-bukrs.

VBRP 发票项目

VBELN 开票凭证                                       POSNR 项目(此字段连接BSEG项目时要去PSONR+2(3),因为字段定义长度不一样)        

FKIMG 开票数量(发票数量)                    VRKME 销售单位         MWSKZ 税码(值是空的)

AUBEL 销售订单号                                    AUPOS 项目

VGBEL    VGPOS 可以是销售订单、交货单,所以取销售订单不能从这里取​(如果交货单合并开票了参考凭证是谁)

AUTYP SD 凭证类别(参考凭证类别)

MATNR 物料号                                        ARKTX 销售订单项目文本                 NETWR 净价值                   CMPRE 信贷价格    

ERDAT 创建日期                                   LGORT 库存地点(有的是空的,从LIPS取)

netwr  不含税金额    mwsbp 税额

如果定价有两个税额都会写进mwsbp 里,要单独取的话需要用KONV取,参考金税接口

VBFA 销售凭证流

vbeln 发票号    posnn 发票项目号    vbelv 参考凭证号(销售凭证号)    posnv 参考凭证项目号

VBTYP_N 凭证类别(C)

TVFK 出具发票: 单据类型:根据发票类型取出凭证类别,判断反向发票

KNA1 客户主文件的一般数据

KNA1-KUNNR 客户号                     KNA1-NAME1 名称1

注意:              销售订单中有多种类型,销售退货订单

销售订单未清数量 = 销售订单项数量 - SUM计划行-已交货数量(双击销售订单项目)

修改object DEBI

KNB1 客户公司代码

KNVV 客户销售组织

tvagt 销售凭证拒绝原因描述

tvko 销售组织和公司代码的对应关系

TVKWZ 销售组织和工厂的对应关系

取SO配置的特征值(表ibsymbol不能Left join)(单位在CABN里)

    select distinct "不用管上层,取出来结果一样的

      vbap~ps_psp_pnr,vbap~vbeln,

      ibin~instance,ibin~in_recno

*      IBIN_UP~IN_RECNO AS IN_RECNO_UP

      into table @data(lt_vbap)

      from vbap

      left join ibin on vbap~cuobj = ibin~instance

*      LEFT JOIN VBAP AS VBAP_UP ON VBAP~VBELN = VBAP_UP~VBELN AND VBAP~UPMAT = VBAP_UP~MATNR "上一层

*      LEFT JOIN IBIN AS IBIN_UP ON VBAP_UP~CUOBJ = IBIN_UP~INSTANCE

      for all entries in @gt_alv

      where vbap~ps_psp_pnr = @gt_alv-pspel and vbap~ps_psp_pnr ne '00000000'.

    select

      ibinvalues~in_recno,ibinvalues~symbol_id,

      ibsymbol~atinn,ibsymbol~atwrt,ibsymbol~atflv

*      IBSYMBOL_WFROM~SYMBOL_ID AS SYMBOL_ID_WFROM ,IBSYMBOL_WFROM~ATWRT AS SO_WFROM

      into table @data(lt_ibinvalues)

      from ibinvalues

      inner join ibsymbol on ibinvalues~symbol_id = ibsymbol~symbol_id

*      AND  IBSYMBOL_WARRANTY~ATINN = '0000007440'  "WARRANTY

*      LEFT JOIN IBSYMBOL AS IBSYMBOL_WFROM ON IBINVALUES~SYMBOL_ID = IBSYMBOL_WFROM~SYMBOL_ID AND IBSYMBOL_WFROM~ATINN = '0000007439' "WARRANTY VALID FROM

      for all entries in @lt_vbap

      where ( ibinvalues~in_recno = @lt_vbap-in_recno

*      OR IBINVALUES~IN_RECNO = @LT_VBAP-IN_RECNO_UP

      )

      and ibsymbol~atinn in ('0000007440','0000007439')  "WARRANTY 和 WARRANTY VALID FROM

      .