‎2009 Feb 16 6:30 AM
Hi experts,
BKPF ( Header ) : from this table i am selecting BELNR BLART BUDAT AWKEY .
V_AWKEY = IT_BKPF-AWKEY(10).
RSEG ( Item ) : from this table BELNR EBELN EBELP where BELNR = V_AWKEY .
but i am getting only one line item from rseg i want all the line items in RSEG plz guide me how can i get.
Regards,
km.
‎2009 Feb 16 6:32 AM
hi,
try using outer join .
It would be helpful if u can post ur query.
‎2009 Feb 16 6:34 AM
Hi,
U r reading RSEG ( Item ) table with variable , so, it'll give only one line item.
If it is not the solution , Can u copy and paste ur code.
‎2009 Feb 16 6:34 AM
‎2009 Feb 16 6:34 AM
Hi,
Dont write any where condition you will get all information.
Regards
Md.MahaboobKhan
‎2009 Feb 16 6:35 AM
hi,
When retrieving details from the item table even use EBELN in the where clause of select query, this way you could get more number of line items.
Before this make sure that with respect to your condition in the query
RSEG ( Item ) : from this table BELNR EBELN EBELP where BELNR = V_AWKEY .there exists more than 1 line item.
Thanks
Sharath
‎2009 Feb 16 6:35 AM
Please to guide you better you need to provide clear picture!!
BKPF ( Header ) : from this table i am selecting BELNR BLART BUDAT AWKEY .
V_AWKEY = IT_BKPF-AWKEY(10).
pto is V_wakey coming Fine?
RSEG ( Item ) : from this table BELNR EBELN EBELP where BELNR = V_AWKEY .
You mean problem in only Rseg?
regards
sas
‎2009 Feb 16 6:44 AM
thanks to all for reply ,
from BKPF table awkey i am taking .
awkey length is 14 but first 10 number in AWKEY field is BELNR in RSEG.
I selecting from rseg i want all the line items ( BELNR = V_AWKEY ) .
code :
SELECT BUKRS BLART belnr budat awkey
INTO TABLE it_final FROM BKPF
where BUKRS = BUKRS AND
budat IN budat AND
( blart = 'RE' OR
blart = 'RN' ) .
DATA : V_AWKEY TYPE BKPF-awkey.
LOOP at it_final.
V_AWKEY = it_final-awkey(10).
SELECT belnr ebeln ebelp matnr menge salk3 kschl wrbtr lifnr shkzg xblnr
FROM rseg INTO TABLE it_rseg WHERE belnr = V_AWKEY.
LOOP AT it_RSEG .
it_final-belnr = it_RSEG-belnr .
it_final-xblnr = it_RSEG-xblnr.
ENDLOOP.
modify it_final.
CLEAR it_final.
CLEAR V_AWKEY.
CLEAR it_RSEG.
ENDLOOP.
‎2009 Feb 16 6:59 AM
Hi kumar
please try this code
if it_fina[] is not initial.
SELECT belnr ebeln ebelp matnr menge salk3 kschl wrbtr lifnr shkzg xblnr
FROM rseg INTO TABLE it_rseg
for all entries in it_final ------------> use for all entries for reteving all reacard.
WHERE belnr = it_final-awkey
endif.
‎2009 Feb 16 6:36 AM
‎2009 Feb 16 6:47 AM
Please do not post in ALL CAPITALS
THANKS TO REPLY ALL,
I TRIED JOINS AND FORALL ENTRIES.
I AM COMPARING RESG-BELNR = BKPF-AWKEY(10).
PLZ GUIDE ME.
Edited by: Matt on Feb 16, 2009 11:10 AM
‎2009 Feb 16 8:16 AM
Hi,
Try the below code
TABLES : bkpf.
TYPES : BEGIN OF ty_final,
bukrs TYPE bkpf-bukrs,
blart TYPE bkpf-blart,
belnr TYPE bkpf-belnr, ' belnr from BKPF
budat TYPE bkpf-budat,
awkey(10),
belnr1 TYPE bkpf-belnr, ' belnr from RSEG
xblnr TYPE rseg-xblnr,
END OF ty_final.
TYPES : BEGIN OF ty_rseg,
belnr TYPE rseg-belnr,
ebeln TYPE rseg-ebeln,
ebelp TYPE rseg-ebelp,
matnr TYPE rseg-matnr,
menge TYPE rseg-menge,
salk3 TYPE rseg-salk3,
kschl TYPE rseg-kschl,
wrbtr TYPE rseg-wrbtr,
lifnr TYPE rseg-lifnr,
shkzg TYPE rseg-shkzg,
xblnr TYPE rseg-xblnr,
END OF ty_rseg.
SELECT-OPTIONS : s_budat FOR bkpf-budat.
PARAMETERS : p_bukrs TYPE bkpf-bukrs.
DATA : it_final TYPE TABLE OF ty_final,
wa_final TYPE ty_final,
it_rseg TYPE TABLE OF ty_rseg,
wa_rseg TYPE ty_rseg.
DATA : w_tabx TYPE sy-tabix.
SELECT bukrs
blart
belnr
budat
awkey
INTO CORRESPONDING FIELDS OF TABLE it_final
FROM bkpf
WHERE bukrs = p_bukrs AND
budat IN s_budat AND
( blart = 'RE' OR
blart = 'RN' ) .
SELECT belnr
ebeln
ebelp
matnr
menge
salk3
kschl
wrbtr
lifnr
shkzg
xblnr
FROM rseg INTO TABLE it_rseg.
LOOP AT it_final INTO wa_final.
w_tabx = sy-tabix.
READ TABLE it_rseg INTO wa_rseg WITH KEY belnr = wa_final-awkey.
IF sy-subrc = 0.
wa_final-belnr1 = wa_rseg-belnr.
wa_final-xblnr = wa_rseg-xblnr.
MODIFY it_final INDEX w_tabx FROM wa_final TRANSPORTING belnr1 xblnr.
ENDIF.
CLEAR w_tabx.
ENDLOOP.
REFRESH it_rseg.
BREAK-POINT.Regards
Bala Krishna
‎2009 Feb 16 9:39 AM
thanks for reply Bala Krishna,
plz check my code and correct me .
code :
&----
*& Report ZPURCHASE_REGISTER_PL
*&
&----
*&
*&
&----
REPORT ZPURCHASE_REGISTER_PL.
TABLES : bkpf, bseg.
DATA : BEGIN OF WA_FINAL,
BUKRS TYPE bkpf-BUKRS,
BLART TYPE BKPF-blart,
belnr TYPE bkpf-belnr ,
belnr1 TYPE rseg-belnr,
budat TYPE bkpf-budat,
awkey TYPE bkpf-awkey,
xblnr TYPE RSEG-xblnr,
BUZEI TYPE rseg-buzei,
END OF WA_FINAL.
DATA: BEGIN OF WA_rseg,
belnr TYPE rseg-belnr,
ebeln TYPE rseg-ebeln,
ebelp TYPE rseg-ebelp,
matnr TYPE rseg-matnr,
menge TYPE rseg-menge,
salk3 TYPE rseg-salk3,
kschl TYPE rseg-kschl,
wrbtr TYPE rseg-wrbtr,
lifnr TYPE rseg-lifnr,
shkzg TYPE rseg-shkzg,
xblnr TYPE rseg-xblnr,
buzei TYPE rseg-buzei,
end(2),
END OF WA_rseg.
data: it_final like TABLE OF WA_FINAL with HEADER LINE.
DATA: it_RSEG LIKE TABLE OF WA_RSEG WITH HEADER LINE.
----
TYPE-POOLS: slis.
DATA : fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
data: it_events type slis_t_event WITH HEADER LINE,
wa_events TYPE slis_t_event.
*--- Declaration for specifying column position of output list
DATA: col_pos TYPE i,
eventcat TYPE slis_t_event,
eventcat_ln LIKE LINE OF eventcat,
layout_in TYPE slis_layout_alv.
it_sort TYPE slis_t_sortinfo_alv.
*--- Dec aration for report id
DATA: gv_repid LIKE sy-repid.
*--- Declaration for field catalogue & layout
DATA : gt_fieldcat TYPE slis_t_fieldcat_alv.
DATA : wa_fieldcat TYPE slis_fieldcat_alv.
DATA: v_repid LIKE sy-repid.
----
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-000.
PARAMETERS : BUKRS type BKPF-bukrs ,
WERKS TYPE BSEG-WERKS .
SELECT-OPTIONS : BUDAT FOR BKPF-BUDAT .
SELECTION-SCREEN END OF BLOCK b .
START-OF-SELECTION.
PERFORM get_data.
IF NOT it_final[] IS INITIAL.
PERFORM display_data.
ENDIF.
DATA : w_tabx TYPE sy-tabix.
form get_data.
SELECT BUKRS BLART belnr budat awkey
INTO TABLE it_final FROM BKPF
where BUKRS = BUKRS AND
budat IN budat AND
( blart = 'RE' OR
blart = 'RN' ) .
DATA : V_AWKEY TYPE BKPF-awkey.
LOOP AT it_final.
V_AWKEY = it_final-awkey(10).
SELECT belnr ebeln ebelp matnr menge salk3 kschl wrbtr lifnr shkzg xblnr BUZEI
FROM rseg INTO TABLE it_rseg WHERE belnr = V_AWKEY .
CLEAR counter.
LOOP AT it_RSEG.
it_final-belnr = it_RSEG-belnr.
it_final-xblnr = it_RSEG-xblnr.
ENDLOOP.
REFRESH it_rseg.
modify it_final.
CLEAR it_final.
CLEAR V_AWKEY.
CLEAR it_RSEG.
ENDLOOP.
ENDFORM.
form display_data.
*DELETE ADJACENT DUPLICATES FROM IT_FINAL COMPARING ZUONR BLART = 'DZ'.
CLEAR wa_fieldcat.
ADD 1 TO col_pos.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = col_pos.
wa_fieldcat-fieldname = 'BELNR'.
wa_fieldcat-seltext_l = 'docno'.
wa_fieldcat-outputlen = 14.
wa_fieldcat-DO_SUM = 'X'.
APPEND wa_fieldcat TO gt_fieldcat.
CLEAR wa_fieldcat.
ADD 1 TO col_pos.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = col_pos.
wa_fieldcat-fieldname = 'BUDAT'.
wa_fieldcat-seltext_l = 'DATE'.
wa_fieldcat-outputlen = 14.
wa_fieldcat-DO_SUM = 'X'.
APPEND wa_fieldcat TO gt_fieldcat.
CLEAR wa_fieldcat.
ADD 1 TO col_pos.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = col_pos.
wa_fieldcat-fieldname = 'XBLNR'.
wa_fieldcat-seltext_l = 'Vendor Invoice'.
wa_fieldcat-outputlen = 14.
wa_fieldcat-DO_SUM = 'X'.
APPEND wa_fieldcat TO gt_fieldcat.
IF BUKRS = 'KAPL'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gv_repid
it_fieldcat = gt_fieldcat
i_default = 'X'
i_save = 'A'
is_layout = layout_in
it_events = it_events[]
i_grid_title = 'KAPL '
i_callback_top_of_page = it_headings[]
I_BACKGROUND_ID = 'ALV_BACKGROUND'
it_sort = it_sort
TABLES
t_outtab = it_final[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ELSE.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gv_repid
it_fieldcat = gt_fieldcat
i_default = 'X'
i_save = 'A'
is_layout = layout_in
is_variant = variant
it_events = it_events[]
i_callback_user_command = 'USER_COMMAND'
i_grid_title = 'KTC'
i_callback_top_of_page = 'page header'
I_BACKGROUND_ID = 'ALV_BACKGROUND'
it_sort = it_sort
TABLES
t_outtab = it_final[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
ENDFORM.
‎2009 Feb 16 10:10 AM
‎2009 Feb 16 10:29 AM
Hi,
When ever you paste a code, please use <> above symbol, so that it is readable for others.
Try the below code, what are the fields you needed in out put?
TABLES : bkpf.
TYPE-POOLS: slis.
TYPES : BEGIN OF ty_final,
bukrs TYPE bkpf-bukrs,
blart TYPE bkpf-blart,
belnr TYPE bkpf-belnr,
budat TYPE bkpf-budat,
awkey(10),
belnr1 TYPE bkpf-belnr,
xblnr TYPE rseg-xblnr,
buzei TYPE rseg-buzei,
END OF ty_final.
TYPES : BEGIN OF ty_rseg,
belnr TYPE rseg-belnr,
ebeln TYPE rseg-ebeln,
ebelp TYPE rseg-ebelp,
matnr TYPE rseg-matnr,
menge TYPE rseg-menge,
salk3 TYPE rseg-salk3,
kschl TYPE rseg-kschl,
wrbtr TYPE rseg-wrbtr,
lifnr TYPE rseg-lifnr,
shkzg TYPE rseg-shkzg,
xblnr TYPE rseg-xblnr,
buzei TYPE rseg-buzei,
END OF ty_rseg.
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-000.
PARAMETERS : p_bukrs TYPE bkpf-bukrs ,
p_werks TYPE bseg-werks . " ------> why you have declared it? it is not used any where in code
SELECT-OPTIONS : s_budat FOR bkpf-budat .
SELECTION-SCREEN END OF BLOCK b .
DATA : it_final TYPE TABLE OF ty_final,
wa_final TYPE ty_final,
it_rseg TYPE TABLE OF ty_rseg,
wa_rseg TYPE ty_rseg.
DATA : w_tabx TYPE sy-tabix,
col_pos TYPE i,
gv_repid LIKE sy-repid.
DATA : it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv,
it_events TYPE slis_t_event,
wa_events TYPE slis_alv_event,
layout_in TYPE slis_layout_alv.
START-OF-SELECTION.
PERFORM get_data.
PERFORM display_data.
*&---------------------------------------------------------------------*
*& Form get_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM get_data .
SELECT bukrs
blart
belnr
budat
awkey
INTO CORRESPONDING FIELDS OF TABLE it_final
FROM bkpf
WHERE bukrs = p_bukrs AND
budat IN s_budat AND
( blart = 'RE' OR
blart = 'RN' ) .
SELECT belnr
ebeln
ebelp
matnr
menge
salk3
kschl
wrbtr
lifnr
shkzg
xblnr
FROM rseg INTO TABLE it_rseg.
LOOP AT it_final INTO wa_final.
w_tabx = sy-tabix.
READ TABLE it_rseg INTO wa_rseg WITH KEY belnr = wa_final-awkey.
IF sy-subrc = 0.
wa_final-belnr1 = wa_rseg-belnr.
wa_final-xblnr = wa_rseg-xblnr.
MODIFY it_final INDEX w_tabx FROM wa_final TRANSPORTING belnr1 xblnr.
ENDIF.
CLEAR w_tabx.
ENDLOOP.
REFRESH it_rseg.
ENDFORM. " get_data
*&---------------------------------------------------------------------*
*& Form display_data
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
FORM display_data.
CLEAR wa_fieldcat.
ADD 1 TO col_pos.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = col_pos.
wa_fieldcat-fieldname = 'BELNR'.
wa_fieldcat-seltext_l = 'Act.Doc.No BKPF'.
wa_fieldcat-outputlen = 14.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
ADD 1 TO col_pos.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = col_pos.
wa_fieldcat-fieldname = 'BUDAT'.
wa_fieldcat-seltext_l = 'Date'.
wa_fieldcat-outputlen = 14.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
ADD 1 TO col_pos.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = col_pos.
wa_fieldcat-fieldname = 'AWKEY'.
wa_fieldcat-seltext_l = 'Ref. Key'.
wa_fieldcat-outputlen = 14.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
ADD 1 TO col_pos.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = col_pos.
wa_fieldcat-fieldname = 'BELNR1'.
wa_fieldcat-seltext_l = 'Act. Doc No.'.
wa_fieldcat-outputlen = 14.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
ADD 1 TO col_pos.
wa_fieldcat-row_pos = 1.
wa_fieldcat-col_pos = col_pos.
wa_fieldcat-fieldname = 'XBLNR'.
wa_fieldcat-seltext_l = 'Vendor Invoice'.
wa_fieldcat-outputlen = 14.
APPEND wa_fieldcat TO it_fieldcat.
IF p_bukrs = 'KAPL'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gv_repid
it_fieldcat = it_fieldcat
i_default = 'X'
i_save = 'A'
is_layout = layout_in
it_events = it_events[]
i_grid_title = 'KAPL '
TABLES
t_outtab = it_final[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ELSE.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = gv_repid
it_fieldcat = it_fieldcat
i_default = 'X'
i_save = 'A'
is_layout = layout_in
it_events = it_events[]
i_grid_title = 'KTC'
TABLES
t_outtab = it_final[]
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
ENDFORM. "display_data
Regards
Bala Krishna
‎2009 Feb 16 10:41 AM
Bala Krishna thanks for reply,
what u send that code i executed the BKPF table o/p coming .
i want RSEG table o/p with duplicate enties in BELNR. RSEG-BELNR = BKPF-AWKEY(10).
Thanks & Regards,
Km.
‎2009 Feb 16 10:45 AM
Hi,
This will solve ur problem,
In it_final table, say u have awkey = 10000000, when u modify this one idf u get multiple entries in rseg also.It'll modify the same entry in it_final awkey =10000000.
so make this change,
declare internal table IT_FINAL_NEW same as IT_FINAL structure and work area like this WA_FINAL_NEW.
LOOP AT it_final.
WA_FINAL_NEW = IT_FINAL. "Moving it_final work area record to final_new work area
V_AWKEY = it_final-awkey(10).
SELECT belnr ebeln ebelp matnr menge salk3 kschl wrbtr lifnr shkzg xblnr BUZEI
FROM rseg INTO TABLE it_rseg WHERE belnr = V_AWKEY .
CLEAR counter.
LOOP AT it_RSEG.
it_final_new-belnr = it_RSEG-belnr.
it_final_new-xblnr = it_RSEG-xblnr.
APPEND WA_FINAL_NEW to IT_FINAL_NEW.
ENDLOOP.
REFRESH it_rseg.
CLEAR it_final.
CLEAR V_AWKEY.
CLEAR it_RSEG.
ENDLOOP.
Finally U'll get all the entries in IT_FINAL_NEW table.
‎2009 Feb 16 10:58 AM
Hi,
You can put a break point in the loop and endllop of it_final internal table and check it.
LOOP AT it_final INTO wa_final.
w_tabx = sy-tabix.
READ TABLE it_rseg INTO wa_rseg WITH KEY belnr = wa_final-awkey. " This the cond which checks
IF sy-subrc = 0. " RSEG-BELNR = BKPF-AWKEY
wa_final-belnr1 = wa_rseg-belnr. " you get RSEG-BELNR for above ctd
wa_final-xblnr = wa_rseg-xblnr.
MODIFY it_final INDEX w_tabx FROM wa_final TRANSPORTING belnr1 xblnr.
ENDIF.
CLEAR w_tabx.
ENDLOOP.Regards
Bala Krishna
‎2009 Feb 16 11:05 AM
Bala Krishna thanks for reply,
what u send that code i executed the BKPF table o/p coming .
i want RSEG table o/p with duplicate enties in BELNR. RSEG-BELNR = BKPF-AWKEY(10).
Thanks & Regards,
Km.
‎2009 Feb 17 6:52 AM
Thanks to all for reply,
the code is below plz coorect me :
form get_data.
SELECT bukrs belnr budat awkey
INTO TABLE it_final
FROM bkpf
WHERE bukrs = bukrs AND
budat IN budat AND
( blart = 'RE' OR
blart = 'RN' ) .
SORT IT_FINAL BY belnr.
LOOP at it_final.
V_AWKEY = it_final-awkey(10).
SELECT BUKRS belnr ebeln ebelp matnr menge salk3 kschl wrbtr lifnr shkzg xblnr BUZEI
INTO TABLE it_rseg
from rseg
where belnr = V_AWKEY .
SORT it_rseg by belnr.
LOOP AT it_rseg.
it_final-belnr = it_rseg-belnr.
it_final-xblnr = it_rseg-xblnr.
it_final-buzei = it_rseg-buzei.
enDLOOP.
modify it_final.
CLEAR it_final.
CLEAR V_AWKEY.
CLEAR it_rseg.
ENDLOOP.
ENDFORM.
‎2009 Feb 16 6:36 AM
‎2009 Feb 16 6:36 AM
use like this ...
select * from <dtab > into <itab> for all entries where <select options >
‎2009 Feb 16 6:44 AM
Hi Kumar,
BKPF ( Header ) : from this table i am selecting BELNR BLART BUDAT AWKEY .
V_AWKEY = IT_BKPF-AWKEY(10).
RSEG ( Item ) : from this table BELNR EBELN EBELP where BELNR = V_AWKEY .
but i am getting only one line item from rseg i want all the line items in RSEG plz guide me how can i get.
Please do one thing.
First Select the entries from the BKPF into an internal table say it_bkpf.
Then Select the entries from rseg table into an internal say it_rseg table for all entries in it_bkpf
where belnr = it_bkpf-awkey(10).
with this u will get all the entires regarding the values in the header table
Regards
Manoj Kumar
‎2009 Feb 16 7:12 AM
HI,
Either try it like this.
DATA : V_AWKEY TYPE BKPF-awkey(10).
LOOP at it_final.
V_AWKEY = it_final-awkey.
SELECT belnr ebeln ebelp matnr menge salk3 kschl wrbtr lifnr shkzg xblnr
FROM rseg INTO TABLE it_rseg WHERE belnr = V_AWKEY.
OR like this
LOOP at it_final.
SELECT belnr ebeln ebelp matnr menge salk3 kschl wrbtr lifnr shkzg xblnr
FROM rseg INTO TABLE it_rseg WHERE belnr = it_final-AWKEY.
Regards
Rajesh Kumar
‎2009 Feb 16 9:58 AM
Hi Kumar,
Before suggesting any solutions, i want to clarify something. Did u check the table entries in RSEG. Is it having multiple entries for the value in V_AWKEY used by it. If yes then this code should fetch all the records. Or have u deduced that it is fetching 1 entry because u are having the BELNR and XBLNR values filled for only 1 entry in IT_FINAL. If this is the case, then it is bacause of ur modify statement that is out side the loop. Put that back into the loop endloop structure.
Hope this helps...
Regards... Amit
‎2009 Feb 16 10:11 AM
Amit thanks for reply,
ya multiple entries is there in RSEG but it's picking only one ( last row ).
i want to pick all the rows.
and one more i change that modify like this .
LOOP AT it_RSEG.
it_final-belnr = it_RSEG-belnr.
it_final-xblnr = it_RSEG-xblnr.
modify it_final.
ENDLOOP.
but no use it's picking same as previous.
plz see my code correct it.
‎2009 Feb 17 7:03 AM
HI,
try this..
make a internal table it_BKPF and it_RSEG with all the key field of the table and it_final as final internal table ..
now
select the value from the BKPF table to it_bkpf ..ok
then
select value from rseg table into it_rseg for all entries in the it_bkpr...ok
now the it_final internal table.
loop at it_bkpf .
loop at it_rseg where vbeln = it_vbak-vbeln.
endloop.
append it_final.
endloop.
clear it_final.
hope this help you
Reagrds
Ritesh J