הודעת אזהרה בהרצת פרוצדורה

פורומים אפיון ופיתוח פריוריטי הודעת אזהרה בהרצת פרוצדורה

  • Post
    רועי זלוף
    משתתף
    שלום,
    ישנה פרוצדורה לסגירת חשבוניות – CLOSEANINVOICE.
    איך אפשר להוסיף לה הודעת אזהרה? כלומר לאחר לחיצה על הפרוצדורה שתופיע הודעת אזהרה?

    תודה.

מוצגות 7 תגובות – 16 עד 22 (מתוך 22 סה״כ)
  • Replies
    רועי זלוף
    משתתף
    אבל אני רוצה רק הודעת אזהרה – לא שגיאה., ללא שום תנאי.
    שבהודעת האזהרה יהיה כפתורי "אישור" ו-"ביטול", ולחיצה על כפתור האישור תמשיך עם הרצת הפרוצדורה.
    yoram
    משתתף
    אז תרשום wrnmsg 900
    ותקים הודעה בפרוצדורה מספר 900 אפילו ריקה או שתרשום בה איזשהו מלל. הודעת אזהרה כבר מכילה כפתורי ביטול ואישור.
    בהצלחה.
    רועי זלוף
    משתתף
    עשיתי את זה אבל זה לא עובד. מצרף צילום מסך.
    ניסיתי להכניס את ה-WRNMSG גם כשלב SQLI נפרד, וזה גם לא עבד.
    yitzchok
    משתתף
    IL
    "זה לא עובד" לא עוזר הרבה…

    לא קורה כלום בתחום ההודעות?
    ההודעה מוצגת בשלב הנכון אך ללא אפשרות ביטול אלא רק אישור? (= אולי "עובד" מבחינת מה שאמור לעשות רק לא מה שהתכוונת)
    הפרוצדורה לא עובדת בכלל? (אפשר לפרש גם כך)

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    לקחתי את הזמן לבדוק את זה.

    באמת אני רואה שהשיטה שיש ב-PREPHEBENGDICT לא מציגה הודעה (לא ברור לי למה, אם כן למה רשמו בכלל את הפקודה הזאת פרוצדורה).

    אבל WRNMSG בשלב SQLI מציג הודעה עם "אישור" בלבד, כפי שכתבתי בהתחלה ואני מבקש מאלה שהמליצו על WRNMSG לבדוק אצלם ולהביא הוכחות שמה שהם כתבו כן נכון.

    שיטה אחת של PRINTCONT שכן עובדת היא ככה, וכוללת מענה על תרגום.
    אתה מוסיף שני שלבים לפרוצדורה. הראשון SQLI והשני PRINTCONT.
    בשניהם אתה מוסיף פרמטר MSG (לא נראה לי שהשם חשוב אבל כך נהוג) מסוג ASCII.
    אתה מוסיף הודעה לפרוצדורה, לצורך הדוגמה 900.
    ב-SQLI אתה שם שורה זאת:
    SELECT ENTMESSAGE('$','P',900) FROM DUMMY ASCII :$.MSG ;

    וזהו.

    זה לא נראה הכי יפה, במיוחד אני חושב שאני זוכר בעיות בשפות שונות עם גלישת שורות אבל עבור הודעות קצרות יותר זה בסדר. כזכור לי יש שיטות להוסיף חלון של טקסט עזרה ושם התצוגה יותר מסודרת.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yoram
    משתתף
    מציע לך את הפתרון שלי שהוא פשוט למדיי :
    1. תקים שלב SQLI נוסף או אפילו בשלב של ה – INPUT הקיים(בסוף הקוד שלו) – תוסיף משתנה לפרוצדורה שנקרא למשל MSE מטיפוס INT .

    בקוד תרשום MSE.$:
    = 900 ׁ(סליחה על הסינטקס) ;
    תוסיף שלב חדש לפרוצדורה שנקרא WRNMSGF ובפרמטרים שהוא מקבל תוסיף את MSE
    וקיבלת את מה שאתה רוצה .

    פשוט וקל .

    רועי זלוף
    משתתף
    תודה רבה לכולם.
    עזרתם לי מאוד.
מוצגות 7 תגובות – 16 עד 22 (מתוך 22 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.