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

Reg interactive report

Former Member
0 Likes
574

Hi,

I am doing interactive report. Initially i am displaying customer no and customer name. When i click the customer number i want to display sales order data.

Regards

Srinu

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
550

refer thsi program....n proceed as per ur requirement...

&----


*& Report ZLAXMI_REPORT6 *

*& *

&----


*& *

*& *

&----


REPORT ZLAXMI_REPORT6 .

tables: mara,

makt,

marc,

mard.

data: begin of it_mara occurs 0,

matnr like mara-matnr,

end of it_mara.

data: begin of it_makt occurs 0,

maktx like makt-maktx,

matnr like makt-matnr,

end of it_makt.

data: begin of it_marc occurs 0,

werks like marc-werks,

matnr like marc-matnr,

end of it_marc.

data: begin of it_mard occurs 0,

lgort like mard-lgort,

labst like mard-labst,

speme like mard-speme,

matnr like mard-matnr,

end of it_mard.

data: begin of it_final occurs 0,

matnr like mara-matnr,

maktx like makt-maktx,

werks like marc-werks,

lgort like mard-lgort,

labst like mard-labst,

speme like mard-speme,

end of it_final.

selection-screen: begin of block b1 with frame title text-001.

select-options: s_matnr for mara-matnr.

selection-screen: end of block b1 .

start-of-selection.

perform get-data.

perform write_data.

end-of-selection.

at line-selection.

perform sec_list.

&----


*& Form get-data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get-data .

select matnr

from mara

into table it_mara

where matnr in s_matnr.

if sy-subrc = 0.

select maktx

matnr from makt

into table it_makt

for all entries in it_mara

where matnr = it_mara-matnr.

endif.

ENDFORM. " get-data

&----


*& Form write_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM write_data .

loop at it_makt.

write:/ it_makt-matnr, it_makt-maktx.

endloop.

ENDFORM. " write_data

&----


*& Form sec_list

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM sec_list .

case sy-lsind.

when '1'.

perform basic_1.

endcase.

ENDFORM. " sec_list

&----


*& Form basic_1

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM basic_1 .

select werks

matnr

from marc

into table it_marc

for all entries in it_makt

where matnr = it_makt-matnr.

if sy-subrc = 0.

select lgort

labst

speme

matnr

from mard

into table it_mard

for all entries in it_makt

where matnr = it_makt-matnr.

endif.

*clear it_makt.

*clear it_mard.

read table it_marc with key matnr = it_mara-matnr binary search.

read table it_mard with key matnr = it_mara-matnr binary search.

clear it_marc.

clear it_mard.

move:it_makt-matnr to it_final-matnr,

it_makt-maktx to it_final-maktx.

move: it_marc-werks to it_final-werks,

it_mard-lgort to it_final-lgort,

it_mard-labst to it_final-labst,

it_mard-speme to it_final-speme.

append it_final.

*loop at it_final.

write:/ it_final-matnr, it_final-maktx,

it_final-werks,

it_final-labst, it_final-speme.

*endloop.

ENDFORM. " basic_1

4 REPLIES 4
Read only

Former Member
0 Likes
551

refer thsi program....n proceed as per ur requirement...

&----


*& Report ZLAXMI_REPORT6 *

*& *

&----


*& *

*& *

&----


REPORT ZLAXMI_REPORT6 .

tables: mara,

makt,

marc,

mard.

data: begin of it_mara occurs 0,

matnr like mara-matnr,

end of it_mara.

data: begin of it_makt occurs 0,

maktx like makt-maktx,

matnr like makt-matnr,

end of it_makt.

data: begin of it_marc occurs 0,

werks like marc-werks,

matnr like marc-matnr,

end of it_marc.

data: begin of it_mard occurs 0,

lgort like mard-lgort,

labst like mard-labst,

speme like mard-speme,

matnr like mard-matnr,

end of it_mard.

data: begin of it_final occurs 0,

matnr like mara-matnr,

maktx like makt-maktx,

werks like marc-werks,

lgort like mard-lgort,

labst like mard-labst,

speme like mard-speme,

end of it_final.

selection-screen: begin of block b1 with frame title text-001.

select-options: s_matnr for mara-matnr.

selection-screen: end of block b1 .

start-of-selection.

perform get-data.

perform write_data.

end-of-selection.

at line-selection.

perform sec_list.

&----


*& Form get-data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get-data .

select matnr

from mara

into table it_mara

where matnr in s_matnr.

if sy-subrc = 0.

select maktx

matnr from makt

into table it_makt

for all entries in it_mara

where matnr = it_mara-matnr.

endif.

ENDFORM. " get-data

&----


*& Form write_data

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM write_data .

loop at it_makt.

write:/ it_makt-matnr, it_makt-maktx.

endloop.

ENDFORM. " write_data

&----


*& Form sec_list

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM sec_list .

case sy-lsind.

when '1'.

perform basic_1.

endcase.

ENDFORM. " sec_list

&----


*& Form basic_1

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM basic_1 .

select werks

matnr

from marc

into table it_marc

for all entries in it_makt

where matnr = it_makt-matnr.

