הוספת הודעת בחירה לשלב SQLI בפרוצדורה

פורומים אפיון ופיתוח פריוריטי הוספת הודעת בחירה לשלב SQLI בפרוצדורה

  • Post
    שלום לכולם.
    האם יש סוג של הודעה שאפשר להכניס בקוד של שלב SQLI שהמשתמש יוכל לבחור האם לבצע פעולה מסויימת או לסיים.
    אם כן, כיצד מתייחסים אח"כ בקוד לקלט של המשתמש (האם זה Y בשביל כן ו-N בשביל לא)?
מוצגות 15 תגובות – 1 עד 15 (מתוך 20 סה״כ)
  • Replies
    yitzchok
    משתתף
    IL
    לא, אין אפשרות כזאת.
    בהפעלה במסך WRNMSG נותנת אפשרות לעצור. בפרוצדורה WRNMSG מציגה הודעה עם לחצן OK ולאחר אישור ממשיכים הלאה. אין דו-שיח שאפשר להקפיץ עם פקודה כמו WRNMSG.
    צריכים להפריד את שלבי ה-SQLI ולשים שלב של CONTINUE או PRINTCONT או CHOOSE או INPUT ביניהם. מקבלים תשובות מ-INPUT ומ-CHOOSE. אפשר לקרוא את התשובה בקוד או להשתמש בזה ב-GOTO שידלג שלבים שבאים אחר-כך. לחיצת ביטול ב-CONTINUE ו-PRINTCONT מפסיקה את הפרוצדורה.
    כמובן חייבים INPUTF או CHOOSEF במידה ומריצים את הפרוצדורה כהפעלה ישירה אחרת לא תוצג שאלה כלל.
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    היי
    האם ניתן לשנות את ההודעה שמוקפצת כתוצאה משלב CONTINUE ?
    yitzchok
    משתתף
    IL
    בשביל זה יש PRINTCONT – כמו PRINT ועם השאלה של CONTINUE
    קל דוגמה מפרוצדורת MRP או ADJREP- אפשר או לשים טקסט בשדה "כותרת" או להעביר טקסט כפרמטר ASCII – תעשה משהו כמו זה:
    [code:1]SELECT ENTMESSAGE('procname','P',1) FROM DUMMY ASCII :$.MSG;[/code:1]
    כך תוכל להעביר טקסטים שונים לפי הצורך.
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    תודה , עזרת לי מאוד.
    בוקר טוב,
    האם ניתן דרך הקוד שבשלב ה-SQLI להתנות שאם תנאי מסויים מתקיים אז לקפוץ למספר שלב מסויים ואם לא אז למספר שלב אחר (בפרוצדורה) ?
    PriorityDev
    משתתף
    IL
    כן. אתה צריך לאתחל משתנה, למשל, :$.GO ולמסור אותו כפרמטר לשלב GOTO משם הפרוצדורה תקפוץ לשלב שמספרו מאותחל בפרמטר.
    PriorityDev
    משתתף
    IL
    כמו כן, אם אתה רוצה להריץ דו"ח, ממשק או כל ישות אחרת ישירות משלב SQLI, בלי להכניסו לשלבי הפרוצדורה, ניתן לעשות זאת ע"י פקודת EXECUTE (ראה סינטקס ב-SDK).
    אם אני מבין נכון : אני מגדיר משתנה GO בתוך הקוד בשלב הSQLI לאחר מכן אני כותב את התנאי ואז כיצד אני מבטא שכאשר התנאי מתקיים לך ל- GOTO ?
    PriorityDev
    משתתף
    IL
    לא, קצת אחרת.
    אתה מגדיר משתנה GO עם דולר. מאתחל אותו באופן מותנה במספר השלב בפרוצדורה, שאליו אתה רוצה לקפוץ. בפרמטרים לשלב SQLI אתה רושם GO
    א"כ מוסיף בפרוצדורה שלב GOTO (מיד לאחר ה-SQLI) ומעביר לו פרמטר GO.
    משם הפרוצדורה תמשיך למספר שלב שמסרתה בפרמטר GO.
    yitzchok
    משתתף
    IL
    michaelm – אין לי זמן לחפש עכשיו – אני מציע לחפש ולהזכיר פרוצדורה קיימת בה אפשר לראות דוגמה
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    PriorityDev
    משתתף
    IL
    שלום, יצחק. אתה צודק.
    למשל, פרוצדורות בשם PORDRES או CUSTLOAD
    יש לראות שם שלבי GOTO ו-SQLI שלפניו.
    מצויין – הדוגמא פתרה לי את הבעיה.
    תודה לשניכם!
    יצחוק הי
    האם יכול להיות ש-PRINTCONT אינו מציג הודעה אלא רק במקרה של הפעלה ישירה?
    אני ניסיתי את 2 השיטות ובשתיהן לא עולה הודעה.
    yitzchok
    משתתף
    IL
    לא נראה לי
    אם בכלל הייתי אומר שפחות היו רוצים PRINTCONT בהפעלה ישירה (כי בהפעלה ישירה אפשר לחייב אישור לפני הרצת הפרוצדורה)
    תנסה לשים CONTINUE במקום PRINTCONT. אולי PRINTCONT לא עוצר אם אין הודעה להציג. אם CONTINUE יעבוד תבדוק את ההגדרה של ההודעה.
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    PriorityDev
    משתתף
    IL
    שלום, יצחק

    האם יש דרך להציג הודעה עם טקסט דינמי בהרצה ישירה?

מוצגות 15 תגובות – 1 עד 15 (מתוך 20 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.