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

interactive report

Former Member
0 Likes
388

Hi all,

Can anybody please send me the code which can use most or the system fields(sy-lsind,sy-lisel.....) for interactive report

Thanks in advance.

1 REPLY 1
Read only

Former Member
0 Likes
351

Hi

In the purchasing (MM module) you can process the purchase requisitions. The purchase requisitions define primarily the need for a material/service. List the first 100 purchase requisitions at the plant 'PL01' (table EBAN). Then make it possible to change the purchase requisition itself from the list by clicking twice on the row or by using a push-button.

<u><b>ADDITIONAL REQUIREMENTS TO THE LIST:</b></u>

1. <b><i><u>CONTENT:</u></i></b> PURCHASE REQUISITION NUMBER, ITEM NUMBER, DOCUMENT TYPE, MATERIAL, QUANTITY, UNIT OF MEASURE

2. <b><i><u>LAYOUT:</u></i></b> MAIN HEADER SHOULD INCLUDE

PROGRAM NAME, COMPANY NAME, PLANT, PURCHASE GROUP, CREATION DATE, PAGE NUMBER

3. ONE PAGE SHOULD HAVE 50 LINE ITEM

--------------------------------------------------------------------------------

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.
--------------------------------------------------------------------------------

<i><b>NOTES:</b></i>

1. PUSH-BUTTON DEFINITION (SE11)

In the Menu Painter a status must be created where you can maintain the function keys

2. MAINTAIN THE TEXT ELEMENT TO THE HEADER OF THE LIST

(SE38 choose the object component 'TEXT ELEMENTS' at the first screen, then the'TEXT SYMBOLS'. Here you can add a number (I.E. 001) to 'TEXT SYMBOL' and write the header title into the text field like this:

001 Numb.__Requisition__Item___Document_____Material_________________Quantity_Unit_of

002 _________Number_____Num______Type__________________________________Measure

Check this link for Check Boxes in an Interactive Report

http://www.sap-basis-abap.com/abap/check-boxes-in-an-interactive-report.htm

Reward all helpfull answers

Regards

Pavan