ERP Nedir? | Türkiye'nin ERP Forum Platformu Ana Sayfa
Forum Anasayfa Forum Anasayfa > ERP Temel Paketler > ERP Kullanıcı İşlemleri Modülü
  Aktif Konular Aktif Konular RSS - 2 tablo ile Kolon Bazinda Geçerlilik
  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.


2 tablo ile Kolon Bazinda Geçerlilik

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

Kayıt Tarihi: 25 Nisan 2013
Durum: Aktif Değil
Puanlar: 19
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı chasteeer Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Konu: 2 tablo ile Kolon Bazinda Geçerlilik
    Gönderim Zamanı: 09 Mayıs 2017 Saat 09:16
Merhaba,

Aşağıdaki sorguyu kolon bazında geçerlilik ile yapmak istiyorum nasıl yapabilirim ?

select * from TBLSIPAMAS SM
JOIN tblfatuek FT
ON FT.FATIRSNO=SM.FATIRS_NO
WHERE  FT.FATIRSNO=SM.FATIRS_NO and FT.ACIK9 is null and
  FT.FKOD='6' and (kod2='H' or KOD2='P' )

Müşteri siparişleri girilirken Özel Kod 2 alanı H veya P seçilirse ACIK9 kısmı boş geçilemesin.
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ı: 09 Mayıs 2017 Saat 12:30
ben trigger ile çözdüm
kalem bilgilerinde bir veriyi zorlayacaksanız, TRA tablosuna INSERT,UPDATE triggerı
üst bilgilerde bir veriyi zorlayacaksanız FATUEK veya MAS tablosuna trigger yazarsınız

örnekler aşağıda fnchekdate isimli kullanıcı fonksiyonu yazılanın geçerli bir tarih olup olmadığını kontrol ediyor


ALTER TRIGGER [dbo].[TRG_TBLSIPATRA_IU_EKALAN]
ON [dbo].[TBLSIPATRA]
FOR INSERT, UPDATE
AS

BEGIN
   DECLARE @KOD2 VARCHAR(8)=NULL;
   DECLARE @EKALAN VARCHAR(35);
   DECLARE @KOD VARCHAR(35);
   DECLARE @DEPO SMALLINT=0;
   DECLARE @HTUR CHAR(1);

   SELECT @EKALAN=EKALAN1,@KOD=STOK_KODU,@HTUR=STHAR_HTUR FROM INSERTED;
   SELECT @KOD2=TBLSTSABIT.KOD_2,@DEPO=DEPO_KODU FROM TBLSTSABIT WHERE TBLSTSABIT.STOK_KODU = @KOD;
   IF (@KOD2 = 'HOSTING' OR @DEPO = 22) AND @HTUR NOT IN ('A','N') AND @EKALAN IS NULL
   BEGIN
      RAISERROR ('Hosting/Lisans Kartlarında Ek Alan-2 Boş geçilemez !..', 16, 1)
      ROLLBACK
      RETURN
   END
END


ALTER TRIGGER [dbo].[MTR_FATUEKIU] 
ON [dbo].[TBLFATUEK] 
FOR INSERT,UPDATE 
AS 
BEGIN
DECLARE @IRSNO VARCHAR(50)
DECLARE @TARIH VARCHAR(15)
DECLARE @FISNO VARCHAR(15)
DECLARE @CKOD VARCHAR(20),@FKOD CHAR(1);
SELECT @IRSNO=ACIK10, @TARIH=ACIK11, @FISNO=FATIRSNO,@CKOD=CKOD,@FKOD=FKOD FROM INSERTED A,TBLFATUIRS B
WHERE A.FATIRSNO=B.FATIRS_NO AND A.FKOD=B.FTIRSIP AND A.CKOD=B.CARI_KODU 
 
IF @CKOD like '120-4-00[45]' AND @FKOD='1'
BEGIN
 IF (dbo.fnCheckDate(SUBSTRING(@TARIH,4,2)+'.'+LEFT(@TARIH,3)+RIGHT(@TARIH,4)) IS NULL) OR (@IRSNO IS NULL) OR (@TARIH IS NULL)  
BEGIN
   RAISERROR(N'Geçersiz tarih/irsaliye No..!',16,1);
   RETURN;
END
IF NOT ((dbo.fnCheckDate(SUBSTRING(@TARIH,4,2)+'.'+LEFT(@TARIH,3)+RIGHT(@TARIH,4)) IS NULL) OR (@IRSNO IS NULL) OR (@TARIH IS NULL) )
 BEGIN
UPDATE TBLSTHAR SET IRSALIYE_NO=@IRSNO,IRSALIYE_TARIH=dbo.fnCheckDate(SUBSTRING(@TARIH,4,2)+'.'+LEFT(@TARIH,3)+RIGHT(@TARIH,4))
WHERE FISNO=@FISNO AND STHAR_FTIRSIP='1' AND STHAR_ACIKLAMA=@CKOD
END -- STHAR UPDATE
select 'iptal'
END --  CARI MEMORIAL ISE
 
END -- TRIGGER



Düzenleyen mbaykan - 09 Mayıs 2017 Saat 12:32
Mehmet Baykan
Yukarı Dön
chasteeer Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 25 Nisan 2013
Durum: Aktif Değil
Puanlar: 19
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı chasteeer Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 09 Mayıs 2017 Saat 14:11
Ben üst bilgi ekranında istiyorum onun için FATUEK tablosuna trigger yapmam lazım. Umarım yapabilirim.
Trigger yaptıktan sonra en son siparişi tamamla dediğinde hata verecek ama sipariş kalemleri silinmeyecek değil mi ?
Yukarı Dön
chasteeer Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 25 Nisan 2013
Durum: Aktif Değil
Puanlar: 19
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı chasteeer Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 09 Mayıs 2017 Saat 14:56
Böyle birşey yaptım oldu gibi :)

AFTER INSERT,UPDATE
AS
BEGIN
DECLARE @ACIK9 VARCHAR(15);
DECLARE @KOD2 VARCHAR(8);
DECLARE @FTIRSIP VARCHAR(1);
DECLARE @FATIRS_NO VARCHAR(20);

SELECT @KOD2=KOD2, @FTIRSIP=FTIRSIP, @FATIRS_NO=FATIRS_NO FROM INSERTED;
SELECT @FATIRS_NO=FT.FATIRSNO FROM TBLFATUEK FT WHERE FT.FATIRSNO = @FATIRS_NO
IF (@KOD2='H' OR @KOD2='P') AND @ACIK9 IS NULL
BEGIN
RAISERROR ('İhraç Kayıtlı Siparişlerde AÇIKLAMA 9 alanı Boş Geçilemez !..', 16, 1)
      ROLLBACK
      RETURN
   END
END
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ı: 09 Mayıs 2017 Saat 15:12
.....
AFTER INSERT,UPDATE
AS
BEGIN
DECLARE @ACIK9 VARCHAR(15);
DECLARE @KOD2 VARCHAR(8);
DECLARE @FTIRSIP VARCHAR(1);
DECLARE @FATIRS_NO VARCHAR(20);

SELECT @KOD2=KOD2, @FTIRSIP=FTIRSIP, @FATIRS_NO=FATIRS_NO,@ACIK9=ACIK9 FROM INSERTED A
JOIN TBLSIPAMAS B ON A.FKOD=B.FTIRSIP AND A.FATIRSNO=B.FATIRS_NO AND A.CKOD=B.CARI_KODU

--SELECT @FATIRS_NO=FT.FATIRSNO FROM TBLFATUEK FT WHERE FT.FATIRSNO = @FATIRS_NO
IF @FTIRSIP='6' AND (@KOD2='H' OR @KOD2='P') AND @ACIK9 IS NULL
BEGIN
RAISERROR ('İhraç Kayıtlı Siparişlerde AÇIKLAMA 9 alanı Boş Geçilemez !..', 16, 1)
RETURN
   END
END

şeklinde olmalı. INSERTED (FATUEK) ile TBLSIPAMAS ilişkilendirilip KOD2 bilgisi oradan alınmalı

Mehmet Baykan
Yukarı Dön
chasteeer Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 25 Nisan 2013
Durum: Aktif Değil
Puanlar: 19
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı chasteeer Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 09 Mayıs 2017 Saat 15:47
Burada sadece boş olmasını sorguladık. Eğer doluysa hata vermeden devam et nasıl diyeceğiz ?
Yukarı Dön
rhan Açılır Kutu İzle
Kidemli Üye
Kidemli Üye
Simge

Kayıt Tarihi: 05 Temmuz 2008
Durum: Aktif Değil
Puanlar: 590
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı rhan Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 09 Mayıs 2017 Saat 17:43
doluysa zaten devam eder?
İnnova Antalya Proje Danışmanlık
Orhan ÇÖPÜROĞLU

0544 241 45 55
0242 311 45 56
Yukarı Dön
chasteeer Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 25 Nisan 2013
Durum: Aktif Değil
Puanlar: 19
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı chasteeer Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 09 Mayıs 2017 Saat 17:55
doluysa da boşsa da hata veriyor ama.
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ı: 09 Mayıs 2017 Saat 18:23
Orjinalini yazan: mbaykan mbaykan Yazdı:

.....
AFTER INSERT,UPDATE
AS
BEGIN
DECLARE @ACIK9 VARCHAR(15);
DECLARE @KOD2 VARCHAR(8);
DECLARE @FTIRSIP VARCHAR(1);
DECLARE @FATIRS_NO VARCHAR(20);
        declare @upd VARCHAR(1);

SELECT @KOD2=KOD2, @FTIRSIP=FTIRSIP, @FATIRS_NO=FATIRS_NO,@ACIK9=ACIK9,@UPD=B.update_kodu FROM INSERTED A
JOIN TBLSIPAMAS B ON A.FKOD=B.FTIRSIP AND A.FATIRSNO=B.FATIRS_NO AND A.CKOD=B.CARI_KODU

