SAP VBKD表

SAP VBKD表是一个略为奇怪的表。


如下图所示,我创建并保存了一个销售订单, 当我又修改了该订单并保存后, 订单中只有一条行项目, 可是系统却向VBKD表中写了两条,并且两条内容是完全相同的,仅仅是行项目号一个是10,一个是空。


不大清楚它的逻辑,这样理解不知道对不对,项目行“0000”(就是空)可以说是表头的数据的,是直接是从客户主数据带来,可以修改。修改后项目行还是“0000”。如果你是争对行项目来的话修改会在VBKD增加行项目POSNR行,如果是针对行来讲先找到行对应的数据(就是inner join的时候要是加入了posnr的条件,必须是行项目上面的修改后才有),如果没有就是找“0000”行项目的数据。

所以说我们需要取这个表里面的某些记录的时候(比如汇率啊,定价日期啊等等),最好取抬头层次的。

  SELECT VBAK~BUKRS_VF AS BUKRS
         VBAK~VKORG
         VBPA~KUNNR
         VBAP~VBELN
         VBAP~POSNR
         VBAK~WAERK
*         VBAK~KUNNR
         VBAP~KZWI1
         VBKD~KURSK  
     FROM VBAP
    INNER JOIN VBAK ON VBAK~VBELN VBAP~VBELN
    INNER JOIN VBUP ON VBUP~VBELN VBAP~VBELN
                   AND VBUP~POSNR VBAP~POSNR
    INNER JOIN VBPA ON VBPA~VBELN VBAP~VBELN
    INNER JOIN VBKD ON VBKD~VBELN VBAP~VBELN "很容易重行
    INTO CORRESPONDING FIELDS OF TABLE GT_VBAK
    WHERE VBAK~BUKRS_VF IN S_BUKRS
      AND VBPA~KUNNR IN S_KUNNR
      AND VBPA~PARVW 'AG'
      AND VBAK~VBTYP 'C'
      AND VBAK~ERDAT IN S_BUDAT 
      AND VBKD~POSNR '0000'
      AND VBUP~LFGSA 'A'.

这样一写还是比较靠谱的,仅此备忘录,希望了解的朋友回复。



评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SAP剑客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值