אם הטריגר מופעל ביציאה מהשורה באחד ממסכי הפירוט של מסמך , ואתה רוצה פרוצדורה שמופעלת ללא קשר לשורה שבה אתה נמצא
אתה צריך למצוא את השורה לבד על ידי SELECT
–
יעזור אם תפרט איזה טריגר ומאיפה אתה רוצה להפעיל את הפרוצדורה
אם אתה עומד על השורה ורוצה להריץ הפעלה ישירה אתה יכול ליצור שלב INPUT לפרוצדורה
להגדיר את שם הפרמטר כ PAR
בשלב SQLI לבצע לינק לטבלת הבסיס של המסך לפרמטר
לדוגמא קישור לשורה של תעודת קבלה מספק
LINK TRANSORDER TO :$.PAR;
ERRMSG 1000 WHERE :RETVAL <= 0;
שים לב חובה לרשום את הודעת השגיאה למקרה שהקישור ניכשל
אני מעוניין שהפרוצדורה תופעל ע"י EXECUTE WINACTIV/ACTIVE מתוך POST-FIELD טריגר במסך Reporting-Detail
אני רוצה שהפרוצדורה תרוץ על נתוני השורה עליה אני עומד.
זה לא עובד עם משתנה PAR בשלב הINPUT של הפרוצדורה מכיוון שזה מופעל דרך EXECUTE
ולמצוא את השורה ע"י SELECT זה בעייתי.
תודה
צור קובץ זמני באמצעות SQL.TMPFILE
תעשה לינק לטבלה של הרשומה עליה אתה עומד
תכניס לטבלה הזמנית את הרשומה מהטבלה הפיסית
תפעיל WINACTIV שמקבל PAR כקלט ותעביר את הקובץ הזמני
יש דוגמא ב SDK
בתוך הפרוצדורה תעשה לינק ל PAR ותיקח מהרשומה מה שאתה צריך