Ramazan Tosun
Kayıtlı Üye
- Katılım
- 13 Ara 2016
- Mesajlar
- 23
- Tepki puanı
- 15
- Puanları
- 3
- Yaş
- 30
- Konum
- Muğla
- Kullandığınız SAP Modülleri
-
- SAP ABAP
External Database Bağlantısı
Bazı durumlarda SAP sisteminin dışında bir database ile veri alışverişi yapmak zorunda kalabiliyoruz. Aşağıdaki örnekte SAP sisteminden external bir MS SQL server database sunucusuna nasıl bağlanabileceğimizi göreceğiz.
İhtiyacımız olan bilgiler :
Bağlantının doğru olup olmadığını test etmek için SE38’den ADBC_TEST_CONNECTION adlı programı çalıştırıyoruz.
Bağlantı adımızı seçiyoruz demo olarak IDES adlı bir bağlantı oluşturun.
Programı çalıştırıp sonucu görebiliriz. “successfully opened.” mesajını almışsak bağlantı başarılı demektir.
Bu bağlantıyı kullanmak için SE38 den aşağıdaki gibi bir program yazıyoruz.
*&———————————————————————*
*& Report ZMUS_SQLDEMO
*&
*&———————————————————————*
REPORT ZMUS_SQLDEMO.
DATA: exc_ref TYPE REF TO cx_sy_native_sql_error,
error_text TYPE string.
DATA: wa_scarr type scarr.
data: it_scarr type TABLE OF scarr.
TRY.
EXEC SQL .
connect to ‘IDES’
ENDEXEC.
CATCH cx_sy_native_sql_error INTO exc_ref.
error_text = exc_ref->get_text( ).
MESSAGE error_text TYPE ‘E’.
ENDTRY.
TRY.
EXEC SQL PERFORMING append_wa.
SELECT *
FROM [TST].[tst].[SCARR]
INTO :wa_scarr
ENDEXEC.
CATCH cx_sy_native_sql_error INTO exc_ref.
error_text = exc_ref->get_text( ).
MESSAGE error_text TYPE ‘E’.
ENDTRY.
LOOP AT it_scarr INTO wa_scarr.
write :/ wa_scarr–carrid,‘:’,wa_scarr–carrname.
ENDLOOP.
FORM APPEND_WA.
append wa_scarr to it_scarr.
endform.
Sonuç olarak ERP sisteminden IDES sistemindeki scarr tablosunun içeriğini görmüş olduk. ERP sistemi SCARR tablosu içeriği;
IDES sistemi SCARR tablosu içeriği;
Bazı durumlarda SAP sisteminin dışında bir database ile veri alışverişi yapmak zorunda kalabiliyoruz. Aşağıdaki örnekte SAP sisteminden external bir MS SQL server database sunucusuna nasıl bağlanabileceğimizi göreceğiz.
İhtiyacımız olan bilgiler :
- External database host name
- Database adı
- Kullanıcı ismi ve şifre
- Username ve DB password kısmına external database’de tanımlı olan kullanıcı ismi ve şifremizi yazıyoruz.
- Conn. info kısmına MSSQL_SERVER=tcp:INFOIDES MSSQL_DBNAME=TST kaydını ekliyoruz.
- INFOIDES : External Database Host name
- TST : database name
Bağlantının doğru olup olmadığını test etmek için SE38’den ADBC_TEST_CONNECTION adlı programı çalıştırıyoruz.
Bağlantı adımızı seçiyoruz demo olarak IDES adlı bir bağlantı oluşturun.
Programı çalıştırıp sonucu görebiliriz. “successfully opened.” mesajını almışsak bağlantı başarılı demektir.
Bu bağlantıyı kullanmak için SE38 den aşağıdaki gibi bir program yazıyoruz.
*&———————————————————————*
*& Report ZMUS_SQLDEMO
*&
*&———————————————————————*
REPORT ZMUS_SQLDEMO.
DATA: exc_ref TYPE REF TO cx_sy_native_sql_error,
error_text TYPE string.
DATA: wa_scarr type scarr.
data: it_scarr type TABLE OF scarr.
TRY.
EXEC SQL .
connect to ‘IDES’
ENDEXEC.
CATCH cx_sy_native_sql_error INTO exc_ref.
error_text = exc_ref->get_text( ).
MESSAGE error_text TYPE ‘E’.
ENDTRY.
TRY.
EXEC SQL PERFORMING append_wa.
SELECT *
FROM [TST].[tst].[SCARR]
INTO :wa_scarr
ENDEXEC.
CATCH cx_sy_native_sql_error INTO exc_ref.
error_text = exc_ref->get_text( ).
MESSAGE error_text TYPE ‘E’.
ENDTRY.
LOOP AT it_scarr INTO wa_scarr.
write :/ wa_scarr–carrid,‘:’,wa_scarr–carrname.
ENDLOOP.
FORM APPEND_WA.
append wa_scarr to it_scarr.
endform.
Sonuç olarak ERP sisteminden IDES sistemindeki scarr tablosunun içeriğini görmüş olduk. ERP sistemi SCARR tablosu içeriği;
IDES sistemi SCARR tablosu içeriği;