Join tables vbak and konv

I have a problem concerning joining vbak and  konv. I want the contents to be in the same table at the output, but it does not seem to work. I cannot use the easy way of using JOIN, as KONV is  a special table.

Any help ?

TYPESBEGIN OF ty_vbak,
         vkorg TYPE vbakvkorg,
         vbeln TYPE vbakvbeln,
         erdat TYPE vbakerdat,
         knumv TYPE vbakknumv,
         vtweg TYPE vbakvtweg,
         kalsm TYPE vbakkalsm,
       END OF ty_vbak.

TYPESBEGIN OF ty_konv,
         knumv TYPE konvknumv,
         kposn TYPE konvkposn,
         stunr TYPE konvstunr,
         kschl TYPE konvkschl,
         kdatu TYPE konvkdatu,
         kherk TYPE konvkherk,
         kinak TYPE konvkinak,
       END OF ty_konv.

TYPESBEGIN OF ty_tab,
         vkorg TYPE vbakvkorg,
         vbeln TYPE vbakvbeln,
         erdat TYPE vbakerdat,
         vtweg TYPE vbakvtweg,
         kalsm TYPE vbakkalsm,
         knumv TYPE vbakknumv,
         kposn TYPE konvkposn,
         stunr TYPE konvstunr,
         kschl TYPE konvkschl,
         kdatu TYPE konvkdatu,
         kherk TYPE konvkherk,
         kinak TYPE konvkinak,
       END OF ty_tab.

DATAit_vbak  TYPE TABLE OF ty_vbak,
      it_vbak2 TYPE TABLE OF ty_vbak,
      it_konv  TYPE TABLE OF ty_konv,
      it_tab   TYPE TABLE OF ty_tab,
      wa_tab   TYPE ty_tab,
      wa_konv  TYPE ty_konv.

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT001.
SELECT-OPTIONSs_date FOR vbakerdat,
                s_vkorg FOR vbakvkorg NO INTERVALS,
                s_vtweg FOR vbakvtweg NO INTERVALS,
                s_vbeln FOR vbakvbeln NO INTERVALS.
SELECTION-SCREEN END OF BLOCK b1.

SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT002.
SELECT-OPTIONS:
            s_kposn FOR konvkposn NO INTERVALS,
            s_stunr FOR konvstunr NO INTERVALS,
            s_kschl FOR konvkschl NO INTERVALS,
            s_kherk   FOR konvkherk NO INTERVALS,
            s_kinak   FOR konvkinak NO INTERVALS,
            s_kdatu FOR konvkdatu.
SELECTION-SCREEN END OF BLOCK b2.

START-OF-SELECTION.

  SELECT knumv
    FROM vbak
    INTO TABLE @DATA(it_knumv)
      WHERE erdat IN @s_date AND
            vkorg IN @s_vkorg AND
            vtweg IN @s_vtweg AND
            vbeln IN @s_vbeln
      ORDER BY kalsm ASCENDING.

  SELECT knumvkposnstunrkschlkdatukherkkinak
      FROM konv
      FOR ALL ENTRIES IN @IT_knumv
      WHERE knumv @IT_knumvknumv AND
            kdatu IN @s_kdatu AND
            kposn IN @s_kposn AND
            stunr IN @s_stunr AND
            kschl IN @s_kschl AND
            kherk IN @s_kherk AND
            kinak IN @s_kinak
      INTO CORRESPONDING FIELDS OF TABLE @IT_tab.

  SELECT vkorgvbelnerdatvtwegkalsm
   FROM vbak
    FOR ALL ENTRIES IN @IT_knumv
    WHERE knumv @IT_knumvknumv
   INTO CORRESPONDING FIELDS OF TABLE @IT_vbak.

MOVE-CORRESPONDING it_vbak TO it_tab.

 

Scroll to Top