Quantcast
Channel: SCN : Discussion List - Data Services and Data Quality
Viewing all articles
Browse latest Browse all 4237

problem in interactive alv

$
0
0

I am making interactive alv report using table ekko, ekpo, lfa1.

 

 

Ekko table display(Basic list)

 

Purchasing Document NumberItem Number of Purchasing DocumentMaterial NumberCompany CodePlantVendor Account NumberPur Organization

 

on click of purchasing Docu. display(details list 1)
material discription   po quantity   unit   net priceVendor account no.

 

 

on click vendor no.display Vendor address as(details list 2)

Name1  name2 city District

 

I make following program in that basic list is display but details lists are not display.

 

 

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

*& Report  ZIALV

*&

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

*&

*&

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

 

 

REPORT  ZIALV .

 

 

TYPE-POOLS: SLIS.

 

 

TYPES: BEGIN OF t_ekko,

        ebeln TYPE ekko-ebeln,

        pincr TYPE ekko-pincr,

        zzmaterial TYPE ekko-zzmaterial,

        zzcompany_code TYPE ekko-zzcompany_code,

        eq_werks TYPE ekko-eq_werks,

        lifnr TYPE ekko-lifnr,

        ekorg TYPE ekko-ekorg,

       END OF t_ekko.

 

 

DATA: it_ekko TYPE TABLE OF t_ekko INITIAL SIZE 0 ,

      wa_ekko TYPE t_ekko.

 

 

 

 

TYPES: BEGIN OF t_ekpo,

        zzmaterial TYPE ekpo-zzmaterial,

        zzquantity TYPE ekpo-zzquantity,

        zzuniy TYPE ekpo-zzunit,

        netpr TYPE ekpo-netpr,

        emlif TYPE ekpo-emlif,

        lblkz TYPE ekpo-lblkz,

      END OF t_ekpo.

 

 

DATA: it_ekpo TYPE TABLE OF t_ekpo INITIAL SIZE 0 ,

      wa_ekpo TYPE t_ekpo.

 

 

 

 

TYPES: BEGIN OF t_lfa1,

        name1 TYPE lfa1-name1,

        name2 TYPE lfa1-name2,

        ort01 TYPE lfa1-ort01,

        ort02 TYPE lfa1-ort02,

      END OF t_lfa1.

 

 

DATA: it_lfa1 TYPE TABLE OF t_lfa1 INITIAL SIZE 0 ,

      wa_lfa1 TYPE t_lfa1.

 

 

 

 

 

 

 

 

DATA: v_repid LIKE sy-repid.

 

 

DATA: i_fieldcat TYPE slis_t_fieldcat_alv,

      wa_fieldcat TYPE slis_fieldcat_alv.

 

 

 

 

 

 

DATA: it_listheader TYPE slis_t_listheader.

 

 

 

 

DATA: v_events TYPE slis_t_event,

      wa_event TYPE slis_alv_event.

 

 

 

 

DATA: alv_layout TYPE slis_layout_alv.

 

 

 

 

DATA:  i_title_ekko TYPE lvc_title VALUE 'Purchasing Document Header ',

       i_title_ekpo TYPE lvc_title VALUE 'Purchasing Document Item ',

       i_title_lfa1 TYPE lvc_title VALUE 'Vendor Master '.

 

 

 

 

 

 

 

 

INITIALIZATION.

 

 

  v_repid = sy-repid.

 

 

  PERFORM build_fieldcatlog.

  PERFORM event_call.

  PERFORM populate_event.

 

 

 

 

START-OF-SELECTION.

 

 

  PERFORM data_retrieval.

  PERFORM build_listheader USING it_listheader.

  PERFORM display_alv_report.

 

 

 

 

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

*    FROM BUILD_FIELDCATLOG                                     *

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

FORM build_fieldcatlog.

  wa_fieldcat-tabname = 'IT_EKKO'.

  wa_fieldcat-fieldname = 'EBELN'.

  wa_fieldcat-seltext_m = 'PO NO.'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

 

 

  wa_fieldcat-tabname = 'IT_EKKO'.

  wa_fieldcat-fieldname = 'PINCR'.

  wa_fieldcat-seltext_m = 'ITEM NO.'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

 

 

  wa_fieldcat-tabname = 'IT_EKKO'.

  wa_fieldcat-fieldname = 'ZZMATERIAL'.

  wa_fieldcat-seltext_m = 'Material Number'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

 

 

  wa_fieldcat-tabname = 'IT_EKKO'.

  wa_fieldcat-fieldname = 'ZZCOMPANY_CODE'.

  wa_fieldcat-seltext_m = 'Company Code'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

 

 

  wa_fieldcat-tabname = 'IT_EKKO'.

  wa_fieldcat-fieldname = 'EQ_WERKS'.

  wa_fieldcat-seltext_m = 'Plant '.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

 

 

  wa_fieldcat-tabname = 'IT_EKKO'.

  wa_fieldcat-fieldname = 'LIFNR'.

  wa_fieldcat-seltext_m = 'Vendor Account NO.'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

 

 

  wa_fieldcat-tabname = 'IT_EKKO'.

  wa_fieldcat-fieldname = 'EKORG'.

  wa_fieldcat-seltext_m = 'Purchese Organization'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

 

 

ENDFORM.                    "BUILD_FIELDCATLOG

 

 

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

*&      Form  EVENT_CALL

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

*   we get all events - TOP OF PAGE or USER COMMAND in table v_events

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

FORM event_call.

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

    EXPORTING

      i_list_type = 0

    IMPORTING

      et_events   = v_events.

ENDFORM.                    "EVENT_CALL

 

 

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

*&      Form  POPULATE_EVENT

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

*      Events populated for TOP OF PAGE & USER COMAND

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

FORM populate_event.

  READ TABLE v_events INTO wa_event WITH KEY name = 'TOP_OF_PAGE'.

  IF sy-subrc EQ 0.

    wa_event-form = 'TOP_OF_PAGE'.

    MODIFY v_events FROM wa_event TRANSPORTING form

        WHERE name = wa_event-form.

  ENDIF.

 

 

  READ TABLE v_events INTO wa_event WITH KEY name = 'USER_COMMAND'.

  IF sy-subrc EQ 0.

    wa_event-form = 'USER_COMMAND'.

    MODIFY v_events FROM wa_event TRANSPORTING form

        WHERE name = wa_event-name.

  ENDIF.

ENDFORM.                    "POPULATE_EVENT

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

*&      Form  data_retrieval

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

*   retreiving values from the database table ekko

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

FORM data_retrieval.

  SELECT ebeln pincr zzmaterial zzcompany_code eq_werks lifnr ekorg FROM ekko INTO TABLE it_ekko.

 

 

ENDFORM.                    "data_retrieval

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

*&      Form  bUild_listheader

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

FORM build_listheader USING i_listheader TYPE slis_t_listheader.

  DATA hline TYPE slis_listheader.

  hline-info = 'this is my first alv pgm'.

  hline-typ = 'H'.

ENDFORM.                    "build_listheader

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

*&      Form  display_alv_report

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

FORM display_alv_report.

  v_repid = sy-repid.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

      i_callback_program      = v_repid

      i_callback_user_command = 'USER_COMMAND'

      i_callback_top_of_page  = 'TOP_OF_PAGE'

      i_grid_title            = i_title_ekko

      it_fieldcat             = i_fieldcat[]

      i_save                  = 'A'

      it_events               = v_events

    TABLES

      t_outtab                = it_ekko.

ENDFORM.                    "display_alv_report

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

*&      Form  TOP_OF_PAGE

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

FORM top_of_page.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

    EXPORTING

      it_list_commentary = it_listheader.

ENDFORM.                    "TOP_OF_PAGE

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

*&      Form  USER_COMMAND

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

FORM user_command USING r_ucomm LIKE sy-ucomm

                        rs_selfield TYPE slis_selfield.

  CASE r_ucomm.

    WHEN '&IC1'.

      READ TABLE it_ekko INTO wa_ekko INDEX rs_selfield-tabindex .

      PERFORM build_fieldcatlog_ekpo.

      PERFORM event_call_ekpo.

      PERFORM populate_event_ekpo.

      PERFORM data_retrieval_ekpo.

      PERFORM build_listheader_ekpo USING it_listheader.

      PERFORM display_alv_ekpo.

  ENDCASE.

ENDFORM.                    "user_command

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

*&      Form  BUILD_FIELDCATLOG_EKPO

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

FORM build_fieldcatlog_ekpo.

 

 

  wa_fieldcat-tabname = 'IT_EKPO'.

  wa_fieldcat-fieldname = 'ZZMATERIAL'.

  wa_fieldcat-seltext_m = 'Material Discription'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

  wa_fieldcat-tabname = 'IT_EKPO'.

  wa_fieldcat-fieldname = 'ZZQUANTITY'.

  wa_fieldcat-seltext_m = 'PO Quantity'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

  wa_fieldcat-tabname = 'I_EKPO'.

  wa_fieldcat-fieldname = 'ZZUNIT'.

  wa_fieldcat-seltext_m = 'Unit '.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

  wa_fieldcat-tabname = 'I_EKPO'.

  wa_fieldcat-fieldname = 'NETPR'.

  wa_fieldcat-seltext_m = 'Net Price'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

 

 

  wa_fieldcat-tabname = 'I_EKPO'.

  wa_fieldcat-fieldname = 'EMLIF'.

  wa_fieldcat-seltext_m = 'Vendor'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

 

 

  wa_fieldcat-tabname = 'I_EKPO'.

  wa_fieldcat-fieldname = 'LBLKZ'.

  wa_fieldcat-seltext_m = 'Vendor account no'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

 

 

ENDFORM.                    "BUILD_FIELDCATLOG_EKPO

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

*&      Form  event_call_ekpo

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

*   we get all events - TOP OF PAGE or USER COMMAND in table v_events

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

FORM event_call_ekpo.

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

    EXPORTING

      i_list_type = 0

    IMPORTING

      et_events   = v_events.

ENDFORM.                    "event_call_ekpo

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

*&      Form  POPULATE_EVENT

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

*        Events populated for TOP OF PAGE & USER COMAND

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

FORM populate_event_ekpo.

  READ TABLE v_events INTO wa_event WITH KEY name = 'TOP_OF_PAGE'.

  IF sy-subrc EQ 0.

    wa_event-form = 'TOP_OF_PAGE'.

    MODIFY v_events FROM wa_event TRANSPORTING form

        WHERE name = wa_event-form.

  ENDIF.

 

 

ENDFORM.                    "POPULATE_EVENT

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

*&      Form  TOP_OF_PAGE

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

FORM f_top_of_page.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

    EXPORTING

      it_list_commentary = it_listheader.

ENDFORM.                    "TOP_OF_PAGE

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

*&      Form  USER_COMMAND

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

FORM data_retrieval_ekpo.

*retreiving values from the database table ekko

  SELECT zzmaterial zzquantity zzunit netpr emlif lblkz FROM ekpo INTO TABLE it_ekpo.

ENDFORM.                    "DATA_RETRIEVAL_EKPO

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

*&      Form  BUILD_LISTHEADER_EKPO

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

FORM build_listheader_ekpo USING i_listheader TYPE slis_t_listheader.

  DATA: hline1 TYPE slis_listheader.

  hline1-typ = 'H'.

  hline1-info = 'CHECKING PGM'.

ENDFORM.                    "BUILD_LISTHEADER_EKPO

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

*&      Form  DISPLAY_ALV_EKPO

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

FORM display_alv_ekpo.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

      i_callback_program     = v_repid

      i_callback_top_of_page = 'TOP_OF_PAGE'

      i_grid_title           = i_title_ekpo

      it_fieldcat            = i_fieldcat[]

      i_save                 = 'A'

      it_events              = v_events

    TABLES

      t_outtab               = it_ekpo

    EXCEPTIONS

      program_error          = 1

      OTHERS                 = 2.

ENDFORM.                    "DISPLAY_ALV_EKPO

 

 

 

 

 

 

 

 

 

 

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

*&      Form  User_command2

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

