2007 Aug 08 7:42 AM
HOW TO CREATE INTERACTIVE REPORT USING EKPO, LFA1 HAVING FIELDS
PO NO
VENDOR NO
VENDOR NAME
DATE
MATERIAL
DESCRIPTION
ETC ON BASE LIST
AND VEN NO.
NAME
ADDRESS
ETC ON SECONDARY LIST UPON CLICKING PO NO.
HOW TO CREATE INTERACTIVE REPORT USING EKPO, LFA1 HAVING FIELDS
PO NO
VENDOR NO
VENDOR NAME
DATE
MATERIAL
DESCRIPTION
ETC ON BASE LIST
AND VEN NO.
NAME
ADDRESS
ETC ON SECONDARY LIST UPON CLICKING PO NO.
2007 Aug 08 7:46 AM
hi,
see the sample code
REPORT zpurchase48 NO STANDARD PAGE HEADING LINE-SIZE 170.
TABLES: ekbz,ekpo,lfa1,makt,mara.
************************************************************************
***
*DECLARATION PART *
************************************************************************
***
DATA : total LIKE ekbz-dmbtr.
TYPES: BEGIN OF fds,
lifnr LIKE ekbz-lifnr, "Vendor Number
waers LIKE ekbz-waers, "Currency
ebeln LIKE ekbz-ebeln, "Purchase Document Number
ebelp LIKE ekbz-ebelp, "Item Number of Purchasing Document
belnr LIKE ekbz-belnr, "Accounting Document Number
xblnr LIKE ekbz-xblnr, "Reference Document Number
matnr LIKE ekpo-matnr, "Material Number
maktx LIKE makt-maktx, "Material Description
spras LIKE lfa1-spras, "Language Key
meins LIKE mara-meins, "Unit of Measure
dmbtr LIKE ekbz-dmbtr, "Freight amount
name1 LIKE lfa1-name1, "name1
kschl LIKE ekbz-kschl, "condition type
END OF fds.
DATA itab1 TYPE STANDARD TABLE OF fds WITH HEADER LINE.
************************************************************************
***
*INTERNAL TABLE FOR LFA1 TABLE *
************************************************************************
***
TYPES : BEGIN OF fieldst,
lifnr LIKE lfa1-lifnr,
name1 LIKE lfa1-name1,
adrnr LIKE lfa1-adrnr,
stras LIKE lfa1-stras,
pstlz LIKE lfa1-pstlz,
ort01 LIKE lfa1-ort01,
regio LIKE lfa1-regio,
pstl2 LIKE lfa1-pstl2,
END OF fieldst.
DATA itab2 TYPE TABLE OF fieldst WITH HEADER LINE.
DATA wa_itab2 LIKE LINE OF itab2.
************************************************************************
***
*SELECTION-SCREEN *
************************************************************************
***
SELECTION-SCREEN : BEGIN OF BLOCK blk WITH FRAME TITLE text-001.
SELECT-OPTIONS : s_ebeln FOR ekbz-ebeln,
s_lifnr FOR ekbz-lifnr,
s_belnr FOR ekbz-belnr,
s_xblnr FOR ekbz-xblnr.
PARAMETER p1 LIKE ekbz-vgabe DEFAULT '1'.
SELECTION-SCREEN : END OF BLOCK blk.
************************************************************************
***
*FETCHING RECORDS FROM EKBZ EKPO MAKT MARA TABLES *
************************************************************************
***
START-OF-SELECTION.
PERFORM selectdata.
END-OF-SELECTION.
************************************************************************
*******
LOOP AT itab1.
WRITE:/ itab1-lifnr HOTSPOT ON, 10 sy-vline,
itab1-waers, 25 sy-vline,
itab1-xblnr, 39 sy-vline,
itab1-belnr, 52 sy-vline,
itab1-ebelp, 60 sy-vline,
itab1-ebeln, 72 sy-vline,
76 itab1-matnr, 87 sy-vline,
91 itab1-name1, 98 sy-vline,
itab1-meins, 103 sy-vline,
107 itab1-maktx, 145 sy-vline,
149 itab1-dmbtr, 170 sy-vline.
HIDE : itab1-lifnr.
AT END OF waers.
SUM.
FORMAT COLOR 3.
ULINE (170).
WRITE: /108 '*Currency Total*', 149 itab1-dmbtr, 170 sy-vline.
FORMAT COLOR OFF.
ULINE (170).
ENDAT.
AT LAST.
FORMAT COLOR 4.
SUM.
SKIP.
ULINE (170).
WRITE: /108 '*Grand Total*' , 149 itab1-dmbtr, 170 sy-vline.
ENDAT.
ENDLOOP.
ULINE (170).
************************************************************************
***
*TOP-OF-PAGE *
************************************************************************
***
TOP-OF-PAGE.
WRITE: /40 'INTERACTIVE REPORT',
90 'DATE : ' , sy-datum.
ULINE.
WRITE: /01 'VENDOR NO' , 10 sy-vline,
12 'CURRENCY' , 25 sy-vline,
26 'REFERENCE NO' , 39 sy-vline,
41 'ACCOUNT NO' , 52 sy-vline,
53 'ITEMNO' , 60 sy-vline,
64 'PURNO' , 72 sy-vline,
74 'MATERIAL NO.' , 87 sy-vline,
91 'NAME1' , 98 sy-vline,
99 'UNIT' , 103 sy-vline,
112 'MATERIAL DESCRIPTION' , 145 sy-vline,
150 'FREIGHT AMT' , 170 sy-vline.
ULINE.
************************************************************************
***
*AT-LINE-SELECTION *
************************************************************************
***
AT LINE-SELECTION.
READ TABLE itab2 INTO wa_itab2 WITH KEY
lifnr = itab1-lifnr.
WRITE :/01 sy-vline,
02 wa_itab2-name1, 21 sy-vline,
25 wa_itab2-adrnr, 32 sy-vline,
wa_itab2-stras, 44 sy-vline,
wa_itab2-pstlz, 56 sy-vline,
wa_itab2-ort01, 68 sy-vline,
wa_itab2-regio, 80 sy-vline,
wa_itab2-pstl2, 89 sy-vline.
ULINE /1(89).
************************************************************************
***
*TOP-OF-PAGE DURING AT LINE-SELCTION *
************************************************************************
***
TOP-OF-PAGE DURING LINE-SELECTION.
ULINE 1(89).
WRITE: /01 sy-vline, 30 'INTERACTIVE REPORT',
60 sy-datum, 89 sy-vline.
ULINE /1(89).
SKIP.
ULINE 1(89).
WRITE:/01 sy-vline,
07 'Name' , 21 sy-vline,
23 'Address1', 32 sy-vline,
34 'Address2', 44 sy-vline,
46 'pobox' , 56 sy-vline,
58 'city' , 68 sy-vline,
70 'state' , 80 sy-vline,
82 'pin code', 89 sy-vline.
ULINE /1(89).
************************************************************************
*****
*FETCHING RECORDS FROM DATABASE TABLE *
************************************************************************
*****
FORM selectdata.
SELECT ekbzebeln ekbzwaers ekbzebelp ekbzbelnr ekbz~xblnr
ekpomatnr maktmaktx marameins ekbzdmbtr ekbz~lifnr
lfa1~name1 INTO CORRESPONDING FIELDS OF TABLE itab1
FROM ( ( ( ( ekbz INNER JOIN ekpo ON ekbzebeln = ekpoebeln
AND ekbzebelp = ekpoebelp )
INNER JOIN lfa1 ON ekbzlifnr = lfa1lifnr )
INNER JOIN makt ON lfa1spras = maktspras )
INNER JOIN mara ON maramatnr = maktmatnr
AND
maramatnr = ekpomatnr )
WHERE ekbz~ebeln IN s_ebeln AND
ekbz~lifnr IN s_lifnr AND
ekbz~belnr IN s_belnr AND
ekbz~xblnr IN s_xblnr AND
ekbz~kschl BETWEEN 'FRA1' AND 'FRC3' AND
vgabe EQ p1.
SORT itab1 BY lifnr waers.
IF NOT itab1[] IS INITIAL.
SELECT lifnr name1 adrnr stras pstlz ort01 regio pstl2
FROM lfa1 INTO TABLE itab2
FOR ALL ENTRIES IN itab1 WHERE lifnr = itab1-lifnr.
ENDIF.
ENDFORM. "selectdata
************************************************************************
<b> reward points if it is useful</b>
Regards,
Divya
2007 Aug 08 7:48 AM
Hi Anshu
the similar filelds b/w both are vendor no
so write the functionality if the user clicks on vendor no then display interactive reports with ur fields and perofrm link b/w both with vendor no.
Reward points for all helpful answers,
kiran.M
2007 Aug 08 7:49 AM
HI,
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY' Or grid display
EXPORTING
I_CALLBACK_PROGRAM = GT_REPID
:
I_CALLBACK_USER_COMMAND = 'F_USER_COMMAND' " FORM NAME
:
:
IT_FIELDCAT = GT_FIELDCAT " pass the first table collection of PO NO, Vendor number, Vname, date mat etc..
.....................................
TABLES
T_OUTTAB = ITAB
...........................
FORM F_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM
RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
When '&IC1'. " here your double occurs
if rs_selfield-fieldname = '<your field name-- PO number field name>' " give the field name which you want to double click.
:
Write your code here..
I.e write your select statements retrieve Vendor data into internal table for PO and use
"REUSE_ALV_POPUP_TO_SELECT" to show the details in a small window..
or you can REUSE_ALV_GRID_DISPLAY again for second line items and pass the internal table here
:
endif.
endcase.
ENDFORM.
Post questions if any doubts...........
rewards if useful and understood,
regards,
Nazeer
2007 Aug 08 8:09 AM
Hi,
the following link has a similar program with comments which ll help u with ur reportinh
http://www.erpgenie.com/abap/ireports.htm
All the best !!
Regards
Aparna
2007 Aug 08 8:11 AM
Also luk at the following sample programs
http://www.planetsap.com/Z_interactive_reporting_1.htm
http://www.planetsap.com/Z_interactive_reporting_2.htm
All the best !!
Regards
Aparna
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |