BAPI_EXCHANGERATE_GETDETAIL Get the exchange rate

This BAPI is efficient in execution in Loop and needs to be collected manually

 

data:begin of gs_exch_rate ,

       kurst   type kurst,

       datum   type datum,

       waers_f type waers,

       waers_t type waers,

       kursf   type kursf,

     end of gs_exch_rate.

data gt_exch_rate like standard table of gs_exch_rate with header line.

 

perform frm_exchangerate_get using 'Z100' lv_datum_i gt_alv-waers gt_alv-waers_bb changing gt_alv-kursf.

 

form frm_exchangerate_get  using  uv_kurst  uv_datum_i

                                    uv_waers

                                    uv_waers_bb

                           changing cv_kursf.

  data:

    ls_exch_rate type bapi1093_0,

    ls_return    type bapiret1.

 

  read table gt_exch_rate with key kurst = uv_kurst datum = uv_datum_i waers_f = uv_waers waers_t = uv_waers_bb binary search.

  if sy-subrc = 0.

    cv_kursf = gt_exch_rate-kursf.

  else.

    call function 'BAPI_EXCHANGERATE_GETDETAIL'

      exporting

        rate_type  = uv_kurst

        from_curr  = uv_waers

        to_currncy = uv_waers_bb

        date       = uv_datum_i

      importing

        exch_rate  = ls_exch_rate

        return     = ls_return.

 

    cv_kursf = ls_exch_rate-exch_rate.

 

    gt_exch_rate-kurst = uv_kurst.

    gt_exch_rate-datum = uv_datum_i.

    gt_exch_rate-waers_f = uv_waers.

    gt_exch_rate-waers_t = uv_waers_bb.

    gt_exch_rate-kursf = cv_kursf.

    insert gt_exch_rate into table gt_exch_rate.

  endif.

 

endform.

 

Guess you like

Origin blog.csdn.net/cylcylcylcylwo/article/details/114014997