10-11-2007 12:51 PM
I have developed a interactive report.In that if i click spfli-carrid a list with reqd details is displayed.But when i click connid i find the same.I need different set of data related to that connid.how to check that second field in list to produce secondry list.
10-11-2007 12:57 PM
hi check it with if u using ALV,
<b> sel_field-fieldname</b>
FORM user_command USING u_com LIKE sy-ucomm sel_field TYPE slis_selfield.
CLEAR fcat1.
CASE u_com.
WHEN '&IC1'.
READ TABLE itab INDEX sel_field-tabindex.
IF sel_field-fieldname = 'MATNR'.
IF sy-subrc = 0.
t_mat = itab-matnr.
SET PARAMETER ID 'MAT' FIELD t_mat.
CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.
ENDCASE.
ENDFORM. "user_command
10-11-2007 12:56 PM
Check out "get cursor field" - it will allow you to tell where the user's cursor was for the drilldown.
Jonathan
10-11-2007 12:57 PM
hi check it with if u using ALV,
<b> sel_field-fieldname</b>
FORM user_command USING u_com LIKE sy-ucomm sel_field TYPE slis_selfield.
CLEAR fcat1.
CASE u_com.
WHEN '&IC1'.
READ TABLE itab INDEX sel_field-tabindex.
IF sel_field-fieldname = 'MATNR'.
IF sy-subrc = 0.
t_mat = itab-matnr.
SET PARAMETER ID 'MAT' FIELD t_mat.
CALL TRANSACTION 'MM03' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.
ENDCASE.
ENDFORM. "user_command
10-11-2007 12:59 PM
thanks for ur answer.but i am not using ALV.Its normal interactive rpt
10-11-2007 1:03 PM
hi,
try this,
Make one pf status as i created TEST and make one button in application toolbar with function code PICK.
&----
*& Report ZCLASSICAL_INTER
*&
&----
*&
*&
&----
REPORT zclassical_inter.
TABLES : vbrk.
DATA : off TYPE i,
lin TYPE i,
fld TYPE char10.
DATA : BEGIN OF itab OCCURS 0,
vbeln LIKE vbrk-vbeln,
fkart LIKE vbrk-fkart,
fkdat LIKE vbrk-fkdat,
netwr LIKE vbrk-netwr,
kunag LIKE vbrk-kunag,
END OF itab.
TOP-OF-PAGE.
ULINE AT /1(80).
FORMAT COLOR 3 ON.
WRITE:/1 sy-vline,
3 'Billing Doc.',
18 sy-vline,
20 'Billing Type',
33 sy-vline,
35 'Billing Date',
48 sy-vline,
50 'Net Value',
68 sy-vline,
69 'Customer',
80 sy-vline.
ULINE AT /1(80).
FORMAT COLOR OFF.
START-OF-SELECTION.
SET PF-STATUS 'TEST'.
SELECT vbeln fkart fkdat netwr kunag FROM vbrk
INTO CORRESPONDING FIELDS OF TABLE itab
WHERE vbeln LIKE '00000033%'.
LOOP AT itab.
WRITE:/1 sy-vline,
itab-vbeln UNDER 'Billing Doc.' HOTSPOT ON,
18 sy-vline,
itab-fkart UNDER 'Billing Type',
33 sy-vline,
itab-fkdat UNDER 'billing Date',
48 sy-vline,
itab-netwr UNDER 'Net Value' LEFT-JUSTIFIED,
68 sy-vline,
itab-kunag UNDER 'Customer' HOTSPOT ON,
80 sy-vline.
HIDE : itab-vbeln.
HIDE : itab-kunag.
ENDLOOP.
ULINE AT /1(80).
AT LINE-SELECTION.
PERFORM cal_vf03.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'BACK' OR 'UP' OR 'CANC'.
LEAVE PROGRAM.
WHEN 'LV'.
LEAVE PROGRAM.
ENDCASE.
&----
*& Form cal_vf03
&----
text
----
FORM cal_vf03.
GET CURSOR LINE lin DISPLAY OFFSET off.
GET CURSOR FIELD fld. " DISPLAY OFFSET off LINE lin.
IF fld = 'ITAB-VBELN'.
SET PARAMETER ID 'VF' FIELD itab-vbeln.
CALL TRANSACTION 'VF03' AND SKIP FIRST SCREEN.
SET PARAMETER ID 'VF' FIELD space.
ELSEIF fld = 'ITAB-KUNAG'.
CALL TRANSACTION 'MIGO'.
ELSE.
CALL TRANSACTION 'MM03'.
ENDIF.
ENDFORM. "cal_vf03
Message was edited by:
Dhwani shah
10-15-2007 11:06 AM
Hi,
u can use like this in report.
Loop at iatb.
write wxy, xyz.
HIDE : wxy, xyz.
endloop.
AT-line selection.
GET CURSOR FIELD <name of field variable> VALUE <value in that field>.
IF <name of field variable> = '<field u r go for secondary list on click>'.
do some thing like
loop at itab where field1 = wxy field2 = xyz.
write : data u wnt to display in secondary list.
endloop.
endif.