Forum Replies Created
- Replies
-
- פברואר 16, 2022 בשעה 12:05 pm
- in reply to: שדה לא 'מופיע בכותרת' בדו"ח טבלאי
אני תמיד מגדיר לשדות הקובצים אפיון גרפי Gמצאתי תשובה לשאלה השניה (איך משתמשים בפרמטרים לממשק כשלב נפרד) בפרוצדורה בשם BANKPAGE_AMEXCARD. אבל אשמח לתשובות לגבי השאלה הראשונה, מדוע הקובץ שנוצר ריק כאשר יש שורות שגורמות לשגיאה.אין לי מושג כמובן מה הבעיה, אבל אני רוצה לתאר בעיה אפשרית ואיך פתרתי אותה.ההודעה באה ממשק וסביר להניח שהנתונים עבור הממשק מוכנסים לתוך טבלת GENERALLOAD. בדקתי פעם את עשרות ההפעלות שיש אצלנו במסך ORDERS וגיליתי לא מעט מקרים בהם יש שימוש בטבלה הזו. בתחילת כל הפעלה יש פקודה LINK GENERALLOAD TO טבלה זמנית ובסוף יש UNLINK (היו גם מקרים עם LINK ללא UNLINK!!). לכאורה הכל נראה תקין.
אבל מתברר שכל פעם מתבצע לינק לאותה טבלה ולפעמים הלינק ייכשל מפני שטבלה עדיין מלונקקת. יש לי שתי הצעות: 1) להרחיב את ה-UNLINK אל UNLINK AND REMOVE.
2) להשתמש ב-ALIAS.
הנה קצת קוד שכתבתי אתמול שמשתמש בשני הפתרונות הללו
SELECT SQL.TMPFILE INTO :CCT FROM DUMMY;
LINK GENERALLOAD CCT TO :CCT;
GOTO 57 WHERE :RETVAL <= 0;
SELECT ENTMESSAGE ('ORDERS', 'F', 8300) INTO :PAR1 FROM DUMMY;
INSERT INTO GENERALLOAD CCT (LINE, RECORDTYPE, INT1, TEXT6)
VALUES (1, '1', :CC, :PAR1);
EXECUTE INTERFACE 'TEST_UPDCCSTATUS', SQL.TMPFILE, '-L', :CCT;
:XMSG = ";
SELECT MESSAGE INTO :XMSG FROM ERRMSGS
WHERE USER = SQL.USER AND TYPE = 'i';
GOTO 56 WHERE :RETVAL <= 0;
:PAR1 = STRIND (:XMSG, 1, 60);
:PAR2 = STRIND (:XMSG, 61, 60);
:PAR3 = STRIND (:XMSG, 121, 60);
WRNMSG 35;
LABEL 56;
UNLINK AND REMOVE GENERALLOAD CCT;
LABEL 57;השינויים הללו מאד עזרו לי.
- ינואר 31, 2022 בשעה 8:26 am
- in reply to: ייבוא קובץ XML
לא הבנתי מה זה "פירוט בתג שורש". האם אפשר להעתיק חלק מהקובץ לתוך השאלה כדי שנבין במה מדובר?- ינואר 31, 2022 בשעה 8:17 am
- in reply to: עיצוב דו"ח HTML
בעמודת הטבלה תרשום DUMMY ושם טבלה DUMMY. במסך הבן "עמודות הדו'ח – הרחבה", תרשום= 1 AND
#500 <> '000'
לפי הנסיון שלי, הוספת משימה (או שינוי משימה קיימת) במתזמן המשימות גורמת למשימות עם תדירות להתבצע באותה נקודת זמן. לדוגמא: יש אצלי משימה שמתבצעת כל 15 דקות ונניח שהיא מופעלת בדקות 00, 15, 30 ו-45 לשעה. אם אבצע שינוי במתזמן, המשימה הזו תתצבע עכשיו וכל 15 דקות החל מ"עכשיו". לכן אני משתדל לבצע שינויים בדיוק כאשר המשימה הזו מתבצעת!- ינואר 20, 2022 בשעה 3:50 pm
- in reply to: הגבלה בהדבקת רשומות מאקסל למסך
יש קבוע מערכת, MAXFORMLINES, אשר קובע את מספר השורות המקסימלי למסך.היתרון של ממשק – אפשר להפעיל אותו, ללכת לטייל, לחזור אחרי שעה ולגלות שהממשק עדיין עובד (170,000 זה הרבה רשומות!) [צריך להבין את חוש ההומור הבריטי שלי: התכוונתי לכך שהממשק עובד לבד ולא צריך להזין אותו בשום דבר].כמובן לבדוק את הממשק על כמה שורות בודדות כדי לוודא שאין תקלות.
למען האמת, אני לא יודע אם קליטה דרך ממשק גם מוגבלת לפי MAXFORMLINES. יצא לי רק כמה פעמים לקלוט קבצים ענקיים כאלה, ואני לא זוכר כמה שורות היו ומה היה ערכו של הקבוע.
- ינואר 19, 2022 בשעה 3:08 pm
- in reply to: הסבת קבצי אקסל (ממערכת טלפוניה) לפריוריטי
התכוונתי להגיב עד שראיתי את השורה האחרונה……כמובן אי אפשר לדעת במדויק אבל הנטיה שלי לקלוט את הקובץ כפי שהוא לתוך משטח עבודה בפריוריטי ולבצע את ההתאמות הנדרשות "בפנים" במקום במערכת חיצונית. הרי לכאורה מערכת חיצונית דורשת התאמה לשינויים בפריוריטי אחרת העיבוד עלול להיות לא נכון.
האם יש עבודות רצות תחת מתזמן המשימות? האם יש דמוי בין שעות ההודעה לבין שעות שמשהו מופעל? מי שולח את ההודעות הללו? האם הכנסת בפרוצדורות כלשהו פקודה לשלוח אליך הודעה אם יש שגיאה בהפעלת ממשק? אני עשיתי זאת, אך גם הקפדתי להוסיף את שם התכנית להודעה.באופן כללי, ההודעות האלה לא ממש עוזרות. מזמן ביקשתי שיוסיפו שני שדות לטבלת ERRMSGS – מאיזו תכנית הגיעה ההודעה ושעת ההודעה. עד אז, עלינו רק לנסות ולנחש.
- ינואר 16, 2022 בשעה 7:22 pm
- in reply to: פקודת UPDATE
אמנם אין לנו תמונה כוללת של מה שאת רוצה לעשות, אבל אזכיר דבר אחד שלעיתים שוכחים: העדכון צריך להתבצע על הטבלה האמיתית, לא טבלה מלונקקת. כך אם יש פקודה LINK ORDERSA TO, אז צריך לכתוב משהו כמו UPDATE ORDERSA ORIG SET- ינואר 12, 2022 בשעה 2:58 pm
- in reply to: דו"ח אובליגו ללקוח – שליטה באובליגו
לצערי, יש פעילויות בארגון שלי שאינן מפיקות חשבוניות על סמך תעודות משלוח. אין בעיה כאשר מוכרים מוצר סופי כמו כסא, אבל יש בעיה כאשר "מוכרים" מטר רץ של רצפה תעשייתית ומספקים לאתר הבניה חומרים שנצרכים שם.צריך למצוא את הפתרון המתאים לכל סוג פעולה שנדרש: בהזמנות זה יחסית קל אבל בתנועות מלאי יותר בעייתי.
- ינואר 12, 2022 בשעה 12:01 pm
- in reply to: דו"ח אובליגו ללקוח – שליטה באובליגו
עשיתי משהו דומה לפני כמה שנים.לגבי הזמנות לקוח, הגדרתי דגל מיוחד בטבלת הסטטוסים להזמנה שתאורו "להסיר מאובליגו". אחרי זה סימנו אלו סטטוסים לא ייחשבו לאובליגו. כל יום רצה פרוצדורה שאוספת הזמנות שהגיעו לסטטוס/ים האלה ביממה האחרונה, גם הזמנות שעונות על דרישות אחרות. בסוף יש לולאה שעוברת על ההזמנות הללו (מספר הזמנה ORD נשמר ב-STACK) ומעדכנת את השדה OBLIGOFLAG בטבלת ORDERSA עם הערך Y (פירושו "לא לכלול באובליגו").
במקביל יש טיפול בתעודות משלוח ושורות תעודות משלוח להסיר את הדגל "לחיוב" מהשורות המתאימות.
כתוצאה מכך, התכנית לחישוב האובליגו מתעלמת מהישוית הללו.
אני מקווה שזה נותן לרעיון איך ליישם את הבקשה.
- ינואר 11, 2022 בשעה 12:34 pm
- in reply to: הוספת דוח עם טקסט להדפסת HTML קיימת
בשביל מה ביטוי DUMMY? מה קורה אם את מסירה אותו?פעם בניתי דו"ח שמודפס במסגרת הדפסת תעודת משלוח, כאשר הדו"ח מציג רק שורת מלל. הגדרתי את המלל במסך הבן "עמודות הדו"ח – הרחבה" (לא באמצעות ENTMESSAGE) ושדה נוסף (כנראה מקביל ל-DUMMY אצלך) עם הביטוי STACK4.KEY = 0. הביטוי הזה תמיד יהיה נכון ובכך ההודעה מודפסת.
- ינואר 11, 2022 בשעה 12:27 pm
- in reply to: HELP – ביטוי בדו"ח בין 2 עמודות (REAL, INT) שלא מצליח
אין להודעה כל קשה לשינוי טיפוס. ההודעה מציינת שגיאה ב-GROUP BY: אלה השדות לפיהם נעשה קיבוץ. בדרך כלל זה אומר שיש שדה שערכו משתנה שנמצא בביטוי ל-GROUP או להיפך, שחסר ביטוי בתוך ה-GROUP. זה יותר קל לראות ברמת SQL ולא בתוך מחולל הדו"חות.לגבי דו"חות טבלאיים – מוטב ליצור דו"ח רגיל קודם כדי לוודא שהכל תקין ורק אז להפוך לטבלאי.
- ינואר 11, 2022 בשעה 8:48 am
- in reply to: 3 שאלות בנושא דוחות
היה רצוי לשלוח כל שאלה בנפרד.לגבי השאלה הראשונה – למיטב ידיעתי, אי אפשר. תפקוד הפלוס/מינוס פונקציה של הדפדפן, לא של הדו"ח.
שאלה 2: לא. דו"ח רגיל מוגבל ל"טבלה" אחת. נדרש ליצור "מסמך HTML" (כמו הדפסת הזמנת לקוח) כדי לכלול כמה "טבלאות" בדו"ח אחד.
שאלה 3: אם הבנתי את השאלה נכון, אתה צריך להגדיר חישוב קבוצתי B לשדה שמכיל את המונה. כמו כן שדות טכנאי וראש צוות תגדיר חישוב קבוצתי R.