DOUBLE CLICK WITH ALV OOPS
DOUBLE CLICK WITH ALV OOPS
DOUBLE CLICK WITH ALV OOPS
https://abapreports.blogspot.com/2008/06/double-click-with-alv-oops.html
*"Table declarations...................................................
TABLES:
EKKO, " Purchasing Document Header
CDHDR, " Change document header
SSCRFIELDS. " Fields on selection screens
"--------------------------------------------------------------------
"--------------------------------------------------------------------
"--------------------------------------------------------------------
Field String to hold Change date and the name of the user *
"--------------------------------------------------------------------
BEGIN OF FS_CDHDR,
OBJECTCLAS TYPE CDHDR-OBJECTCLAS, " Object Class
OBJECTID TYPE CDHDR-OBJECTID, " Object value
CHANGENR TYPE CDHDR-CHANGENR, " Document change number
USERNAME TYPE CDHDR-USERNAME, " User name
UDATE TYPE CDHDR-UDATE, " Creation date of the change
" document
END OF FS_CDHDR,
"--------------------------------------------------------------------
"--------------------------------------------------------------------
"--------------------------------------------------------------------
"--------------------------------------------------------------------
"--------------------------------------------------------------------
"--------------------------------------------------------------------
"--------------------------------------------------------------------
"--------------------------------------------------------------------
Internal Table to hold Change date and the name of the user *
"--------------------------------------------------------------------
T_CDHDR LIKE STANDARD TABLE
OF FS_CDHDR,
"--------------------------------------------------------------------
"--------------------------------------------------------------------
"--------------------------------------------------------------------
"--------------------------------------------------------------------
"--------------------------------------------------------------------
"--------------------------------------------------------------------
"--------------------------------------------------------------------
CLASSDEFINITION*
"--------------------------------------------------------------------
CLASS LCL_EVENT_HANDLER DEFINITION DEFERRED.
ALV Grid
W_GRID TYPE REF TO CL_GUI_ALV_GRID,
Event Handler
W_EVENT_CLICK TYPE REF TO LCL_EVENT_HANDLER,
"--------------------------------------------------------------------
AT SELECTION-SCREEN EVENT *
"--------------------------------------------------------------------
AT SELECTION-SCREEN ON S_EBELN.
AT SELECTION-SCREEN ON S_LIFNR.
AT SELECTION-SCREEN ON S_EKGRP.
"--------------------------------------------------------------------
START-OF-SELECTION EVENT *
"--------------------------------------------------------------------
START-OF-SELECTION.
CHECK W_FLAG EQ 0.
END-OF-SELECTION EVENT *
"--------------------------------------------------------------------
END-OF-SELECTION.
PBO Event
IF W_GRID IS INITIAL.
I_SHELLSTYLE = 0
I_LIFETIME =
I_PARENT = CL_GUI_CONTAINER=>SCREEN0
I_APPL_EVENTS =
I_PARENTDBG =
I_APPLOGPARENT =
I_GRAPHICSPARENT =
I_NAME =
I_FCAT_COMPLETE = SPACE
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. " IF SY-SUBRC 0
I_BUFFER_ACTIVE =
I_BYPASSING_BUFFER =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME =
IS_VARIANT = W_VARIANT
I_SAVE = 'A'
I_DEFAULT = 'X'
IS_LAYOUT =
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING =
IT_HYPERLINK =
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
IR_SALV_ADAPTER =
CHANGING
IT_OUTTAB = T_OUTTAB
IT_FIELDCATALOG = T_FIELDCAT
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. " IF SY-SUBRC 0.
PAI Event
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANCEL'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
&---------------------------------------------------------------------
*& Form PREPARE_FIELD_CATALOG
&---------------------------------------------------------------------
Purchasing group...
LS_FCAT-FIELDNAME = 'EKGRP'.
LS_FCAT-REF_TABLE = 'EKKO'.
LS_FCAT-INTTYPE = 'C'.
LS_FCAT-OUTPUTLEN = '10'.
APPEND LS_FCAT TO PT_FIELDCAT.
CLEAR LS_FCAT.
&---------------------------------------------------------------------
*& Form SELECT_PO
&---------------------------------------------------------------------
FORM SELECT_PO .
IF SY-SUBRC NE 0.
W_FLAG = 1.
MESSAGE S401(M8).
ENDIF. " IF SY-SUBRC NE 0
ENDFORM. " SELECT_PO
&---------------------------------------------------------------------
*& Form SELECT_OBJ_ID
&---------------------------------------------------------------------
FORM SELECT_OBJ_ID .
ENDSELECT.
IF SY-SUBRC NE 0.
W_FLAG = 1.
MESSAGE S833(M8) WITH 'Header Not Found'(031).
ENDIF. " IF SY-SUBRC NE 0.
FORM SELECT_CHANGED_VALUE .
IF SY-SUBRC NE 0.
W_FLAG = 1.
MESSAGE S833(M8) WITH 'Item Not Found'(032).
ENDIF. " IF SY-SUBRC NE 0.
T_CDPOS_TEMP] = T_CDPOS[.
ENDFORM. " SELECT_CHANGED_VALUE
&---------------------------------------------------------------------
*& Form SELECT_PUR_DOC
&---------------------------------------------------------------------
FORM SELECT_PUR_DOC .
T_EKKO_TEMP] = T_EKKO[.
FORM SELECT_VENDOR .
IF NOT T_EKKO IS INITIAL.
FORM DESCRIPTION .
T_DATAELE_TEMP] = T_DATAELE[.
SORT T_DATAELE_TEMP BY ROLLNAME.
DELETE ADJACENT DUPLICATES FROM T_DATAELE_TEMP COMPARING ROLLNAME.
IF SY-SUBRC NE 0.
EXIT.
ENDIF. " IF SY-SUBRC NE 0.
FORM FILL_OUTTAB .
FORM GET_CELL_INFO .
E_ROW =
E_VALUE = W_VALUE
E_COL =
ES_ROW_ID =
ES_COL_ID =
ES_ROW_NO =
.
ENDFORM. " GET_CELL_INFO
&---------------------------------------------------------------------
*& Form VALIDATE_PD_NUM
&---------------------------------------------------------------------
FORM VALIDATE_PD_NUM .
FORM VALIDATE_VEN_NUM .
FORM VALIDATE_PUR_GRP .
FORM FILL_VARIANT .
Filling the Variant structure
W_VARIANT-REPORT = SY-REPID.
W_VARIANT-USERNAME = SY-UNAME.
ENDFORM. " FILL_VARIANT
RELATED POST