FORM user_command2 USING r_ucomm LIKE sy-ucomm

                        rs_selfield TYPE slis_selfield.

  CASE r_ucomm.

    WHEN '&IC1'.

      READ TABLE it_lfa1 INTO wa_lfa1 INDEX rs_selfield-tabindex .

      PERFORM build_fieldcatlog_lfa1.

      PERFORM event_call_lfa1.

      PERFORM populate_event_lfa1.

      PERFORM data_retrieval_lfa1.

      PERFORM build_listheader_lfa1 USING it_listheader.

      PERFORM display_alv_lfa1.

  ENDCASE.

ENDFORM.

 

 

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

*&      Form  BUILD_FIELDCATLOG_EKPO

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

FORM build_fieldcatlog_lfa1.

 

 

  wa_fieldcat-tabname = 'IT_LFA1'.

  wa_fieldcat-fieldname = 'NAME1'.

  wa_fieldcat-seltext_m = 'Name1'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

 

 

  wa_fieldcat-tabname = 'IT_LFA1'.

  wa_fieldcat-fieldname = 'NAME2'.

  wa_fieldcat-seltext_m = 'Name2'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

 

 

   wa_fieldcat-tabname = 'IT_LFA1'.

  wa_fieldcat-fieldname = 'ORTO1'.

  wa_fieldcat-seltext_m = 'City'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

 

 

   wa_fieldcat-tabname = 'IT_LFA1'.

  wa_fieldcat-fieldname = 'ORTO2'.

  wa_fieldcat-seltext_m = 'District'.

  APPEND wa_fieldcat TO i_fieldcat.

  CLEAR wa_fieldcat.

 

 

ENDFORM.                    "BUILD_FIELDCATLOG_EKPO

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

*&      Form  event_call_ekpo

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

*   we get all events - TOP OF PAGE or USER COMMAND in table v_events

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

FORM event_call_lfa1.

  CALL FUNCTION 'REUSE_ALV_EVENTS_GET'

    EXPORTING

      i_list_type = 0

    IMPORTING

      et_events   = v_events.

ENDFORM.                    "event_call_ekpo

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

*&      Form  POPULATE_EVENT

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

*        Events populated for TOP OF PAGE & USER COMAND

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

FORM populate_event_lfa1.

  READ TABLE v_events INTO wa_event WITH KEY name = 'TOP_OF_PAGE'.

  IF sy-subrc EQ 0.

    wa_event-form = 'TOP_OF_PAGE'.

    MODIFY v_events FROM wa_event TRANSPORTING form

        WHERE name = wa_event-form.

  ENDIF.

 

 

ENDFORM.                    "POPULATE_EVENT

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

*&      Form  TOP_OF_PAGE

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

FORM ff_top_of_page.

  CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'

    EXPORTING

      it_list_commentary = it_listheader.

ENDFORM.                    "TOP_OF_PAGE

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

*&      Form  USER_COMMAND

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

FORM data_retrieval_lfa1.

*retreiving values from the database table ekko

  SELECT name1 name2 ort01 ort02 FROM lfa1 INTO TABLE it_lfa1.

ENDFORM.                    "DATA_RETRIEVAL_EKPO

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

*&      Form  BUILD_LISTHEADER_EKPO

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

FORM build_listheader_lfa1 USING i_listheader TYPE slis_t_listheader.

  DATA: hline1 TYPE slis_listheader.

  hline1-typ = 'H'.

  hline1-info = 'CHECKING PGM'.

ENDFORM.                    "BUILD_LISTHEADER_EKPO

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

*&      Form  DISPLAY_ALV_EKPO

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

FORM display_alv_lfa1.

  CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'

    EXPORTING

      i_callback_program     = v_repid

      i_callback_top_of_page = 'TOP_OF_PAGE'

      i_grid_title           = i_title_ekpo

      it_fieldcat            = i_fieldcat[]

      i_save                 = 'A'

      it_events              = v_events

    TABLES

      t_outtab               = it_ekpo

    EXCEPTIONS

      program_error          = 1

      OTHERS                 = 2.

ENDFORM.                    "DISPLAY_ALV_EKPO

 

 

 

 


Please send me correct program .
Regards,
Sandeep

Viewing all articles
Browse latest Browse all 4237

Trending Articles