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

report

Former Member
0 Likes
688

Dear all ,

i have developed one report , where in customer pays through different modes ,

different modes here means , customer can pay through check , through coupon etc...

in my code i have hard coded account no's , so that entry will go to the corresponding account...

after all i am all the accounts..

but i need to insert posting key field so that when posting key is 50 the value should be minus..

can anybody tell me how to map it in coding

here is the code...

form get_plant_name .

select werks name1 kunnr

from t001w

into corresponding fields of table it_t001w

where werks in s_werks.

endform. " get_plant_name

&----


*& Form get_sales_data

&----


  • text

----


form get_sales_data.

select * from zpayment_mode

into corresponding fields of table it_custacc

where werks in s_werks

and kunnr in s_kunnr.

if sy-subrc = 0.

loop at it_custacc.

concatenate it_custacc-werks p_bldat into g_ref separated by space.

it_ref-werks = it_custacc-werks.

it_ref-xblnr = g_ref.

append it_ref.

clear it_ref.

endloop.

endif.

select belnr gjahr budat xblnr

from bkpf

into corresponding fields of table it_bkpf

for all entries in it_ref

where xblnr = it_ref-xblnr

and budat = p_bldat

and bukrs = '1800'

and blart = 'DG'.

if sy-subrc = 0.

select belnr hkont kunnr wrbtr

from bseg

into corresponding fields of table it_bseg

for all entries in it_bkpf

where bukrs = '1800'

and belnr = it_bkpf-belnr

and gjahr = it_bkpf-gjahr.

endif.

endform. " get_sales_data

&----


*& Form get_display_data

&----


  • text

----


form get_display_data .

clear v_belnr.

*loop at it_bkpf.

loop at it_custacc.

loop at it_t001w where werks = it_custacc-werks.

it_display-werks = it_custacc-werks.

it_display-kunnr = it_custacc-kunnr.

it_display-name1 = it_t001w-name1.

read table it_bseg with key hkont = it_custacc-hkont.

v_belnr = it_bseg-belnr.

it_display-wrbtr = it_bseg-wrbtr.

it_display-hkont = it_custacc-hkont.

loop at it_bseg where belnr = v_belnr.

case it_bseg-hkont.

when '0024560005'.

move it_bseg-wrbtr to it_display-wrbtr1.

when '0024560004'.

move it_bseg-wrbtr to it_display-wrbtr2.

when '0014890016'.

move it_bseg-wrbtr to it_display-wrbtr3.

when '0024560001'.

move it_bseg-wrbtr to it_display-wrbtr4.

when '0014890018'.

move it_bseg-wrbtr to it_display-wrbtr5.

when '0024560002'.

move it_bseg-wrbtr to it_display-wrbtr6.

when '0024560021'.

move it_bseg-wrbtr to it_display-wrbtr7.

when '0024560000'.

move it_bseg-wrbtr to it_display-wrbtr8.

when '0024560016'.

move it_bseg-wrbtr to it_display-wrbtr9.

when '0024560017'.

move it_bseg-wrbtr to it_display-wrbtr10.

when '0024560018'.

move it_bseg-wrbtr to it_display-wrbtr11.

when '0024560019'.

move it_bseg-wrbtr to it_display-wrbtr12.

when '0024560011'.

move it_bseg-wrbtr to it_display-wrbtr13.

when '0024560010'.

move it_bseg-wrbtr to it_display-wrbtr14.

when '0024560009'.

move it_bseg-wrbtr to it_display-wrbtr15.

when '0024560007'.

move it_bseg-wrbtr to it_display-wrbtr16.

when '0024560008'.

move it_bseg-wrbtr to it_display-wrbtr17.

when '0024560006'.

move it_bseg-wrbtr to it_display-wrbtr18.

when '0024560015'.

move it_bseg-wrbtr to it_display-wrbtr19.

when '0024560020'.

move it_bseg-wrbtr to it_display-wrbtr20.

when '0024560012'.

move it_bseg-wrbtr to it_display-wrbtr21.

when '0024560013'.

move it_bseg-wrbtr to it_display-wrbtr22.

when '0014890024'.

move it_bseg-wrbtr to it_display-wrbtr23.

when '0043201110'.

move it_bseg-wrbtr to it_display-wrbtr24.

when '0014890018'.

move it_bseg-wrbtr to it_display-wrbtr25.

when 'others'.

continue.

endcase.

*endloop.

it_display-wrbtr30 = it_display-wrbtr + it_display-wrbtr1 + it_display-wrbtr2 + it_display-wrbtr3 + it_display-wrbtr4 +

it_display-wrbtr5 + it_display-wrbtr6 + it_display-wrbtr7 + it_display-wrbtr8 + it_display-wrbtr9 +

it_display-wrbtr10 + it_display-wrbtr11 + it_display-wrbtr12 + it_display-wrbtr13 + it_display-wrbtr14 +

it_display-wrbtr15 + it_display-wrbtr16 + it_display-wrbtr17 + it_display-wrbtr18 + it_display-wrbtr19 +

it_display-wrbtr20 + it_display-wrbtr21 + it_display-wrbtr22 + it_display-wrbtr23 + it_display-wrbtr24 +

it_display-wrbtr25.

endloop.

read table it_bkpf with key belnr = it_bseg-belnr.

it_display-bldat = it_bkpf-budat.

v_werks = it_bkpf-xblnr+0(4).

append it_display.

clear: it_display,

it_bseg,

it_bkpf,

it_t001w.

endloop.

endloop.

  • DELETE it_display WHERE wrbtr = 0.

endform. " get_display_data

4 REPLIES 4
Read only

Former Member
0 Likes
606

Hi,

find my response in 'BOLD'

form get_plant_name .

select werks name1 kunnr

from t001w

into corresponding fields of table it_t001w

where werks in s_werks.

endform. " get_plant_name

&----


*& Form get_sales_data

&----


  • text

-


form get_sales_data.

select * from zpayment_mode

into corresponding fields of table it_custacc

where werks in s_werks

and kunnr in s_kunnr.

if sy-subrc = 0.

loop at it_custacc.

concatenate it_custacc-werks p_bldat into g_ref separated by space.

it_ref-werks = it_custacc-werks.

it_ref-xblnr = g_ref.

append it_ref.

clear it_ref.

endloop.

endif.

select belnr gjahr budat xblnr

from bkpf

into corresponding fields of table it_bkpf

for all entries in it_ref

where xblnr = it_ref-xblnr

and budat = p_bldat

and bukrs = '1800'

and blart = 'DG'.

if sy-subrc = 0.

select belnr hkont kunnr wrbtr bschl

from bseg

into corresponding fields of table it_bseg

for all entries in it_bkpf

where bukrs = '1800'

and belnr = it_bkpf-belnr

and gjahr = it_bkpf-gjahr.

endif.

endform. " get_sales_data

&----


*& Form get_display_data

&----


  • text

-


form get_display_data .

clear v_belnr.

*loop at it_bkpf.

loop at it_custacc.

loop at it_t001w where werks = it_custacc-werks.

it_display-werks = it_custacc-werks.

it_display-kunnr = it_custacc-kunnr.

it_display-name1 = it_t001w-name1.

read table it_bseg with key hkont = it_custacc-hkont.

v_belnr = it_bseg-belnr.

it_display-wrbtr = it_bseg-wrbtr.

it_display-hkont = it_custacc-hkont.

loop at it_bseg where belnr = v_belnr.

case it_bseg-hkont.

when '0024560005'.

move it_bseg-wrbtr to it_display-wrbtr1.

when '0024560004'.

move it_bseg-wrbtr to it_display-wrbtr2.

when '0014890016'.

move it_bseg-wrbtr to it_display-wrbtr3.

when '0024560001'.

move it_bseg-wrbtr to it_display-wrbtr4.

when '0014890018'.

move it_bseg-wrbtr to it_display-wrbtr5.

when '0024560002'.

move it_bseg-wrbtr to it_display-wrbtr6.

when '0024560021'.

move it_bseg-wrbtr to it_display-wrbtr7.

when '0024560000'.

move it_bseg-wrbtr to it_display-wrbtr8.

when '0024560016'.

move it_bseg-wrbtr to it_display-wrbtr9.

when '0024560017'.

move it_bseg-wrbtr to it_display-wrbtr10.

when '0024560018'.

move it_bseg-wrbtr to it_display-wrbtr11.

when '0024560019'.

move it_bseg-wrbtr to it_display-wrbtr12.

when '0024560011'.

move it_bseg-wrbtr to it_display-wrbtr13.

when '0024560010'.

move it_bseg-wrbtr to it_display-wrbtr14.

when '0024560009'.

move it_bseg-wrbtr to it_display-wrbtr15.

when '0024560007'.

move it_bseg-wrbtr to it_display-wrbtr16.

when '0024560008'.

move it_bseg-wrbtr to it_display-wrbtr17.

when '0024560006'.

move it_bseg-wrbtr to it_display-wrbtr18.

when '0024560015'.

move it_bseg-wrbtr to it_display-wrbtr19.

when '0024560020'.

move it_bseg-wrbtr to it_display-wrbtr20.

when '0024560012'.

move it_bseg-wrbtr to it_display-wrbtr21.

when '0024560013'.

move it_bseg-wrbtr to it_display-wrbtr22.

when '0014890024'.

move it_bseg-wrbtr to it_display-wrbtr23.

when '0043201110'.

move it_bseg-wrbtr to it_display-wrbtr24.

when '0014890018'.

move it_bseg-wrbtr to it_display-wrbtr25.

when 'others'.

continue.

endcase.

*endloop.

*if it_bseg-bschl = '50'.

it_display-wrbtr30 = it_display-wrbtr - it_display-wrbtr1 - it_display-wrbtr2 - it_display-wrbtr3 - it_display-wrbtr4 -

it_display-wrbtr5 - it_display-wrbtr6 - it_display-wrbtr7 - it_display-wrbtr8 - it_display-wrbtr9 -

it_display-wrbtr10 - it_display-wrbtr11 - it_display-wrbtr12 - it_display-wrbtr13 - it_display-wrbtr14 -

it_display-wrbtr15 - it_display-wrbtr16 - it_display-wrbtr17 - it_display-wrbtr18 - it_display-wrbtr19 -

it_display-wrbtr20 - it_display-wrbtr21 - it_display-wrbtr22 - it_display-wrbtr23 - it_display-wrbtr24 -

it_display-wrbtr25.*

else.

it_display-wrbtr30 = it_display-wrbtr + it_display-wrbtr1 + it_display-wrbtr2 + it_display-wrbtr3 + it_display-wrbtr4 +

it_display-wrbtr5 + it_display-wrbtr6 + it_display-wrbtr7 + it_display-wrbtr8 + it_display-wrbtr9 +

it_display-wrbtr10 + it_display-wrbtr11 + it_display-wrbtr12 + it_display-wrbtr13 + it_display-wrbtr14 +

it_display-wrbtr15 + it_display-wrbtr16 + it_display-wrbtr17 + it_display-wrbtr18 + it_display-wrbtr19 +

it_display-wrbtr20 + it_display-wrbtr21 + it_display-wrbtr22 + it_display-wrbtr23 + it_display-wrbtr24 +

it_display-wrbtr25.

endif.

endloop.

read table it_bkpf with key belnr = it_bseg-belnr.

it_display-bldat = it_bkpf-budat.

v_werks = it_bkpf-xblnr+0(4).

append it_display.

clear: it_display,

it_bseg,

it_bkpf,

it_t001w.

endloop.

endloop.

  • DELETE it_display WHERE wrbtr = 0.

endform. " get_display_data

Read only

Former Member
0 Likes
606

Hi,

dont forget to declare BSCHL in it_bseg internal table.

Read only

Former Member
0 Likes
606

Hi,

select belnr hkont SHKZG kunnr wrbtr

from bseg

into corresponding fields of table it_bseg

for all entries in it_bkpf

where bukrs = '1800'

and belnr = it_bkpf-belnr

and gjahr = it_bkpf-gjahr.

endif.

loop at it_bseg where belnr = v_belnr.

IF IT_BSEG-SHKZG = 'H'.

IT_BSEG-WRBTR = IT_BSEG-WRBTR * -1 .

ENDIF.

case it_bseg-hkont.

when '0024560005'.

move it_bseg-wrbtr to it_display-wrbtr1.

when '0024560004'.

move it_bseg-wrbtr to it_display-wrbtr2.

when '0014890016'.

move it_bseg-wrbtr to it_display-wrbtr3.

when '0024560001'.

......

.....

.....

ENDLOOP.

Regards,

Paras

Read only

Former Member
0 Likes
606

Hi,

find my response in 'BOLD'

form get_plant_name .

select werks name1 kunnr

from t001w

into corresponding fields of table it_t001w

where werks in s_werks.

endform. " get_plant_name

&----


*& Form get_sales_data

&----


  • text

-


form get_sales_data.

select * from zpayment_mode

into corresponding fields of table it_custacc

where werks in s_werks

and kunnr in s_kunnr.

if sy-subrc = 0.

loop at it_custacc.

concatenate it_custacc-werks p_bldat into g_ref separated by space.

it_ref-werks = it_custacc-werks.

it_ref-xblnr = g_ref.

append it_ref.

clear it_ref.

endloop.

endif.

select belnr gjahr budat xblnr

from bkpf

into corresponding fields of table it_bkpf

for all entries in it_ref

where xblnr = it_ref-xblnr

