将KNA1表加入VBRK

问题描述

要从KNA1表中获取ORT02字段,我正在尝试将VBRK加入KNA1,但当前返回0行。

我不确定链接。

不允许我从ORT02中选择选项。

我该如何加入这两个表?

Tables: VBRK,KNA1,VBRP.


TYPES: Begin of itab5,VKORG TYPE VBRK-VKORG,FKDAT TYPE VBRK-FKDAT,ARKTX TYPE VBRP-ARKTX,FKIMG TYPE VBRP-FKIMG,VRKME TYPE VBRP-VRKME,ORT02 TYPE KNA1-ORT02,End of itab5.

DATA: wa_ma5 TYPE itab5,it_ma5 TYPE STANDARD TABLE OF itab5,quan TYPE VBRP-FKIMG,curr TYPE vbrp-vrkme.

SELECT-OPTIONS: DATE FOR VBRK-FKDAT.
SELECT-OPTIONS: Organ FOR VBRK-VKORG.

APPEND date.
APPEND Organ.

START-OF-SELECTION.
  SELECT VBRK~VKORG VBRK~FKDAT VBRP~FKIMG VBRP~VRKME VBRP~ARKTX KNA1~ORT02 FROM VBRK
    inner JOIN VBRP ON VBRP~vbeln = VBRK~vbeln
    INNER JOIN KNA1 ON VBRK~KUNAG = KNA1~KUNNR AND VBRK~KUNRG = KNA1~KUNNR
     INTO CORRESPONDING FIELDS OF TABLE it_ma5
     WHERE FKDAT in DATE AND VKORG in Organ AND ARKTX LIKE '%Semoule%' AND ORT02 LIKE '%ORA%'.

解决方法

可以根据您的条件通过SE16(SE16N / SE16H)从此表中获得任何结果吗?我的意思是尝试查看在ORT02上具有过滤器的KNA1,然后选择所有客户并按他们过滤VBAK,然后转到具有选定VBELN的VBAP并按文本过滤。你有东西吗您确定有任何数据受到您的限制吗? 如果是,则尝试删除所有条件,并在加入条件中仅保留VBAP〜KUNAG或VBAP〜KUNRG。然后一个接一个地添加以查找问题情况。 Select语句看起来不错,并且该字段中没有任何技巧。

,

这是对SQL JOIN或所涉及的数据结构的误解。

使用KUNAG AND KUNRG的KNA1加入VBRK没有意义。一个是售达方,另一个是付款人。如果您需要有关双方合作伙伴的信息,则可以使用KNA1参加2次,一次出售给付款人,一次支付给付款人。像这样:

    select vbrk~vbeln,vbrk~kunag,kna1_sp~ort02 as ort02_soldto,vbrk~kunrg,kna1_py~ort02 as ort02_payer 
      into ....
      from vbrk inner join vbrp on vbrp~vbeln = vbrk~vbeln 
                inner join kna1 as kna1_sp on kna1_sp~kunnr = vbrk~kunag
                inner join kna1 as kna1_py on kna1_py~kunnr = vbrk~kunrg
      ....

,

您可以使用ADRC表,其中包含CITY1字段,可能对您的需求有用。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...