SAP sistemini otomatik başlatmak

Öncelikle windows servislerinden SAP ile ilgili olan servisi otomatik yapın.

Otomatik başlatılacak sistemin Default.pfl dosyasına Autostart=1 ekleyin.

C# ‘da X509 sertifikasını PkiPath formatında kaydetmek

Her zaman olduğu gibi C# bu formatı desteklemiyor. Normalde X509Certificate2 nesnesnin Export() metodu mevcut ancak PkiPath formatını destelemiyor. Bu işlemi yapabilmek için ücretis Bouncy Castle kütüphanesi kullanabilirsiniz. Kütüphane içinde yer alan Org.BouncyCastle.Pkix.PkixCertPath class’ın GetEncoded() metodunu kullanabilirsiniz.

C# Uygulamanın yada DLL’nin dosya sürümünü almak için

System.Reflection.Assembly assembly = System.Reflection.Assembly.GetEntryAssembly(); //DLL'i çağıran ana uygulama
if (assembly == null)
assembly = System.Reflection.Assembly.GetExecutingAssembly(); //Kodu çalıştıran uygulama
string version = System.Diagnostics.FileVersionInfo.GetVersionInfo(assembly.Location).FileVersion; //versiyon

MS SQL’de yine ciddi bir bug

UPDLOCK ve READPAST anahtarlarını birlikte kullanarak transaction içinde seçmiş olduğunuz kayıtların diğer transactionlar tarafından görülmemesini istiyorsanız sorgunuzda mutlaka ORDER BY deyimi bulunmalıdır. ORDER BY yoksa çalışmıyor.

MSSQL’de ciddi bir bug

MSSQL’de tabloya insert cümlesi ile veri atmaya çalışırken aşağıdaki hatayı aldım. İnternet üzerinden yaptığım aramalarda bu hatanın network sorunu olduğundan bahsedilmiş. Oysaki lokalde çalışan 2008 R2 veri tabanı ile çalışıyordum.

A transport-level error has occurred when receiving results from the server. (provider: Session Provider, error: 19 – Physical connection is not usable)

Aşağıdaki gibi bir insert cümlesi kullanıyordum:

INSERT INTO MyTable (RecordDate) VALUES (@RecordDate)

DateTime nesnesini C# tarafında yaratmıştım ve NULL olduğu için aşağıdaki değeri taşıyordu:

01.01.0001 00:00:00

C# nesnemi nullable yapıp insert komutuna eklerken DBNull.Value yapınca sorun düzeldi.

Ama aklım hala Microsoft gibi bir firmanın DateTime hatası dönmek yerine fiziksel bağlantının koptuğu yönünde bir mesaj veriyor olması.

SOAMANAGER’ı yetkisiz çalıştırmak

SE93 t-code’undan WDYID t-code’unu girerek çalıştırın:

Application parametresine APPL_SOAP_MANAGEMENT
Start Mode parametresine ise BROWSER girerek raporu yürütün.

Exit bulmak

CL_EXITHANDLER class’ının GET_INSTANCE methoduna break point koyarsanız, programlar exit çağırmaya çalıştığında yakalayabilirsiniz.