01-30-2007 7:01 PM
HI ALL
CAN YOU GENARATED AN INTERACTIVE REPORT .
SELECTION CRITERIA:
DESCRIPTION [S] ELECT OPTION MANDATORY
PURCHASE S YES
ORDER
NUMBER
PURCHASING
ORGANIZATION S YES
PURCHASING
GROUP S NO
DISPLAY DATA
BASIC LIST SHOULD BELOW, WHICH IS AN EXAMPLE.
PUR.ORG PUR.GROUP TOTAL NET PRICE.
SECONDARY LIST:
WHEN DOUBLE CLICKED ON A PARTICULAR LINE ON THE LIST,
A SECONDARY LIST SHOULD BE DISPLAYED CONTAINING THE
FIELDS, PURCHASING GROUP NAD PURCHASING ORGANIZATION WISE.
1. P.O.NUMBER
2. ITEM NO.
3. MATERIAL NO.
4. MATERIAL DESCRIPTION.
5. ORDER QTY.
6. NET PRICE.
THE SECONDARY LIST SHOULD BE AS FOLLOWS (EXAMPLE):
P.O NUMBER. ITEM NO. MAT.NO. MATERIAL DES. ORDER QTY.
NET PRICE.
I GOT THE FIELD NAMES AND TABLES
TABLE FIELD NAMES
PUR.ORG - EKKO- EKORG
PUR.GROUP - EKKO- EKGRP
TOTAL NET PRICE. - EKPO- NETWR
P.O NUMBER. - EKKO- EBELN
ITEM NO. - EKPO- EBELP
MAT.NO. - EKPO- MATNR
MATERIAL DES. - MAKT- MAKTX
ORDER QTY. - EKPO- MENGE
NET PRICE. - EKPO- NETPR
THANKS AND REGARD
KUMAR
01-30-2007 7:03 PM
Hi,
Use the HIDE stmt to have a hotspot on the list.
Eg:
DATA: square TYPE i,
cube TYPE i.
START-OF-SELECTION.
FORMAT HOTSPOT.
DO 10 TIMES.
square = sy-index ** 2.
cube = sy-index ** 3.
WRITE / sy-index.
HIDE: square, cube.
ENDDO.
AT LINE-SELECTION.
WRITE: square, cube.
Or if you do not specify HIDE, you can double click on the line.
Regards
Subramanian
01-30-2007 7:12 PM
tables : ekko.
select-options : s_ebeln for ekko-ebeln obligatory,
s_ekorg for ekko-ekorg obligatory,
s_ekgrp for ekko-ekgrp.
data : begin of itab occurs 0,
ebeln like ekko-ebeln,
ekorg like ekko-ekorg,
ekgrp like ekko-ekgrp,
end of itab.
start-of-selection.
select ebeln ekorg ekgrp from ekko
into table itab where
ebeln in s_ebeln and
ekorg in s_ekorg and
ekgrp in s_ekgrp.
if not itab[] is initial.
loop at itab.
write : / itab-ebeln, itab-ekorg, itab-ekgrp.
hide itab.
endloop.
endif.
at line-selection.
get the values accordingly for the secondary list here...
you will have itab value here for the particular line, on which user has clicked.
regds,
kiran
01-30-2007 7:19 PM
Hi,
Check the code for your requirement...I have used ALV..
TYPE-POOLS: slis.
TABLES: ekko.
SELECT-OPTIONS: so_ebeln FOR ekko-ebeln OBLIGATORY,
so_ekorg FOR ekko-ekorg OBLIGATORY,
so_ekgrp FOR ekko-ekgrp.
DATA: gt_fieldcat TYPE slis_t_fieldcat_alv.
DATA: BEGIN OF wa_ekko,
ebeln LIKE ekko-ebeln,
ekorg LIKE ekko-ekorg,
ekgrp LIKE ekko-ekgrp,
ebelp LIKE ekpo-ebelp,
matnr LIKE ekpo-matnr,
menge LIKE ekpo-menge,
netpr LIKE ekpo-netpr,
netwr LIKE ekpo-netwr,
END OF wa_ekko.
DATA: BEGIN OF wa_header,
ekorg LIKE ekko-ekorg,
ekgrp LIKE ekko-ekgrp,
netwr LIKE ekpo-netwr,
END OF wa_header.
DATA: v_repid TYPE syrepid.
v_repid = sy-repid.
DATA it_ekko LIKE STANDARD TABLE OF wa_ekko WITH HEADER LINE.
DATA it_header LIKE STANDARD TABLE OF wa_header WITH HEADER LINE.
SELECT aebeln aekorg a~ekgrp
bebelp bmatnr bmenge bnetpr b~netwr
FROM ekko AS a INNER JOIN ekpo AS b
ON aebeln = bebeln
INTO TABLE it_ekko
WHERE a~ebeln IN so_ebeln
AND a~ekorg IN so_ekorg
AND a~ekgrp IN so_ekgrp.
LOOP AT it_ekko.
MOVE-CORRESPONDING it_ekko TO it_header.
COLLECT it_header.
ENDLOOP.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = v_repid
i_internal_tabname = 'WA_HEADER'
i_inclname = v_repid
CHANGING
ct_fieldcat = gt_fieldcat.
Pass the program.
v_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = v_repid
it_fieldcat = gt_fieldcat
i_callback_user_command = 'USER_COMMAND'
TABLES
t_outtab = it_header.
----
FORM display_detail *
----
........ *
----
--> UCOMM *
--> SELFIELD *
----
FORM user_command USING ucomm LIKE sy-ucomm
selfield TYPE slis_selfield.
DATA it_ekko_l LIKE STANDARD TABLE OF wa_ekko WITH HEADER LINE.
DATA: gt_fieldcat1 TYPE slis_t_fieldcat_alv.
IF ucomm = '&IC1'.
READ TABLE it_header INDEX selfield-tabindex.
IF sy-subrc = 0.
LOOP AT it_ekko WHERE ekorg = it_header-ekorg
AND ekgrp = it_header-ekgrp.
MOVE-CORRESPONDING it_ekko TO it_ekko_l.
APPEND it_ekko_l.
ENDLOOP.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = v_repid
i_internal_tabname = 'WA_EKKO'
i_inclname = v_repid
CHANGING
ct_fieldcat = gt_fieldcat1.
Pass the program.
v_repid = sy-repid.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = v_repid
it_fieldcat = gt_fieldcat1
TABLES
t_outtab = it_ekko_l.
ENDIF.
ENDIF.
ENDFORM.
Thanks,
Naren