--SELECT @FATIRS_NO=FT.FATIRSNO FROM TBLFATUEK FT WHERE FT.FATIRSNO = @FATIRS_NO
IF @FTIRSIP='6' AND @upd='X' AND (@KOD2='H' OR @KOD2='P') AND @ACIK9 IS NULL
BEGIN
RAISERROR ('İhraç Kayıtlı Siparişlerde AÇIKLAMA 9 alanı Boş Geçilemez !..', 16, 1)
RETURN
   END
END

şeklinde olmalı. INSERTED (FATUEK) ile TBLSIPAMAS ilişkilendirilip KOD2 bilgisi oradan alınmalı

UPDATEKODU ile birlikte sorgulayın



Düzenleyen mbaykan - 09 Mayıs 2017 Saat 18:27
Mehmet Baykan
Yukarı Dön
chasteeer Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 25 Nisan 2013
Durum: Aktif Değil
Puanlar: 19
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı chasteeer Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 10 Mayıs 2017 Saat 08:32
SIPAMAS 'ta update kodu 'Tamamlanmamış müşteri/satıcı siparişler için 'Y' değerini atar. Sipariş tamamlanınca 'NULL' değerini atar.' Bu alanla ilgili ne yapabiliriz ki ? Biz üst bilgileri girdikten sonra ilk kalemi eklerken hata veriyor. Sizin verdiğiniz sorguyu da denedim ama ACIK9 alanı dolu olmasına rağmen ilk kalemi eklersen hata veriyor. Sanki kalem bazında kontrol ediyor gibi..
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ı: 10 Mayıs 2017 Saat 09:38
FATUEK'e kalemlere geçtiğinde  ya da toplamlar sayfasında Tamam ile
belgeyi tamamladığınızda güncelleyecek profiler'dan hangi durum size uyuyor buna göre trigger'ı
ona göre düzenleyin

benim yazdığım örneklerden birinde trigger TRA tablosu üzerinde 
yardımcı olur umarım
kodu UPDATE_KODU IS NULL  şeklinde denediniz mi?

Mehmet Baykan
Yukarı Dön
chasteeer Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 25 Nisan 2013
Durum: Aktif Değil
Puanlar: 19
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (0) Teşekkürler(0)   Alıntı chasteeer Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 10 Mayıs 2017 Saat 09:48
TBLFATUEK ile TBLSIPAMAS tablosunu bağlayarak yaptım dediğiniz gibi. İlk kalemi girerken yada kalemler sayfasına geçerken veya ACIK9 alanı boş geçilir geçilmez hata versin istiyorum. Son seçenek daha çok işimi görür. Bende araştırıyorum tekrar bakacağım. Sizde birşey bulabilirseniz burayı güncellerseniz sevinirim.

UPDATE_KODU IS NULL olarak ta denedim olmadı.


Düzenleyen chasteeer - 10 Mayıs 2017 Saat 09:50
Yukarı Dön
chasteeer Açılır Kutu İzle
Üye
Üye
Simge

Kayıt Tarihi: 25 Nisan 2013
Durum: Aktif Değil
Puanlar: 19
Mesaj Seçenekleri Mesaj Seçenekleri   Teşekkürler (1) Teşekkürler(1)   Alıntı chasteeer Alıntı  Yanıt YazCevapla Mesajın Direkt Linki Gönderim Zamanı: 10 Mayıs 2017 Saat 11:41
Başta Mehmet Bey olmak üzere konuya dahil olan herkesten özür diyorum. İlk yaptığımız değişiklikte kod çalışıyormuş. TBLSIPAMAS üzerinden benim yaptığım trigger 'ı disable etmeden TBLFATUEK olarak değiştirdiğimiz trigger 'ı çalıştırıyormuşum. Zamanınızı aldım tekrar kusura bakmayın. Çalışan son hali;

CREATE TRIGGER OZELKOD ON TBLFATUEK
AFTER INSERT,UPDATE
AS
BEGIN
DECLARE @ACIK9 VARCHAR(15);
DECLARE @KOD2 VARCHAR(8);
DECLARE @FTIRSIP VARCHAR(1);
DECLARE @FATIRS_NO VARCHAR(20);

SELECT @KOD2=KOD2, @FTIRSIP=FTIRSIP, @FATIRS_NO=FATIRS_NO,@ACIK9=A.ACIK9 FROM INSERTED A
JOIN TBLSIPAMAS B ON A.FKOD=B.FTIRSIP AND A.FATIRSNO=B.FATIRS_NO
IF @FTIRSIP='6' AND ( @KOD2='H' OR @KOD2='P') AND @ACIK9 IS NULL
BEGIN
RAISERROR ('İhraç Kayıtlı Siparişlerde ACIKLAMA 9 alanı Boş Geçilemez !!..', 16, 1)
      RETURN
END
END
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,736 Saniyede Yüklendi.