Application Development 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: 

Write fields from two tables in one line??

Former Member
0 Kudos

Hi friends,

I want to write some fields from bkpf and bseg in one line...

My report should like something like this:

****some text*****

*for first document******* bkpf-bldat kunnr bseg-belnr bseg-gsber bseg-wrbtr

*for second document*** bkpf-bldat kunnr bseg-belnr bseg-gsber bseg-wrbtr

*for third document****** bkpf-bldat kunnr bseg-belnr bseg-gsber bseg-wrbtr

etc.

*

*

What should I change in order to get this form in report output?? Can I put these fields in some table so that it looks like excel table??Could you please check out the code below?

loop at it_bkpf into wa_bkpf.

loop at it_bseg into wa_bseg.

write: wa_bseg-gsber, wa_bseg-belnr, wa_bseg-wrbtr.

endloop.

write: wa_bkpf-bldat.

read table it_bsid with key bukrs = wa_bkpf-bukrs

belnr = wa_bkpf-belnr

gjahr = wa_bkpf-gjahr

cpudt = wa_bkpf-cpudt.

if sy-subrc = 0.

write: it_bsid-kunnr.

endif.

endloop.

Thanks,

Nihad

1 ACCEPTED SOLUTION

peter_ruiz2
Active Contributor
0 Kudos

hi nihad,

define positions on where to write data like this.


LOOP AT it_bkpf INTO wa_bkpf.
  LOOP AT it_bseg INTO wa_bseg WHERE belnr EQ wa_bkpf-belnr.
    WRITE: /5 wa_bkpf-bldat.
  
    READ TABLE it_bsid 
    WITH KEY bukrs = wa_bkpf-bukrs
                     belnr = wa_bkpf-belnr
                     gjahr = wa_bkpf-gjahr
                     cpudt = wa_bkpf-cpudt.
    IF sy-subrc EQ 0.
       WRITE: 20 it_bsid-kunnr.
    ENDIF.
    
    WRITE: 35 it_bseg-belnr,
                50 it_bseg-gsber,
                60 it_bseg-wrbtr.
  ENDLOOP.
ENDLOOP.

regards,

Peter

3 REPLIES 3

Former Member
0 Kudos

Hi,

*loop at it_bseg into wa_bseg.*

*loop at it_bkpf into wa_bkpf WHERE bukrs = wa_bseg-bukrs AND belnr = wa_bseg-belnr AND gjahr = wa_bseg-gjahr.*

write: wa_bseg-gsber, wa_bseg-belnr, wa_bseg-wrbtr.
endloop.
write: wa_bkpf-bldat.
read table it_bsid with key bukrs = wa_bkpf-bukrs
belnr = wa_bkpf-belnr
gjahr = wa_bkpf-gjahr
cpudt = wa_bkpf-cpudt.
if sy-subrc = 0.
write: it_bsid-kunnr.
endif.
endloop.

Make the changes highlighted in Bold...

This will help...

Regards,

Kunjal

peter_ruiz2
Active Contributor
0 Kudos

hi nihad,

define positions on where to write data like this.


LOOP AT it_bkpf INTO wa_bkpf.
  LOOP AT it_bseg INTO wa_bseg WHERE belnr EQ wa_bkpf-belnr.
    WRITE: /5 wa_bkpf-bldat.
  
    READ TABLE it_bsid 
    WITH KEY bukrs = wa_bkpf-bukrs
                     belnr = wa_bkpf-belnr
                     gjahr = wa_bkpf-gjahr
                     cpudt = wa_bkpf-cpudt.
    IF sy-subrc EQ 0.
       WRITE: 20 it_bsid-kunnr.
    ENDIF.
    
    WRITE: 35 it_bseg-belnr,
                50 it_bseg-gsber,
                60 it_bseg-wrbtr.
  ENDLOOP.
ENDLOOP.

regards,

Peter

Former Member
0 Kudos

Thank you friends, I managed to get desired form in report output...

Nihad