הוספת תאור תיקון בדוח פרוט קריאות

פורומים אפיון ופיתוח פריוריטי הוספת תאור תיקון בדוח פרוט קריאות

  • Post
    בדוח פירוט קריאות שרות, איך מוסיפים גם תאור תיקון בנוסף לתיאור תקלה.

    לא מצליח גם לאחר שליפה הטקסט ממזהה שונה- מטבלה DOCUMENTSTEXT.TEXT

    הקישור לDOCUMENTS – תיאור תקלה – DOC*-1    ותיאור טיפול: DOC

    מציג את התגיות של HTML – כאשר קיים גם תאור תקלה וגם תיאור טיפול.

    אשמח להסבר כיצד להציג בדוח רגיל.

מוצגות 15 תגובות – 1 עד 15 (מתוך 17 סה״כ)
  • Replies
    NoamN
    משתתף
    none
    ניסיתי זאת כמה פעמים בעבר ולעניות דעתי בלתי אפשרי בדו"ח רגיל אלא רק במסמך HTML.

    אפשרות אחרת: לכתוב שלב SQLI בו קודם מעתיקים נתונים מסוג אחד לטבלה מלונקקת ועל הטבלה הזו מריצים את DELHTML (לחפש את Removing HTML Tags from a Text Table בפרק 3 של ה-SDK). אחר כך מעתיקים את המלל מהטבלה הזו לטבלה בנויה על STACK8, כאשר אחד המפתחות יהיה מספר הקריאה והמפתח השני יהיה מספר רץ. אחר כך חוזרים על כל התהליך עבור הסוג השני של מלל (עם DOC שלילי), בסוף שומרים את הנתונים עם STACK8.KEY1 שלילי.

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

    היי,

    תודה על המענה.

    בשלב הראשון – למה בדיוק התכוונת – לאיזו טבלה ראשונה להעתיק?

    בשלב השני  STACK8 – אין שדה של טקסט – איך אפשר להעביר לשם את המלל?

    צריך להעתיק שדה LINE של השורות או ORDLINE?

    אם אפשר לקבל הסבר

    NoamN
    משתתף
    none
    צריך לבצע לינק לטבלת DOCUMENTSTEXT כי זו הטבלה שמכילה את המלל.

    מזמן הוספתי שדה מלל באורך 68 תווים ל-STACK8 – במיוחד למקרים כאלה.

    אפשר לשמור את ORDLINE בתוך STACK8.KEY2 אבל לא נדרש: השורות תהיינה בסדר הנכון לכן ניתן להשתמש גם ב-SQL.LINE

    היי,

    תודה.

    אצלנו לא קיים שדה הטקסט – אולי אוסיף

    הכוונה שבסוף – בstack8 יהיו 2 שדות טקסט – אחד של תאור תקלה והשני תאור טיפול עם שני מפתחות שהם מס' קריאה ומס' שורה?

    ב SDK קיימת הדוגמא להלן:
    <p style="text-align: left;">INSERT INTO PARTTEXT SELECT * FROM PARTTEXT ORIG WHERE PART = :PART AND TEXT <> ''; /* Don't insert empty lines into the link table */ UNLINK PARTTEXT; /* text with HTML tags */ SELECT TEXT FROM PARTTEXT WHERE PART = :PART FORMAT; EXECUTE DELHTML 'PARTTEXT', :TXT;</p>
    בתחילה מעתיקים את שורות הטקסט מהאורגינל לטבלה המלונקקת , אבל בסוף מבצעים UNLINK – כלומר ,בשורה הבאה כאשר מריצים הורדה של HTML – מבצעים על הטבלה המלונקקת למרות שבוצע בשורה קודם UNLINK – וגם רשום שמבוצע ל TXT:

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

    אשמח לסבר ,

    תודה מראש

     

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

    אם זה לא נראה לך, אפשר לעבור ל-STACK11 שיש לו שלושה מפתחות (וגם תו כמפתח אבל כמעט ולא השתמשתי בו). KEY1 יהיה מספר התעודה, תמיד חיובי, KEY2 יהיה 1 או 2 (או מספרים אחרים) כדי להבדיל בין תקלה ותאור, ו-KEY3 יהיה מספר שורה. נדמה לי שצריך להוסיף גם כאן  שדה טקסט ארוך.

    NoamN
    משתתף
    none
    "רוצה לברר , כדי שלא יהיה בלבול ויבוצע ניקוי על הטבלה המקורית..מבלבל"

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

    אם אפשר  הבהרה נוספת.

    המטרה של הדוח להציג קריאות בין תאריכים, כך ששלב ה SQLI , הגדרתי CURSOR לשלוף את כל הקריאות בטווח המבוקש

    וב LOOP בשליפה הכנסתי את העתקת הטקסט של קריאה לטבלה המלונקקת – כדי לבדוק אם עבד בצעתי DEBUG אבל מציג לי את כל הקריאות בקובץ – היכן טעיתי?
    <p style="text-align: left;">SELECT SQL.TMPFILE INTO :TXT FROM DUMMY;
    LINK DOCUMENTSTEXT TO :TXT;
    GOTO 99 WHERE :RETVAL <= 0;
    /** insert service call text doc **/
    DECLARE SRVC CURSOR FOR
    SELECT DOC FROM DOCUMENTS WHERE DOC <> 0
    AND CURDATE BETWEEN :$.FDT AND :$.TDT ;
    OPEN SRVC;
    GOTO 99 WHERE :RETVAL <=0 ;
    LABEL 10;
    :DOC = 0 ;
    FETCH SRVC INTO :DOC;
    GOTO 9999 WHERE :RETVAL <= 0 ;
    INSERT INTO DOCUMENTSTEXT SELECT * FROM DOCUMENTSTEXT ORIG
    WHERE DOC = :DOC AND TEXT <> " AND TEXTLINE > 0 ;
    /* Don't insert empty lines into the link table */
    LOOP 10;
    LABEL 9999;
    CLOSE SRVC;
    /***CHECK **/
    UNLINK DOCUMENTSTEXT;
    LINK DOCUMENTSTEXT TO :TXT;
    GOTO 99 WHERE :RETVAL <= 0;
    SELECT * FROM DOCUMENTSTEXT TABS 'C:\TMP\LTXT.TXT';</p>
    בשורה האחרונה – מציגה מה יש בטבלה לאחר הLOOP -מצפה לראות רק את הקריאות שעמדו בקריטריון התאריך אבל מציג את כולם

    האם צריך לבצע קודם UNLINK ? או אח"כ האם צריך להגדיר שוב LINK ל TXT – שם אמורה להיות הטבלה המצומצמת של הקריאות הנבחרות

     

    תודה מראש

    NoamN
    משתתף
    none
    יש כמה בעיות עם הקוד שלך. הקורסור יקח כל רשומה בטבלת DOCUMENTS בטווח התאריכים – צריך להוסיף שני תנאים על TYPE ו-FINAL. הקוד שמכניס את המלל לתוך DOCUMENTSTEXT יכניס רק ערכים חיוביים של DOC ולא שליליים. הסוף די מבולגן.
    אוסיף את מה שאני חושב שצריך להיות הקוד במכתב נפרד, במקרה והאתר מסרב לקבל.
    NoamN
    משתתף
    none
    LINK DOCUMENTSTEXT TO :$.TXT;
    GOTO 300 WHERE :RETVAL <= 0;
    LINK STACK8 TO :$.STK;
    GOTO 300 WHERE :RETVAL <= 0;
    DECLARE C1 CURSOR FOR
    SELECT DOC
    FROM DOCUMENTS
    WHERE TYPE = 'Q'
    AND CURDATE BETWEEN :$.FDT AND :$.TDT
    AND FINAL = 'Y'
    AND DOC > 0;
    OPEN C1;
    GOTO 300 WHERE :RETVAL <= 0;
    LABEL 100;
    FETCH C1 INTO :DOC;
    GOTO 200 WHERE :RETVAL <= 0;
    INSERT INTO DOCUMENTSTEXT
    SELECT * FROM DOCUMENTSTEXT ORIG
    WHERE DOC IN (:DOC, (-1) * :DOC)
    AND TEXT <> ";
    LOOP 100;
    LABEL 200;
    CLOSE C1;
    UNLINK DOCUMENTSTEXT;
    EXECUTE DELHTML 'DOCUMENTSTEXT', :$.TXT;
    LINK DOCUMENTSTEXT TO :$.TXT;
    INSERT INTO STACK8 (KEY1, KEY2, TEST_TEXTFIELD)
    SELECT DOC, SQL.LINE, TEXT
    FROM DOCUMENTSTEXT
    WHERE DOC > 0;
    LABEL 300;
    UNLINK DOCUMENTSTEXT;
    UNLINK STACK8;
    NoamN
    משתתף
    none
    אני לא יודע אם ה-UNLINK לפני DELHTML וה-LINK לאחר מכן נדרשים. נראה לי מיותר אבל אי אפשר לדעת מבלי לנסות.
    תודה רבה, אנסה
    בדוח עצמו לא מסתדר, הגדרתי בהתחלה תאור טיפול:

    מציג כפול את השורה הראשונה, השדה של הטקסט הוגדר כקיבוץ – לא ממש עזר.
    <p style="text-align: left;">  test_text stack8</p>
    <p style="text-align: left;">stack8 key1  documents doc</p>
    <p style="text-align: left;">stack8 key2 >0</p>
    שניסיתי להוסיף את תאור התקלה ע"י הוספת זיהוי לאותו קובץ וחיבור ל מינוס של DOC

    יצא דוח ריק

    אשמח לעזרה גם כאן

     

    NoamN
    משתתף
    none
    המפתח הראשי של הדו"ח צריך להיות ABS (STACK8.KEY1) כדי להביא את התקלה ואת הטיפול ביחד.

    מפתח שני צריך להיות STACK8.KEY1 > 0 ? 1: 2. כך יופיעו השורות של התקלה קודם.

    מפתח שלישי STACK8.KEY2

    איך מציגים ב 2 עמודות – כרגע מציג בעמודה אחת גם תקלה וגם טיפול .הרי זה אותו שדה TEXT

    ממש מסובך..

    בדוח המקורי – נעזרו בטבלה DAYS – זה גרם שכל הטקסט הופיע בשורה אחת – אפילו אם היו 2 שורות – איך זה קורה?

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