and budat = p_bldat

and bukrs = '1800'

and blart = 'DG'.

if sy-subrc = 0.

select belnr hkont kunnr wrbtr bschl

from bseg

into corresponding fields of table it_bseg

for all entries in it_bkpf

where bukrs = '1800'

and belnr = it_bkpf-belnr

and gjahr = it_bkpf-gjahr.

endif.

endform. " get_sales_data

&----


*& Form get_display_data

&----


  • text

-


form get_display_data .

clear v_belnr.

*loop at it_bkpf.

loop at it_custacc.

loop at it_t001w where werks = it_custacc-werks.

it_display-werks = it_custacc-werks.

it_display-kunnr = it_custacc-kunnr.

it_display-name1 = it_t001w-name1.

read table it_bseg with key hkont = it_custacc-hkont.

v_belnr = it_bseg-belnr.

it_display-wrbtr = it_bseg-wrbtr.

it_display-hkont = it_custacc-hkont.

loop at it_bseg where belnr = v_belnr.

case it_bseg-hkont.

when '0024560005'.

move it_bseg-wrbtr to it_display-wrbtr1.

when '0024560004'.

move it_bseg-wrbtr to it_display-wrbtr2.

when '0014890016'.

move it_bseg-wrbtr to it_display-wrbtr3.

when '0024560001'.

move it_bseg-wrbtr to it_display-wrbtr4.

when '0014890018'.

move it_bseg-wrbtr to it_display-wrbtr5.

when '0024560002'.

move it_bseg-wrbtr to it_display-wrbtr6.

when '0024560021'.

move it_bseg-wrbtr to it_display-wrbtr7.

when '0024560000'.

move it_bseg-wrbtr to it_display-wrbtr8.

when '0024560016'.

move it_bseg-wrbtr to it_display-wrbtr9.

when '0024560017'.

move it_bseg-wrbtr to it_display-wrbtr10.

when '0024560018'.

move it_bseg-wrbtr to it_display-wrbtr11.

when '0024560019'.

move it_bseg-wrbtr to it_display-wrbtr12.

when '0024560011'.

move it_bseg-wrbtr to it_display-wrbtr13.

when '0024560010'.

move it_bseg-wrbtr to it_display-wrbtr14.

when '0024560009'.

move it_bseg-wrbtr to it_display-wrbtr15.

when '0024560007'.

move it_bseg-wrbtr to it_display-wrbtr16.

when '0024560008'.

move it_bseg-wrbtr to it_display-wrbtr17.

when '0024560006'.

move it_bseg-wrbtr to it_display-wrbtr18.

when '0024560015'.

move it_bseg-wrbtr to it_display-wrbtr19.

when '0024560020'.

move it_bseg-wrbtr to it_display-wrbtr20.

when '0024560012'.

move it_bseg-wrbtr to it_display-wrbtr21.

when '0024560013'.

move it_bseg-wrbtr to it_display-wrbtr22.

when '0014890024'.

move it_bseg-wrbtr to it_display-wrbtr23.

when '0043201110'.

move it_bseg-wrbtr to it_display-wrbtr24.

when '0014890018'.

move it_bseg-wrbtr to it_display-wrbtr25.

when 'others'.

continue.

endcase.

*endloop.

it_display-wrbtr30 = it_display-wrbtr + it_display-wrbtr1 + it_display-wrbtr2 + it_display-wrbtr3 + it_display-wrbtr4 +

it_display-wrbtr5 + it_display-wrbtr6 + it_display-wrbtr7 + it_display-wrbtr8 + it_display-wrbtr9 +

it_display-wrbtr10 + it_display-wrbtr11 + it_display-wrbtr12 + it_display-wrbtr13 + it_display-wrbtr14 +

it_display-wrbtr15 + it_display-wrbtr16 + it_display-wrbtr17 + it_display-wrbtr18 + it_display-wrbtr19 +

it_display-wrbtr20 + it_display-wrbtr21 + it_display-wrbtr22 + it_display-wrbtr23 + it_display-wrbtr24 +

it_display-wrbtr25.

if it_bseg-bschl = '50'.

  • it_display-wrbtr30 = it_display-wrbtr30 * -1.*

endif.

endloop.

read table it_bkpf with key belnr = it_bseg-belnr.

it_display-bldat = it_bkpf-budat.

v_werks = it_bkpf-xblnr+0(4).

append it_display.

clear: it_display,

it_bseg,

it_bkpf,

it_t001w.

endloop.

endloop.

  • DELETE it_display WHERE wrbtr = 0.

endform. " get_display_data