היי,
בניתי ממשק הפותח ת.החזרה לספק מתוך מסך החזרות סחורה ללקוח.
1. איך אני מציגה למשתמש את מס' ת.ההחזרה לספק שנפתחה?
ובנוסף שהמס' שיוצג בהודעה יהיה קישור לתעודה.
בעיקרון זה מה שרשמתי אבל זה לא עובד…
SELECT DOCUMENTS.DOCNO INTO :PAR2
FROM DOCUMENTS,GENERALLOAD
WHERE ATOI(GENERALLOAD.KEY1) = DOCUMENTS.DOC
AND LOADED = 'Y'
AND RECORDTYPE = '1';
WRNMSG 781 WHERE :PAR2 <> " ;
2. הוספתי שגיאה במידה וכבר נפתחה תעודה להחזרה זו אבל גם לא עובד…
(מס' ת.ההחזרה מצויינת בשדה פרטים של התעודה החדשה שנתפתחה)
ERRMSG 10 WHERE EXISTS(
SELECT 'X' FROM DOCUMENTS,GENERALLOAD WHERE
DETAILS = TEXT2 AND TYPE = 'W' AND CANCEL <> 'Y');
צודק,
הוספתי לDOCUMENTS את המילה ORIG וזה עובד- מוצגת הודעה עם מס' ההחזרה שנפתחה
אבל בקטע השני זה לא עובד, לא מוצגת שגיאה בכלל
ERRMSG 10 WHERE EXISTS(
SELECT 'X' FROM DOCUMENTS ORIG,GENERALLOAD WHERE
ORIG.DETAILS = TEXT2 AND TYPE = 'W' AND CANCEL 'Y');
רצוי להשתמש בשמות הטבלאות יחד עם שמות השדות
נראה לי שאת צריכה לציין ש-GENERALLOAD.RECORDTYPE = '1', אחרת תהיה השוואה מול שורות התעודה ולא מול הכותרת.
אני הייתי מבצע UNLINK ל-DOCUMENTS לפני שלב הבדיקות בכל מקרה כדי לפשט קצת.