Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Select Statement

Former Member
0 Likes
2,072

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.

26 REPLIES 26
Read only

Former Member
0 Likes
2,018

hi,

try using outer join .

It would be helpful if u can post ur query.

Read only

Former Member
0 Likes
2,018

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.

Read only

Former Member
0 Likes
2,018

please send the code

Read only

Former Member
0 Likes
2,018

Hi,

Dont write any where condition you will get all information.

Regards

Md.MahaboobKhan

Read only

Former Member
0 Likes
2,018

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

Read only

Former Member
0 Likes
2,018

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

Read only

0 Likes
2,018

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.

Read only

0 Likes
2,018

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.

Read only

Former Member
0 Likes
2,018

Hi ,

You can create a join with BKPF and RSEG .

Thanks

Pinaki

Read only

0 Likes
2,018

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

Read only

0 Likes
2,018

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

Read only

0 Likes
2,018

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.

----


Copy this code in every ALVreport -

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.

Read only

matt
Active Contributor
0 Likes
2,018

Please do not post in ALL CAPITALS

Read only

0 Likes
2,018

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

Read only

0 Likes
2,018

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.

Read only

0 Likes
2,018

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.

Read only

0 Likes
2,018

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

Read only

0 Likes
2,018

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.

Read only

0 Likes
2,018

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.

Read only

Former Member
0 Likes
2,018

have u written for all entries ?

Read only

Former Member
0 Likes
2,018

use like this ...

select * from <dtab > into <itab> for all entries where <select options >

Read only

former_member402443
Contributor
0 Likes
2,018

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

Read only

Former Member
0 Likes
2,018

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

Read only

Former Member
0 Likes
2,018

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

Read only

0 Likes
2,018

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.

Read only

Former Member
0 Likes
2,018

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