直接使用CDS VIEW 输出SALV

demo to show salv with cds view! 

  TRY .
    DATA IV_CDS_VIEW_NAME      TYPE DBTABL.
    DATA IO_GUI_CONTAINER      TYPE REF TO CL_GUI_CONTAINER.
    DATA IO_CALC_FIELD_HANDLER TYPE REF TO IF_SALV_IDA_CALC_FIELD_HANDLER.
    DATA RO_ALV_GUI_TABLE_IDA  TYPE REF TO IF_SALV_GUI_TABLE_IDA.

   IV_CDS_VIEW_NAME = 'ZCDSV_MATERIAL'.
    ro_alv_gui_table_ida = cl_salv_gui_table_ida=>create_for_cds_view(
        iv_cds_view_name      = iv_cds_view_name
        io_gui_container      = io_gui_container
        io_calc_field_handler = io_calc_field_handler
           ).

  CATCH CX_SALV_DB_CONNECTION INTO DATA(LO_SALV_DB_CONNECTION).    "
  CATCH CX_SALV_DB_TABLE_NOT_SUPPORTED INTO DATA(LO_SALV_DB_TABLE_NOT_SUPPORTED).    "
  CATCH CX_SALV_IDA_CONTRACT_VIOLATION INTO DATA(LO_SALV_IDA_CONTRACT_VIOLATION).
  CATCH CX_SALV_FUNCTION_NOT_SUPPORTED  INTO DATA(LO_SALV_FUNTION_NOT_SUPPORTED).

    CLEANUP.
      IF LO_SALV_DB_CONNECTION IS BOUND.
        CLEAR:LO_SALV_DB_CONNECTION.
      ENDIF.

      IF LO_SALV_DB_TABLE_NOT_SUPPORTED IS BOUND.
        CLEAR:LO_SALV_DB_TABLE_NOT_SUPPORTED.
      ENDIF.

      IF LO_SALV_IDA_CONTRACT_VIOLATION IS BOUND.
        CLEAR:LO_SALV_IDA_CONTRACT_VIOLATION.
      ENDIF.

      IF LO_SALV_FUNTION_NOT_SUPPORTED IS BOUND .
        CLEAR:LO_SALV_FUNTION_NOT_SUPPORTED.
      ENDIF.
  ENDTRY.

  IF ro_alv_gui_table_ida IS NOT INITIAL .
    ro_alv_gui_table_ida->fullscreen( )->display( ).
  ENDIF.

 

posted @ 2018-11-09 16:22  linhuang  阅读(32)  评论(0)    收藏  举报  来源