yitzchok

Forum Replies Created

מוצגות 15 תגובות – 1,846 עד 1,860 (מתוך 2,464 סה״כ)
  • Replies
  • yitzchok
    משתתף
    IL
    לקחתי את הזמן לבדוק את זה.

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

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

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

    וזהו.

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

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

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

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

    ובחלק מאלה שהיא לא מותנית מדובר בפרוצדורת דו"ח והדבר הראשון שעולה זה דו-השיח של איך להפיק את הדו"ח.

    ניסית את הפרוצדורה PREPHEBENGDICT? שם ההודעה עולה מיד.

    או אולי הדרישה שלך ב"הודעת אזהרה" מאוד ספציפית וגם ההודעה שבפרוצדורה הנ"ל לא עונה עליה?

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

    אני לא רוצה אפילו לבצע בדיקה.
    אני רוצה להציג את הודעת האזהרה הפעלת הפרוצדורה.
    הכנסתי הודעה מספר 300, ולאחר מכן הכנסתי בשאילתת ה-SQLI את השורה הזו: WRNMSG 300;
    זה לא עבד לי.
    עדיין אני צריך להכניס את השלב PRINTCONT?

    לא סתם הפניתי אותך ל-PRINTCONT.
    אני לא חושב שהזכרון שלי מזייף. כמה שאני זוכר WRNMSG לא עוצר הרצה של פרוצדורה. במצב הטוב רואים הודעה שאפשר לאשר וזהו, ואפילו בסוף.
    עבור על הדוגמאות שאני נתתי (אפשר להדביק את הרשימה בעמודה הראשונה של מחולל הפרוצדורות בצורה הנכונה וזה ישלוף לך את כולן).
    כזכור לי ראיתי כאלה שלוקחים הודעה קבועה ולא קובץ הודעה.

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

    אפשר לעצור את ההרצה ולהציג הודעה ביחד עם כפתורים "המשך" ו"ביטול" ע"י הוספת שלב PRINTCONT.

    צריכים לתת לו פרמטר מסוג ASCII אם אני לא טועה וכהכנה יש לשפוך את ההודעה לפרמטר כזה משלב SQLI שלפני זה.

    להלן רשימה של פרוצדורות בהן יש שימוש ב-PRINTCONT – אולי יעזרו לך להבין איך להשתמש בו. (הרשימה באה מגרסה 15 כי רק לזה יש לי גישה נוחה כרגע, אבל זה צריך להספיק)

    ADJREP
    BACKLOG
    FEEDBACK
    PADJREP
    RUNFSTATEMENT
    MRP
    MRPDEMANDS_OLD
    PREPHEBENGDICT
    RUNFSTATEMENT2
    WINOUTLOOK_OLD
    LOADORDMIGRATION
    LOADPARTMIGRATION
    LOADCUSTMIGRATION
    LOADCUSTPHONEBOOKMIG
    LOADSUPMIGRATION
    LOADSUPPLMIGRATION
    LOADSUPPHONEBOOKMIG
    LOADCUSTPLMIGRATION
    LOADCUSTPARTMIG
    LOADSUPPARTMIG
    LOADMNFPARTMIG
    LOADALTPARTMIG
    LOADPORDMIGRATION
    LOADDOCCMIGRATION
    LOADPARTTREEMIG
    LOADLOCATIONSMIG
    LOADDOCPMIGRATION
    LOADFNCMIGRATION
    LOADACCOUNTSGENERAL
    LOADEXTTRANSq
    LOADUSERSMIG
    LOADUSERSBWORKHOURS
    UNFINALDOC_C
    LOADSALARYTRANS
    LOADUSERSBSALARY
    LOADOLDTAXES
    LOADUSERBMIG
    LOADUSERCHILDREN

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

    אם תנסי את זה ואם אכפת לך לבדוק בשבילנו, אשמח מאוד לשמוע אם מה שאני חושש זה נכון: נראה לי שמה שהדבר הזה עושה זה רק למחוק את השורה מתוך EXEC אבל חלקים אחרים של היישות לא נמחקים אלא נשארים יתומים – לדוגמה שלבים של הפרוצדורות ועמודות של הדו"חות.

    זה לא נורא מאוד אני אישית אני לא אוהב ליצור מצב כזה. אם ה-clean הזה ממש מנקה עד הסוף זה יהיה טוב לדעת.

    תודה

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

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

    אני רק התכוונתי לאיך שהייתי רוצה שנעבוד אם היינו יכולים ולמה למיטב ידיעתי אנחנו לא יכולים.

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

    בדרך אגב:

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

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    אין צורך לעשות שינוי בפרוצדורה (וגם לא ניתן כי מדובר בפרוצדורה סטנדרטית)

    במחולל הפרוצודורת שלוף את הפרוצדורה ולך למסך בן "מופעל מתפריט/מסך". סמן V בעמודת "אישור הרצה" עבור כל מסך בו אתה רוצה שהרצת הפרוצדורה תעוכב ע"י הצגת הודעה "סגירת חשבונית" עם כפתורים "אישור" ו-"ביטול".

    מקווה שזה יענה על הדרישה

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

    הדוח חותך לי תעודות מסוימות

    תוכל בבקשה לפרט?

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

    (ואין לי תשובה בשבילך כי מעולם לא מחקתי ככה)

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

    להציג הודעת שגיאה אם הערך של שדה X (ונקרא לזה X כאן בביטוי לצורך זה) שווה ל-

    (<> IN (6,8,10) ? <> : -1)

    וזה דורש שמה שיש בחלק של "אם לא" (כאן 1-) זה ערך שלא יכול להיות בשדה זה, אחרת יש מצב שתתני הודעת שגיאה כשאת לא רוצה. (לדוגמה אם מדובר בשדה של שם מחסן שמוגבל ל-4 תווים, שימי מחזורת של 5 תווים כי לעולם לא יהיו שווים)

    מקווה שזה מספיק ברור

    אזהרה: בימים האחרונים קיבלנו דיווח של קושי להשתמש בפונקציית IN – יכול להיות שיעזור הטיפ שנעם נתן בבלוג שלו היום כאן (תודה נעם!) שזה להתשמש בשם הפנימי של השדה ולא בתגיות של עורך החוקים.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    ממליץ לעשות בצורה שציינתי.
    כך הכי ברור.
    תקימי חוק אחד, שכפלי וערכי.
    להכניס את הכל לחוק אחד דורש לתפור ביטוי יחסית מסורבל כדי להשיג את מה שיהיה נורא ברור בתור כמה חוקים נפרדים.
      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    yitzchok
    משתתף
    IL
    תעשי שלשה חוקים 🙂

    כל אחד להציג הודעת שגיאה אם הערך הנמצא זה אחד מאלה שאת לא רוצה לאפשר.

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

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

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

    תהפוך את הביטוי שלך ל-PA34
    ותוסיף עוד שורה של
    the value of To Consignmt Warehs differs from PA45
    וסיימת.

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
מוצגות 15 תגובות – 1,846 עד 1,860 (מתוך 2,464 סה״כ)