‎2006 Dec 19 1:09 PM
Here in this code the internal table it_mseg and it_mbew
are not being populated in the following code.Can anybody please tell me what the reason.
Thanks and regards
jyoti
SELECT mblnr
bwart
matnr
INTO TABLE it_mseg
FROM mseg.
IF it_mseg IS NOT INITIAL .
SELECT mblnr
bldat
INTO TABLE it_mkpf
FROM mkpf
FOR ALL ENTRIES IN it_mseg
WHERE mblnr = it_mseg-mblnr.
ENDIF.
IF it_mseg IS NOT INITIAL.
SELECT matnr
bwkey
bwtar
lbkum
INTO TABLE it_mbew
FROM mbew
FOR ALL ENTRIES IN it_mseg
WHERE matnr = it_mseg-matnr.
ENDIF.
‎2006 Dec 19 1:12 PM
check at the bold one
SELECT mblnr
bwart
matnr
INTO TABLE it_mseg
FROM mseg.
IF it_mseg<b>[ ]</b> IS NOT INITIAL .
SELECT mblnr
bldat
INTO TABLE it_mkpf
FROM mkpf
FOR ALL ENTRIES IN it_mseg
WHERE mblnr = it_mseg-mblnr.
ENDIF.
IF it_mseg<b>[ ]</b> IS NOT INITIAL.
SELECT matnr
bwkey
bwtar
lbkum
INTO TABLE it_mbew
FROM mbew
FOR ALL ENTRIES IN it_mseg
WHERE matnr = it_mseg-matnr.
ENDIF.
<b></b><b></b>
‎2006 Dec 19 1:12 PM
hi
try these..
1. use INTO CORRESPONDING FIELDS OF TABLE
2. use IF it_mseg[] IS NOT INITIAL
thx
pavan
‎2006 Dec 19 1:14 PM
Hi Jothi,
Can you check whether there exist data on the database through se16.
Regards,
Satya.
‎2006 Dec 19 1:15 PM
‎2006 Dec 19 1:16 PM
Hi Jyoti,
Can you also mention the internal table definitions for it_mseg and it_mkpf and it_mbew...
Regards,
Biju
‎2006 Dec 19 1:17 PM
Use "F it_mseg[]S NOT INITIAL" in place of "IF it_mseg IS NOT INITIAL".
If u declared the itabs with all fields....include "into corresponding fields of table it_mkpf" in place of "INTO TABLE it_mkpf".
repeat the same for all select statements and if statements.
Cheers.
‎2006 Dec 19 1:31 PM
Hi,
Syntax of IF it_mseg IS NOT INITIAL is wrong
Please check this code.
DATA:it_mseg LIKE MSEG OCCURS 0 WITH HEADER LINE,
it_mkpf LIKE MKPF OCCURS 0 WITH HEADER LINE,
it_mbew LIKE MBEW OCCURS 0 WITH HEADER LINE.
SELECT mblnr bwart matnr
INTO CORRESPONDING FIELDS OF TABLE it_mseg
FROM mseg.
<b>IF NOT it_mseg[] IS INITIAL .</b>
SELECT mblnr
bldat
INTO CORRESPONDING FIELDS OF TABLE it_mkpf
FROM mkpf
FOR ALL ENTRIES IN it_mseg
WHERE mblnr = it_mseg-mblnr.
ENDIF.
IF not it_mseg IS INITIAL.
SELECT matnr
bwkey
bwtar
lbkum
INTO CORRESPONDING FIELDS OF TABLE it_mbew
FROM mbew
FOR ALL ENTRIES IN it_mseg
WHERE matnr = it_mseg-matnr.
ENDIF.