cancel
Showing results for 
Search instead for 
Did you mean: 

how to make alv editable for any two fields& add save and delete buttons using factory method.

srinuje12
Newcomer
0 Kudos
95

REPORT zcls_factory1.

DATAlt_data  TYPE STANDARD TABLE  OF zcds_ekko,
      lt_data1 TYPE STANDARD TABLE OF  zcds_vbap.

DATA:lo_event TYPE REF TO cl_salv_events_table.

DATA:lo_alv  TYPE REF TO cl_salv_table.


SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
  PARAMETERSp_r1 RADIOBUTTON GROUP rad1 DEFAULT 'X' USER-COMMAND rad,
              p_r2 RADIOBUTTON GROUP rad1.
SELECTION-SCREEN END OF BLOCK b1.

 

can anyone tell how to add save & delete buttons and how to make ALV editable for any two fields
DATAl_ebeln TYPE ebeln,
      l_vbeln TYPE vbeln_va.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.
  SELECT-OPTIONSs_ebeln FOR l_ebeln MODIF ID po,
                  s_vbeln FOR l_vbeln MODIF ID so.
SELECTION-SCREEN END OF BLOCK b2.

AT SELECTION-SCREEN OUTPUT.


  IF p_r1 'X'.
    LOOP AT SCREEN.
      IF screen-group1 'SO'.
        screen-active 0.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
  ENDIF.

  IF p_r1 ' '.
    LOOP AT SCREEN.
      IF screen-group1 'PO'.
        screen-active 0.
        MODIFY SCREEN.
      ENDIF.
    ENDLOOP.
  ENDIF.



START-OF-SELECTION..


  IF p_r1 'X'.
    SELECT FROM zcds_ekko INTO TABLE @LT_data  WHERE ebeln IN @s_ebeln.
  ELSE.

    SELECT FROM zcds_vbap INTO TABLE @LT_data1 WHERE salesorder IN @s_vbeln.
  ENDIF.


  IF p_r1 'X'.

    cl_salv_table=>factory(

      IMPORTING
        r_salv_table   lo_alv
      CHANGING
        t_table        lt_data
           ).
  ENDIF.

  IF  p_r2 'X'.

    cl_salv_table=>factory(

    IMPORTING
      r_salv_table   lo_alv
    CHANGING
      t_table        lt_data1
         ).
  ENDIF.

CALL METHOD lo_alv->display). 

Accepted Solutions (0)

Answers (1)

Answers (1)

ulrich_mhrke
Participant
0 Kudos

For own buttons have a look at sample program SALV_DEMO_TABLE_FUNCTIONS.

Perform an internet search to find editable SALV.