Malzeme Raporu Giren,Çıkan Kalan Daha öncede Sormuştum...

Gönderen Konu: Malzeme Raporu Giren,Çıkan Kalan Daha öncede Sormuştum...  (Okunma sayısı 1364 defa)

0 Üye ve 1 Ziyaretçi konuyu incelemekte.

Çevrimdışı yousemeti

  • Logo Sistem Administrator
  • Logo Kullanıcısı
  • *****
  • Karma: 13
  • Su'dan Uçak Yaparım Biner Dolaşırsın
Selamlar Kolay gelsin herkese;
Daha öncede Sormuştum Ama Adam gibi yazamamıştım soruyur iyşallah şimdi  yazabilmişimdir.
Yapama Çalıştığım bir rapor için SQL koda ihtiyacım var.

Tiger   v1.55 Dönem Bağımlı Malzeme Raporu  Giren Ürünlerin toplam adedini bulmak istiyorum. Dönemleri şu şekilde

LG_102_02,
LG_102_03,
LG_102_04,

Malzemenin geçmiş dönemdeki alımlarını nasıl toplatırım örnek Malzeme Kodu A% ile Başlayanların 2005. 2006. 2007 yılındaki alımlarının toplamını almak istiyorum.

Yapmak istediğim Rapor
Bu SQL Kodu ile yapmak istediğim şey  “Giren, Çıkan, Kalan”  Kalan raporu yapmaya Çalışıyorum. Malzemenin Eldeki Adedini  “ONHAND” Alanından alıyorum Depo Kodunu sınırlayarak. “PURAMNT- ONHAND = Satış Adedi “ buluyorum



Örnek SQL;
Bu SQL ile 2005 yılında Stok kodu “A” ile başlayanların toplamını alabiliyorum

SELECT     LG_102_ITEMS.CODE AS [Stok Kodu], LG_102_ITEMS.NAME AS [Stok Aciklamasi], LG_102_02_GNTOTST.PURAMNT AS Giren
FROM         LG_102_ITEMS INNER JOIN
                      LG_102_02_GNTOTST ON LG_102_02_GNTOTST.STOCKREF = LG_102_ITEMS.LOGICALREF
GROUP BY LG_102_ITEMS.NAME, LG_102_02_GNTOTST.INVENNO, LG_102_ITEMS.CODE, LG_102_02_GNTOTST.PURAMNT, LG_102_ITEMS.ACTIVE
HAVING      (LG_102_ITEMS.ACTIVE = 0) AND (LG_102_ITEMS.CODE LIKE 'A%') AND (LG_102_02_GNTOTST.INVENNO = 0)
ORDER BY LG_102_ITEMS.CODE

Çevrimdışı Monsieur®

  • LogoDestek Yönetim
  • Logo Uzmanı
  • *****
  • Karma: 38
Merhaba,

Öncelikli olarak aşağıdaki query ile bir tane view oluşturacağız


SET QUOTED_IDENTIFIER ON
GO
SET ANSI_NULLS ON
GO
CREATE VIEW MALZEME_RAPORU WITH ENCRYPTION AS
   SELECT   ITEMS.CODE AS Stok_Kodu,
      ITEMS.NAME AS Stok_Aciklamasi,
      TOT.PURAMNT AS Giren
   FROM   LG_102_ITEMS ITEMS
      LEFT OUTER JOIN LG_102_02_GNTOTSAT TOT ON
      TOT.STOCKREF = ITEMS.LOGICALREF
   WHERE   (ITEMS.ACTIVE = 0) AND (ITEMS.CODE LIKE 'A%') AND (TOT.INVENNO = 0)
UNION ALL
   SELECT   ITEMS.CODE AS Stok_Kodu,
      ITEMS.NAME AS Stok_Aciklamasi,
      TOT.PURAMNT AS Giren
   FROM   LG_102_ITEMS ITEMS
      LEFT OUTER JOIN LG_102_03_GNTOTSAT TOT ON
      TOT.STOCKREF = ITEMS.LOGICALREF
   WHERE   (ITEMS.ACTIVE = 0) AND (ITEMS.CODE LIKE 'A%') AND (TOT.INVENNO = 0)
UNION ALL
   SELECT   ITEMS.CODE AS Stok_Kodu,
      ITEMS.NAME AS Stok_Aciklamasi,
      TOT.PURAMNT AS Giren
   FROM   LG_102_ITEMS ITEMS
      LEFT OUTER JOIN LG_102_04_GNTOTSAT TOT ON
      TOT.STOCKREF = ITEMS.LOGICALREF
   WHERE   (ITEMS.ACTIVE = 0) AND (ITEMS.CODE LIKE 'A%') AND (TOT.INVENNO = 0)
GO
SET QUOTED_IDENTIFIER OFF
GO
SET ANSI_NULLS ON
GO


Daha sonra aşağıdaki query ile de istemiş oluğun raporu alabilirsin.


SELECT   Stok_Kodu,
   Stok_Aciklamasi,
   SUM (Giren) AS Giren
WHERE   MALZEME_RAPORU
GROUP BY Stok_Kodu,
   Stok_Aciklamasi
   
:) işini görür inşallah

Kolay gelsin

Çevrimdışı yousemeti

  • Logo Sistem Administrator
  • Logo Kullanıcısı
  • *****
  • Karma: 13
  • Su'dan Uçak Yaparım Biner Dolaşırsın
Hocam  sana ne kadar teşekür etsem inan azdır çok ama çok teşekür ederim.

sayende bir şey daha öğrendim  cok ama teşekür ederim..


salih Hanifeoğlu