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
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
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |