אני מנסה להריץ את תוכנית ה-PARTTREE מתוך הקוד.
כאשר מריצים לכמה אבות בודדים, זה עובד מצויין.
אבל כאשר מריצים לכל מוצרי P במערכת (בסביבות ה-10000) – התוכנית מסתיימת בערך בשליש ריצה ולא בונה את כל העצים.
יש למישהו רעיון מה אפשר לעשות?
בתודה מראש.
אפשר לראו מטה את קוד התוכנית:
/*-----------------------------------*/
SELECT SQL.TMPFILE INTO :PAR FROM DUMMY;
SELECT SQL.TMPFILE INTO :F2 FROM DUMMY;
/*----------------------*/
LINK PART LPART TO :PAR;
GOTO 333 WHERE :RETVAL <= 0;
/*-----------------------------------*/
INSERT INTO PART LPART
SELECT * FROM PART ORIG
WHERE PART <> 0
AND TYPE = 'P';
/*-----------------------------------*/
EXECUTE PARTTREE :PAR, SQL.DATE8, :F2, 'F';
/*-----------------------------------*/
LINK PARTTREE TO :F2;
GOTO 444 WHERE :RETVAL <= 0;
/*-----------------------------------*/
DELETE FROM ZYYY_PARTTREE_DAILY;
/*----------*/
INSERT INTO ZYYY_PARTTREE_DAILY
SELECT * FROM PARTTREE
WHERE IND <> 0;
/*-----------------------------------*/
UNLINK PARTTREE;
LABEL 444;
UNLINK PART;
LABEL 333;
היי,
ראיתי פעמיים פה בשימוש בעצי מוצר את השימוש בפקודה:
SELECT SQL.TMPFILE INTO…
במקרים בהם אני רוצה להשתמש בטבלה משלי שמכילה מפתחות של מוצרי אב, איך אני משתמש בפקודה הזו? מה היא אומרת?
תודה 🙂
כאשר פרוצדורה צריכה העתק טבלה, יש דרכים להגדיר את הטבלה – או כפרמטר חיצונית לשלב SQLI או בתוך הקוד עצמו (SELECT SQL.TMPFILE). אינני בטוח אם יש הבדל משמעותי, אך חשוב לדעת שחייבים להשתמש ב-SELECT SQL.TMPFILE אם נדרשת טבלה זמנית בהפעלת מסך (אין איפה להגדיר את הפרמטר).