SQL LIFE

Sap Abap Stored Procedure Çağırma - abap database connectivity (cl_sql_statement)

Abap Cl_sql_statement (adbc) kullanımı,Calling hana stored procedure from abap, sap abap hana stored procedure çağırma


Merhaba,
Abap Cl_sql_statement (adbc) sınıfı ile Calling hana stored procedure from abap yani abap’tan hana stored procedure çağırma işlemine değineceğiz.
Bir önceki yazımızda yazdığımız sp’yi çağıralım. http://www.sqllife.net/yazi/hana-sql-db-cursor-stored-procedure  isterseniz bu yazıyı da inceleyerek önce stored proc hakkında bilgi sahibi olabilirsiniz.

Aşağıdaki kodda tabloda kayıt olup olmadığı kontrol ediliyor ve yoksa sp çağırılıyor.

 
 
   
  try .
            data ttaylar type table of  zthk_aylar.
            data it_zthaylar type table of  zthk_aylar.
            select single count(*) from zthk_aylar.
            if sy-subrc eq 0.
              message 'Şuan İşlem Yapılmaktadır. Lütfen birazdan tekrar deneyiniz.' type 'E' display like 'S'.
            else.
              data(lo_stmt) = new cl_sql_statement( tab_name_for_trace = 'ZTHKAYORANLAMA_V4' ).
              
              data(lo_res) = lo_stmt->execute_query( statement = 'CALL "ZTHKAYORANLAMA_V4" ( ' && gv_olusturulan_belge && ', NULL  )' ).
              
              lo_res->set_param_table( itab_ref = ref #( ttaylar ) ).
              lo_res->next_package( ).
 
              select * from zthk_aylar into corresponding fields of table @it_zthaylar.
              delete from zthk_aylar.
              COMMIT WORK.
            endif.


          catch cx_root into data(ls_exx) .
            data(mesg) = ls_exx->get_text( ).
        endtry.
 


Sp bir girdi bir de çıktı olarak 2 parametre istiyordu, çıktımız bir tabloydu, sonuçta da  bir tabloya kayıt atıyorduk. SP çağırırken tablo parametresini null versem de sp bir tablo döndürdüğü için dönen parametre tipinde set_param_table metoduna itab’ı verdim, dönen değerleri aldım ve işlemim sona erdi.
Faydalı olması dileğiyle, bir başka makalede görüşmek üzere.
 

 
 
 
 
#
Ezgim Çelik
They didn't know it was impossible, so they did it - Mark Twain