בניית פרוצדורה לשליחת דוח ע"י הTTS

פורומים אפיון ופיתוח פריוריטי בניית פרוצדורה לשליחת דוח ע"י הTTS

  • Post
    מירי צדוק
    משתתף
    שלום,

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

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

    אשמח אם תוכלו לעזור לי מה לרשום בשאילתת ההכנה של הפרוצדורה?
    ואיך אני מצרפת את הפרמטר לשאילתא?

    תודה לכם 🙂

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

    :GROUP = 'TAPIMW';
    EXECUTE WINACTIV '-R', 'XXXX_NOPRODUCTION2', '-g', :GROUP;

    הגישה הזו מחייבת את הדו"ח להיות ללא פרמטרים.

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

    מירי צדוק
    משתתף
    תודה על המענה.

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

    PriorityDev
    משתתף
    IL
    קודם כל CONTEXPIRY זה לא דו"ח, זאת פרוצדורה שיש בתוכה דו"ח.

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

    אבל במקרה שלך כל זה לא יעזור, כי את צריכה תאריך דינמי.

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

    מירי צדוק
    משתתף
    אנחנו לא מסמנים את לקוחות ללא חוזה
    ותודה 🙂
    PriorityDev
    משתתף
    IL
    OK.
    אז צריך להעתיק את הפרוצדורה CONTEXPIRY (לא את הדו"ח).
    בפרוצדורה הפרטית שיצרת (לא ב-CONTEXPIRY !!!) יש לעשות שינויים כדלהלן:
    1. למחוק שלבים 2, 10.
    2. למחוק משלב 20 את הפרמטרים DAT, NC (להשאיר את ה-STK).
    3. בשלב 10 למחוק את הקוד ובמקומו להכניס את הקוד הבא:
    LINK STACK23 TO :$.STK;
    ERRMSG 1 WHERE :RETVAL <= 0;
    INSERT INTO STACK23(FIRSTKEY, SECONDKEY)
    SELECT DOCUMENTS.DOC, CUSTOMERS.CUST
    FROM DOCUMENTS, CUSTOMERS, SERVCONT
    WHERE DOCUMENTS.TYPE = 'Z'
    AND DOCUMENTS.CANCEL 'Y'
    AND SERVCONT.EXPIRYDATE <= ENDOFMONTH(SQL.DATE)
    AND DOCUMENTS.CUST = CUSTOMERS.CUST
    AND DOCUMENTS.DOC = SERVCONT.DOC;
    UNLINK STACK23;

    בהצלחה!

    PriorityDev
    משתתף
    IL
    מה שעשיתי כאן:
    1. מחקתי את כל הקוד שמתייחס לקלט השני.
    2. מחקתי התייחסות לקלט תאריך ובמקומה הכנסתי תאריך סוף החודש הנוכחי: ENDOFMONTH(SQL.DATE)

    זה מקרה פשוט, כי הדו"ח היה כבר עטוף בפרוצדורה.

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