Merhabalar ,
Logo tarafında bir geliştirme henüz gerçekleşmediği için geçici olarak aşağıdaki şekilde çözebilirsiniz.
_STOPTRANS tablosundaki _STOPTRANS_I2 index kaydına en başa LOGICALREF asc olarak sıralama ekleyip yeniden index build ederseniz sorun çözülecektir.
Cevap vermek için giriş yapmanız gerekmektedir.
Soru sormak için lütfen oturum açınız.
Logo Object AddStopTransForAWOrd fonksiyonundan hata alıyoruz.
16/11/18 13:06   Tiger/Logo ObjectsLogoObject ile durdurulmuş bir iş emrini yeniden başlatırken (16335 : İş emrini başlatmak için önce iş emri durdurulmalıdır.) hatası alıyoruz.
Kullandığımız fonksiyon:
AddStopTransForAWOrd(IS_EMRI_REFERANSI, DURMA_NEDENI_REF, 0, 0, TARIH, SAAT, ACIKLAMA)
Bunun nedeni objenin kullandığı bir sorguda index kullanılmamış olması gibi görünüyor.
sorgu:
SET ROWCOUNT 0
SELECT
STOPTRANS.LOGICALREF, STOPTRANS.PRODORDREF, STOPTRANS.DISPLINEREF, STOPTRANS.OPREF, STOPTRANS.WSREF, STOPTRANS.CAUSEREF, STOPTRANS.STOPDATE, STOPTRANS.STOPTIME, STOPTRANS.STARTDATE, STOPTRANS.STARTTIME, STOPTRANS.STOPDURATION, STOPTRANS.AFFECTSCOST, STOPTRANS.AFFECTSPLAN, STOPTRANS.TRANSEXP, STOPTRANS.LINENR, STOPTRANS.WSPARTREF, STOPTRANS.ACTIVEPARTNUM
FROM
LG_217_STOPTRANS STOPTRANS WITH(NOLOCK)
WHERE
(STOPTRANS.DISPLINEREF = 28379)
LG_217_STOPTRANS tablosunda iki tane index tanımlı.
I217_STOPTRANS_I1 ve I217_STOPTRANS_I2
bazı sql sunucular birinci index i bazıları ikinci index i otomatik olarak seçiyor.
ikinci indexi seçtiği zaman bu hata oluşuyor.
sorgu sıralamayı;[DISPLINEREF] ASC, [CAUSEREF] ASC olarak yapıyor.
obje sorgu sonucunda son kayda bakarak işlem yapıyor gibi görünüyor.
birden fazla durma işlemi uygulandı ise ve son durdurma olarak [CAUSEREF]'i küçük bir kayıt girildi ise
hiçbir zaman son kayıt olarak gelmiyor.
Konu ile ilgili farklı bir görüşünüz yok ise düzeltme talep etmekteyiz.
Teşşekürler. İyi çalışmalar.