‎2009 Feb 27 4:30 PM
Hi Experts,
1) Please let me know what are the ways to find the value that is clicked on the basic list. I need this in order to run the interactive report. Do we have any other way apart from HIDE statements ?
2) I also want the basic list to have two headers.
Eg :
first header :
column names 1 2 4 .........................
report rows -
-
-
second header :
different column names 1 2 3.............
report rows -
reportrows -
Thanks in Advance,
Prasad
‎2009 Feb 27 4:35 PM
Hi,
You can get the value of the field by using
GET CURSOR FIELD.
Regards,
jaya
‎2009 Feb 27 4:35 PM
Hi,
You can get the value of the field by using
GET CURSOR FIELD.
Regards,
jaya
‎2009 Feb 27 5:57 PM
HI,
With out hide:
1> Sy-lisel---->Hold the value of the line that is clicked.
2> Sy-lilly--->Line number where the mouse is double clicked.
3> READ LIST to Read from list.
4> Get Cursor <>.
Two Headers:
Ex:
Field1 Field2
a b
c d
a b
c d
Report <XYZ> Line-count 4 No standard page heading.
Top-of-page.
If sy-pagno = 1.
Write : header1,
ULINE.
else.
Write : header2,
endif,
Start-of-selection.
Loop at <Itab>.
Write: / itab-field1, Itab-field2.
Endloop.Output:
Header1
_____________________
a b
c d
Header2
_____________________
a b
c d
Regards,
Gurpreet
‎2009 Feb 27 6:49 PM
Thanks to both for quick responses.
My requirement is to have 2 different lists with different data in the output.
Is that possible with the given logic ?
Thanks,
Prasad
‎2009 Feb 27 7:12 PM
Hi,
Above logic will work also.
OR
Use:
Get the number of lines for the first list using
Describe table <Itab> LINES <LINENO>.
Say Lineno = 100.
Header lines = 5.
When Outputting the list.
Use if condition.
If LINENO = 105.
NEW-PAGE.
ENDIF.
TOP-OF-PAGE.
If LINENO LT 105.
Write :HEADER1.
ESLE.
HEADER2.
ENDIF.
Hope this resolves your issue.
Regards,
Gurpreet
‎2009 Feb 28 2:13 AM
Hi,
just go through this link...u will get to know what are the options available otherthan the HIDE statement
http://help.sap.com/saphelp_nw70/helpdata/EN/9f/dba4b235c111d1829f0000e829fbfe/frameset.htm
[DefiningHeaders|http://help.sap.com/saphelp_nw70/helpdata/EN/9f/dba4b235c111d1829f0000e829fbfe/frameset.htm]
Regards
Kiran
‎2009 Feb 28 6:07 AM
Hi Prasad,
Here is sample code acc to ur requirement......
TABLES: spfli,sflight.
DATA: t_spfli TYPE TABLE OF spfli,
t_sflight TYPE TABLE OF sflight.
data: w_str type string.
SELECT * FROM spfli INTO TABLE t_spfli
UP TO 20 ROWS.
IF sy-subrc EQ 0.
LOOP AT t_spfli INTO spfli.
WRITE:/ spfli-carrid,
spfli-connid,
spfli-cityfrom,
spfli-cityto.
ENDLOOP.
ENDIF.
AT LINE-SELECTION.
*sy-lilli is the row no of selected line
READ LINE sy-lilli
FIELD VALUE spfli-carrid.
IF sy-subrc EQ 0.
SELECT * FROM sflight INTO TABLE t_sflight
WHERE carrid = spfli-carrid.
IF sy-subrc EQ 0.
LOOP AT t_sflight INTO sflight.
WRITE:/ sflight-carrid,
sflight-connid,
sflight-fldate.
ENDLOOP.
ENDIF.
* ENDIF.
or
at line-selection.
*gets carrid of selected line only if cursor is at carrid field..
get cursor field spfli-carrid value w_str.
if sy-subrc eq 0.
SELECT * FROM sflight INTO TABLE t_sflight
WHERE carrid = w_str.
IF sy-subrc EQ 0.
LOOP AT t_sflight INTO sflight.
WRITE:/ sflight-carrid,
sflight-connid,
sflight-fldate.
ENDLOOP.
endif.
endif.
Regards,
Mdi.Deeba
‎2009 Feb 28 7:05 AM
see the following example
REPORT ZBLOCK_ALV.
CONSTANTS :
c_x VALUE 'X'.
----
Macro definition
DEFINE m_fieldcat.
ls_fieldcat-fieldname = &1.
ls_fieldcat-ref_tabname = &2.
ls_fieldcat-tabname = &3.
append ls_fieldcat to lt_fieldcat.
END-OF-DEFINITION.
DEFINE m_sort.
ls_sort-fieldname = &1.
ls_sort-up = c_x.
append ls_sort to lt_sort.
END-OF-DEFINITION.
----
TYPE-POOLS: slis. " ALV Global types
TYPES:
1st Table
BEGIN OF ty_kna1,
kunnr TYPE kna1-kunnr, " Customer number
ernam TYPE kna1-ernam, " Name of Person who Created
erdat TYPE kna1-erdat, " Creation date
name1 TYPE kna1-name1, " Name 1 .
END OF ty_kna1,
2nd Table
BEGIN OF ty_mara,
matnr TYPE mara-matnr, " Material number
ernam TYPE mara-ernam, " Name of Person who Created
ersda TYPE mara-ersda, " Creation date
mtart TYPE mara-mtart, " Material type
matkl TYPE mara-matkl, " Material group
END OF ty_mara,
3rd Table
BEGIN OF ty_vbak,
vbeln TYPE vbak-vbeln, " Sales document
vkorg TYPE vbak-vkorg, " Sales organization
vtweg TYPE vbak-vtweg, " Distribution channel
kunnr TYPE vbak-kunnr, " Sold-to party
erdat TYPE vbak-erdat, " Creation date
END OF ty_vbak.
----
DATA:
gs_layout TYPE slis_layout_alv,
gt_kna1 TYPE TABLE OF ty_kna1,
gt_mara TYPE TABLE OF ty_mara,
gt_vbak TYPE TABLE OF ty_vbak.
----
SELECTION-SCREEN :
SKIP, BEGIN OF LINE,COMMENT 5(27) v_1 FOR FIELD p_max. "#EC NEEDED
PARAMETERS p_max(2) TYPE n DEFAULT '02' OBLIGATORY.
SELECTION-SCREEN END OF LINE.
----
INITIALIZATION.
v_1 = 'Maximum of records to read'.
----
START-OF-SELECTION.
Read data
SELECT kunnr ernam erdat name1
FROM kna1
UP TO p_max ROWS
INTO TABLE gt_kna1.
SELECT matnr ernam ersda mtart matkl
FROM mara
UP TO p_max ROWS
INTO TABLE gt_mara.
SELECT vbeln vkorg vtweg kunnr erdat
FROM vbak
UP TO p_max ROWS
INTO TABLE gt_vbak.
----
END-OF-SELECTION.
PERFORM f_display_data.
----
FORM USER_COMMAND *
----
FORM user_command USING u_ucomm TYPE sy-ucomm
us_selfield TYPE slis_selfield. "#EC CALLED
DATA:
ls_vbak TYPE ty_vbak.
CASE u_ucomm.
WHEN '&IC1'. " Pick
CASE us_selfield-tabname.
WHEN 'GT_MARA'.
WHEN 'GT_KNA1'.
WHEN 'GT_VBAK'.
READ TABLE gt_vbak INDEX us_selfield-tabindex INTO ls_vbak.
IF sy-subrc EQ 0.
SET PARAMETER ID 'AUN' FIELD ls_vbak-vbeln.
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
ENDIF.
ENDCASE.
ENDCASE.
ENDFORM. " USER_COMMAND
----
Form f_display_data
----
FORM f_display_data.
DATA :
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv, " Field catalog
ls_sort TYPE slis_sortinfo_alv,
lt_sort TYPE slis_t_sortinfo_alv, " Sort table
lt_events TYPE slis_t_event,
ls_event TYPE slis_alv_event.
gs_layout-group_change_edit = c_x.
gs_layout-colwidth_optimize = c_x.
gs_layout-zebra = c_x.
gs_layout-detail_popup = c_x.
gs_layout-get_selinfos = c_x.
Build field catalog and sort table
m_fieldcat 'KUNNR' 'KNA1' 'GT_KNA1'.
m_fieldcat 'ERNAM' 'KNA1' 'GT_KNA1'.
m_fieldcat 'ERDAT' 'KNA1' 'GT_KNA1'.
m_fieldcat 'NAME1' 'KNA1' 'GT_KNA1'.
m_sort 'KUNNR'.
Build Event Table
MOVE 'TOP_OF_PAGE' TO ls_event-name.
MOVE 'TOP_OF_PAGE' TO ls_event-form.
APPEND ls_event TO lt_events.
MOVE 'END_OF_LIST' TO ls_event-name.
MOVE 'END_OF_LIST' TO ls_event-form.
APPEND ls_event TO lt_events.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-cprog
i_callback_user_command = 'USER_COMMAND'
it_fieldcat = lt_fieldcat
is_layout = gs_layout
it_events = lt_events
it_sort = lt_sort
i_save = 'A'
TABLES
t_outtab = gt_kna1.
ENDFORM. " F_DISPLAY_DATA
----
FORM top_of_page *
----
FORM top_of_page. "#EC CALLED
ULINE.
WRITE : sy-uname, sy-title(56) CENTERED, sy-datum.
ULINE.
ENDFORM. " TOP_OF_PAGE
----
FORM End_of_list *
----
FORM end_of_list. "#EC CALLED
DATA :
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv, " Field catalog
ls_sort TYPE slis_sortinfo_alv,
lt_sort TYPE slis_t_sortinfo_alv, " Sort table
lt_events TYPE slis_t_event,
ls_event TYPE slis_alv_event.
Build field catalog and sort table
m_fieldcat 'MATNR' 'MARA' 'GT_MARA'.
m_fieldcat 'ERNAM' 'MARA' 'GT_MARA'.
m_fieldcat 'ERSDA' 'MARA' 'GT_MARA'.
m_fieldcat 'MTART' 'MARA' 'GT_MARA'.
m_fieldcat 'MATKL' 'MARA' 'GT_MARA'.
m_sort 'MATNR'.
Build Event Table
MOVE 'END_OF_LIST' TO ls_event-name.
MOVE 'END_OF_LIST_2' TO ls_event-form.
APPEND ls_event TO lt_events.
gs_layout-list_append = c_x.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-cprog
it_fieldcat = lt_fieldcat
is_layout = gs_layout
it_sort = lt_sort
it_events = lt_events
i_save = 'A'
TABLES
t_outtab = gt_mara.
ENDFORM. " END_OF_LIST
----
FORM End_of_list_2 *
----
FORM end_of_list_2. "#EC CALLED
DATA :
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv, " Field catalog
ls_sort TYPE slis_sortinfo_alv,
lt_sort TYPE slis_t_sortinfo_alv, " Sort table
lt_events TYPE slis_t_event,
ls_event TYPE slis_alv_event.
Build field catalog and sort table
m_fieldcat 'VBELN' 'VBAK' 'GT_VBAK'.
m_fieldcat 'VKORG' 'VBAK' 'GT_VBAK'.
m_fieldcat 'VTWEG' 'VBAK' 'GT_VBAK'.
m_fieldcat 'KUNNR' 'VBAK' 'GT_VBAK'.
m_fieldcat 'ERDAT' 'VBAK' 'GT_VBAK'.
m_sort 'VBELN'.
Build Event Table
MOVE 'TOP_OF_PAGE' TO ls_event-name.
MOVE 'TOP_OF_PAGE' TO ls_event-form.
APPEND ls_event TO lt_events.
gs_layout-list_append = c_x.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-cprog
it_fieldcat = lt_fieldcat
is_layout = gs_layout
it_sort = lt_sort
it_events = lt_events
i_save = 'A'
TABLES
t_outtab = gt_vbak.
ENDFORM. " END_OF_LIST_2