| Kampanya kartı içerisinde olmayan alanlar yada başka bir tabloda değer getirmek için SQLINFO fonksiyonu kullanılabilir. |
| Örnek : Sipariş yada Fatura içerisinde birden fazla malzemeye aynı indirimi yapmak için SQLINFO fonksiyonu kullanılması.Malzeme Kodu Malzeme Adı ———————- PG.001 PG.002 PG.003 PG.004 PG.005
MS Kodu MS Açıklaması ———————- ———————- PG
|
![]() |
| Ortak kampanya uygulanacak malzeme kartları Malzeme sınıfı açılarak bağlantı yapılmalıdır. |
| MALZEME – MALZEME SINIF BAÐLANTISINI LISTELEYEN QUERYSELECTCOUNT(*)
FROM LG_010_ITEMS I (NOLOCK) LEFT OUTER JOIN LG_010_ITMCLSAS C (NOLOCK) ON I.LOGICALREF=C.CHILDREF AND C.UPLEVEL=0 LEFT OUTER JOIN LG_010_ITEMS S (NOLOCK) ON C.PARENTREF=S.LOGICALREF WHERE I.CODE LIKE ‘PG.001’ AND S.CODE LIKE ‘PG’
QUERY’ NIN FONKSİYON HALİNE GETİRİLMESİ
CREATE FUNCTION [dbo].[FN_MS_KAMPANYA_010] (@MALZ VARCHAR(21), @SINIF VARCHAR(21)) RETURNS FLOAT AS BEGIN DECLARE @LG_FN_LINETOPLAM FLOAT
SET @LG_FN_LINETOPLAM=( SELECT COUNT(*) FROM LG_010_ITEMS I (NOLOCK) LEFT OUTER JOIN LG_010_ITMCLSAS C (NOLOCK) ON I.LOGICALREF=C.CHILDREF AND C.UPLEVEL=0 LEFT OUTER JOIN LG_010_ITEMS S (NOLOCK) ON C.PARENTREF=S.LOGICALREF WHERE I.CODE LIKE @MALZ+’%’ AND S.CODE LIKE @SINIF+’%’ ) ; RETURN(@LG_FN_LINETOPLAM) END
Not : Fonksiyon SQL’ de bir kez çalıştırılarak sql tarafına fonksiyon olarak eklenmesi sağlanmalıdır.
FONKSİYON’ UN QUERY İLE ÇALIŞTIRILMASI SELECT DBO.FN_MS_KAMPANYA_010(‘PG.
FONKSİYON’ UN SQLINFO HALİNE GETİRİLMESİ VAL(_SQLINFO(“DBO.FN_MS_ |
![]() |
| Kampanya kartı içerisinde SQLINFO fonksiyonunun kullanılmasıP101 : Malzeme Kodu bilgisidir.Koşul alanında IF(V5>0,1,0) fonksiyonu kullanılarak V5 değişkeninden 1 değeri döndüğü zaman kampanya uygulanması sağlanmaktadır.V5 değişkeni içerisinde bulunan PG alanı yerine malzemelerin bağlı bulunduğu kampanya uygulanacak üst malzeme sınıf kodu belirtilmelidir |
![]() |
| Fatura içerisinde kampanya uygulandığı zaman; |
![]() |
| şeklinde listelenmektedir. |




