Example on AMDP with Instance Method

CLASS zvb_amdp_class DEFINITION

PUBLIC

  FINAL

  CREATE PUBLIC .

 

  PUBLIC SECTION.

    TYPES:BEGIN OF ty_stu,

            id   TYPE numc10,

            name TYPE char20,

            dep type char20,

          END OF ty_stu.

    TYPES:tt_stu TYPE STANDARD TABLE OF ty_stu.

 

    INTERFACES:if_amdp_marker_hdb.

 

    CLASS-METHODS:fetch_data IMPORTING

                               VALUE(iv_id)  TYPE zvb_stu-id

                             EXPORTING

                               VALUE(et_stu) TYPE tt_stu.

ENDCLASS.

 

CLASS zvb_amdp_class IMPLEMENTATION.

  METHOD fetch_data BY DATABASE PROCEDURE

                    FOR HDB

                    LANGUAGE SQLSCRIPT

                    OPTIONS READ-ONLY

                    USING zvb_stu.

 

    et_stu = select id,

                    name,

                    case name

                    when 'VASU'

                    THEN 'CSE'

                    WHEN 'SAKHI'

                    THEN 'ECE'

                    END AS dep

     from zvb_stu WHERE id = :iv_id;

 

  ENDMETHOD.

ENDCLASS.

 

Call AMDP Class in Report Program:

REPORT zvb_amdp_program.

data:lo_stu type ref to zvb_amdp_class1.

PARAMETERS:p_id TYPE zvb_stu-id.

 

create OBJECT lo_stu.

lo_stu->fetch_data(

  EXPORTING iv_id = p_id

  IMPORTING et_stu = DATA(lt_stu)

            et_stu1 = data(lt_stu1) ).

 

cl_demo_output=>display_data( name = 'Student Details' value = lt_stu ).

 

Output: 

 

Comments

Popular posts from this blog

CDS Views: Table Functions with Example

Passing Dynamic Variables to SO10 TEXT

Adobe Form/PDF Form Introduction