AT Line selection event in ALV blocked list display
Hi Exparts,
I am using
REUSE_ALV_BLOCK_LIST_INIT,REUSE_ALV_BLOCK_LIST_APPEND,
REUSE_ALV_BLOCK_LIST_DISPLAY.
My question, In a field if user double click then a specific Transaction will execute.
please help me with relevant document.
dear
this is very simple when u will call alv_grid_display FM :
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
i_callback_program = sy-cprog
* I_CALLBACK_PF_STATUS_SET = ' '
i_callback_user_command = *'USER_COMMAND'*
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
* IS_LAYOUT = LS_LAYOUT
it_fieldcat = ls_fieldcat[]
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
i_default = 'X'
i_save = 'A'
* IS_VARIANT =
it_events = g_events[]
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* I_HTML_HEIGHT_TOP =
* I_HTML_HEIGHT_END =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = t_output
* EXCEPTIONS
* PROGRAM_ERROR = 1
* OTHERS = 2
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
PERFORM user_command USING r_ucomm
rs_selfield.
*FORM user_command USING p_r_ucomm*
*p_rs_selfield.*
*CASE p_r_ucomm.*
*WHEN '&IC1'.*
*READ TABLE t_output WITH KEY check = 'X'.*
*IF t_output-check IS INITIAL.*
*MESSAGE 'Plz select the checkbox' TYPE 'E'.*
*ENDIF.*
*READ LINE sy-index FIELD VALUE t_output-vbeln.*
*CHECK NOT t_output-vbeln IS INITIAL.*
*SET PARAMETER ID 'AUN' FIELD t_output-vbeln.*
*CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.*
*ENDCASE.*
*ENDFORM.
Similar Messages
-
Displaying Average of Columns in ALV Blocked List Display
Hi,
I am using ALV Blocked List Display. For the 1st block, I need to display the average of certain columns.
I am using the following code in the field catalog of the RATE column to display the average , but it is not displayed.
wa_disptab_field-col_pos = 8.
wa_disptab_field-fieldname = 'RATE''.
wa_disptab_field-ref_tabname = 'IT_DISPTAB'.
wa_disptab_field-seltext_m = 'RS PER KL'.
wa_disptab_field-do_sum = 'C'.
wa_disptab_field-datatype = 'QUAN'.
append wa_disptab_field to it_disptab_field.
clear wa_disptab_field.
For the same column, the sum is displayed with the same code if I change this part:
wa_disptab_field-do_sum = 'C'. To wa_disptab_field-do_sum = 'X'.
Please Help..Hi Debarati,
go For function/pattern [reuse_alv_grid_display_lvc]
do the following as mentioned in the previous reply's.
And To find the Average of your requirement, pass the field names as per the requirement.
gs_sort-fieldname = 'RATE'.
gs_sort-tabname = 'T_DISPTAB' "Final Internal table
gs_sort-subtot = 'X'.
APPEND gs_sort TO gt_sort.
gs_sort-fieldname = 'RATE1'.
gs_sort-tabname = 'T_DISPTAB' "Final Internal table
gs_sort-subtot = 'X'.
APPEND gs_sort TO gt_sort.
gs_sort-fieldname = 'RATE2'.
gs_sort-tabname = 'T_DISPTAB' "Final Internal table
gs_sort-subtot = 'X'.
APPEND gs_sort TO gt_sort.
gs_sort-fieldname = 'RATE3'.
gs_sort-tabname = 'T_DISPTAB' "Final Internal table
gs_sort-subtot = 'X'.
APPEND gs_sort TO gt_sort.
CALL FUNCTION ' REUSE_ALV_GRID_DISPLAY_lvc'
EXPORTING
i_callback_program = sy-cprog
i_callback_user_command = 'USER_COMMAND'
is_layout = gs_layout
it_fieldcat = wa_disptab
it_events = gt_events
it_sort = gt_sort
i_default = 'X'
i_save = 'U'
TABLES
t_outtab = gt_final
EXCEPTIONS
program_error = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
i think this will workout.
Thanks & Regards,
Abhisek
Edited by: Abhisek Pradhan on Sep 29, 2011 7:55 PM -
Hi,
Im using ALV block list to display the output. In that one column is highlighted using HOT SPOT. I have to capture that event and display the information as pop-up.
can anyone tell me how to do this?
Thanks,
AmalHi
Check with the Handling the Hot spot
hot spot
ALV GRID HOT Spot
and the coming value populate to the function module....for the POP-UP.
Regards!
Edited by: Prasanth on Feb 26, 2009 8:12 PM -
At line-selection event in alv
Hi all......
I am creating an interractive alv.
Now waht I want is,
I want to display the details of only that particular field(ROW) as secondary out-put list, which i had dbl-clicked in the primary out-put list.
Like if I had dbl clicked on a pirticular Mat.No, than only the details of that Mat.No should be displayed in the secondary list.
I had used a statement like this...
DATA F(16).
GET CURSOR FIELD F.
but it seems like it is having error
Thanks...Hi Kiran,
I can solve your problem. I have made same type of report in whitch u can use only AT selection event instead of get cursor event to get desired output.
AT LINE-SELECTION.
CLEAR W_SYTABIX.
IF SY-LSIND = 1.
PERFORM SCREEN_1.
ELSEIF SY-LSIND = 2.
PERFORM SCREEN_2.
ELSEIF SY-LSIND = 3.
PERFORM SCREEN_3.
ENDIF.
*& Form SCREEN_1
text
FORM SCREEN_1 .
W_SYTABIX = SY-CUROW - 6.
IF W_SYTABIX >= 0.
READ TABLE I_SCARR INDEX W_SYTABIX INTO WA_SCARR.
IF WA_SCARR IS NOT INITIAL.
SELECT CARRID CONNID CITYFROM AIRPFROM CITYTO AIRPTO
FROM SPFLI
INTO CORRESPONDING FIELDS OF TABLE I_SPFLI
WHERE CARRID = WA_SCARR-CARRID.
IF SY-SUBRC NE 0.
MESSAGE 'NO RECORDS TO DISPLAY' TYPE 'E'.
ENDIF.
ELSE.
EXIT.
ENDIF.
WRITE : 'CARRID',(10)'CONNID',(20)'CITYFROM',(30)'AIRPORTFROM',(40)'CITYTO',(50)'AIRPORTTO'.
ULINE.
LOOP AT I_SPFLI INTO WA_SPFLI.
WRITE :/ WA_SPFLI-CARRID UNDER 'CARRID' ,
WA_SPFLI-CONNID UNDER 'CONNID',
WA_SPFLI-CITYFROM UNDER 'CITYFROM',
WA_SPFLI-AIRPFROM UNDER 'AIRPORTFROM',
WA_SPFLI-CITYTO UNDER 'CITYTO',
WA_SPFLI-AIRPTO UNDER 'AIRPORTTO'.
HIDE: WA_SPFLI-CARRID.
ENDLOOP.
CLEAR : WA_SCARR,
WA_SPFLI.
ELSE.
MESSAGE 'CURSOR IS NOT AT RIGHT PLACE' TYPE 'I'.
ENDIF.
ENDFORM. " SCREEN_1
*& Form SCREEN_2
text
FORM SCREEN_2 .
W_SYTABIX = SY-CUROW.
IF W_SYTABIX > 4.
READ TABLE I_SPFLI INDEX W_SYTABIX INTO WA_SCARR.
SELECT CARRID CONNID FLDATE PRICE CURRENCY
FROM SFLIGHT
INTO TABLE I_SFLIGHT
WHERE CARRID = WA_SPFLI-CARRID.
WRITE : 'CARRID',(10)'CONNID',(30)'FLDATE',(50)'PRICE',(70)'CURRENCY'.
ULINE.
LOOP AT I_SFLIGHT INTO WA_SFLIGHT.
WRITE :/ WA_SFLIGHT-CARRID UNDER 'CARRID',
WA_SFLIGHT-CONNID UNDER 'CONNID',
WA_SFLIGHT-FLDATE UNDER 'FLDATE',
WA_SFLIGHT-PRICE UNDER 'PRICE',
WA_SFLIGHT-CURRENCY UNDER 'CURRENCY'.
ENDLOOP.
ELSE.
MESSAGE 'CURSOR IS NOT AT RIGHT PLACE' TYPE 'I'.
ENDIF.
ENDFORM. " SCREEN_2
*& Form SCREEN_3
text
--> p1 text
<-- p2 text
FORM SCREEN_3.
W_SYTABIX = SY-CUROW.
IF W_SYTABIX > 4.
WRITE : 'THANKS FOR VISITING..HAPPY JOURNEY **LOKESH TAREY**'.
ENDIF.
ENDFORM. " SCREEN_3
You can easily use the same logic for your ALV report.
I hope i will help you.
Thanks & Regards,
Lokesh. -
AT LINE SELECTION EVENT IN BLOCKED ALV
hi friends,
i have developed blocked alv report.
i wanted to use at line selection event..
pls halp me if u know..
thanks and regards,
shridevi.lhi
there is no particulat at line selection event in REUSE_ALV_EVENTS_GET.
at line selection we get fct 'PICK' code for double click.
so using that fct code we do the operations using at user_command. which is other way of implemnting at line-selection
If any quieries revert, reward if helpful
Try this code
*& Report ZP_ALV8
REPORT zp_alv8.
TABLES: kna1, mara, vbak, mard.
TYPE-POOLS: slis.
**TYPE DECLERATION
TYPES: BEGIN OF ty_kna1,
kunnr LIKE kna1-kunnr,
land1 LIKE kna1-land1,
name1 LIKE kna1-name1,
ort01 LIKE kna1-ort01,
END OF ty_kna1.
TYPES: BEGIN OF ty_mara,
matnr LIKE mara-matnr,
ersda LIKE mara-ersda,
ernam LIKE mara-ernam,
END OF ty_mara.
TYPES: BEGIN OF ty_vbak,
vbeln LIKE vbak-vbeln,
erdat LIKE vbak-erdat,
ernam LIKE vbak-ernam,
END OF ty_vbak.
TYPES: BEGIN OF ty_mard,
matnr LIKE mard-matnr,
werks LIKE mard-werks,
lgort LIKE mard-lgort,
END OF ty_mard.
**DATA DECLERATION
DATA: it_kna1 TYPE STANDARD TABLE OF ty_kna1,
wa_kna1 TYPE ty_kna1.
DATA: it_mara TYPE STANDARD TABLE OF ty_mara,
wa_mara TYPE ty_mara.
DATA: it_vbak TYPE STANDARD TABLE OF ty_vbak,
wa_vbak TYPE ty_vbak.
DATA: it_mard TYPE STANDARD TABLE OF ty_mard,
wa_mard TYPE ty_mard.
DATA: it_fieldcat_kna1 TYPE slis_t_fieldcat_alv,
wa_fieldcat_kna1 TYPE slis_fieldcat_alv,
it_fieldcat_mara TYPE slis_t_fieldcat_alv,
wa_fieldcat_mara TYPE slis_fieldcat_alv,
it_fieldcat_vbak TYPE slis_t_fieldcat_alv,
wa_fieldcat_vbak TYPE slis_fieldcat_alv,
it_fieldcat_mard TYPE slis_t_fieldcat_alv,
wa_fieldcat_mard TYPE slis_fieldcat_alv.
DATA: it_event_kna1 TYPE slis_t_event,
wa_event_kna1 TYPE slis_alv_event,
it_event_mara TYPE slis_t_event,
wa_event_mara TYPE slis_alv_event,
it_event_vbak TYPE slis_t_event,
wa_event_vbak TYPE slis_alv_event,
it_event_mard TYPE slis_t_event,
wa_event_mard TYPE slis_alv_event.
DATA: wa_layout TYPE slis_layout_alv,
it_listheader TYPE slis_t_listheader,
wa_listheader TYPE slis_listheader.
selection-screen begin of block b1 with frame title text-001.
select-options: s_kunnr for kna1-kunnr default '1000' to '1050'.
selection-screen end of block b1.
selection-screen begin of block b2 with frame title text-002.
select-options: s_matnr for mara-matnr default '1' to '100'.
selection-screen end of block b2.
**INITIALIZATION
INITIALIZATION.
PERFORM layout.
PERFORM fieldcat_kna1.
PERFORM fieldcat_mara.
PERFORM event_kna1.
PERFORM event_mara.
PERFORM eventpopulate_kna1.
PERFORM eventpopulate_mara.
**START OF SELECTION AND FIRST LIST DISPLAY
START-OF-SELECTION.
SELECT kunnr land1 name1 ort01
FROM kna1
INTO TABLE it_kna1
where kunnr in s_kunnr.
UP TO 10 ROWS.
SELECT matnr ersda ernam
FROM mara
INTO TABLE it_mara
where matnr in s_matnr.
UP TO 20 ROWS.
PERFORM display.
**FORM LAYOUT
*& Form layout
text
--> p1 text
<-- p2 text
FORM layout .
wa_layout-zebra ='X'.
wa_layout-get_selinfos = 'X'.
wa_layout-key_hotspot = 'X'.
ENDFORM. " layout
*FIELD CATALOUGE*******************************
*& Form fieldcat_kna1
text
--> p1 text
<-- p2 text
FORM fieldcat_kna1 .
REFRESH it_fieldcat_kna1.
CLEAR wa_fieldcat_kna1.
wa_fieldcat_kna1-fieldname = 'KUNNR'.
wa_fieldcat_kna1-seltext_l = 'CUSTOMER NUMBER'.
wa_fieldcat_kna1-datatype = 'CHAR'.
wa_fieldcat_kna1-outputlen = 30.
wa_fieldcat_kna1-tabname = 'IT_KNA1'.
wa_fieldcat_kna1-key = 'X'.
wa_fieldcat_kna1-hotspot = 'X'.
wa_fieldcat_kna1-col_pos = 1.
wa_fieldcat_kna1-emphasize = 'C21'.
APPEND wa_fieldcat_kna1 TO it_fieldcat_kna1.
CLEAR wa_fieldcat_kna1.
wa_fieldcat_kna1-fieldname = 'LAND1'.
wa_fieldcat_kna1-seltext_l = 'COUNTRY CODE'.
wa_fieldcat_kna1-datatype = 'CHAR'.
wa_fieldcat_kna1-outputlen = 30.
wa_fieldcat_kna1-tabname = 'IT_KNA1'.
wa_fieldcat_kna1-hotspot = 'X'.
wa_fieldcat_kna1-col_pos = 2.
wa_fieldcat_kna1-emphasize = 'C31'.
APPEND wa_fieldcat_kna1 TO it_fieldcat_kna1.
CLEAR wa_fieldcat_kna1.
wa_fieldcat_kna1-fieldname = 'NAME1'.
wa_fieldcat_kna1-seltext_l = 'CUSTOMER NAME'.
wa_fieldcat_kna1-datatype = 'CHAR'.
wa_fieldcat_kna1-outputlen = 30.
wa_fieldcat_kna1-tabname = 'IT_KNA1'.
wa_fieldcat_kna1-hotspot = 'X'.
wa_fieldcat_kna1-col_pos = 3.
wa_fieldcat_kna1-emphasize = 'C71'.
APPEND wa_fieldcat_kna1 TO it_fieldcat_kna1.
CLEAR wa_fieldcat_kna1.
wa_fieldcat_kna1-fieldname = 'ORT01'.
wa_fieldcat_kna1-seltext_l = 'COUNTRY '.
wa_fieldcat_kna1-datatype = 'CHAR'.
wa_fieldcat_kna1-outputlen = 30.
wa_fieldcat_kna1-tabname = 'IT_KNA1'.
wa_fieldcat_kna1-hotspot = 'X'.
wa_fieldcat_kna1-col_pos = 4.
wa_fieldcat_kna1-emphasize = 'C51'.
APPEND wa_fieldcat_kna1 TO it_fieldcat_kna1.
CLEAR wa_fieldcat_kna1.
ENDFORM. " fieldcat_kna1
*& Form fieldcat_kna2
text
FORM fieldcat_mara .
wa_fieldcat_mara-fieldname = 'MATNR'.
wa_fieldcat_mara-seltext_l = 'MATERIAL NUMBER'.
wa_fieldcat_mara-datatype = 'CHAR'.
wa_fieldcat_mara-outputlen = 30.
wa_fieldcat_mara-tabname = 'IT_MARA'.
wa_fieldcat_mara-key = 'X'.
wa_fieldcat_mara-hotspot = 'X'.
wa_fieldcat_mara-col_pos = 1.
wa_fieldcat_mara-emphasize = 'C21'.
APPEND wa_fieldcat_mara TO it_fieldcat_mara.
CLEAR wa_fieldcat_mara.
wa_fieldcat_mara-fieldname = 'ERSDA'.
wa_fieldcat_mara-seltext_l = 'CREATED ON'.
wa_fieldcat_mara-datatype = 'CHAR'.
wa_fieldcat_mara-outputlen = 30.
wa_fieldcat_mara-tabname = 'IT_MARA'.
wa_fieldcat_mara-hotspot = 'X'.
wa_fieldcat_mara-col_pos = 2.
wa_fieldcat_mara-emphasize = 'C41'.
APPEND wa_fieldcat_mara TO it_fieldcat_mara.
CLEAR wa_fieldcat_mara.
wa_fieldcat_mara-fieldname = 'ERNAM'.
wa_fieldcat_mara-seltext_l = 'CREATED BY'.
wa_fieldcat_mara-datatype = 'CHAR'.
wa_fieldcat_mara-outputlen = 30.
wa_fieldcat_mara-tabname = 'IT_MARA'.
wa_fieldcat_mara-hotspot = 'X'.
wa_fieldcat_mara-col_pos = 3.
wa_fieldcat_mara-emphasize = 'C61'.
APPEND wa_fieldcat_mara TO it_fieldcat_mara.
CLEAR wa_fieldcat_mara.
ENDFORM. "fieldcat_kna2
*& Form FIELDCAT_VBAK
text
FORM fieldcat_vbak.
wa_fieldcat_vbak-fieldname = 'VBELN'.
wa_fieldcat_vbak-seltext_l = 'SALES ORDER'.
wa_fieldcat_vbak-datatype = 'CHAR'.
wa_fieldcat_vbak-outputlen = 30.
wa_fieldcat_vbak-tabname = 'IT_VBAK'.
wa_fieldcat_vbak-hotspot = 'X'.
wa_fieldcat_vbak-col_pos = 3.
wa_fieldcat_vbak-emphasize = 'C31'.
APPEND wa_fieldcat_vbak TO it_fieldcat_vbak.
CLEAR wa_fieldcat_vbak.
wa_fieldcat_vbak-fieldname = 'ERDAT'.
wa_fieldcat_vbak-seltext_l = 'CREATED ON'.
wa_fieldcat_vbak-datatype = 'DATS'.
wa_fieldcat_vbak-outputlen = 30.
wa_fieldcat_vbak-tabname = 'IT_VBAK'.
wa_fieldcat_vbak-hotspot = 'X'.
wa_fieldcat_vbak-col_pos = 3.
wa_fieldcat_vbak-emphasize = 'C41'.
APPEND wa_fieldcat_vbak TO it_fieldcat_vbak.
CLEAR wa_fieldcat_vbak.
wa_fieldcat_vbak-fieldname = 'ERNAM'.
wa_fieldcat_vbak-seltext_l = 'CREATED BY'.
wa_fieldcat_vbak-datatype = 'CHAR'.
wa_fieldcat_vbak-outputlen = 30.
wa_fieldcat_vbak-tabname = 'IT_VBAK'.
wa_fieldcat_vbak-hotspot = 'X'.
wa_fieldcat_vbak-col_pos = 3.
wa_fieldcat_vbak-emphasize = 'C51'.
APPEND wa_fieldcat_vbak TO it_fieldcat_vbak.
CLEAR wa_fieldcat_vbak.
ENDFORM. "FIELDCAT_VBAK
*& Form fieldcat_mard
text
FORM fieldcat_mard.
wa_fieldcat_mard-fieldname = 'MATNR'.
wa_fieldcat_mard-seltext_l = 'MATERIAL NUMBER'.
wa_fieldcat_mard-datatype = 'CHAR'.
wa_fieldcat_mard-outputlen = 30.
wa_fieldcat_mard-tabname = 'IT_MARD'.
wa_fieldcat_mard-hotspot = 'X'.
wa_fieldcat_mard-col_pos = 1.
wa_fieldcat_mard-emphasize = 'C31'.
APPEND wa_fieldcat_mard TO it_fieldcat_mard.
CLEAR wa_fieldcat_mard.
wa_fieldcat_mard-fieldname = 'WERKS'.
wa_fieldcat_mard-seltext_l = 'PLANT'.
wa_fieldcat_mard-datatype = 'CHAR'.
wa_fieldcat_mard-outputlen = 30.
wa_fieldcat_mard-tabname = 'IT_MARD'.
wa_fieldcat_mard-hotspot = 'X'.
wa_fieldcat_mard-col_pos = 2.
wa_fieldcat_mard-emphasize = 'C61'.
APPEND wa_fieldcat_mard TO it_fieldcat_mard.
CLEAR wa_fieldcat_mard.
wa_fieldcat_mard-fieldname = 'LGORT'.
wa_fieldcat_mard-seltext_l = 'STORAGE LOCATION'.
wa_fieldcat_mard-datatype = 'CHAR'.
wa_fieldcat_mard-outputlen = 30.
wa_fieldcat_mard-tabname = 'IT_MARD'.
wa_fieldcat_mard-hotspot = 'X'.
wa_fieldcat_mard-col_pos = 3.
wa_fieldcat_mard-emphasize = 'C81'.
APPEND wa_fieldcat_mard TO it_fieldcat_mard.
CLEAR wa_fieldcat_mard.
ENDFORM . "fieldcat_mard
**FORM DISPLAY
*& Form Display
text
--> p1 text
<-- p2 text
FORM display .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'.
IT_EXCLUDING =
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = wa_layout
it_fieldcat = it_fieldcat_kna1
i_tabname = 'IT_KNA1'
it_events = it_event_kna1
IT_SORT =
I_TEXT = ' '
TABLES
t_outtab = it_kna1
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = wa_layout
it_fieldcat = it_fieldcat_mara
i_tabname = 'IT_MARA'
it_events = it_event_mara
IT_SORT =
I_TEXT = ' '
TABLES
t_outtab = it_mara
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " Display
**EVENTS FOR KNA1 AND MARA
*& Form EVENT_KNA1
text
--> p1 text
<-- p2 text
FORM event_kna1 .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = it_event_kna1
EXCEPTIONS
list_type_wrong = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " EVENT_KNA1
*& Form EVENT_MARA
text
--> p1 text
<-- p2 text
FORM event_mara .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 0
IMPORTING
et_events = it_event_mara
EXCEPTIONS
list_type_wrong = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " EVENT_MARA
**POPULATING EVENTS
*& Form eventpopulate_kna1
text
--> p1 text
<-- p2 text
FORM eventpopulate_kna1 .
READ TABLE it_event_kna1 INTO wa_event_kna1 WITH KEY name = 'TOP_OF_PAGE'.
IF sy-subrc = 0.
wa_event_kna1-form = 'TOP_OF_PAGE_KNA1'.
MODIFY it_event_kna1 FROM wa_event_kna1 TRANSPORTING form WHERE name = wa_event_kna1-name.
ENDIF.
READ TABLE it_event_kna1 INTO wa_event_kna1 WITH KEY name = 'USER_COMMAND'.
IF sy-subrc = 0.
wa_event_kna1-form = 'USER_COMMAND_KNA1'.
MODIFY it_event_kna1 FROM wa_event_kna1 TRANSPORTING form WHERE name = wa_event_kna1-name.
ENDIF.
ENDFORM. " eventpopulate_kna1
*& Form eventpopulate_mara
text
--> p1 text
<-- p2 text
FORM eventpopulate_mara .
READ TABLE it_event_mara INTO wa_event_mara WITH KEY name = 'TOP_OF_PAGE'.
IF sy-subrc = 0.
wa_event_mara-form = 'TOP_OF_PAGE_MARA'.
MODIFY it_event_mara FROM wa_event_mara TRANSPORTING form WHERE name = wa_event_mara-name.
ENDIF.
READ TABLE it_event_mara INTO wa_event_mara WITH KEY name = 'USER_COMMAND'.
IF sy-subrc = 0.
wa_event_mara-form = 'USER_COMMAND_MARA'.
MODIFY it_event_mara FROM wa_event_mara TRANSPORTING form WHERE name = wa_event_mara-name.
ENDIF.
ENDFORM. " eventpopulate_mara
**TOP OF PAGE
*& Form TOP_OF_PAGE_KNA1
text
FORM top_of_page_kna1.
wa_listheader-typ = 'H'.
wa_listheader-info = 'CUSTOMER DETAILS' .
APPEND wa_listheader TO it_listheader.
CLEAR wa_listheader.
WRITE:/ 'CUSTOMER DETAILS'.
ENDFORM. "TOP_OF_PAGE_KNA1
*& Form TOP_OF_PAGE_MARA
text
FORM top_of_page_mara.
wa_listheader-typ = 'H'.
wa_listheader-info = 'MATERIAL DETAILS' .
APPEND wa_listheader TO it_listheader.
CLEAR wa_listheader.
WRITE:/ 'MATERIAL DETAILS' .
ENDFORM. "TOP_OF_PAGE_KNA1
**CODE FOR SECOND LIST DISPLAY FOR VBAK
*& Form USER_COMMAND
text
-->UCOMM text
-->R_SELFIELD text
FORM user_command
USING ucomm LIKE sy-ucomm
r_selfield TYPE slis_selfield.
CASE UCOMM.
when '&IC1'.
CASE R_SELFIELD-TABNAME.
WHEN 'IT_KNA1'.
DATA: CUST(10) TYPE n.
CUST = r_selfield-value.
SELECT vbeln erdat ernam
FROM vbak
INTO TABLE it_vbak
WHERE kunnr = cust.
PERFORM fieldcat_vbak.
PERFORM display_vbak.
WHEN 'IT_MARA'.
DATA: MAT(18) TYPE N.
MAT = R_selfield-value.
SELECT matnr werks lgort
FROM mard
INTO TABLE it_mard
WHERE matnr = mat.
PERFORM fieldcat_mard.
PERFORM display_mard.
ENDCASE.
ENDCASE.
ENDFORM. "USER_COMMAND
**& Form USER_COMMAND_MARA
text
-->UCOMM text
-->S_SELFIELD text
*FORM user_command_mara
USING ucomm LIKE sy-ucomm
s_selfield TYPE slis_selfield.
SELECT matnr werks lgort
FROM mard
INTO TABLE it_mard
WHERE matnr = s_selfield-value.
PERFORM fieldcat_mard.
PERFORM display_mard.
*ENDFORM. "USER_COMMAND_MARA
*& Form DISPLAY_VBAK
text
--> p1 text
<-- p2 text
FORM display_vbak .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = wa_layout
IT_FIELDCAT = it_fieldcat_vbak
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_vbak
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " DISPLAY_VBAK
*& Form display_mard
text
FORM display_mard .
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
i_callback_program = sy-repid
I_CALLBACK_PF_STATUS_SET = ' '
i_callback_user_command = 'USER_COMMAND_MARD'
I_STRUCTURE_NAME =
is_layout = wa_layout
it_fieldcat = it_fieldcat_mard
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
it_events = it_event_mard
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IR_SALV_LIST_ADAPTER =
IT_EXCEPT_QINFO =
I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_mard
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. "display_mard
REGARDS
PRASANTH -
Hi All,
iam Using ALV BLOCK list to print the output along with check boxes, iam able to print the output along with the check boxes but when i select any of the check box and click button on application tool bar it is going to dump and saying,
FIELD SYMBOL HAS NOT YET BEEN ASSIGNED.
i populated layout with following fields.
w_layout-box_fieldname = 'BOX'.
w_layout-box_tabname = 'T_FINAL2'.
Plz Help me out.
Thanks in Advance.
Neha*& Report BCALV_TEST_BLOCK_LIST
report bcalv_test_block_list.
types: g_ty_t_carrid type standard table of alv_tab,
g_ty_t_connid type standard table of alv_chck,
g_ty_t_curr type standard table of alv_cur,
g_ty_s_sflight type alv_t_t2,
g_ty_s_carrid type alv_tab,
g_ty_s_connid type alv_chck,
g_ty_s_curr type alv_cur.
constants: con_sflight type lvc_fname value 'ALV_T_T2',
con_scarr type lvc_fname value 'ALV_TAB',
con_spfli type lvc_fname value 'ALV_CHCK',
con_scurx type lvc_fname value 'ALV_CUR',
con_event_01 type lvc_fname value 'PF_STATUS_SET',
con_event_02 type lvc_fname value 'USER_COMMAND',
con_event_03 type lvc_fname value 'CALLER_EXIT',
con_event_04 type lvc_fname value 'LIST_MODIFY',
con_event_05 type lvc_fname value 'BEFORE_LINE_OUTPUT',
con_event_06 type lvc_fname value 'AFTER_LINE_OUTPUT',
con_event_07 type lvc_fname value 'SUBTOTAL_TEXT',
con_event_08 type lvc_fname value 'REPREP_MODIFY',
con_event_09 type lvc_fname value 'TOP_OF_PAGE',
con_event_10 type lvc_fname value 'END_OF_PAGE',
con_event_11 type lvc_fname value 'TOP_OF_LIST',
con_event_12 type lvc_fname value 'END_OF_LIST',
con_event_13 type lvc_fname value 'TOP_OF_COVERPAGE',
con_event_14 type lvc_fname value 'END_OF_COVERPAGE',
con_event_15 type lvc_fname value 'TOP_OF_FOREIGN_PAGE',
con_event_16 type lvc_fname value 'END_OF_FOREIGN_PAGE',
con_event_17 type lvc_fname value 'GROUPLEVEL_CHANGE'.
DATA *
tables: sscrfields. " for processing the FCODEs in Selektion screens
include <icon>.
include <symbol>.
type-pools: slis, kkblo.
types: g_ty_t_icon type standard table of icon,
g_ty_t_icont type standard table of icont,
begin of g_ty_s_plane,
carrid type g_ty_s_sflight-carrid,
connid type g_ty_s_sflight-connid,
planetype type g_ty_s_sflight-planetype,
seatsmax type g_ty_s_sflight-seatsmax,
end of g_ty_s_plane,
g_ty_t_plane type sorted table of g_ty_s_plane
with unique key carrid connid,
begin of g_ty_s_fcat_curr,
fieldname type lvc_fname,
cfieldname type lvc_fname,
currency type lvc_s_fcat-currency,
end of g_ty_s_fcat_curr,
g_ty_t_fcat_curr type sorted table of g_ty_s_fcat_curr
with unique key fieldname,
begin of g_ty_s_sort.
include type slis_sortinfo_alv.
types: end of g_ty_s_sort,
g_ty_t_sort type sorted table of g_ty_s_sort
with unique key spos fieldname,
begin of g_ty_s_test,
list_amount type num1,
select_amount type i,
only_db_info type char1,
db_short type char1,
excp_display type char1,
excp_condense type char1,
layo_title type lvc_s_layo-grid_title,
layo_zebra type char1,
layo_no_vert_lines type char1,
layo_no_horiz_lines type char1,
layo_cell_merge type char1,
layo_count type char1,
layo_box type char1,
layo_no_colhead type char1,
layo_column_optimize type char1,
layo_keys_hotspot type char1,
layo_no_keyfix type char1,
layo_no_hotspot type char1,
layo_hotspot_rows type i occurs 0,
layo_hotspot_columns type lvc_fname occurs 0,
layo_no_scrolling type char1,
layo_no_authcheck type char1,
layo_no_min_linesize type char1,
layo_min_linesize type sylinsz,
layo_max_linesize type sylinsz,
layo_group_change_edit type char1,
layo_get_selinfo type char1,
layo_confirmation_prompt type char1,
layo_f2code type syucomm,
layo_reprep type char1,
sum_before type char1,
sum_no_sumline type char1,
sum_no_sumchoice type char1,
sum_numc type char1,
sum_no_unitsplit type char1,
sum_totals_only type char1,
sum_totals_text type symsgli,
sum_no_subtotals type char1,
sum_no_subchoice type char1,
sum_subtotals_text type symsgli,
prnt_print type char1,
prnt_reserve_lines type lvc_s_prnt-reservelns,
prnt_no_listinfo type char1,
prnt_no_selinfo type char1,
prnt_with_title type char1,
prnt_footline type lvc_s_prnt-footline,
prnt_printinfo type char1,
prnt_no_coverpage type char1,
prnt_no_new_page type char1,
prnt_no_change_print_params type char1,
color_rows type i occurs 0,
color_fields_column type lvc_fname occurs 0,
color_fields_cell type lvc_fname occurs 0,
fcat_no_out_fields type lvc_fname occurs 0,
fcat_tech_fields type lvc_fname occurs 0,
fcat_fix_column_fields type lvc_fname occurs 0,
fcat_do_sum_fields type lvc_fname occurs 0,
fcat_no_sum_fields type lvc_fname occurs 0,
fcat_curr_fields type g_ty_t_fcat_curr,
curr_amount type i,
curr_space type char1,
t_sort type g_ty_t_sort,
no_info_popup type char1,
info_popup_once type char1,
events_info_popup type lvc_fname occurs 0,
events type lvc_fname occurs 0,
buffer_active type char1,
bypassing_buffer type char1,
end of g_ty_s_test,
begin of g_ty_s_outtab.
include type g_ty_s_sflight.
types: list type num1,
box type char1,
count type i,
lights type char1,
checkbox type char1,
hotspot type char1,
color(4) type c,
tabcolor type slis_t_specialcol_alv,
price2 type g_ty_s_sflight-price,
currency2 type g_ty_s_sflight-currency,
char(10) type c,
string type string,
int1 type int1,
int2 type int2,
int4 type int4,
numc(10) type n,
dec(10) type p decimals 2,
fltp type f,
dats type d,
tims type t,
icon type icon-id,
icon_qinfo type icon-name,
symbol type icon-id,
end of g_ty_s_outtab,
g_ty_t_outtab type table of g_ty_s_outtab.
constants: con_true type char1 value 'X',
con_ok type sy-ucomm value 'OK',
con_exit type sy-ucomm value 'EXIT',
con_canc type sy-ucomm value 'CANC',
con_back type sy-ucomm value 'BACK'.
data: gt_outtab1 type g_ty_t_outtab,
gt_outtab2 type g_ty_t_outtab,
gt_outtab3 type g_ty_t_outtab,
gt_outtab4 type g_ty_t_outtab,
gt_outtab5 type g_ty_t_outtab,
gt_outtab6 type g_ty_t_outtab,
gt_outtab7 type g_ty_t_outtab,
gt_outtab8 type g_ty_t_outtab,
gt_outtab9 type g_ty_t_outtab.
data: gt_outtab type g_ty_t_outtab with header line,
gs_test type g_ty_s_test.
data: g_repid type sy-repid.
data: g_field type lvc_s_fcat-fieldname,
g_int_field type i.
CLASS random DEFINITION
class random definition.
public section.
types:
value(16) type p decimals 0,
numcv(15) type n.
constants:
max type random=>value value 4294967295.
class-methods:
computes a random natural number from the set {0, ..., random=>max}.
number returning value(rval) type random=>value,
computes a random character from the set {A-Za-z0-9}
c returning value(rval) type char01,
computes a random string consisting of "len" random characters
string importing len type i
returning value(rval) type string,
computes a date
dats returning value(rval) type d,
computes a time
time returning value(rval) type t,
computes a random numc from the set {low, ..., high}
numc importing low type random=>numcv high type random=>numcv
returning value(rval) type random=>numcv,
computes a random integer from the set {low, ..., high}
i importing low type i high type i
returning value(rval) type i,
computes a random integer from the set {low, ..., high}
int2 importing low type int2 high type int2
returning value(rval) type int2,
computes a random integer from the set {low, ..., high}
int1 importing low type int1 high type int1
returning value(rval) type int1,
computes a random float from the interval [low ; high]
f importing low type f high type f
returning value(rval) type f,
computes a random character from the set {A-F0-9}
hex returning value(rval) type char01,
computes a random character from the set {0-1}
x returning value(rval) type char01,
method "random=>class_constructor"
class_constructor.
private section.
class-data:
precomputed maximal index (= string length - 1) of "random=>chars"
or of "random=>x_data".
charsmax type i,
xmax type i,
random number seed value.
(Used in method "random=>number".)
seed type random=>value.
constants:
characters for class-method "random=>hex"
hex_data(100) type c value 'ABCDEF' &
'0123456789',
characters for class-method "random=>x"
x_data(100) type c value '01',
characters for class-metshod "random=>c"
chars(100) type c value 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' &
'abcdefghijklmnopqrstuvwxyz' &
'0123456789'.
endclass. "random DEFINITION
CLASS random IMPLEMENTATION
class random implementation.
implementation of the methods for randomizing the values
method x.
data: ri type i.
ri = random=>i( low = 0 high = random=>xmax ).
move x_data+ri(1) to rval.
endmethod. "x
method hex.
data: ri type i.
ri = random=>i( low = 0 high = random=>charsmax ).
move hex_data+ri(1) to rval.
endmethod. "hex
method number.
constants:
a(3) type p value 67301, " Coefficient
c(1) type p value 1, " Increment
m(6) type p value 4294967296. " Modulus 2**32
random=>seed = ( a * random=>seed + c ) mod m.
rval = random=>seed.
endmethod. "number
method c.
data:
ri type i.
ri = random=>i( low = 0 high = random=>charsmax ).
move chars+ri(1) to rval.
endmethod. "c
method string.
data:
char(1) type c.
clear rval.
do len times.
char = random=>c( ).
concatenate rval char into rval.
enddo.
endmethod. "string
method dats.
data: l_date type sy-datum,
l_day(2) type n,
l_month(2) type n,
l_year(4) type n,
l_value type random=>numcv,
l_low type random=>numcv,
l_high type random=>numcv.
l_year = sy-datum+0(4).
l_low = l_year - 5.
l_high = l_year + 5.
l_value = random=>numc( low = l_low high = l_high ).
l_year = l_value+11(4).
l_value = random=>numc( low = 1 high = 12 ).
l_month = l_value+13(2).
case l_month.
when 2.
l_high = 28.
when 4 or 6 or 9 or 11.
l_high = 30.
when others.
l_high = 31.
endcase.
l_value = random=>numc( low = 1 high = l_high ).
l_day = l_value+13(2).
l_date+0(4) = l_year.
l_date+4(2) = l_month.
l_date+6(2) = l_day.
rval = l_date.
endmethod. "dats
method time.
data: l_time type t,
l_hour(2) type n,
l_min(2) type n,
l_sec(2) type n,
l_value type random=>numcv.
l_value = random=>numc( low = 0 high = 60 ).
l_sec = l_value+13(2).
l_value = random=>numc( low = 0 high = 60 ).
l_min = l_value+13(2).
l_value = random=>numc( low = 1 high = 24 ).
l_hour = l_value+13(2).
l_time+0(2) = l_hour.
l_time+2(2) = l_min.
l_time+4(2) = l_sec.
rval = l_time.
endmethod. "time
method numc.
Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
data: l_dec(16) type p,
l_char(16) type c.
l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
+ '0.5'.
subtract 1 from l_dec.
add low to l_dec.
data: lr_type_descr type ref to cl_abap_typedescr,
lr_elem_descr type ref to cl_abap_elemdescr.
lr_type_descr =
cl_abap_typedescr=>describe_by_data( rval ).
lr_elem_descr ?= lr_type_descr.
l_char = l_dec.
shift l_char left deleting leading space.
rval = l_char+0(lr_elem_descr->output_length).
endmethod. "i
method i.
Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
data: l_dec(16) type p,
l_char(16) type c.
l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
+ '0.5'.
subtract 1 from l_dec.
add low to l_dec.
data: lr_type_descr type ref to cl_abap_typedescr,
lr_elem_descr type ref to cl_abap_elemdescr.
lr_type_descr =
cl_abap_typedescr=>describe_by_data( rval ).
lr_elem_descr ?= lr_type_descr.
l_char = l_dec.
shift l_char left deleting leading space.
rval = l_char+0(lr_elem_descr->output_length).
endmethod. "i
method int2.
Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
data: l_dec(16) type p,
l_char(16) type c.
l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
+ '0.5'.
subtract 1 from l_dec.
add low to l_dec.
data: lr_type_descr type ref to cl_abap_typedescr,
lr_elem_descr type ref to cl_abap_elemdescr.
lr_type_descr =
cl_abap_typedescr=>describe_by_data( rval ).
lr_elem_descr ?= lr_type_descr.
l_char = l_dec.
shift l_char left deleting leading space.
rval = l_char+0(lr_elem_descr->output_length).
endmethod. "i
method int1.
Go from {0,...,random=>max} to {low,...,high} with ABAP rounding
data: l_dec(16) type p,
l_char(16) type c.
l_dec = ( ( high - low + 1 ) * random=>number( ) ) / random=>max
+ '0.5'.
subtract 1 from l_dec.
add low to l_dec.
data: lr_type_descr type ref to cl_abap_typedescr,
lr_elem_descr type ref to cl_abap_elemdescr.
lr_type_descr =
cl_abap_typedescr=>describe_by_data( rval ).
lr_elem_descr ?= lr_type_descr.
l_char = l_dec.
shift l_char left deleting leading space.
rval = l_char+0(lr_elem_descr->output_length).
endmethod. "i
method f.
Go from {0,...,random=>max} to [low;high]
rval = ( ( high - low ) * random=>number( ) ) / random=>max
+ low.
endmethod. "f
method class_constructor.
charsmax = strlen( chars ) - 1.
xmax = strlen( x_data ) - 1.
seed = 1.
endmethod. "class_constructor
endclass. "random IMPLEMENTATION
SELECTION-SCREEN *
selection-screen begin of block gen with frame.
parameters:
p_amount type i default 30,
p_dbinfo as checkbox,
p_dbshrt as checkbox.
selection-screen end of block gen.
parameters:
p_list type num1 default 3.
selection-screen begin of block tit with frame title text-tit.
parameters:
p_tit01 type lvc_s_layo-grid_title default text-p01. "TITLE
selection-screen end of block tit.
selection-screen begin of block lay with frame title text-lay.
parameters:
p_lay01 as checkbox. "ZEBRA
selection-screen skip.
parameters:
p_lay02 as checkbox, "NO HORIZONTAL LINES
p_lay03 as checkbox. "NO VERTICAL LINES
selection-screen skip.
parameters:
p_lay04 as checkbox. "NO SCROLLING
selection-screen skip.
parameters:
p_lay06 type syucomm, "F2CODE
p_lay07 as checkbox. "CONFIRMATION PROMPT
selection-screen end of block lay.
selection-screen begin of block spa with frame title text-spa.
parameters:
p_spa01 as checkbox, "BOX
p_spa02 as checkbox, "COUNT FELD
p_spa03 as checkbox, "NO COLUMN HEADERS
p_spa04 as checkbox. "COLUMN OPTIMIZE
selection-screen begin of block hot with frame title text-hot.
parameters:
p_hot01 as checkbox. "NO HOTSPOT
parameters:
p_hot02 as checkbox. "Hotspot auf Zeilenebene
select-options:
p_hotf02 for g_int_field no intervals default 1.
parameters:
p_hot03 as checkbox.
select-options:
p_hotf03 for g_field no intervals.
selection-screen end of block hot.
selection-screen begin of block mrg with frame title text-mrg.
parameters:
p_mrg01 radiobutton group mrge, "Default
p_mrg02 radiobutton group mrge, "kein Merge
p_mrg03 radiobutton group mrge. "Merge
selection-screen end of block mrg.
selection-screen begin of block out with frame title text-out.
parameters:
p_out01 as checkbox.
select-options:
p_outf01 for g_field no intervals.
selection-screen end of block out.
selection-screen begin of block tec with frame title text-tec.
parameters:
p_tec01 as checkbox.
select-options:
p_tecf01 for g_field no intervals.
selection-screen end of block tec.
selection-screen begin of block fix with frame title text-fix.
parameters:
p_fix01 as checkbox.
select-options:
p_fixf01 for g_field no intervals.
selection-screen end of block fix.
selection-screen begin of block txt with frame title text-txt.
selection-screen pushbutton /1(50) text-pb2 user-command pb02.
selection-screen end of block txt.
selection-screen begin of block cur with frame title text-cur.
parameters:
p_curanz type i,
p_curspc as checkbox default space.
selection-screen skip.
select-options:
p_curf00 for g_field no intervals.
parameters:
p_cur01 radiobutton group cur default 'X',
p_curf01 type lvc_s_fcat-fieldname.
parameters:
p_cur02 radiobutton group cur,
p_curf02 type g_ty_s_sflight-currency.
selection-screen end of block cur.
selection-screen begin of block sort with frame title text-srt.
selection-screen pushbutton /1(20) text-pb1 user-command pb01.
selection-screen end of block sort.
selection-screen end of block spa.
selection-screen begin of block key with frame title text-key.
parameters:
p_key01 as checkbox, "KEYFELDER ALS HOTSPOT
p_key02 as checkbox. "NO KEY FIXIERUNG
selection-screen end of block key.
selection-screen begin of block exp with frame title text-exp.
parameters:
p_excp01 as checkbox, "EXCEPTION
p_excp_c as checkbox. "EXCEPTION CONDENSE
selection-screen end of block exp.
selection-screen begin of block sum with frame title text-sum.
parameters:
p_sum01 as checkbox, "SUM BEFORE
p_sum02 as checkbox, "NUMC
p_sum03 as checkbox, "NO UNITSPLIT
p_sum04 as checkbox, "TOTALS ONLY
p_sum05 as checkbox, "NO SUMCHOICE
p_sum06 as checkbox, "NO SUMLINE
p_sum07 type sy-msgli, "TOTALS TEXT
p_sum08 as checkbox, "NO SUBCHOICE
p_sum09 as checkbox, "NO SUBTOTALS
p_sum10 type sy-msgli. "SUBTOTALS TEXT
selection-screen begin of block dos with frame title text-dos.
parameters:
p_dos01 as checkbox.
select-options:
p_dosf01 for g_field no intervals.
selection-screen end of block dos.
selection-screen begin of block nos with frame title text-nos.
parameters:
p_nos01 as checkbox.
select-options:
p_nosf01 for g_field no intervals.
selection-screen end of block nos.
selection-screen end of block sum.
selection-screen begin of block col with frame title text-col.
parameters:
p_col01 as checkbox.
select-options:
p_colf01 for g_int_field no intervals default 1.
parameters:
p_col02 as checkbox.
select-options:
p_colf02 for g_field no intervals.
parameters:
p_col03 as checkbox.
select-options:
p_colf03 for g_field no intervals.
selection-screen end of block col.
selection-screen begin of block prn with frame title text-prn.
parameters:
p_lpr01 as checkbox default 'X'. "GROUP CHANGE EDIT
selection-screen skip.
parameters:
p_lpr02 as checkbox. "GET SELINFO
selection-screen skip.
parameters:
p_lpr03 as checkbox, "NO MIN LINESIZE
p_lpr04 type sylinsz, "MIN LINESIZE
p_lpr05 type sylinsz. "MAX LINESIZE
selection-screen skip.
parameters:
p_prn01 as checkbox, "PRINT
p_prn02 type lvc_s_prnt-reservelns, "RESERVE LINES
p_prn03 as checkbox, "NO LISTINFO
p_prn04 as checkbox, "NO SELINFO
p_prn05 as checkbox, "TITEL
p_prn06 type lvc_s_prnt-footline, "FOOTLINE
p_prn07 as checkbox, "PRINT INFO
p_prn08 as checkbox, "NO COVERPAGE
p_prn09 as checkbox, "NO NEW PAGE
p_prn10 as checkbox. "NO CHANGE PRINT PARAMS
selection-screen end of block prn.
selection-screen begin of block evt with frame.
parameters:
p_evt01 as checkbox, "PF_STATUS_SET
p_evt02 as checkbox. "USER_COMMAND
selection-screen skip.
parameters:
p_evt03 as checkbox, "CALLER_EXIT
p_evt04 as checkbox, "LIST_MODIFY
p_evt05 as checkbox, "BEFORE_LINE_OUTPUT
p_evt06 as checkbox. "AFTER_LINE_OUTPUT
selection-screen skip.
parameters:
p_evt07 as checkbox, "SUBTOTAL_TEXT
p_evt08 as checkbox. "REPREP_SEL_MODIFY
selection-screen skip.
parameters:
p_evt09 as checkbox, "TOP_OF_PAGE
p_evt10 as checkbox, "END_OF_PAGE
p_evt11 as checkbox, "TOP_OF_LIST
p_evt12 as checkbox. "END_OF_LIST
selection-screen skip.
parameters:
p_evt13 as checkbox, "TOP_OF_COVERPAGE
p_evt14 as checkbox. "END_OF_COVERPAGE
selection-screen skip.
parameters:
p_evt15 as checkbox, "FOREIGN_TOP_OF_PAGE
p_evt16 as checkbox. "FOREIGN_END_OF_PAGE
selection-screen skip.
parameters:
p_evt17 as checkbox. "GROUPLEVEL_CHANGE
selection-screen end of block evt.
INITIALIZATION *
initialization.
perform f01_f4_field using 'SUM' space changing p_dosf01-low.
p_dosf01-option = 'EQ'.
p_dosf01-sign = 'I'.
append p_dosf01.
perform f01_f4_field using 'SUM' space changing p_nosf01-low.
p_nosf01-option = 'EQ'.
p_nosf01-sign = 'I'.
append p_nosf01.
perform f01_f4_field using 'KEY' space changing p_outf01-low.
p_outf01-option = 'EQ'.
p_outf01-sign = 'I'.
append p_outf01.
perform f01_f4_field using space space changing p_tecf01-low.
p_tecf01-option = 'EQ'.
p_tecf01-sign = 'I'.
append p_tecf01.
perform f01_f4_field using space space changing p_fixf01-low.
p_fixf01-option = 'EQ'.
p_fixf01-sign = 'I'.
append p_fixf01.
perform f01_f4_field using 'CURR' space changing p_curf00-low.
p_curf00-option = 'EQ'.
p_curf00-sign = 'I'.
append p_curf00.
perform f01_f4_field using 'CUKY' space changing p_curf01.
perform f01_f4_field using space space changing p_hotf03-low.
p_hotf03-option = 'EQ'.
p_hotf03-sign = 'I'.
append p_hotf03.
perform f01_f4_field using space space changing p_colf02-low.
p_colf02-option = 'EQ'.
p_colf02-sign = 'I'.
append p_colf02.
perform f01_f4_field using space space changing p_colf03-low.
p_colf03-option = 'EQ'.
p_colf03-sign = 'I'.
append p_colf03.
AT SELECTION-SCREEN *
at selection-screen.
case sscrfields-ucomm.
when 'PB01'.
call screen 1001 starting at 1 1 ending at 80 20.
when 'PB02'.
call screen 1002 starting at 1 1 ending at 80 20.
endcase.
AT SELECTION-SCREEN ON VALUE-REQUEST *
at selection-screen on value-request for p_dosf01-low.
perform f01_f4_field using 'SUM' 'X' changing p_dosf01-low.
at selection-screen on value-request for p_nosf01-low.
perform f01_f4_field using 'SUM' 'X' changing p_nosf01-low.
at selection-screen on value-request for p_outf01-low.
perform f01_f4_field using 'KEY' 'X' changing p_outf01-low.
at selection-screen on value-request for p_tecf01-low.
perform f01_f4_field using space 'X' changing p_tecf01-low.
at selection-screen on value-request for p_fixf01-low.
perform f01_f4_field using space 'X' changing p_fixf01-low.
at selection-screen on value-request for p_curf00-low.
perform f01_f4_field using 'CURR' 'X' changing p_curf00-low.
at selection-screen on value-request for p_curf01.
perform f01_f4_field using 'CUKY' 'X' changing p_curf01.
at selection-screen on value-request for p_hotf03-low.
perform f01_f4_field using space 'X' changing p_hotf03-low.
at selection-screen on value-request for p_colf02-low.
perform f01_f4_field using space 'X' changing p_colf02-low.
at selection-screen on value-request for p_colf03-low.
perform f01_f4_field using space 'X' changing p_colf03-low.
at selection-screen on value-request for p_lay06.
perform f01_f4_fcode using space
space
changing p_lay06.
START-OF-SELECTION *
start-of-selection.
g_repid = sy-repid.
gs_test-select_amount = p_amount.
gs_test-only_db_info = p_dbinfo.
gs_test-db_short = p_dbshrt.
gs_test-list_amount = p_list.
gs_test-layo_title = p_tit01.
gs_test-layo_zebra = p_lay01.
gs_test-layo_no_horiz_lines = p_lay02.
gs_test-layo_no_vert_lines = p_lay03.
gs_test-layo_no_scrolling = p_lay04.
gs_test-layo_f2code = p_lay06.
gs_test-layo_confirmation_prompt = p_lay07.
gs_test-layo_box = p_spa01.
gs_test-layo_count = p_spa02.
gs_test-layo_no_colhead = p_spa03.
gs_test-layo_column_optimize = p_spa04.
gs_test-layo_no_hotspot = p_hot01.
if p_hot02 eq con_true.
loop at p_hotf02.
if not p_hotf02-low is initial.
append p_hotf02-low to gs_test-layo_hotspot_rows.
endif.
endloop.
endif.
if p_hot03 eq con_true.
loop at p_hotf03.
if not p_hotf03-low is initial.
append p_hotf03-low to gs_test-layo_hotspot_columns.
endif.
endloop.
endif.
case con_true.
when p_mrg01.
gs_test-layo_cell_merge = space.
when p_mrg02.
gs_test-layo_cell_merge = 'N'.
when p_mrg03.
gs_test-layo_cell_merge = 'Y'.
endcase.
if p_out01 eq con_true.
loop at p_outf01.
if not p_outf01-low is initial.
append p_outf01-low to gs_test-fcat_no_out_fields.
endif.
endloop.
endif.
if p_tec01 eq con_true.
loop at p_tecf01.
if not p_tecf01-low is initial.
append p_tecf01-low to gs_test-fcat_tech_fields.
endif.
endloop.
endif.
if p_fix01 eq con_true.
loop at p_fixf01.
if not p_fixf01-low is initial.
append p_fixf01-low to gs_test-fcat_fix_column_fields.
endif.
endloop.
endif.
gs_test-curr_amount = p_curanz.
gs_test-curr_space = p_curspc.
if p_cur01 eq con_true or p_cur02 eq con_true.
data: ls_fcat_curr type g_ty_s_fcat_curr.
loop at p_curf00.
clear ls_fcat_curr.
if not p_curf00-low is initial.
ls_fcat_curr-fieldname = p_curf00-low.
case con_true.
when p_cur01.
ls_fcat_curr-cfieldname = p_curf01.
when p_cur02.
ls_fcat_curr-currency = p_curf02.
endcase.
append ls_fcat_curr to gs_test-fcat_curr_fields.
endif.
endloop.
endif.
gs_test-layo_keys_hotspot = p_key01.
gs_test-layo_no_keyfix = p_key02.
gs_test-excp_display = p_excp01.
gs_test-excp_condense = p_excp_c.
gs_test-sum_before = p_sum01.
gs_test-sum_numc = p_sum02.
gs_test-sum_no_unitsplit = p_sum03.
gs_test-sum_totals_only = p_sum04.
gs_test-sum_no_sumchoice = p_sum05.
gs_test-sum_no_sumline = p_sum06.
gs_test-sum_totals_text = p_sum07.
gs_test-sum_no_subchoice = p_sum08.
gs_test-sum_no_subtotals = p_sum09.
gs_test-sum_subtotals_text = p_sum10.
if p_dos01 eq con_true.
loop at p_dosf01.
if not p_dosf01-low is initial.
append p_dosf01-low to gs_test-fcat_do_sum_fields.
endif.
endloop.
endif.
if p_nos01 eq con_true.
loop at p_nosf01.
if not p_nosf01-low is initial.
append p_nosf01-low to gs_test-fcat_no_sum_fields.
endif.
endloop.
endif.
gs_test-layo_group_change_edit = p_lpr01.
gs_test-layo_get_selinfo = p_lpr02.
gs_test-layo_no_min_linesize = p_lpr03.
gs_test-layo_min_linesize = p_lpr04.
gs_test-layo_max_linesize = p_lpr05.
gs_test-prnt_print = p_prn01.
gs_test-prnt_reserve_lines = p_prn02.
gs_test-prnt_no_listinfo = p_prn03.
gs_test-prnt_no_selinfo = p_prn04.
gs_test-prnt_with_title = p_prn05.
gs_test-prnt_footline = p_prn06.
gs_test-prnt_printinfo = p_prn07.
gs_test-prnt_no_coverpage = p_prn08.
gs_test-prnt_no_new_page = p_prn09.
gs_test-prnt_no_change_print_params = p_prn10.
if p_col01 eq con_true.
loop at p_colf01.
if not p_colf01-low is initial.
append p_colf01-low to gs_test-color_rows.
endif.
endloop.
endif.
if p_col02 eq con_true.
loop at p_colf02.
if not p_colf02-low is initial.
append p_colf02-low to gs_test-color_fields_column.
endif.
endloop.
endif.
if p_col03 eq con_true.
loop at p_colf03.
if not p_colf03-low is initial.
append p_colf03-low to gs_test-color_fields_cell.
endif.
endloop.
endif.
if p_evt01 eq con_true.
append con_event_01 to gs_test-events.
endif.
if p_evt02 eq con_true.
append con_event_02 to gs_test-events.
endif.
if p_evt03 eq con_true.
append con_event_03 to gs_test-events.
endif.
if p_evt04 eq con_true.
append con_event_04 to gs_test-events.
endif.
if p_evt05 eq con_true.
append con_event_05 to gs_test-events.
endif.
if p_evt06 eq con_true.
append con_event_06 to gs_test-events.
endif.
if p_evt07 eq con_true.
append con_event_07 to gs_test-events.
endif.
if p_evt08 eq con_true.
append con_event_08 to gs_test-events.
endif.
if p_evt09 eq con_true.
append con_event_09 to gs_test-events.
endif.
if p_evt10 eq con_true.
append con_event_10 to gs_test-events.
endif.
if p_evt11 eq con_true.
append con_event_11 to gs_test-events.
endif.
if p_evt12 eq con_true.
append con_event_12 to gs_test-events.
endif.
if p_evt13 eq con_true.
append con_event_13 to gs_test-events.
endif.
if p_evt14 eq con_true.
append con_event_14 to gs_test-events.
endif.
if p_evt15 eq con_true.
append con_event_15 to gs_test-events.
endif.
if p_evt16 eq con_true.
append con_event_16 to gs_test-events.
endif.
if p_evt17 eq con_true.
append con_event_17 to gs_test-events.
endif.
gs_test-buffer_active = space.
gs_test-bypassing_buffer = space.
END-OF-SELECTION *
end-of-selection.
perform f01_call_list.
*& Form f01_call_list
text
form f01_call_list .
data: ls_prnt type slis_print_alv,
lt_excl type slis_t_extab,
l_exit type char1,
ls_exit type slis_exit_by_user,
l_list type num1.
call function 'REUSE_ALV_BLOCK_LIST_INIT'
exporting
i_callback_program = g_repid
i_callback_pf_status_set = ' '
i_callback_user_command = ' '
it_excluding = lt_excl.
do gs_test-list_amount times.
add 1 to l_list.
perform f01_append_list using l_list.
enddo.
perform f01_set_prnt changing ls_prnt.
call function 'REUSE_ALV_BLOCK_LIST_DISPLAY'
exporting
i_interface_check = ' '
is_print = ls_prnt
i_screen_start_column = 0
i_screen_start_line = 0
i_screen_end_column = 0
i_screen_end_line = 0
importing
e_exit_caused_by_caller = l_exit
es_exit_caused_by_user = ls_exit
exceptions
program_error = 1
others = 2.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
endform. " f01_call_list
*& Form f01_append_list
text
form f01_append_list using value(i_list) type num1.
data: ls_layo type slis_layout_alv,
lt_fcat type slis_t_fieldcat_alv,
lt_sort type slis_t_sortinfo_alv,
lt_evts type slis_t_event,
l_tabname type slis_tabname.
field-symbols: <l_table> type any.
perform f01_get_outtab using i_list.
case i_list.
when 1.
gt_outtab1 = gt_outtab[].
when 2.
gt_outtab2 = gt_outtab[].
when 3.
gt_outtab3 = gt_outtab[].
when 4.
gt_outtab4 = gt_outtab[].
when 5.
gt_outtab5 = gt_outtab[].
when 6.
gt_outtab6 = gt_outtab[].
when 7.
gt_outtab7 = gt_outtab[].
when 8.
gt_outtab8 = gt_outtab[].
when 9.
gt_outtab9 = gt_outtab[].
endcase.
perform f01_set_layo changing ls_layo.
perform f01_set_fcat changing lt_fcat.
perform f01_set_evts changing lt_evts.
concatenate 'LIST_' i_list into l_tabname.
case i_list.
when 1.
call function 'REUSE_ALV_BLOCK_LIST_APPEND'
exporting
is_layout = ls_layo
it_fieldcat = lt_fcat
i_tabname = l_tabname
it_events = lt_evts
it_sort = lt_sort
i_text = 'Hello' "#EC NOTEXT
tables
t_outtab = gt_outtab1
exceptions
program_error = 1
maximum_of_appends_reached = 2
others = 3.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
when 2.
call function 'REUSE_ALV_BLOCK_LIST_APPEND'
exporting
is_layout = ls_layo
it_fieldcat = lt_fcat
i_tabname = l_tabname
it_events = lt_evts
it_sort = lt_sort
i_text = 'Hello' "#EC NOTEXT
tables
t_outtab = gt_outtab2
exceptions
program_error = 1
maximum_of_appends_reached = 2
others = 3.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
endif.
when 3.
call function 'REUSE_ALV_BLOCK_LIST_APPEND'
exporting
is_layout = ls_layo
it_fieldcat = lt_fcat
i_tabname = l_tabname
it_events = lt_evts
it_sort = lt_sort
i_text = 'Hello' "#EC NOTEXT
tables
t_outtab = gt_outtab3
exceptions
program_error = 1
maximum_of_appends_reached = 2
others = 3.
if sy-subrc <> 0.
message id sy-msgid type sy-msgty number sy-msgno
with sy-ms -
What is ALV Block List, anybody have documentation or sample programs, mail to [email protected]
Regards
VijayaHi,
Herewith i am attaching the sample report for alv block list.
Hope it will helps u.
REPORT YMS_ALVBLOCK.
Declarations for BLOCK ALV DISPLAY
*--type pools
TYPE-POOLS:SLIS.
DATA:X_LAYOUT TYPE SLIS_LAYOUT_ALV,
T_FIELD TYPE SLIS_T_FIELDCAT_ALV,
*--field catalog
X_FLDCAT LIKE LINE OF T_FIELD,
*--to hold all the events
T_EVENTS TYPE SLIS_T_EVENT,
X_EVENTS TYPE SLIS_ALV_EVENT,
T_SORT TYPE SLIS_T_SORTINFO_ALV,
X_SORT LIKE LINE OF T_SORT ,
*--Print Layout
X_PRINT_LAYOUT TYPE SLIS_PRINT_ALV.
*----Macro to add field catalog.
*field "text "length "tech "COL_POS "DATATYPE "DDIC_OUTPUTLEN
DEFINE ADD_CATALOG.
CLEAR X_FLDCAT.
X_FLDCAT-FIELDNAME = &1.
X_FLDCAT-SELTEXT_M = &2.
X_FLDCAT-OUTPUTLEN = &3.
X_FLDCAT-TECH = &4.
X_FLDCAT-COL_POS = &5.
X_FLDCAT-NO_ZERO = 'X'.
X_FLDCAT-DDICTXT = 'M'.
X_FLDCAT-DATATYPE = &6.
X_FLDCAT-DDIC_OUTPUTLEN = &7.
IF &6 = 'N'.
X_FLDCAT-LZERO = 'X'.
ENDIF.
*--build field catalog
APPEND X_FLDCAT TO T_FIELD.
END-OF-DEFINITION.
*----- data declerations.
DATA: V_REPID LIKE SY-REPID.
DATA: BEGIN OF ITAB OCCURS 0,
MATNR LIKE MARA-MATNR,
ERNAM LIKE MARA-ERNAM,
MEINS LIKE MARA-MEINS,
END OF ITAB.
DATA: BEGIN OF JTAB OCCURS 0,
MATNR LIKE MAKT-MATNR,
MAKTX LIKE MAKT-MAKTX,
END OF JTAB.
SELECT MATNR ERNAM MEINS
UP TO 20 ROWS
FROM MARA
INTO TABLE ITAB.
SELECT MATNR MAKTX
UP TO 20 ROWS
FROM MAKT
INTO TABLE JTAB.
V_REPID = SY-REPID.
*DISPLAY alv
Initialize Block
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID.
*Block 1:
*INITIALIZE
REFRESH T_FIELD. CLEAR T_FIELD.
REFRESH T_EVENTS.
*field "text "length "tech "COL_POS "DATATYPE "DDIC_OUTPUTLEN
ADD_CATALOG:
'MATNR' 'Material' '18' '' '1' 'C' '18',
'ERNAM' 'Created By' '12' '' '2' 'C' '12',
'MEINS' 'Unit' '5' '' '3' 'C' '3'.
*--build table for events.
X_EVENTS-FORM = 'TOP_OF_LIST1'.
X_EVENTS-NAME = SLIS_EV_TOP_OF_LIST.
APPEND X_EVENTS TO T_EVENTS.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = X_LAYOUT
IT_FIELDCAT = T_FIELD
I_TABNAME = 'ITAB'
IT_EVENTS = T_EVENTS
IT_SORT = T_SORT
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*--BLOCK 2(SUMMARY REPORT)
*INITIALIZE
REFRESH T_FIELD. CLEAR T_FIELD.
REFRESH T_EVENTS.
*field "text "length "tech "COL_POS "DATATYPE "DDIC_OUTPUTLEN
ADD_CATALOG:
'MATNR' 'Material' '20' '' '1' 'C' '18',
'MAKTX' 'Description' '40' '' '2' 'C' '40'.
*--build table for events.
X_EVENTS-FORM = 'TOP_OF_LIST2'.
X_EVENTS-NAME = SLIS_EV_TOP_OF_LIST.
APPEND X_EVENTS TO T_EVENTS.
Append table block.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = X_LAYOUT
IT_FIELDCAT = T_FIELD
I_TABNAME = 'JTAB'
IT_EVENTS = T_EVENTS
TABLES
T_OUTTAB = JTAB
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*--CALL FM TO DISPLAY THE BLOCK REPORT.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
exporting
is_print = x_print_layout
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*& Form top_of_list1
text
FORM TOP_OF_LIST1.
SKIP 1.
WRITE: 10 'List 1',
/5 '----
SKIP 1.
FORMAT RESET.
ENDFORM. "top_of_list1
*& Form top_of_list2
text
FORM TOP_OF_LIST2.
SKIP 1.
WRITE: 10 'List 2',
/5 '----
SKIP 1.
FORMAT RESET.
ENDFORM. "top_of_list2
Thanks,
Shankar -
Issue with Secondary list display in ALV BLocked List
Hi all,
I am using ALV Blocked List consissting of 3 blocks.
For my requirement, in the 1st block, I need to make a colum clickable, for which I have used the User_Command Event.
But this is not working. The second list is not gettin displayed.
Here'z my code:
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = v_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IT_EXCLUDING =
REFRESH: it_events[].
wa_events-name = slis_ev_top_of_list.
wa_events-form = 'FIRST_HEADING'.
APPEND wa_events TO it_events.
wa_events-name = slis_ev_user_command.
wa_events-form = 'USER_COMMAND'.
APPEND wa_events TO it_events.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = v_layout
it_fieldcat = it_disptab_field[]
i_tabname = 'DISPTAB'
it_events = it_events[] " Call 1st BLOCK TO BE APPENDED For SALES ANALYSIS
IT_SORT =
I_TEXT = ' '
TABLES
t_outtab = it_disptab
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'.
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN '&IC1'.
READ TABLE it_disptab INTO w_disptab INDEX rs_selfield-tabindex.
IF rs_selfield-fieldname = 'KUNAG'.
WRITE:/1 'invoice',
10 'Quantity in Base Unit',
20 'Base Unit',
30 'Qty in KL',
40 'Price'.
ENDIF.
ENDCASE.
ENDFORM. " USER_COMMAND
Please Help..Hi Ganesh,
Thanks for your reply. I have already used hotspot on the fieldcat of the clickable field. But it seems that except for the hand cursor appearing only on that field, the other columns are also clickable.
Moreover, only the fiirst block should be clickable but all the blocks are applying the user_command.
This might be due to the REUSE_ALV_BLOCK_LIST_INIT Function Module, which applies to all the blocks.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = v_repid
i_callback_top_of_page = 'TOP-OF-PAGE' "see FORM
I_CALLBACK_PF_STATUS_SET = ' '
i_callback_user_command = 'USER_COMMAND'
IT_EXCLUDING =
In orser to avoid this, I am using the following code, which can be a temporary solution to the problem.
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
DATA: row_count TYPE sy-lilli.
CASE r_ucomm.
WHEN '&IC1'.
DESCRIBE TABLE it_disptab LINES row_count.
READ TABLE it_disptab INTO w_disptab INDEX rs_selfield-tabindex.
IF rs_selfield-tabindex LE row_count AND rs_selfield-tabindex ne 0 AND rs_selfield-tabname = 'DISPTAB'.
PERFORM get_data.
PERFORM build_fieldcat.
PERFORM display_second_list.
ELSE.
EXIT.
ENDIF.
ENDCASE.
ENDFORM. " USER_COMMAND -
Hi All,
I am trying to displaying BOM explosion for materials in ALV Block list.
I am taking the materials to be exploded from a local file. Taking the contents of the file in an internal table and then passing the parameters like material number bom application , alternative BOM to the function 'CS_BOM_EXPL_MAT_V2'
Then I am calling the functions for ALV Block display for each material.
But when I am displaying the data in the block display , only the BOM explosion for the last material is getting displayed.
I am pasting the code also for ur reference.
REPORT zcs13 .
TABLES:
mara,
stpo,
t001w,
stko.
TYPE-POOLS: slis.
DATA: BEGIN OF it_stb OCCURS 0.
INCLUDE STRUCTURE zstpox.
DATA:END OF it_stb.
DATA: BEGIN OF it_matmaster OCCURS 0,
matnr TYPE matnr,
werks TYPE werks,
stlal type stlal,
capid type capid,
emeng TYPE emeng,
END OF it_matmaster.
DATA : ievent TYPE slis_t_event.
DATA: it_stb2 LIKE stpox OCCURS 0 WITH HEADER LINE,
it_stb3 LIKE stpox OCCURS 0 WITH HEADER LINE,
temp_cat TYPE slis_fieldcat_alv,
sline TYPE slis_listheader,
gt_list_top_of_page TYPE slis_t_listheader,
gs_layout TYPE slis_layout_alv ,
gt_events TYPE slis_t_event,
gt_sort TYPE slis_t_sortinfo_alv,
w_msg(255) TYPE c,
int TYPE i VALUE 0.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.
PARAMETERS:p_file LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1 .
CONSTANTS c_x VALUE 'X'.
DATA: w_topmat LIKE cstmat,
fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv.
DATA:v_file TYPE string.
*SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
field_name = 'P_FILE'
IMPORTING
file_name = p_file.
START-OF-SELECTION.
v_file = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = v_file
filetype = 'ASC'
has_field_separator = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = it_matmaster
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
LOOP AT it_matmaster.
PERFORM explode_assembly.
PERFORM f01_set_layo CHANGING gs_layout.
PERFORM eventtab_build USING ievent.
perform fldcat.
PERFORM display_grid.
ENDLOOP.
PERFORM display_grid.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
i_interface_check = 'x_print_layout'
IS_PRINT =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
EXCEPTIONS
program_error = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*& Form EXPLODE_ASSEMBLY
text
FORM explode_assembly.
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
EXPORTING
capid = 'BEST'
cuols = c_x
datuv = sy-datum
emeng = it_matmaster-emeng
knfba = c_x
ksbvo = c_x
mehrs = c_x
mbwls = c_x
mdmps = c_x
mktls = c_x
stlal = it_matmaster-stlal
stlan = p_bomap
mtnrv = it_matmaster-matnr
werks = it_matmaster-werks
svwvo = 'X'
vrsvo = 'X'
IMPORTING
topmat = w_topmat
TABLES
stb = it_stb
EXCEPTIONS
alt_not_found = 1
call_invalid = 2
material_not_found = 3
missing_authorization = 4
no_bom_found = 5
no_plant_data = 6
no_suitable_bom_found = 7
conversion_error = 8
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
INTO w_msg.
WRITE: / w_msg.
EXIT.
ENDIF.
ENDFORM. "explode_assembly
*& Form display_grid
text
--> p1 text
<-- p2 text
form display_grid .
*CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = 'ZCS13'
i_callback_top_of_page = 'TOP_OF_PAGE_GRID'
is_layout = gs_layout
it_fieldcat = fieldcat
IT_SORT = GT_SORT[]
i_save = 'A'
it_events = gt_events[]
TABLES
t_outtab = it_stb
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = 'ZALVTOTAL'
I_CALLBACK_PF_STATUS_SET = PFSTATUS
i_callback_user_command = 'USER_COMMAND'(001)
IT_EXCLUDING =
*CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = gs_layout
it_fieldcat = i_fieldcat
i_tabname = 'IT_TAB[]'
it_events = gt_events
it_sort = gt_sort
I_TEXT = ' '
TABLES
t_outtab = it_tab[]
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3
*IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
*ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = gs_layout
it_fieldcat = fieldcat
i_tabname = 'IT_STB[]'
it_events = gt_events
it_sort = gt_sort
I_TEXT = ' '
TABLES
t_outtab = it_stb[]
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
clear it_stb[].
endform. " display_grid
*& Form fldcat
text
--> p1 text
<-- p2 text
form fldcat .
*DATA: wa_fieldcat TYPE slis_fieldcat_alv,
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'ZCS13'
I_INTERNAL_TABNAME = 'IT_STB'
i_structure_name = 'ZSTPOX'
I_CLIENT_NEVER_DISPLAY = 'X'
i_inclname = 'ZCS13'
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = fieldcat[]
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Pls Suggest
Thanks.Hi All,
I am trying to displaying BOM explosion for materials in ALV Block list.
I am taking the materials to be exploded from a local file. Taking the contents of the file in an internal table and then passing the parameters like material number bom application , alternative BOM to the function 'CS_BOM_EXPL_MAT_V2'
Then I am calling the functions for ALV Block display for each material.
But when I am displaying the data in the block display , only the BOM explosion for the last material is getting displayed.
I am pasting the code also for ur reference.
REPORT zcs13 .
TABLES:
mara,
stpo,
t001w,
stko.
TYPE-POOLS: slis.
DATA: BEGIN OF it_stb OCCURS 0.
INCLUDE STRUCTURE zstpox.
DATA:END OF it_stb.
DATA: BEGIN OF it_matmaster OCCURS 0,
matnr TYPE matnr,
werks TYPE werks,
stlal type stlal,
capid type capid,
emeng TYPE emeng,
END OF it_matmaster.
DATA : ievent TYPE slis_t_event.
DATA: it_stb2 LIKE stpox OCCURS 0 WITH HEADER LINE,
it_stb3 LIKE stpox OCCURS 0 WITH HEADER LINE,
temp_cat TYPE slis_fieldcat_alv,
sline TYPE slis_listheader,
gt_list_top_of_page TYPE slis_t_listheader,
gs_layout TYPE slis_layout_alv ,
gt_events TYPE slis_t_event,
gt_sort TYPE slis_t_sortinfo_alv,
w_msg(255) TYPE c,
int TYPE i VALUE 0.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-002.
PARAMETERS:p_file LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN END OF BLOCK b1 .
CONSTANTS c_x VALUE 'X'.
DATA: w_topmat LIKE cstmat,
fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat TYPE slis_fieldcat_alv.
DATA:v_file TYPE string.
*SELECTION-SCREEN END OF BLOCK b1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
field_name = 'P_FILE'
IMPORTING
file_name = p_file.
START-OF-SELECTION.
v_file = p_file.
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = v_file
filetype = 'ASC'
has_field_separator = 'X'
HEADER_LENGTH = 0
READ_BY_LINE = 'X'
DAT_MODE = ' '
IMPORTING
FILELENGTH =
HEADER =
TABLES
data_tab = it_matmaster
EXCEPTIONS
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
OTHERS = 17
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
LOOP AT it_matmaster.
PERFORM explode_assembly.
PERFORM f01_set_layo CHANGING gs_layout.
PERFORM eventtab_build USING ievent.
perform fldcat.
PERFORM display_grid.
ENDLOOP.
PERFORM display_grid.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
i_interface_check = 'x_print_layout'
IS_PRINT =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
EXCEPTIONS
program_error = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*& Form EXPLODE_ASSEMBLY
text
FORM explode_assembly.
CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
EXPORTING
capid = 'BEST'
cuols = c_x
datuv = sy-datum
emeng = it_matmaster-emeng
knfba = c_x
ksbvo = c_x
mehrs = c_x
mbwls = c_x
mdmps = c_x
mktls = c_x
stlal = it_matmaster-stlal
stlan = p_bomap
mtnrv = it_matmaster-matnr
werks = it_matmaster-werks
svwvo = 'X'
vrsvo = 'X'
IMPORTING
topmat = w_topmat
TABLES
stb = it_stb
EXCEPTIONS
alt_not_found = 1
call_invalid = 2
material_not_found = 3
missing_authorization = 4
no_bom_found = 5
no_plant_data = 6
no_suitable_bom_found = 7
conversion_error = 8
OTHERS = 9.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
INTO w_msg.
WRITE: / w_msg.
EXIT.
ENDIF.
ENDFORM. "explode_assembly
*& Form display_grid
text
--> p1 text
<-- p2 text
form display_grid .
*CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = 'ZCS13'
i_callback_top_of_page = 'TOP_OF_PAGE_GRID'
is_layout = gs_layout
it_fieldcat = fieldcat
IT_SORT = GT_SORT[]
i_save = 'A'
it_events = gt_events[]
TABLES
t_outtab = it_stb
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
i_callback_program = 'ZALVTOTAL'
I_CALLBACK_PF_STATUS_SET = PFSTATUS
i_callback_user_command = 'USER_COMMAND'(001)
IT_EXCLUDING =
*CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = gs_layout
it_fieldcat = i_fieldcat
i_tabname = 'IT_TAB[]'
it_events = gt_events
it_sort = gt_sort
I_TEXT = ' '
TABLES
t_outtab = it_tab[]
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3
*IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
*ENDIF.
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
is_layout = gs_layout
it_fieldcat = fieldcat
i_tabname = 'IT_STB[]'
it_events = gt_events
it_sort = gt_sort
I_TEXT = ' '
TABLES
t_outtab = it_stb[]
EXCEPTIONS
program_error = 1
maximum_of_appends_reached = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
clear it_stb[].
endform. " display_grid
*& Form fldcat
text
--> p1 text
<-- p2 text
form fldcat .
*DATA: wa_fieldcat TYPE slis_fieldcat_alv,
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'ZCS13'
I_INTERNAL_TABNAME = 'IT_STB'
i_structure_name = 'ZSTPOX'
I_CLIENT_NEVER_DISPLAY = 'X'
i_inclname = 'ZCS13'
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
CHANGING
ct_fieldcat = fieldcat[]
EXCEPTIONS
INCONSISTENT_INTERFACE = 1
PROGRAM_ERROR = 2
OTHERS = 3
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Pls Suggest
Thanks. -
At line-selection event triggering issue?
hi,
I am working on a interactive report using at line-selection event, in that i have 3 list & now on 4 list i have to perform a BDC operation,for that I have used the PF-STATUS syntax, & at user command code.
but for this particular list my at user command is not working properly. if 1 clk on a record its move to nxt action,but it shd happen when i clk on a record & than press the icon for action set by PF STATUS.
Code is below:
WHEN '3'.
SET PF-STATUS 'Z203'.
LOOP AT itab4.
AT FIRST.
WRITE:/1 'Material' ,8 'Descp'.
ENDAT.
WRITE:/1 itab4-matnr,8 itab4-maktx.
ENDLOOP.
ELSE.
WRITE:/ 'No Data Found'.
ENDIF.
ENDCASE.
AT USER-COMMAND.
CASE sy-ucomm.
WHEN 'CALL'.
PERFORM bdc_mm02.
pls tell how to use it.
reds
Vipinin your AT LINE-SELECTION event, add this code
CHECK sy-lsind NE 3.
(this is valid if your list is 4th list displayed as it begins with 0) -
AT LINE-SELECTION event and HIDE area
Hello ppl.
I've got a strange situation: at line-selection event in my program gets fired, but internal table work area doesn't get retained from hide area.
What can be the source of mistake?
Thanks in advance.Try this
REPORT zkb_test.
DATA: i_scarr TYPE TABLE OF scarr,
w_scarr TYPE scarr.
START-OF-SELECTION.
SELECT * FROM scarr INTO TABLE i_scarr UP TO 5 ROWS.
LOOP AT i_scarr INTO w_scarr.
WRITE:/ w_scarr-carrid,
w_scarr-carrname,
w_scarr-currcode.
HIDE w_scarr.
ENDLOOP.
AT LINE-SELECTION.
WRITE:/ w_scarr.
Just double click the list.
Cheers
Kathirvel -
Hi all,
I am calling ALV block list twice. In I block list user selects any record and then clicks on a button and then control goes to II block list. My problem is that when i come back from II to I list, and select any new record, the selected values in internal table passed in I list are not reflected in that table.
I think this problem is because we are displaying different tables in these 2 lists. When we go to II list, the ALV block list is gettting reinitialized and on coming back, the above problem occurs.
If you have any inputs, please let me know.
Thanks in advance.
Regards,
Ridhima.Hi all,
I am calling ALV block list twice. In I block list user selects any record and then clicks on a button and then control goes to II block list. My problem is that when i come back from II to I list, and select any new record, the selected values in internal table passed in I list are not reflected in that table.
I think this problem is because we are displaying different tables in these 2 lists. When we go to II list, the ALV block list is gettting reinitialized and on coming back, the above problem occurs.
If you have any inputs, please let me know.
Thanks in advance.
Regards,
Ridhima. -
Error in at line-selection event...
Hello experts,
In my report, I am hiding the values of BUKRS, ANLN1 and ANLN2 during my loop.
I am using field symbols as my work area for my itab which is it_output. The problem
is, when I try to do this in my at line-selection event:
at line-selection.
data: cursorfield(20) type c.
get cursor field cursorfield.
case cursorfield.
when '<FS_OUTPUT>-ASSET_SUBNUM'.
SET PARAMETER ID 'BUK' FIELD <FS_OUTPUT>-bukrs.
SET PARAMETER ID 'AN1' FIELD <FS_OUTPUT>-asset.
SET PARAMETER ID 'AN2' FIELD <FS_OUTPUT>-anln2.
endcase.
It says that it can't recognize the fields. What am I doing wrong? By the way, I am using
ABAP Objects in my report. Help would be greatly appreciated. Thanks again guys and take care!Hi Viraylab,
Have you assigned the fieldsymbols ?
ASSIGN IT_OUTPUT to <FS_OUTPUT>.
Cheers
VJ
Message was edited by: Vijayendra Rao -
Sving layout with ALV block list
1) I am not able to save layout for alv block. How this can be done?
2) Can this be saved for all blocks if the fields of all blocks are the same?Hi,
1. not possible with the ALV BLOCK list.
2. No option avaialble for this in case of Block list.
for normal list you have variant option.
Regards
vijay -
"AT LINE-SELECTION" event in a Query (SQ01 or SQ02)
Hi there
I want to know if it's possible to put "AT LINE-SELECTION" event in an ABAP Query? I'm trying that in SQ02 - the infoset - but nothing happens when I double-click on the output lines. I cannot find any place to type codes in SQ01.
The purpose is to call a transaction VA03 when people double-click on the output field "sales order number" and here is the code I put in "Free coding" section of SQ02.
AT LINE-SELECTION.
DATA: w_cucol TYPE sy-cucol.
w_cucol = sy-cucol + sy-staco.
w_cucol = w_cucol - 2.
IF w_cucol BETWEEN 103 AND 119.
SET PARAMETER ID 'AUN' FIELD vbkd-vbeln.
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
ENDIF.
yuHi ,
You must create infoset based on join VBKD with VBAK and LIPS.
Also you must put VBAK-VBELN and LIPS-VBELN as a column output.
There is no problem to use 2 report assignment ( there is no loss ).
There is no necessity to use " some ABAP code at line-selection ".
This works.
By the way is more correct from the beginning to formulate the issue including all the data about your problem and not include them by adding a little at a time.
Regards.
Maybe you are looking for
-
How can I include value of Sharepoint's Modified or Modified By column in a Word document?
I know how to do this with SP's Version field (by enabling labels in the Information management policy settings for documents in my SP library), but I don't know if any other out-of-the-box SP fields can also be used as a label. I specifically want t
-
Mail from Workflow to external system with mail text in body of mail
Hi All, I have extended workflow WS12300111 to send mail to external system. But in external system mail text is coming in attachment & without formating (Multiple lines are coming in single Row). I want to know how to send text in body of mail (inst
-
How to find rubber feet for mbp 13"?
I've lost one of the rubber feet on the bottom of my macbook pro 13" 2.6 GHz core duo. What can I do please? Can anyone inform me, so that I can find a solution?
-
Hi, I would like to set date on selection screen in my code and not trough variants. eg.: AT SELECTION-SCREEN. INITIALIZATION. berdatum = sy-datum. so, what should i do instead of current sy-datum <b>to get the last day of current year?</b> thank y
-
How to purge PERFSTAT.STATS$SQLTEXT table, after deleting snapshots
I had an alarm on the free space of the PERFSTAT tablespace. In order to free up some space I tried to delete some old StatsPack snapshots, with the following query: DELETE from perfstat.stats$snapshot where snap_time < sysdate - 10 ; COMMIT; After r