הפקת דוח על סמך טבלאות אשר עברו שינוי בפרוצדורה

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

  • Post
    טל אלבס
    משתתף
    שלום לכולם,
    כבר כמה ימים אני תקוע על העניין הבא:

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

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

    לשם כך, למיטב הבנתי ולאחר שניסיתי את כל האפשרויות של קיבוץ בדוח עצמו, צריך ליצור את הדוח באמצעות פרוצדורה (כלומר Processed Report).

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

    ניסית להשתמש ב-LINK ו-UNLINK על הטבלה DUMMY אבל אף פעם לא הצלחתי להעביר את הנתונים לדוח, לכן הוא תמיד מציג לי את הערך 0.

    הנה הקוד שאליו הגעתי (שכאמור לא מחזיר לי את התוצאה הרצוייה):
    SELECT SQL.TMPFILE INTO :CST FROM DUMMY;
    LINK DUMMY TO :CST;
    GOTO 99 WHERE :RETVAL <= 0; INSERT INTO DUMMY SELECT COUNT(*) FROM ORDERS; UNLINK DUMMY; LABEL 99;

    השלב הבא בפרוצדורה הוא להפיק את הדוח כאשר בדוח יש רק שדה אחד והוא DUMMY מטבלת DUMMY.

    אני ממש תקוע ואשמח אם מישהו יוכל לעזור :S
    תודה 🙂

מוצגות 4 תגובות – 1 עד 4 (מתוך 4 סה״כ)
  • Replies
    אורן קפלן
    משתתף
    היי טל
    נסה להשיג את הנתון על ידי הכנסת פונקציית COUNT של SQL או הערך של RETVAL למשתנה אותם תציג למשתמש בדו"ח הבא.

    בהצלחה,

    אורן

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

    מה שאני בעצם שואל, זה איזה עמודות ושדות של טבלה להציג בדוח ומה בדיוק לרשום בביטוי/תנאי שלהם.

    תודה רבה שוב על העזרה,
    טל.

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

    דבר נוסף עליו חשבתי – תוכל להוסיף עמודה נוספת בסוף הדו"ח שלך, לה תקרא "ספירה" ותתן לה ערך של 1. אז תגדיר עליה סיכום ובסה"כ של הדו"ח תקבל ספירה… 🙂

    יש עוד שיטות אבל אלו הפשוטות ביותר שאני יכול לחשוב עליהן.

    בהצלחה.

    אורן

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

    בהצלחה שוב,
    אורן

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