Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8573

Re: When I click  want to open edit mode. Could you help please

$
0
0

Hello,

What I am trying to say is like below: ..

 

*&---------------------------------------------------------------------*

*& Report  ZABHI_TST_DBLE_CLICK

*&

*&---------------------------------------------------------------------*

*&

*&

*&---------------------------------------------------------------------*

 

REPORT  zabhi_tst_dble_click.

 

TABLES: vbap.

 

TYPES: BEGIN OF ty_vbap,

          vbeln TYPE vbeln_va,

          posnr TYPE posnr_va,

          matnr TYPE matnr,

          zmeng TYPE dzmeng,

        END OF ty_vbap.

 

DATA: gt_vbap TYPE STANDARD TABLE OF ty_vbap,

       gs_vbap TYPE vbap,

       gt_fcat TYPE slis_t_fieldcat_alv,

       ls_status  TYPE slis_formname.

 

 

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

SELECT-OPTIONS: s_vbeln FOR vbap-vbeln OBLIGATORY.

 

SELECTION-SCREEN END OF BLOCK b1.

 

START-OF-SELECTION.

   PERFORM f_sub_get_data.

 

END-OF-SELECTION.

 

   PERFORM f_prepare_fcat .

 

   PERFORM f_sub_display_alv.

 

 

*&---------------------------------------------------------------------*

*&      Form  F_SUB_GET_DATA

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*      <--P_GT_VBAP  text

*----------------------------------------------------------------------*

FORM f_sub_get_data .

 

   SELECT vbeln

          posnr

          matnr

          zmeng

     FROM vbap

     INTO TABLE gt_vbap

     WHERE vbeln IN s_vbeln.

   IF sy-subrc = 0.

     SORT gt_vbap BY vbeln posnr.

   ENDIF.

 

ENDFORM.                    " F_SUB_GET_DATA

 

 

 

*&---------------------------------------------------------------------*

*&      Form  F_PREPARE_FCAT

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*      <--P_GT_FCAT  text

*----------------------------------------------------------------------*

FORM f_prepare_fcat .

   DATA: ls_fcat TYPE slis_fieldcat_alv.

 

   REFRESH gt_fcat.

 

   CLEAR ls_fcat.

   ls_fcat-fieldname     = 'VBELN'.

   ls_fcat-ref_tabname   = 'VBAP'.

   ls_fcat-ref_fieldname = 'VBELN'.

   APPEND ls_fcat TO gt_fcat.

 

   CLEAR ls_fcat.

   ls_fcat-fieldname     = 'POSNR'.

   ls_fcat-ref_tabname   = 'VBAP'.

   ls_fcat-ref_fieldname = 'POSNR'.

   APPEND ls_fcat TO gt_fcat.

 

   CLEAR ls_fcat.

   ls_fcat-fieldname     = 'MATNR'.

   ls_fcat-ref_tabname   = 'VBAP'.

   ls_fcat-ref_fieldname = 'MATNR'.

   APPEND ls_fcat TO gt_fcat.

 

   CLEAR ls_fcat.

   ls_fcat-fieldname     = 'ZMENG'.

   ls_fcat-ref_tabname   = 'VBAP'.

   ls_fcat-ref_fieldname = 'ZMENG'.

   APPEND ls_fcat TO gt_fcat.

 

 

ENDFORM.                    " F_PREPARE_FCAT

*&---------------------------------------------------------------------*

*&      Form  F_SUB_DISPLAY_ALV

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM f_sub_display_alv .

   DATA: lv_progname TYPE syrepid VALUE sy-repid,

         ls_layout   TYPE slis_layout_alv,

         ls_event    TYPE slis_alv_event,

         lt_event    TYPE slis_t_event.

 

   CLEAR ls_event.

   ls_event-name = slis_ev_top_of_list.

   ls_event-form = slis_ev_top_of_list.

   APPEND ls_event TO lt_event.

 

   CLEAR ls_event.

   ls_event-name = slis_ev_user_command.

   ls_event-form = slis_ev_user_command.

   APPEND ls_event TO lt_event.

 

 

   CLEAR ls_layout.

   ls_layout-zebra = 'X'.

   ls_layout-colwidth_optimize = 'X'.

 

   CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

     EXPORTING

       i_callback_program       = lv_progname

       it_fieldcat              = gt_fcat

       is_layout                = ls_layout

       i_callback_pf_status_set = ls_status

       i_callback_user_command  = 'USER_COMMAND'

*     i_save                   = 'X'

       it_events                = lt_event

*     i_grid_title             = w_title

     TABLES

       t_outtab                 = gt_vbap

     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.                    " F_SUB_DISPLAY_ALV

 

*&---------------------------------------------------------------------*

*&      Form  top_of_list

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

FORM top_of_list .

* Header log data population

   DATA:   lt_header TYPE slis_t_listheader,

           ls_header TYPE slis_listheader.

 

   REFRESH: lt_header.

 

   CLEAR ls_header.

   ls_header-typ = 'H'.

   ls_header-info = 'ALV DOUBLE CLICK REPORT'.

   APPEND ls_header TO lt_header.

 

 

 

   CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

     EXPORTING

       it_list_commentary = lt_header.

ENDFORM.                    "top_of_list

 

*&---------------------------------------------------------------------*

*&      Form  user_command

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*      -->R_UCOMM      text

*      -->RS_SELFIELD  text

*----------------------------------------------------------------------*

FORM user_command USING r_ucomm LIKE sy-ucomm

                       rs_selfield TYPE slis_selfield.

   FIELD-SYMBOLS: <lfs_fcat> TYPE slis_fieldcat_alv.

 

 

   CASE r_ucomm.

     WHEN '&IC1'.           "if you don't set any status and using the standard one

 

       LOOP AT gt_fcat ASSIGNING <lfs_fcat>.

         <lfs_fcat>-edit = 'X'.

       ENDLOOP.

 

       PERFORM f_sub_display_alv.

     WHEN '&F03' .                     "if you don;t set any status

       " do process this event

   ENDCASE.

ENDFORM.                    "user_command


Thanks & Regards,


Abhijit


Viewing all articles
Browse latest Browse all 8573

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>