Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

alv

Former Member
0 Likes
292

hi friends,

i have a problem with alv.

1. when i select assending sort button in alv grid display ouput ,i need to get a pop screen with messg ur field has been sorted.how can i get this?

2 REPLIES 2
Read only

Former Member
0 Likes
265

It's possible in event BEFORE_USER_COMMAND of cl_gui_alv_grid. You must registered this event by handler for your grid instance.

Read only

Former Member
0 Likes
265

Hi,

Refer to this program....

********************************************

TABLES: qmel,qmih,iflot,z94392_notif.

DATA gr_alvgrid TYPE REF TO cl_gui_alv_grid .

DATA gc_custom_control_name TYPE scrfname VALUE 'CUST_C' .

DATA gr_ccontainer TYPE REF TO cl_gui_custom_container .

DATA gt_fieldcat TYPE lvc_t_fcat .

DATA gs_layout TYPE lvc_s_layo.

DATA: e_row_id TYPE lvc_s_row,

e_column_id TYPE lvc_s_col,

es_row_no TYPE lvc_s_roid.

DATA: BEGIN OF itab1 OCCURS 0,

qmnum LIKE qmel-qmnum,

qmtxt LIKE qmel-qmtxt,

indtx LIKE qmel-indtx,

qmdat LIKE qmel-qmdat,

ltrmn LIKE qmel-ltrmn,

priok LIKE qmel-priok,

aufnr LIKE qmel-aufnr,

bezdt LIKE qmel-bezdt,

qmnam LIKE qmel-qmnam,

qmart LIKE qmel-qmart,

END OF itab1.

DATA: BEGIN OF itab2 OCCURS 0,

qmnum LIKE qmih-qmnum,

btpln LIKE qmih-btpln,

ingrp LIKE qmih-ingrp,

END OF itab2.

DATA : itab3 TYPE TABLE OF z94392_notif WITH HEADER LINE.

CLASS notification DEFINITION.

PUBLIC SECTION.

CLASS-METHODS : handle_double_click

FOR EVENT double_click OF cl_gui_alv_grid

IMPORTING e_row e_column.

ENDCLASS. "NOTIFICATION DEFINITION

CLASS notification IMPLEMENTATION.

METHOD handle_double_click.

PERFORM handle_double_click USING e_row e_column es_row_no.

ENDMETHOD. "handle_double_click

ENDCLASS. "NOTIFICATION IMPLEMENTATION

SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t01.

SELECT-OPTIONS : notnum FOR qmel-qmnum OBLIGATORY,

notype FOR qmel-qmart,

floc FOR qmih-btpln,

name FOR qmel-qmnam.

SELECTION-SCREEN END OF BLOCK b1.

START-OF-SELECTION.

SELECT qmnum qmtxt indtx qmdat ltrmn priok aufnr bezdt qmnam qmart INTO

TABLE itab1 FROM qmel WHERE qmnum IN notnum

AND qmart IN notype AND qmnam IN name.

SELECT qmnum btpln ingrp INTO TABLE itab2 FROM qmih FOR ALL ENTRIES IN

itab1 WHERE qmnum = itab1-qmnum AND btpln IN floc.

LOOP AT itab1.

itab3-qmnum = itab1-qmnum.

itab3-qmtxt = itab1-qmtxt.

itab3-indtx = itab1-indtx.

itab3-qmdat = itab1-qmdat.

itab3-ltrmn = itab1-ltrmn.

itab3-priok = itab1-priok.

itab3-aufnr = itab1-aufnr.

itab3-bezdt = itab1-bezdt.

itab3-qmnam = itab1-qmnam.

itab3-qmart = itab1-qmart.

READ TABLE itab2 WITH KEY qmnum = itab1-qmnum.

itab3-btpln = itab2-btpln.

itab3-ingrp = itab2-ingrp.

APPEND itab3.

ENDLOOP.

END-OF-SELECTION.

IF itab3 IS INITIAL.

MESSAGE 'ENTER A VALID ENTRY' TYPE 'I'.

else.

CALL SCREEN '100'.

ENDIF.

&----


*& Module STATUS_0100 OUTPUT

&----


  • text

----


MODULE status_0100 OUTPUT.

SET PF-STATUS '100'.

  • SET TITLEBAR 'xxx'.

IF gr_alvgrid IS INITIAL .

CREATE OBJECT gr_ccontainer

EXPORTING

  • PARENT =

container_name = gc_custom_control_name

  • STYLE =

  • LIFETIME = lifetime_default

  • REPID =

  • DYNNR =

  • NO_AUTODEF_PROGID_DYNNR =

EXCEPTIONS

cntl_error = 1

cntl_system_error = 2

create_error = 3

lifetime_error = 4

lifetime_dynpro_dynpro_link = 5

OTHERS = 6

.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

CREATE OBJECT gr_alvgrid

EXPORTING

  • I_SHELLSTYLE = 0

  • I_LIFETIME =

i_parent = gr_ccontainer

  • I_APPL_EVENTS = space

  • I_PARENTDBG =

  • I_APPLOGPARENT =

  • I_GRAPHICSPARENT =

  • I_NAME =

EXCEPTIONS

error_cntl_create = 1

error_cntl_init = 2

error_cntl_link = 3

error_dp_create = 4

OTHERS = 5

.

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 METHOD gr_alvgrid->set_table_for_first_display

EXPORTING

  • I_BUFFER_ACTIVE =

  • I_BYPASSING_BUFFER =

  • I_CONSISTENCY_CHECK =

i_structure_name = 'Z94392_NOTIF'

  • IS_VARIANT =

  • I_SAVE =

  • I_DEFAULT = 'X'

  • IS_LAYOUT =

  • IS_PRINT =

  • IT_SPECIAL_GROUPS =

  • IT_TOOLBAR_EXCLUDING =

  • IT_HYPERLINK =

  • IT_ALV_GRAPHICS =

  • IT_EXCEPT_QINFO =

CHANGING

it_outtab = itab3[]

  • IT_FIELDCATALOG =

  • IT_SORT =

  • IT_FILTER =

EXCEPTIONS

invalid_parameter_combination = 1

program_error = 2

too_many_lines = 3

OTHERS = 4

.

IF sy-subrc <> 0.

MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno

WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

ENDIF.

SET HANDLER notification=>handle_double_click FOR gr_alvgrid.

ENDIF.

ENDMODULE. " STATUS_0100 OUTPUT

&----


*& Form handle_double_click

&----


  • text

----


  • -->P_E_ROW text

  • -->P_E_COLUMN text

  • -->P_ES_ROW_NO text

----


FORM handle_double_click USING e_row TYPE lvc_s_row

e_column TYPE lvc_s_col

es_row_no TYPE lvc_s_roid.

DATA: t_output TYPE z94392_notif.

READ TABLE itab3 INTO t_output INDEX e_row-index .

IF sy-subrc = 0 AND e_column-fieldname EQ 'QMNUM'.

CALL TRANSACTION 'Z94406_SAPSCR' AND SKIP FIRST SCREEN.

ENDIF.

ENDFORM. " handle_double_click

******************************************************

Reward if helpful.

Regards,

Syed