CDS Assignment-1
CDS Assignment-1
Create a CDS View with the same output as in the ABAP Program below.
TABLES: ztm_bonds_cab.
TYPE-POOLS: slis.
*-------------------------------------------------------------------
---*
* PARAMETERS / SELECT-OPTIONS
*-------------------------------------------------------------------
---*
SELECTION-SCREEN BEGIN OF BLOCK aa WITH FRAME TITLE text-001.
PARAMETERS: p_var LIKE disvariant-variant.
SELECTION-SCREEN END OF BLOCK aa.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS:
s_cron FOR ztm_bonds_cab-created_on,
s_crby FOR ztm_bonds_cab-created_by NO INTERVALS,
s_chon FOR ztm_bonds_cab-changed_on,
s_chby FOR ztm_bonds_cab-changed_by NO INTERVALS.
SELECTION-SCREEN END OF BLOCK bb.
*-------------------------------------------------------------------
---*
* DATA Declarations
*-------------------------------------------------------------------
---*
DATA: t_cab LIKE ztm_bonds_cab OCCURS 0.
*-------------------------------------------------------------------
---*
* INITIALIZATION Event
*-------------------------------------------------------------------
---*
INITIALIZATION.
DATA: variant_name LIKE disvariant-variant.
*-------------------------------------------------------------------
---*
* AT SELECTION-SCREEN Events
*-------------------------------------------------------------------
---*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_var.
DATA: variant_name LIKE disvariant-variant.
AT SELECTION-SCREEN.
PERFORM alv_variant_exists CHANGING p_var.
*-------------------------------------------------------------------
---*
* START-OF-SELECTION Event
*-------------------------------------------------------------------
---*
START-OF-SELECTION.
PERFORM get_data.
*-------------------------------------------------------------------
---*
* END-OF-SELECTION Event
*-------------------------------------------------------------------
---*
END-OF-SELECTION.
*eject
********************************************************************
****
* S U B R O U T I N E S
*
********************************************************************
****
FORM alv_get_default CHANGING default_variant LIKE disvariant-
variant.
DATA: alv_variant LIKE disvariant.
CLEAR alv_variant.
alv_variant-report = sy-repid.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
i_save = 'A'
CHANGING
cs_variant = alv_variant
EXCEPTIONS
wrong_input = 1
not_found = 2
program_error = 3
OTHERS = 4.
IF sy-subrc = 0.
default_variant = alv_variant-variant.
ENDIF.
ENDFORM. "alv_init
*&------------------------------------------------------------------
--*
*& Form alv_f4
*&------------------------------------------------------------------
--*
* text
*-------------------------------------------------------------------
--*
FORM alv_lookup_variant CHANGING variant_name LIKE disvariant-
variant.
DATA: alv_variant LIKE disvariant.
CLEAR alv_variant.
alv_variant-report = sy-repid.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = alv_variant
i_save = 'A'
IMPORTING
es_variant = alv_variant
EXCEPTIONS
not_found = 1
program_error = 2
OTHERS = 3.
IF sy-subrc = 1.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
variant_name = alv_variant-variant.
ENDIF.
ENDFORM. "alv_f4
*&------------------------------------------------------------------
--*
*& Form alv_check
*&------------------------------------------------------------------
--*
* text
*-------------------------------------------------------------------
--*
FORM alv_variant_exists USING variant_name LIKE disvariant-variant.
DATA: alv_variant LIKE disvariant.
*&------------------------------------------------------------------
--*
*& Form get_data
*&------------------------------------------------------------------
--*
* text
*-------------------------------------------------------------------
--*
FORM get_data.
* DATA: wa_cab LIKE ztm_bonds_cab.
DATA: wa_linecount TYPE i.
*&------------------------------------------------------------------
--*
*& Form write_report
*&------------------------------------------------------------------
--*
* text
*-------------------------------------------------------------------
--*
FORM write_report.
DATA: alv_fc TYPE slis_t_fieldcat_alv.
DATA: alv_sort TYPE slis_t_sortinfo_alv.
DATA: wa_sort TYPE slis_sortinfo_alv.
DATA: alv_variant TYPE disvariant.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_structure_name = 'ZTM_BONDS_CAB'
CHANGING
ct_fieldcat = alv_fc
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
alv_variant-report = sy-repid.
alv_variant-variant = variant_name.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = alv_fc
* it_sort = alv_sort
i_save = 'A'
is_variant = alv_variant
TABLES
t_outtab = t_cab
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. "write_report