SAP Connector for .Net

.Net ile geliştirilen projeler içerisinde SAP ile entegrasyon aşamasında kullanılması gereken SAP Connector’ün 32 bit ve 64 bit yükleme seçenekleri ile birlikte OSS kullanıcı adı ve şifrenizle birlikte SAP sitesinden indirebilirsiniz.

Connector 3.0 kurulumundan sonra Visual Studio üzerinden Console Application oluştup References kısmından sapnco ve sapnco_utils DLL’lerini projeye eklemeniz gerekiyor.

Gerekli referansları tanımladıktan sonra, proxy ayarlarının tanımlanması için App.config klasöründe yer alan kısma aşağıdaki şekilde SAP bağlantı bilgilerini doldurmanız gerekli.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <configSections>
    <sectionGroup name="SAP.Middleware.Connector">
      <sectionGroup name="ClientSettings">
        <section name="DestinationConfiguration" 
        type="SAP.Middleware.Connector.RfcDestinationConfiguration, sapnco"/>
      </sectionGroup>
    </sectionGroup>
  </configSections>
  <SAP.Middleware.Connector>
    <ClientSettings>
      <DestinationConfiguration>
        <destinations>
          <add NAME="Your Destination Name"
               USER="Your Sap User Name" 
               PASSWD="Your Sap User Password" 
               CLIENT="Your SAP Cliend ID" 
               LANG="EN" 
               ASHOST="SAP Server host IP " 
               SYSNR="Sap System Number" 
               POOL_SIZE="5" 
               MAX_POOL_SIZE="10"/>
        </destinations>
      </DestinationConfiguration>
    </ClientSettings>
  </SAP.Middleware.Connector>
  <startup>
    <supportedRuntime version="v2.0.50727"/>
  </startup>
</configuration>

Sap ve .Net ile gerekli bağlantı ayarlarının girişini sağladıktan sonra kodlama aşamasına geçebiliriz. Öncelikle bu örnekte SAP tarafından yayınladığımız bir RFC üzerinden dönen tablonun içerisindeki bir dataya ulaşarak ekrana yazdıracağım.

SAP tarafında basit bir RFC oluşturarak bir tablo içerisinde istediğimiz bir tabloyu döndüreceğiz.

SE37 üzerinden ZMM_RFC_SAMPLE isminde bir RFC oluşturarak MARA tablosundaki tüm alanları çekeceğim kod bloğunu yazarak RFC olarak yayınlıyorum.

FUNCTION ZMM_RFC_SAMPLE.
clear: et_esl,et_esl[]. 
select * into table et_esl from MARA. 

ENDFUNCTION.

RFC’yi oluşturduktan sonra Console uygulaması içerisinde bu RFC’ye bağlanmak için gerekli kodlama aşağıdaki gibidir.

namespace SapConnectorConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            RfcDestination dest = RfcDestinationManager.GetDestination("Your Destination Name");
            IRfcFunction rfc_get_mska = dest.Repository.CreateFunction("ZMM_RFC_SAMPLE");
            rfc_get_mska.Invoke(dest);
            IRfcTable gt_table = rfc_get_table.GetTable("ET_ESL");
            IRfcTableView rfcTableView = (gt_table as ISupportTableView).DefaultView;

            for (int i = 0; i < gt_table.RowCount; i++)
            {
                Console.WriteLine("Material No " + i.ToString() + " : " + gt_table[i].GetString("MATNR"));
            }

            Console.ReadLine();
        }
    }
}

Belirlediğimiz destination içerisinde oluşturduğumuz RFC ismi ile bağlandığımız fonksyion içerisinden dönen ET_ESL tablosunu okuyabilir ve içerisinde yer alan her kolonu .Net projemiz içerisinde konumlandırabiliriz. Yukarıdaki örnekte yer aldığı gibi ET_ESL tablosu içerisindeki kolonlardan MATNR alanını çekiyoruz.

Uygulamanın çıktısı aşağıdaki şekildedir.

Sap_Connector_3.0

https://analytics.blue/amo.js

Posted in SAP

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s