I have the follow join-select
SELECT *
FROM ( ( vbap INNER JOIN vbep ON vbepvbeln EQ vbapvbeln AND
vbepposnr EQ vbapposnr )
INNER JOIN vbak ON vbakvbeln EQ vbapvbeln )
INNER JOIN vbkd ON vbkdvbeln EQ vbakvbeln
INTO CORRESPONDING FIELDS OF wa_data_a
WHERE vbap~vbeln IN s_vbeln
AND vbap~erdat IN s_erdat
AND vbak~vkorg EQ p_vkorg
AND vbak~vtweg EQ p_vtweg
AND vbak~spart EQ p_spart
AND vbak~kunnr IN s_kunnr
AND ( vbeplifsp NE space AND vbeplifsp IN s_lifsk )
AND vbkd~bstkd IN s_bstkd.
APPEND wa_data_a TO it_data_a.
ENDSELECT.
with *data_a refers to the follow type:
TYPES: BEGIN OF ty_data_a,
vbeln LIKE vbak-vbeln,
posnr LIKE vbap-posnr,
vkorg LIKE vbak-vkorg,
vtweg LIKE vbak-vtweg,
spart LIKE vbak-spart,
erdat LIKE vbak-erdat,
kunnr LIKE vbak-kunnr,
lifsk LIKE vbak-lifsk,
bstkd LIKE vbkd-bstkd,
matnr LIKE vbap-matnr,
kwmeng LIKE vbap-kwmeng,
vrkme LIKE vbap-vrkme,
lifsp LIKE vbep-lifsp,
END OF ty_data_a.
I don't know why but, the field POSNR is always empty (value 0000) while the others are correctly set; maybe there is an error in the select, but I can't find it.
Could anyone give me suggestions?
thank you in advance.