› פורומים › אפיון ופיתוח פריוריטי › UPDATE
- This topic has 9 תגובות, משתתף 1, and was last updated לפני 8 שנים, 10 חודשים by
אלמוני.
- Post
-
- נובמבר 9, 2016 בשעה 2:39 pm
היי,בניתי פרוצ' אשר מעדכנת את כל השורות של הזמנות רכש אשר יש להם מס' מכולה נבחר.
העשים 3 עדכונים: תאריך לפי קלט, סטטוס לפי קלט, תאריך של היום.
קלט: מס' מכולה-שדה טקסט, תאריך- שדה תאריך, סטטוס- שדה בחירה מתוך סטטוסים לשורות הזמנת רכש.
לינקקתי את טבלת סטטוסים לשורת הזמנת רכש.לאחר הריצה, כל התעודות עודכנו בתאריכים אך רק התעודה הראשונה עודכנה בסטטוס.
זו הפרוצדורה:
LINK PORDISTATUSES POS TO :$.STS;
ERRMSG 1 WHERE :RETVAL <= 0; UPDATE PORDERITEMS SET DUEDATE = :$.DAT WHERE CONT = :$.CNT; :STAT = 0; SELECT POS.PORDISTATUS INTO :STAT FROM PORDISTATUSES POS WHERE PORDISTATUS <> 0;
UPDATE PORDERITEMSA SET PORDISTATUS = :STAT
WHERE ORDI IN
(SELECT ORDI FROM PORDERITEMS WHERE CONT = :$.CNT);
UPDATE PORDERITEMS SET FIXDATE = SQL.DATE
WHERE CONT = :$.CNT;
- Replies
-
- נובמבר 9, 2016 בשעה 3:50 pm
- נובמבר 15, 2016 בשעה 1:26 pm
הוספתי CURSOR אבל עדין מעדכן רק את הרשומה הראשונה.
להלן הקוד:
DECLARE C CURSOR FOR
SELECT ORDI FROM PORDERITEMS WHERE ALLI_CONT = :$.CNT;
OPEN C;
GOTO 99 WHERE :RETVAL <= 0;
LABEL 10;
FETCH C INTO :ORDI;
GOTO 20 WHERE :RETVAL <= 0;
UPDATE PORDERITEMSA SET PORDISTATUS = :STAT
WHERE ORDI = :ORDI;
:COUNT = :COUNT + 1;
LOOP 10;
LABEL 20;
CLOSE C;
SELECT ITOA(:COUNT) INTO :PAR2 FROM DUMMY;
- נובמבר 16, 2016 בשעה 11:34 am
- נובמבר 16, 2016 בשעה 12:02 pm
- נובמבר 16, 2016 בשעה 5:48 pm
אני מקבלת מהערך RETVAL אפס לאחר פתיחת הקרסור וגם לאחר ה-FETCH- נובמבר 17, 2016 בשעה 1:31 pm
- נובמבר 17, 2016 בשעה 1:57 pm
- יש להתחבר למערכת על מנת להגיב.