2.19 ve Üzeri Stok Miktarları Hatalı.

2.19.00 versiyonu ile birlikte Malzeme ve Hizmet toplam tabloları View yapısına dönüştürülmüştür.  Bu yüzden Bakım işlemleri altında yer alan; Malzeme, Sipariş, Hizmet Toplamları

servisi bu sorunu çözmeyecektir.

 

Veri Toplamları               è Malzeme, Sipariş, Hizmet Toplamları            : Bu servisin kullanım amacı; Sipariş satırlarındaki CLOSED ve SHIPPEDAMOUNT kolonlarını düzenlemek için kullanılır.  Dağıtım emri satırlarındaki Kalan miktar bilgileri düzenlenmektedir.

Malzeme kartı üzerindeki miktar ile Malzeme Ekstresi arasında sorun varsa veya Rezerve edilen sipariş hatalı görünüyorsa yada Malzeme Durum Penceresinde sorun varsa yedek alınarak ekteki queryler kullanılabilir.

 

STSHIPEDMOAUNT_Insert.sql                                : Sipariş fişine bağlı sevk edilmiş sipariş miktar toplamı tekrar düzenlenmektedir. 100 Adet sipariş girip buna bağlı 120 adet sevk edildiyse LG_XXX_YY_STSHIPPEDAMOUNT tablosunda 100 adet olmalı bu satır ilgili tablodan silinerek tekrar yazılması sağlanmaktadır.

 

STSHIPEDMOAUNT_İade_Miktar_Update.sql : Sipariş fişine bağlı sevk edilmiş miktar iade işlemi sonucu geri alınıyorsa LG_XXX_YY_STSHIPPEDAMOUNT tablosunda miktar bilgisi 0 olmalıdır bu query ile iade hareketlerinin LG_XXX_YY_STSHIPPEDAMOUNT tablosunda miktar bilgisi 0 olarak update edilmektedir. (Öncelikle üstteki queryi çalıştırılıp kontrol edilmeli sorun çözülmeze malzeme bazında bu query çalıştırılmalıdır.)

 

Malzeme toplamları viewa geçtikten sonra STLINE ve ORFLINE tabloları arasında sorun olup olmadığı kontrol edilmelidir;

 

SELECT * FROM LG_099_01_STLINE WHERE ORDTRANSREF>0 AND ORDTRANSREF NOT IN (SELECT LOGICALREF FROM LG_099_01_ORFLINE)

 

SELECT * FROM LG_099_01_STLINE WHERE ORDFICHEREF>0 AND ORDFICHEREF NOT IN (SELECT LOGICALREF FROM LG_099_01_ORFICHE)

 

Hatalı sonuç dönüyorsa düzeltilmelidir.

 

Not : Bu işlemler yapılmadan önce mutlaka yedek alınmalı yada güncel yedeğin olduğu kontrol edilmelidir.

 

STSHIPEDMOAUNT_İade_Miktar_Update.sql

UPDATE LG_099_01_STSHIPPEDAMOUNT SET SHIPPEDAMOUNT=0
WHERE TRANSREF IN
(
SELECT
L.LOGICALREF
FROM
LG_099_01_STLINE L WITH(NOLOCK)
LEFT OUTER JOIN LG_099_ITEMS I WITH(NOLOCK) ON L.STOCKREF=I.LOGICALREF AND L.LINETYPE NOT IN (2,3,4)
WHERE
(CANCELLED = 0)
AND (ORDTRANSREF <> 0)
AND (LINETYPE <> 2)
AND (LINETYPE <> 3)
AND I.CODE LIKE ‘KLM’ — MALZEME KODUNA GÖRE
AND L.TRCODE=3
)

 

STSHIPEDMOAUNT_Insert.sql

if exists (select * from dbo.sysobjects where id = object_id(N’TG_TEST’) and OBJECTPROPERTY(id, N’IsUserTable’) = 1)
BEGIN
drop table TG_TEST
END
GO
SELECT
L.LOGICALREF,L.AMOUNT,L.ORDTRANSREF,L.DATE_,L.SOURCELINK, L.UINFO1, L.UINFO2 , 0 AS TG
INTO TG_TEST
FROM
LG_099_01_STLINE L WITH(NOLOCK)
LEFT OUTER JOIN LG_099_ITEMS I WITH(NOLOCK) ON L.STOCKREF=I.LOGICALREF AND L.LINETYPE NOT IN (2,3,4)
WHERE
(CANCELLED = 0)
AND (ORDTRANSREF <> 0)
AND (LINETYPE <> 2)
AND (LINETYPE <> 3)
AND I.CODE LIKE ‘KLM’ — MALZEME KODUNA GÖRE
ORDER BY
DATE_
————————————
DECLARE @C_LOGICALREF INT, @C_AMOUNT FLOAT
,@C_ORDTRANSREF INT, @C_TRANSDATE DATETIME, @C_SOURCELINK INT
,@C_UNIT1CFACT FLOAT, @C_UNIT2CFACT FLOAT
DECLARE SHIPPED_CURS CURSOR FOR
————————————-
SELECT
L.LOGICALREF,L.AMOUNT,L.ORDTRANSREF,L.DATE_,L.SOURCELINK, L.UINFO1, L.UINFO2
FROM
TG_TEST L
WHERE
L.TG=0
————————————-
OPEN SHIPPED_CURS
FETCH NEXT FROM SHIPPED_CURS
INTO @C_LOGICALREF, @C_AMOUNT ,@C_ORDTRANSREF, @C_TRANSDATE, @C_SOURCELINK, @C_UNIT1CFACT, @C_UNIT2CFACT
WHILE @@FETCH_STATUS = 0
BEGIN
————————————-
DELETE FROM LG_099_01_STSHIPPEDAMOUNT WHERE TRANSREF=@C_LOGICALREF
————————————-
EXECUTE LG_UPDSHIPPEDAMOUNT_099_01
@C_LOGICALREF, @C_ORDTRANSREF, @C_SOURCELINK, @C_AMOUNT, @C_TRANSDATE, @C_UNIT1CFACT, @C_UNIT2CFACT, 1
————————————-
UPDATE TG_TEST SET TG=1 WHERE LOGICALREF=@C_LOGICALREF
————————————-
FETCH NEXT FROM SHIPPED_CURS
INTO @C_LOGICALREF, @C_AMOUNT, @C_ORDTRANSREF, @C_TRANSDATE, @C_SOURCELINK, @C_UNIT1CFACT, @C_UNIT2CFACT
END
CLOSE SHIPPED_CURS
DEALLOCATE SHIPPED_CURS