› פורומים › אפיון ופיתוח פריוריטי › עדכון שדה ממסך בן למסך אב
- This topic has 6 תגובות, 4 משתתפים, and was last updated לפני 3 שנים, 11 חודשים by NoamN.
- Post
-
- דצמבר 7, 2020 בשעה 11:43 am
שלום,אני מעוניינת לעדכן סכום של שדה עלות שח ממסך בן (פירוט קבלות סחורה) למסך אב (קבלות סחורה מספק)
הוספתי עמודה חדשה במסך האב שנקראת סכום עלות.
במסך הבן בשדה עלות אני מעדכנת בPOST-FIELD :
<p style="direction: ltr;">:SUM = 0.0;</p>
<p style="direction: ltr;">SELECT SUM(COST) INTO :SUM</p>
<p style="direction: ltr;">FROM TRANSORDER</p>
<p style="direction: ltr;">WHERE :$$.DOC = :$.DOC</p>
<p style="direction: ltr;">:$$.EBSE_SUMCOST = :SUM;</p>
אבל הערך לא מתעדכן לי במסך האב.מה אני עושה לא נכון?
- Replies
-
- דצמבר 7, 2020 בשעה 11:49 am
קוד כזה צריך לרוץ ב post-insert update delete של מסך הבן.העדכון עצמו צריך להעשות ב update על הטבלה ולא לנסות לשנות את השדה במסך האב.
- דצמבר 7, 2020 בשעה 1:25 pm
:SUM = 0.0;
SELECT COST INTO :SUM
FROM TRANSORDER
WHERE :$$.DOC = :$.DOC;
UPDATE DOCUMENTS
SET EBSE_SUMCOST = :SUM
WHERE :$.DOC = :$$.DOC;עדכנתי לפי מה שרשמת וזה עדיין לא עובד.
- דצמבר 7, 2020 בשעה 2:15 pm
ב- WHERE אתה משווה 2 עמודות ממסכים שונים וכלל לא מתייחס לעמודה בטבלהלדוגמה בפקטדה השניה אם doc שבמסך הנוכחי שווה ל doc במסך אב אתה מעדכן ממש כל שורה בטבלת documents
באותה מידה אתה שולף באותם תנאים כל הרשומות מ- transorder אבל בגלל ה into תקבל רק את התוצאה הראשונה (ושוב אין לזה בהכרח קשר ל-doc שלך)
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- דצמבר 7, 2020 בשעה 10:18 pm
בעדכוןWhere doc
ב- select לדעתי חשוב type בנוסף ל- doc כנ"ל וגם אולי sum
[ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]- דצמבר 9, 2020 בשעה 9:01 am
לא הבנתי את כל הפרטים הקטנים בשאלה, אבל SELECT COST INTO :SUM FROM TRANSORDER לא ייתן את התשובה הרצויה מפני שאין שימוש בפונקציית SUM: אני מציח שאת רוצה את סך העלויות מ-TRANSORDER שקשורות לתעודה הנוכחית וכרגע תישלף שורה אחת בלבד (ומי יודע איזו).בנוסף, רצוי גם לוודא של TYPE יהיה זהה ב-DOCUMENTS ו-TRANSORDER: ראיתי מקרים בהם אותו DOC נמצא בשורות מכמה סוגים.
- יש להתחבר למערכת על מנת להגיב.