‎2008 Dec 25 5:47 AM
Hi Guru's.
i have develop report for annexure 5 . all data display properly.
but only mseg table data not display , only first record display three time .
my code.
loop at it_vbap.
read table it_vbap with key
vbeln = it_vbak-vbeln
posnr = it_vbap-posnr.
if sy-subrc = 0.
read table it_vbep with key
vbeln = it_vbap-vbeln
posnr = it_vbap-posnr.
if sy-subrc = 0.
read table it_mseg with key
mat_kdauf = it_vbap-vbeln
BWART = '501'
SOBKZ = 'E'.
if sy-subrc = 0.
IT_ANN-vbeln = it_vbak-vbeln.
IT_ANN-kunnr = it_vbak-kunnr.
IT_ANN-kwmeng = it_vbap-kwmeng.
IT_ANN-lsmeng = it_vbap-lsmeng.
IT_ANN-posnr = it_vbap-posnr.
IT_ANN-matnr = it_vbap-matnr.
IT_ANN-arktx = it_vbap-arktx.
IT_ANN-edatu = it_vbep-edatu.
IT_ANN-prsdt = it_vbkd-prsdt.
IT_ANN-mblnr = it_mseg-mblnr.
IT_ANN-mat1 = it_mseg-matnr.
IT_ANN-lifnr = it_mseg-lifnr.
IT_ANN-erfmg = it_mseg-erfmg.
IT_ANN-sgtxt = it_mseg-sgtxt.
append it_ann.
endif.
endif.
endif.
endloop.
Thanks in Advance.
Regard
Sam.
‎2008 Dec 25 5:52 AM
hi,
try this code..
loop at it_vbap where vbeln = it_vbak-vbeln.
*read table it_vbap with key
*vbeln = it_vbak-vbeln
*posnr = it_vbap-posnr.
*if sy-subrc = 0.
read table it_vbep with key
vbeln = it_vbap-vbeln
posnr = it_vbap-posnr.
if sy-subrc = 0.
read table it_mseg with key
mat_kdauf = it_vbap-vbeln
BWART = '501'
SOBKZ = 'E'.
if sy-subrc = 0.
IT_ANN-vbeln = it_vbak-vbeln.
IT_ANN-kunnr = it_vbak-kunnr.
IT_ANN-kwmeng = it_vbap-kwmeng.
IT_ANN-lsmeng = it_vbap-lsmeng.
IT_ANN-posnr = it_vbap-posnr.
IT_ANN-matnr = it_vbap-matnr.
IT_ANN-arktx = it_vbap-arktx.
IT_ANN-edatu = it_vbep-edatu.
IT_ANN-prsdt = it_vbkd-prsdt.
IT_ANN-mblnr = it_mseg-mblnr.
IT_ANN-mat1 = it_mseg-matnr.
IT_ANN-lifnr = it_mseg-lifnr.
IT_ANN-erfmg = it_mseg-erfmg.
IT_ANN-sgtxt = it_mseg-sgtxt.
append it_ann.
endif.
endif.
*endif.
endloop.
‎2008 Dec 25 5:52 AM
hi,
try this code..
loop at it_vbap where vbeln = it_vbak-vbeln.
*read table it_vbap with key
*vbeln = it_vbak-vbeln
*posnr = it_vbap-posnr.
*if sy-subrc = 0.
read table it_vbep with key
vbeln = it_vbap-vbeln
posnr = it_vbap-posnr.
if sy-subrc = 0.
read table it_mseg with key
mat_kdauf = it_vbap-vbeln
BWART = '501'
SOBKZ = 'E'.
if sy-subrc = 0.
IT_ANN-vbeln = it_vbak-vbeln.
IT_ANN-kunnr = it_vbak-kunnr.
IT_ANN-kwmeng = it_vbap-kwmeng.
IT_ANN-lsmeng = it_vbap-lsmeng.
IT_ANN-posnr = it_vbap-posnr.
IT_ANN-matnr = it_vbap-matnr.
IT_ANN-arktx = it_vbap-arktx.
IT_ANN-edatu = it_vbep-edatu.
IT_ANN-prsdt = it_vbkd-prsdt.
IT_ANN-mblnr = it_mseg-mblnr.
IT_ANN-mat1 = it_mseg-matnr.
IT_ANN-lifnr = it_mseg-lifnr.
IT_ANN-erfmg = it_mseg-erfmg.
IT_ANN-sgtxt = it_mseg-sgtxt.
append it_ann.
endif.
endif.
*endif.
endloop.
‎2008 Dec 25 5:54 AM
> loop at it_vbap.
>
> read table it_vbap with key
> vbeln = it_vbak-vbeln
> posnr = it_vbap-posnr.
> if sy-subrc = 0.
> read table it_vbep with key
> vbeln = it_vbap-vbeln
> posnr = it_vbap-posnr.
> if sy-subrc = 0.
> read table it_mseg with key
> mat_kdauf = it_vbap-vbeln
> BWART = '501'
> SOBKZ = 'E'.
break-point.
> if sy-subrc = 0.
> IT_ANN-vbeln = it_vbak-vbeln.
> IT_ANN-kunnr = it_vbak-kunnr.
> IT_ANN-kwmeng = it_vbap-kwmeng.
> IT_ANN-lsmeng = it_vbap-lsmeng.
> IT_ANN-posnr = it_vbap-posnr.
> IT_ANN-matnr = it_vbap-matnr.
> IT_ANN-arktx = it_vbap-arktx.
> IT_ANN-edatu = it_vbep-edatu.
> IT_ANN-prsdt = it_vbkd-prsdt.
> IT_ANN-mblnr = it_mseg-mblnr.
> IT_ANN-mat1 = it_mseg-matnr.
> IT_ANN-lifnr = it_mseg-lifnr.
> IT_ANN-erfmg = it_mseg-erfmg.
> IT_ANN-sgtxt = it_mseg-sgtxt.
> append it_ann.
> endif.
> endif.
> endif.
>
> endloop.
>
>
i have inserted a break point in above code do the same in actual code and check at run time in debugging that what values ur mseg table is having
may its not repeating first row but having same records for ur key which u r passing
Edited by: kartik tarla on Dec 25, 2008 11:24 AM
‎2008 Dec 25 5:57 AM
also try one more thing. make ur it_vbap table as without header line and then use
loop at it_vbap into wa_vbap
then at the end before endloop clear ur workarea.