if sy-subrc = 0.

select lgort

labst

speme

matnr

from mard

into table it_mard

for all entries in it_makt

where matnr = it_makt-matnr.

endif.

*clear it_makt.

*clear it_mard.

read table it_marc with key matnr = it_mara-matnr binary search.

read table it_mard with key matnr = it_mara-matnr binary search.

clear it_marc.

clear it_mard.

move:it_makt-matnr to it_final-matnr,

it_makt-maktx to it_final-maktx.

move: it_marc-werks to it_final-werks,

it_mard-lgort to it_final-lgort,

it_mard-labst to it_final-labst,

it_mard-speme to it_final-speme.

append it_final.

*loop at it_final.

write:/ it_final-matnr, it_final-maktx,

it_final-werks,

it_final-labst, it_final-speme.

*endloop.

ENDFORM. " basic_1

Read only

0 Likes
550

hi,

Use hotspot on customer and get the values of customer and generate another display for sales order.

reward if this is useful.

rds,

Siva

Read only

Former Member
0 Likes
550

Hi Srinu,

to make a report interactive u need a event AT LINE-SELECTION.

in the line-selection event u can get the line dat

sy-lisel -->gives u the line content

and perform query based on the sy-lisel data and display the fetched data.

Read only

Former Member
0 Likes
550

hi

good

go through this code

report zmjud001 no standard page heading line-size 85 line-count 50.

  • DATA /TABLES DECLARATION*

tables: eban.

data: prog_nam(8).

data: begin of pur_req occurs 100,

ekgrp like eban-ekgrp,

werks like eban-werks,

banfn like eban-banfn,

bnfpo like eban-bnfpo,

bsart like eban-bsart,

estkz like eban-estkz,

matnr like eban-matnr,

menge like eban-menge,

meins like eban-meins,

numb(3) type n.

data: end of pur_req.

  • THE REPORT HEADER

prog_nam = sy-repid.

top-of-page.

perform header_write.

  • SELECTION

start-of-selection.

pur_req-numb = 1.

  • SELECT ONLY THOSE FIELDS THAT WILL BE USED FROM THE TABLE EBAN, AND ONLY

*THE FIRST100 RECORDS OF THE THE PLANT 'PL01'

select banfn bnfpo bsart ekgrp matnr werks menge meins frgdt estkz

into corresponding fields of eban from eban up to 100 rows

where bsart = 'NB' "document type 'NB' = purchase requisition

and werks = 'PL01'

and statu = 'N' "processing status

and loekz = ' '. "deletion indicator

  • THE SELECTED RECORDS SHOULD BE APPENDED TO INTERNAL TABLE 'PUR_REQ'

pur_req-banfn = eban-banfn.

pur_req-matnr = eban-matnr.

pur_req-werks = eban-werks.

pur_req-ekgrp = eban-ekgrp.

pur_req-bnfpo = eban-bnfpo.

pur_req-bsart = eban-bsart.

pur_req-menge = eban-menge.

pur_req-meins = eban-meins.

pur_req-estkz = eban-estkz.

append pur_req.

pur_req-numb = pur_req-numb + 1.

endselect.

  • CHECK WHETHER THE TABLE EBAN CONTAINS ANY PURCHASE REQUISITIONS

if sy-subrc ne 0.

write: / 'No Purchase Requisition found.'.

endif.

  • PROCESS THE INTERNAL TABLE; WRITE OUT THE REQUIRED FIELDS AND HIDE THE

*FIELDS YOU ARE GOING TO USE LATER

loop at pur_req.

write: /1 pur_req-numb, 9 pur_req-banfn, 21 pur_req-bnfpo, 31 pur_req-bsart, 41 pur_req-matnr,

61 pur_req-menge unit pur_req-meins, 82 pur_req-meins.

hide: pur_req-matnr, pur_req-werks, pur_req-banfn.

endloop.

clear pur_req-banfn. clear pur_req-matnr. clear pur_req-werks.

  • IN THE MENU PAINTER (SE41) CREATE A STATUS TO YOUR PROGRAM. HERE YOU CAN

*DEFINE THE PUSH-BUTTON

set pf-status 'basic'.

  • CHOOSE A REQUISITION (WITH DOUBLE CLICKING OR PUSH-BUTTON) IN THE LIST! THE

*PURCHASE REQUISITION IS GOING TO COME UP

at line-selection.

if pur_req-banfn <> space.

set parameter id 'BAN' field pur_req-banfn. " parameter id for pruchase req. number

call transaction 'ME52' and skip first screen. "trans. code 'ME52': Change Purchase Requis.

clear pur_req-banfn. clear pur_req-matnr.

clear pur_req-werks.

endif.

  • FORM THE HEADER

form header_write.

write: / prog_nam, 32 'FUN-FACTORY',

/ 'Purch.Gr.:', pur_req-ekgrp, 26 'Purchase Requisition List',

61 'As Of Date:', 75 sy-datum,

/ 'Plant:', pur_req-werks, 61 'Page:', 75 sy-pagno.

uline.

write: / text-001,

/ text-002.

uline.

endform.

reward point if helpful.

thanks

mrutyun^