Sayfayı Yazdır | Pencereyi Kapat

seri bakiye raporu

Nereden Yazdırıldığı: ERP Nedir? | Türkiye'nin ERP Forum Platformu
Kategori: SQL
Forum Adı: SQL Veri Tabanı İşlemleri
Forum Tanımlaması: Table,View,Trigger,SELECT,UPDATE,INSERT...
URL: http://www.erpne.org/forum_posts.asp?TID=4280
Tarih: 23 Kasım 2024 Saat 00:21
Program Versiyonu: Web Wiz Forums 11.10 - http://www.webwizforums.com


Konu: seri bakiye raporu
Mesajı Yazan: arda_akman
Konu: seri bakiye raporu
Mesaj Tarihi: 14 Ocak 2016 Saat 14:16
Öncelikle herkese merhaba,
Ylk giri? tarihine göre seri bakiye raporu yazmam gerek. Tarihte o seri numarasynyn ilk giri? tarihinin yazmasyny istediler. fonksiyonla çekmem lazymmy? tarihi ama beceremedim yardymcy olursanyz çok sevinirim. 
BÖYLE BYR KOD YAZDIM AMA HATA VERDY.

CREATE FUNCTION [dbo].[SERININ_ILK_GIRIS_TARIHI]

(

@STOKKOD VARCHAR(50),
@SERI VARCHAR (50)

)

RETURNS DATETIME

AS

BEGIN

DECLARE @TARIH DATETIME

SELECT  @TARIH=STHAR_TARIH FROM TBLSTHAR WHERE STOK_KODU=@STOKKOD  ORDER BY STHAR_TARIH DESC

RETURN @TARIH

END




CREATE VIEW [dbo].[SERIBAKIYE]

AS

SELECT SH.STOK_KODU, ST.STOK_ADI, DP.DEPO_KODU, DP.DEPO_ISMI, SE.SERI_NO, 


SUM(CASE WHEN SH.STHAR_GCKOD='G' THEN SH.STHAR_GCMIK ELSE 0 END)-SUM(CASE WHEN SH.STHAR_GCKOD='C' THEN SH.STHAR_GCMIK ELSE 0 END) AS BAKIYE,

[dbo].SERININ_ILK_GIRIS_TARIHI(STHAR_TARIH) AS TARIH



FROM TBLSTHAR SH 

LEFT OUTER JOIN TBLSTSABIT ST ON (ST.STOK_KODU=SH.STOK_KODU)
LEFT OUTER JOIN TBLSTOKDP DP ON (DP.DEPO_KODU=SH.DEPO_KODU)
LEFT OUTER JOIN TBLSERITRA SE ON (SE.STOK_KODU=SH.STOK_KODU AND SE.STRA_INC=SH.INCKEYNO)

GROUP BY SH.STOK_KODU, ST.STOK_ADI, DP.DEPO_KODU, DP.DEPO_ISMI, SE.SERI_NO

 





Cevaplar:
Mesajı Yazan: mbaykan
Mesaj Tarihi: 14 Ocak 2016 Saat 18:58
Fonksiyon da yazylabilir ama ben öyle yapmadym

SELECT SH.STOK_KODU, ST.STOK_ADI, DP.DEPO_KODU, DP.DEPO_ISMI, SE.SERI_NO, 

SUM(CASE WHEN SH.STHAR_GCKOD='G' THEN SH.STHAR_GCMIK ELSE 0 END)-SUM(CASE WHEN SH.STHAR_GCKOD='C' THEN SH.STHAR_GCMIK ELSE 0 END) AS BAKIYE,
(SELECT TOP 1 H.TARIH FROM TBLSERITRA H WHERE H.STOK_KODU=SH.STOK_KODU AND H.SERI_NO=SE.SERI_NO AND H.GCKOD='G' ORDER BY TARIH) ILK_GIRIS_TARIH

FROM TBLSTHAR SH 

LEFT OUTER JOIN TBLSTSABIT ST ON (ST.STOK_KODU=SH.STOK_KODU)
LEFT OUTER JOIN TBLSTOKDP DP ON (DP.DEPO_KODU=SH.DEPO_KODU)
LEFT OUTER JOIN TBLSERITRA SE ON (SE.STOK_KODU=SH.STOK_KODU AND SE.STRA_INC=SH.INCKEYNO)

GROUP BY SH.STOK_KODU, ST.STOK_ADI, DP.DEPO_KODU, DP.DEPO_ISMI, SE.SERI_NO
HAVING SUM(CASE WHEN SH.STHAR_GCKOD='G' THEN SH.STHAR_GCMIK ELSE 0 END)-SUM(CASE WHEN SH.STHAR_GCKOD='C' THEN SH.STHAR_GCMIK ELSE 0 END) <>0


son satyrdaki HAVING .... bakiyesi 0 olanlaryn çykmamasy için
sizin sorgunuzda fonksiyon kullanymy hataly
dbo.SERININ_ILK_GIRIS_TARIHI(STHAR_TARIH) yerine
dbo.SERININ_ILK_GIRIS_TARIHI(SH.STOK_KODU,SE.SERI_NO) ?eklinde yazmalysynyz



-------------
Mehmet Baykan


Mesajı Yazan: arda_akman
Mesaj Tarihi: 09 Şubat 2016 Saat 11:00
Uzun bir hastalik döneminden sonra anca görebildim. Mesajiniz için çok tesekkür ederim.Thumbs UpClap
Formu daha aktif kullanacagim bundan sonra.Smile


Mesajı Yazan: mbaykan
Mesaj Tarihi: 09 Şubat 2016 Saat 11:10
Geçmis olsun

-------------
Mehmet Baykan



Sayfayı Yazdır | Pencereyi Kapat

Forum Software by Web Wiz Forums® version 11.10 - http://www.webwizforums.com
Copyright ©2001-2017 Web Wiz Ltd. - https://www.webwiz.net