ERP Nedir? | Türkiye'nin ERP Forum Platformu Ana Sayfa
Forum Anasayfa Forum Anasayfa > SQL > SQL Veri Tabanı İşlemleri
  Aktif Konular Aktif Konular RSS - bu kod daha kisa yazilamaz mi
  SSS SSS  Forumu Ara   Etkinlikler   Kayıt Ol Kayıt Ol  Giriş Giriş

ERP Nedir? Enterprise Resource Planning nasıl çalışır? İş süreçleri ile ilgili tüm soru ve cevapları ERPNe.org'da.

Ülkemizde hızla gelişmekte olan ERP yazılım sektörümüzün, Yerli ve Yabancı ERP işlemlerinin tanıtımı ve kullanıcılarının buluşma noktası olması hedefiyle kurulan sitemize hoş geldiniz.

Ülkemizdeki Ne.org konseptinde bir ilk olarak yayın hayatına başlayan ERPNe.org, Kurumsal Kaynak Planlaması yazılımlarını kullananların bilgi kaynağı/Portal olmak amacı ile kurulmuştur.

Genellikle yurt dışında büyük üreticiler tarafından geliştirilen SQL, Delphi, ASP, CSharp gibi teknolojilerin anlatıldığı sitelerin kullandıkları (WhatisSQL, WhatisASP) (Ülkemizde Netsis Nedir, Mikro Nedir, SAP Nedir yada Logo Nedir gibi kullanıcı sorularına) Ne ve nedir konseptinde yeni bir açılım olmasını da hedefleyen ERPNe.ORG' un, ülkemizin uluslararası ERP sektörü içinde hak ettiği yeri almasında ve ERP ürünlerini kullananların bir araya gelerek Yerli ERP'nin gelişmesine katkı sağlayacakları önemli bir kilometre taşı olacağı düşüncesindeyiz.


bu kod daha kisa yazilamaz mi

 Yanıt Yaz Yanıt Yaz
Yazar
Mesaj
  Konu Arama Konu Arama  Topic Seçenekleri Topic Seçenekleri
sadettincetin Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 01 Mayıs 2008
Konum: Konya
Durum: Aktif Değil
Puanlar: 0
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı sadettincetin Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: bu kod daha kisa yazilamaz mi
    Gönderim Zamanı: 21 Şubat 2009 Saat 11:26

söyle bir rapor lazim oldu: tüm kasa kodlari itibariyle önceki günden devir,günlük giris,günlük çikis ve gün sonu bakiyelerini çeken bir sorgu yazmaya çalistim.

 
ancak sorgu destan gibi uzadi.
 
bu sorgu daha kisa nasil yazilabilir.
 
fikri ve elestirisi olan arkadaslardan mesaj bekliyorum.
 
sorgu söyle
 
select ksmas_kod,ksmas_name
,--dünden devreden
(select isnull(sum(tutar),0)from
(select '' hartip ,x.ksmas_kod kod,doviz=(select dovizli from tblkasamas where ksmas_kod=x.ksmas_kod),tarih
,isnull(case when (select dovizli from tblkasamas where ksmas_kod=x.ksmas_kod)='H' then tutar else doviztut end,0) tutar,IO gc
,(select doviztipi from tblkasamas where ksmas_kod=x.ksmas_kod) dovtip
from tblkasa x  union all
select  'D' hartip ,ksmas_kod kod,dovizli doviz,'' tarih,case dovizli when 'H' then kssondev_t else kssondev_doviz end tutar,'G' gc,doviztipi dovtip from tblkasamas
) kasa  where tarih < '02.21.2009' and kod=t.ksmas_kod and gc='G')
-
(select isnull(sum(tutar),0)from
(select '' hartip ,x.ksmas_kod kod,doviz=(select dovizli from tblkasamas where ksmas_kod=x.ksmas_kod),tarih
,isnull(case when (select dovizli from tblkasamas where ksmas_kod=x.ksmas_kod)='H' then tutar else doviztut end,0) tutar,IO gc
,(select doviztipi from tblkasamas where ksmas_kod=x.ksmas_kod) dovtip
from tblkasa x  union all
select  'D' hartip ,ksmas_kod kod,dovizli doviz,'' tarih,case dovizli when 'H' then kssondev_t else kssondev_doviz end tutar,'G' gc,doviztipi dovtip from tblkasamas
) kasa  where tarih < '02.21.2009' and kod=t.ksmas_kod and gc='C') devir
,--bugün giren
(select isnull(sum(tutar),0) from
(select '' hartip ,x.ksmas_kod kod,doviz=(select dovizli from tblkasamas where ksmas_kod=x.ksmas_kod),tarih
,isnull(case when (select dovizli from tblkasamas where ksmas_kod=x.ksmas_kod)='H' then tutar else doviztut end,0) tutar,IO gc
,(select doviztipi from tblkasamas where ksmas_kod=x.ksmas_kod) dovtip
from tblkasa x  union all
select  'D' hartip ,ksmas_kod kod,dovizli doviz,'' tarih,case dovizli when 'H' then kssondev_t else kssondev_doviz end tutar,'G' gc,doviztipi dovtip from tblkasamas
) kasa  where tarih = '02.21.2009' and kod=t.ksmas_kod and gc='G' ) ggiris
,--bugün çikan
(select isnull(sum(tutar),0) from
(select '' hartip ,x.ksmas_kod kod,doviz=(select dovizli from tblkasamas where ksmas_kod=x.ksmas_kod),tarih
,isnull(case when (select dovizli from tblkasamas where ksmas_kod=x.ksmas_kod)='H' then tutar else doviztut end,0) tutar,IO gc
,(select doviztipi from tblkasamas where ksmas_kod=x.ksmas_kod) dovtip
from tblkasa x  union all
select  'D' hartip ,ksmas_kod kod,dovizli doviz,'' tarih,case dovizli when 'H' then kssondev_t else kssondev_doviz end tutar,'G' gc,doviztipi dovtip from tblkasamas
) kasa  where tarih = '02.21.2009' and kod=t.ksmas_kod and gc='C' ) gcikis
,--kalan
(select isnull(sum(tutar),0) from
(select '' hartip ,x.ksmas_kod kod,doviz=(select dovizli from tblkasamas where ksmas_kod=x.ksmas_kod),tarih
,isnull(case when (select dovizli from tblkasamas where ksmas_kod=x.ksmas_kod)='H' then tutar else doviztut end,0) tutar,IO gc
,(select doviztipi from tblkasamas where ksmas_kod=x.ksmas_kod) dovtip
from tblkasa x  union all
select  'D' hartip ,ksmas_kod kod,dovizli doviz,'' tarih,case dovizli when 'H' then kssondev_t else kssondev_doviz end tutar,'G' gc,doviztipi dovtip from tblkasamas
) kasa  where tarih <= '02.21.2009' and kod=t.ksmas_kod and gc='G' )
 -
 (select isnull(sum(tutar),0) from
(select '' hartip ,x.ksmas_kod kod,doviz=(select dovizli from tblkasamas where ksmas_kod=x.ksmas_kod),tarih
,isnull(case when (select dovizli from tblkasamas where ksmas_kod=x.ksmas_kod)='H' then tutar else doviztut end,0) tutar,IO gc
,(select doviztipi from tblkasamas where ksmas_kod=x.ksmas_kod) dovtip
from tblkasa x  union all
select  'D' hartip ,ksmas_kod kod,dovizli doviz,'' tarih,case dovizli when 'H' then kssondev_t else kssondev_doviz end tutar,'G' gc,doviztipi dovtip from tblkasamas
) kasa  where tarih <= '02.21.2009' and kod=t.ksmas_kod and gc='C' ) kalan
,case doviztipi when 0 then (select yedek6 from TBLPARAM where SUBE_KODU=0) else (select ISIM  from NETSIS..kur where SIRA=t.doviztipi) end dtip
from tblkasamas t
 
Yukarı Dön
Conari Açılır Kutu İzle
Kidemli Üye
Kidemli Üye
Simge

Kayıt Tarihi: 04 Mayıs 2007
Konum: YSTANBUL
Durum: Aktif Değil
Puanlar: 3513
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Conari Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 23 Şubat 2009 Saat 12:08
yerlesik viewlerden yola çikarsaniz is ve rapor daha basitlesir.
 
KASALISTE viewine istidigin önceki bakiye ve toplami ekleyebilirsin.
 
bir de bazi seyler için fonksiyon tanimlayiniz mesela;
(select ISIM  from NETSIS..kur where SIRA=t.doviztipi) bunun için bir fonksiyon yazip
kullanirken
 
dbo.DOVISIM(t.doviztipi)) Olarak kullanabilirsiniz.
Netsisden vazgeçemiyorum. Beni engelliyor..
Yukarı Dön
sadettincetin Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 01 Mayıs 2008
Konum: Konya
Durum: Aktif Değil
Puanlar: 0
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı sadettincetin Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 23 Şubat 2009 Saat 12:24
YERLESIK VIEW LERI KULLANMAK IÇIN OTURUM AÇMAK GEREKIYOR.
BIR ÇOK FIRMA KASA MODÜLÜNDE YENI GÜNE DEVIR YAPMIYOR.
BU KODU WEB TABANLI RAPORLAMA PROGRAMIMDA KULLANDIM.
AMACIM MEVCUT DATABASE DE HIÇ BIR DEGISIKLIK VEYA ILAVE YAPMADAN PROGRAMIN ÇALISMASI.
PROGRAM SADECE RAPORLAMA AMAÇLI OLDUGU IÇIN SQL DE OLUSTURULAN KULLANICININ READER YETKISI OLMASI YETERLI.
 
 
 
BU LINKTE DÜN EKLEDIGIM PROGRAM VAR.
Yukarı Dön
Conari Açılır Kutu İzle
Kidemli Üye
Kidemli Üye
Simge

Kayıt Tarihi: 04 Mayıs 2007
Konum: YSTANBUL
Durum: Aktif Değil
Puanlar: 3513
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Conari Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 23 Şubat 2009 Saat 12:32
Selam, Programina kisaca bakmistim.simdi dosya eklemissin onada bakayim görmemistim.
 
exec nsp_netsesguncelle 2, 'ys0001',1,0,'e','h','2',-1,'H',0,0,'H'
 
bu kod ile oturum açabilirsiniz.
Netsisden vazgeçemiyorum. Beni engelliyor..
Yukarı Dön
mbaykan Açılır Kutu İzle
Kidemli Üye
Kidemli Üye
Simge

Kayıt Tarihi: 06 Nisan 2007
Konum: izmir
Durum: Aktif Değil
Puanlar: 1181
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı mbaykan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 24 Şubat 2009 Saat 13:31
Asagidaki prosedürü olusturup,
CREATE PROCEDURE MSP_KASAOZET (@TARIH VARCHAR(12)) AS
BEGIN
DECLARE @KMT VARCHAR(2000)
SET @KMT=
'SELECT AA.KSMAS_KOD,AA.KSMAS_NAME,AA.DOVIZTIPI,SUM(DEVIR) DEVIR,SUM(GIRIS) GIRIS,SUM(CIKIS) CIKIS,SUM(DEVIR)+SUM(GIRIS)-SUM(CIKIS) KALAN FROM
(select a.KSMAS_KOD,b.KSMAS_NAME,B.DOVIZTIPI,
SUM(case when IO=''G'' THEN CASE WHEN DOVIZTIPI=0 THEN TUTAR ELSE DOVIZTUT END ELSE CASE WHEN DOVIZTIPI=0 THEN -TUTAR ELSE -DOVIZTUT END END) DEVIR,
0 GIRIS,0 CIKIS
--,0 KALAN
from tblkasa a (nolock),tblkasamas b(nolock)
where a.KSMAS_KOD=b.KSMAS_KOD AND TARIH<'''+@TARIH+'''
GROUP BY a.KSMAS_KOD,b.KSMAS_NAME,B.DOVIZTIPI
UNION ALL
select a.KSMAS_KOD,b.KSMAS_NAME,B.DOVIZTIPI,
0,
SUM(case when IO=''G'' THEN CASE WHEN DOVIZTIPI=0 THEN TUTAR ELSE DOVIZTUT END ELSE 0 END),
SUM(case when IO=''C'' THEN CASE WHEN DOVIZTIPI=0 THEN TUTAR ELSE DOVIZTUT END ELSE 0 END)
--SUM(case when IO=''G'' THEN CASE WHEN DOVIZTIPI=0 THEN TUTAR ELSE DOVIZTUT END ELSE CASE WHEN DOVIZTIPI=0 THEN -TUTAR ELSE -DOVIZTUT END END)

from tblkasa a (nolock),tblkasamas b(nolock)
where a.KSMAS_KOD=b.KSMAS_KOD AND TARIH='''+@TARIH+'''
GROUP BY a.KSMAS_KOD,b.KSMAS_NAME,B.DOVIZTIPI) AA
GROUP BY AA.KSMAS_KOD,AA.KSMAS_NAME,AA.DOVIZTIPI'
--PRINT @KMT
EXEC(@KMT)
END
EXEC MSP_KASAOZET '2009-02-11'
Seklinde çalistirirsaniz sonuç verir.
kolay gelsin

Düzenleyen mbaykan - 24 Şubat 2009 Saat 13:49
Mehmet Baykan
Yukarı Dön
Conari Açılır Kutu İzle
Kidemli Üye
Kidemli Üye
Simge

Kayıt Tarihi: 04 Mayıs 2007
Konum: YSTANBUL
Durum: Aktif Değil
Puanlar: 3513
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı Conari Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 24 Şubat 2009 Saat 14:37
Selam, arkadastan önce ben baktim gelen bilgiler detaysiz arkadas detayli istiyor sanirim birde devirlere devir yerine kasabakiye-devir tutarini getirtmissiniz.
 
Yanlis degerlendirdi isem pardon.
Netsisden vazgeçemiyorum. Beni engelliyor..
Yukarı Dön
mbaykan Açılır Kutu İzle
Kidemli Üye
Kidemli Üye
Simge

Kayıt Tarihi: 06 Nisan 2007
Konum: izmir
Durum: Aktif Değil
Puanlar: 1181
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı mbaykan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 25 Şubat 2009 Saat 11:19
ilk mesajimda kod'da hata vardi KALAN dogru hesaplanmiyordu. ayni mesaji düzelttim, soruyu soran da özet bir rapor istegini söylemis. Ama mevcut prosedür degistirilerek (yani 2 adet select'e -biri devir için GROUP BY'li, digeri grupsuz- detay raporu da listeleneblir.
tabi istenen sütunlari da ilave etmek gerek açiklama v.s. gibi
kolay gelsin
Mehmet Baykan
Yukarı Dön
 Yanıt Yaz Yanıt Yaz
  Konu Paylaş   

Forum Atla Forum İzinleri Açılır Kutu İzle

Forum Software by Web Wiz Forums® version 11.10
Copyright ©2001-2017 Web Wiz Ltd.

Bu Sayfa 0,594 Saniyede Yüklendi.