AMDP class Using Select-Options

CLASS zvb_amdp_class1 DEFINITION

  PUBLIC

  FINAL

  CREATE PUBLIC .

 

  PUBLIC SECTION.

    TYPES: tt_vbeln TYPE RANGE OF vbeln,

           BEGIN OF ty_vbak,

             mandt TYPE vbak-mandt,

             vbeln TYPE vbak-vbeln,

             erdat TYPE vbak-erdat,

             ernam TYPE vbak-ernam,

           END OF ty_vbak,

           tt_vbak TYPE TABLE OF ty_vbak.

 

    CLASS-METHODS:so_data IMPORTING VALUE(it_vbeln) TYPE tt_vbeln

                                    VALUE(iv_mandt) TYPE symandt

                          EXPORTING VALUE(et_so)    TYPE tt_vbak  .

 

    INTERFACES:if_amdp_marker_hdb.

  PROTECTED SECTION.

  PRIVATE SECTION.

ENDCLASS.

 

CLASS zvb_amdp_class1 IMPLEMENTATION.

 

  METHOD so_data BY DATABASE PROCEDURE FOR HDB LANGUAGE SQLSCRIPT OPTIONS READ-ONLY USING vbak.

    et_so = select mandt,

                   vbeln,

                   erdat,

                   ernam

                   FROM vbak as a

                   INNER JOIN :it_vbeln as b 

     ON ( a.vbeln between b.low and b.high AND b.sign = 'I' AND b.option = 'BT' )

     OR ( a.vbeln = b.low AND b.sign = 'I' AND b.option = 'EQ' ) 

     WHERE mandt = :iv_mandt;

  ENDMETHOD.

ENDCLASS.

 

Call AMDP in Report

 

REPORT zsd_test.
TABLESvbak.

SELECT-OPTIONSso_vbeln FOR vbak-vbeln.

CALL METHOD zvb_amdp_class1=>so_data
  EXPORTING
    it_vbeln so_vbeln[]
    iv_mandt sy-mandt
  IMPORTING
    et_so    DATA(lt_vbeln).

cl_demo_output=>Displaylt_vbeln ).

 

Report:

  

 

Comments

Popular posts from this blog

Passing Dynamic Variables to SO10 TEXT

Implicit Enhancement with Example

TMG Events