İşlem kodu ST04, gelen ekranda Diagnostics menüsünden SQL Command Editor ile erişilir. Gelen sekmeli ekranda SQLCode sekmesinde mevcut SQL Serverin native dilinde sorgu yazılıp Execute butonu ile çalıştırıldığında Output sekmesinde sorgu sonucu görüntülenir. Sadece SELECT işlemine izin verir, veri değişikliği yapılamaz.
SQL Code:
SELECT TOP 10 MANDT, MATNR, ERSDA FROM MARA;
Output:
MANDT MATNR ERSDA
===== ================== ========
100 000000000000000003 20130321
100 000000000000000004 20130321
100 001706 20130410
100 1 20130411
100 100/2 MM-TENCEL S 20140725
100 1001 20140725
100 1002 20140725
100 1004 20140725
100 1005 20140725
100 1005XX 20140725
Etiket arşivi: sql
T-SQL sorgu performansı için basit tavsiyeler
1. SELECT sorgularınızda * asteriks yerine alan adlarını kullanın.
SELECT * FROM MyTable; ---Uzak durulmalı.
SELECT ID, Description, DateModified FROM MyTable; --- Daha sağlık bir kullanım şekli.
2. INSERT komutlarımızda da bir önceki kurallımız gibi alan adları kullanılmalı.
INSERT INTO MyTable VALUES ('A','B','C'); --- SAğlıksız bir kullanım.
3. SELECT sorgularınızın daha hızlı döndürmesi için LIKE kullanımında daha dikkatli olmalısınız.
SELECT Distinct LastName FROM Person.Contact WHERE LastName LIKE '%sen'; --- En sık yapılan % karekteri ile sorgu koşullarının kullanımıdır.
SELECT Distinct LastName FROM Person.Contact WHERE LastName LIKE ‘___sen’; — Ancak koşul yazarken % kullanmadan önce _ kullanımına öncelik verilmelidir.
% kullanımında tüm karekterleri temsil eder, _ ise sadece tek karekter temsil eder. _ yi kullanmak için kaydın uzunluğu bilinmelidir aksi halde % kullanılmalıdır.
SELECT Distinct LastName FROM Person.Contact WHERE LastName LIKE 'A%sen'; --- Başlangıç karakteri gibi bir kullanımda sorguyu hızlandırır.
SELECT Distinct LastName FROM Person.Contact WHERE LastName LIKE ‘[A-M]%sen’; — Başlangış karakteri için bir dizi aralığı da verilebilir.
4. DISTINCT kullanımı eğer gerçekten gerekli ise kullanılmalı.
5. UNION kullanımı da gereksiz veya alternatifsiz ise tercih edilmelidir. Eğer tekrar eden kayıtlar sorun olmayacaksa UNION ALL şeklindeki bir kullanım tekrar sorgular ile uğraşıp tekrar eden kayıtları silmeye uğraşmayacağında daha performanslı çalışacaktır.
6. JOIN ile tabloların ilişkilendirilerek sorgu yazılması. WHERE IN kullanımı yerine.
SAP R3 – ABAP sık kullandıklarım.
A. SAP kullanıcı notları: CA03: Normal iş planı görüntüleme. CO02: Üretim siparişi değiştirme. COOIS: Üretim siparişlerinin toplu görüntülenmesi. (TMM ve TYTE hariç). CS03: Ürün ağcı görüntüleme. LT23: Nakil siparişlerini görüntüleme. MB11: Malzeme hareketi yaratma. MB51: Malzeme belgesi listesi. MB52: Stok görüntüleme. MD16: Planlı siparişleri görüntüleyip tek tek üretim siparişine dönüştürebilme. ME13: Satınalma bilgilerini görüntüleme. MIGO: Nakil hareketleri. MM03: Malzeme görüntüleme. MMBE: Stoğa genel bakış. QS41: QM Katalog bakımı. VL02N: Mal çıkışı irsaliye kesme. B. SAP geliştirici notları: SE10: Taşıma organizatörü. Test ve geliştirme vt. SE11: ABAP sözlük :) SE16: SAP tablo görüntüleyici. SE16n: Tablo içinde verileri değiştirebilme. SE37: Fonksiyon yaratma - düzeltme. SE38: Uygulama geliştirme - ABAP düzenleyicisi. SE80: Object Navigator - Gelişmiş ABAP kod editörü SE93: Transaction bakımı. SLG1: Uygulama günlüklerinin görüntülenmesi. SM04: SAP a bağlı kullanıcıları listeleme. SM37: Arka plan işlerinin kontrolü. STMS: Geliştirmelerinizi testten kalite ve canlı vt taşıma yöneticisi. SU01: SAP kullanıcı düzenleme. C. SAP tablolar: DBCON: SAP dış veri kaynakları bağlantı tablosu. D. ABAP notları: Substring işlemi: fieldname+starting_position(field_length). String Birleştirme: CONCATENATE c1 c2 c3 c4 INTO c5. String Başındaki Boşlukları Silme: CONDENSE degisken. Z. Zli Uygulamalar: ZMM45: MM Depo kullanılabilir stok raporu.F. ZMM600: MM Ürün EAN barkot listesi.F. ZMM601: MM Ürün - Yarımamul kırılım listesi.F. ZMM602: MM Çorap ek verileri.F. ZMM603: MM 0000 depo ean adet stok txt yaratma.F. ZPP150: PP İplikhane iş emri durum görüntüleme. ZPP310: PP Dikiş (4001-4002) depo stoklarının iş emri olmayan kalemleri.F. ZPP414: PP Parti no ile parti iş emri ve stok hareketleri raporu.F. ZPP450: PP Boayane açık üretim siparişleri. F. ZPP451: PP Boya şarj rezervasyon raporu.F. ZPP550: PP Forma Kalite iki tarih arası üretim hataları raporu.F. ZPP551: PP Forma Kalite günlük aql ve hata adetleri raporu.F. ZPP553: PP Forma Kalite parti barkod detay.F. ZPPSLG1: PP SLG1 günlük raporunun alv formu.F. ZWMD02: WM Rezervasyon hazıredim programı.S. ZWMD13: WM Barkod-Adres durum raporu.S. ZWMQ01: WM Barkod Tablosu raporu.S. ZWMQ02: MM - WM Sıralı haraeket raporu.S. ZWMR03: WM Boyaraf toplam giriş - çıkış raporu.F.
MSSQL Collate sotunu ve çözümü
Veritabanınızın collate ayarlarını değiştirmek isterseniz single moda geçmelisiniz.
ALTER DATABASE SAP SET SINGLE_USER WITH ROLLBACK IMMEDIATE
ALTER DATABASE SAP COLLATE TURKISH_CI_AS
ALTER DATABASE SAP SET MULTI_USER
Cannot resolve the collation conflict between
“Turkish_CI_AS” and “SQL_Latin1_General_CP1_CI_AS” in the equal to operation.
Hatasını alıyorsanız sorgu sonuna COLLATE TURKISH_CI_AS eklemelisiniz.
SELECT A.*
FROM ALGU_SAP_CUSTOMERS A,ALGU_SAP_ORDERHEAD B,ALGU_SAP_ORDERITEM C,ALGU_SAP_MATERIALS D
WHERE A.CUSTOMER = B.CUSTOMER AND B.DOCNUM = C.DOCNUM AND C.MATERIAL = D.MATERIAL
COLLATE TURKISH_CI_AS
SQL Sunucu – Ön Bellek Temizlenmesi
SQL sunucunuz çok yavaşladıysa ve işlemler bellek yetmezliğinden dolayı hatalar vermeye başladıysa SQL Server servisini yeniden başlatırsanız, tüm cache bilgisi otomatik olarak temizlenir. Ancak SQL Server servisini yeniden başlatmak mümkün değil ise aşağıdaki komutlarla da cache temizlenebilir, tempdb shrink işlemi işe yaramadığında bu komutu kullanmıştım:
DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE