› פורומים › אפיון ופיתוח פריוריטי › הוספת שדה למסך מטבלה הקשורה ב OUTER JOIN
- This topic has 8 תגובות, 3 משתתפים, and was last updated לפני 3 שנים, 5 חודשים by namnami.
- Post
-
- יוני 27, 2021 בשעה 11:13 am
בהוספת שדה למסך מטבלה הקשורה ב OUTER JOIN השדה מציג ערכים נכון.אבל בביצוע שאילתת מסך לפי שדה זה השאילתא מתעלמת מהתנאי ושולפת את כל הרשומות.
לא ראיתי שב SDK יש הסתייגות מלהוסיף שדות מטבלה המקושרת ב OUTER JOIN.
האם/ איך אפשר להוסיף שדה מטבלה מקושרת OUTER בצורה תקינה כך שגם השליפה תתחשב בה?
(לדג' הוספת חשבון בנק ספק לקריאה בלבד למסך ספקים).
תודה
- Replies
-
- יוני 27, 2021 בשעה 12:12 pm
אשמח אם תפרט פה את הג'וין שלך כמו שאתה כתבת אותו במסך.בעיקרון רוב הג'וינים בפריוריטי לא מחייבים OUTER JOIN כי בכל טבלה במערכת יש שורת 0, ו0 נחתך עם 0.
אבל במצב שבו יש ערך בטבלה שאתה חותך ממנה ואתה לא משוכנע אם המפתח קיים בטבלה שאתה חותך אליה, אז אתה צריך את הOUTER (סימן שאלה).
מקווה שהסברתי ברור, בכל אופן, ממליץ לכתוב פה את הג'וין שאתה מכניס במסך 🙂
- יוני 27, 2021 בשעה 12:39 pm
נראה שכאן כן צריך OUTER כי ה JOIN הוא לפי ACCOUNT שקיים בטבלת בסיס SUPPLIERS ולא תמיד יהיה קיים בטבלת ACCOUNTBANK. הג'וין:SUPPLIERS.ACCOUNT = ACCOUNTBANK.ACCOUNTAND ACCOUNTBANK.DEFAULTFLAG = 'Y
אולי הבעיה קשורה לכך שהג'וין לא כולל את שתי עמודות של המפתח היוניקי של טבלת ACCOUNTBANK(שהן ACCOUNT + PAYACCOUNT) אלא רק אחת מהן בשילוב עוד עמודה שאינה מפתח.
בכל מקרה אשמח לדעת על רעיון איך אפשר להציג במסך ספקים אם קיים חשבון בנק לספק, בצורה תקינה.
תודה רבה
- התגובה הזו עודכנה לפני לפני 3 שנים, 5 חודשים ע"י namnami.
- יוני 27, 2021 בשעה 12:43 pm
בגדול, ממה שאני ראיתי כבר שנים, שליפה כזאת במסך היא בעייתית.הדוגמה שאני זוכר בסטנדרט היא שלא ניתן לשלוף משתמשים לא פעילים, כי INACTIVE הוא ב-USERSB ובמסך USERS החיתוך ל-USERSB מותנה. נאלצים לשלוף את כולם (או לפי שאר התנאים) ואז למיין לפי "לא פעיל".
אני לא זוכר שניסיתי את זה אי פעם אבל יכול להיות שאפשר להגדיר שהשדה המוצג מבוסס חישוב שמתייחס גם לטבלת ההמשך וגם לטבלה העיקרית ואז אולי יגרום לשליפה לבצע את הסינון לאחר החיתוך המותנה. זה משהו לנסות – אני מבטיח שיעזור!
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- יוני 27, 2021 בשעה 2:29 pm
הבהרה: כתבתי את התשובה הקודמת שלי בזמן שעלה העדכון האחרון ולא ראיתי אותו עד עכשיו.עכשיו אני מבין את התמונה יותר טובה.
מקבלים שורות במסך לפי מספר השורות שיש ב-ACCOUNTBANK לאותו ACCOUNT?
מה אתם צריכים להציג ליד החשבון? רק האם קיים חשבון כלשהו במסך הבן? או פרטי החשבון ברירת המחדל?
יהיה יותר מסודר אם היה מפתח A ב-ACCOUNTBANK אבל אין, ולדעתי אסור להוסיף. אם צריכים את חשבון ברירת המחדל הייתי חושב שאפשר לשמור על החשבון את הערך של PAYACCOUNT לפי ה-DEFAULTFLAG גם אם אני לא לא כל כך בעד שימוש של CHAR 34 בחיתוך… אם סימן אז זה כמו דגל נספחים.
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- יוני 27, 2021 בשעה 3:02 pm
צריכים סימן אם יש חשבון כלשהו לספק (מתוך מסך בן של FNCSUP), אבל את הסימן רוצים להציג במסך ספקים. (ומאחר שהקשר בין מסכים אלו הוא OUTER JOIN לא ברור איך זה עובד כמו דגל נספחים).תודה
- יוני 27, 2021 בשעה 3:12 pm
נראה לי שהבנתי,אפשר שיהיה כמו דגל נספחים כי לכל ספק חדש באופן מיידי נוצר חשבון כך שלמעשה אפשר לקשור את החשבון ב JOIN רגיל ולא צריך OUTER JOIN? (ואז סימון אם יש חשבון בנק לחשבון זה כמו דגל נספחים).
תודה.
- יוני 28, 2021 בשעה 12:08 am
ממש לא לכך התכוונתיעזבו את הרעיון של חיתוך
חייבים דגל על טבלת SUPPLIERS וב-POST-FORM של המסך של החשבונות לתחזק אותו (צריכים לזהות קודם כל אם מדובר בחשבון של ספק…). עד כמה שאני זוכר כך מנוהל דגל נספחים.
ובזמן הוספת הדגל לרוץ על כל הספקים ולאתחל את בדגל
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
- יש להתחבר למערכת על מנת להגיב.