הפעלת ממשק בפיתוח פרטי מפרוצדורה חדשה

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

הדיון הזה מכיל 10 תגובות, ויש לו 3 משתתפים, והוא עודכן לאחרונה ע״י  אופיר לפני 3 שבועות, 6 ימים.

  • דיון
    אופיר
    משתתף
    שלום,

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

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

    זה הסינטקס שבנינו שלצערנו לא עובד:

    השאילתא רצה דרך SQLI

    הוספנו פרמטר FIL עם טיפוס CHAR

    <colgroup><col style="width: 48pt;" width="64" /> </colgroup>

    EXECUTE INTERFACE 'OFIR_UpdateSpec', 'msgfile', '-L', :FIL,
    '-enforcebpm','-t', '-W','-v';

    תודה רבה מראש!

מוצגות 10 תגובות – 1 עד 10 (מתוך 10 סה״כ)
  • תגובות
    NoamN
    משתתף
    האם חסר פסיק אחרי FIL? יכול להיות בעיה עם ההצגה באתר, אך נראה שלדגל v יש מקף גם לפניו (נכון) ואחריו (לא נכון). לעומת זאת, אין מקף לפני enforcebpm

    במקום 'msgfile', תרשום SQL.TMPFILE

    יש לי ספק אם כל הדגלים באמת נדרשים.

    אופיר
    משתתף
    תודה רבה עם המענה נועם,

     

    סידרתי את הסינטקס לפי ההוראות שנתת לי (היו בעיות בהעתקה של הסינטקס, בורובו הוא היה נכון)

    זה הסינטקס הסופי כרגע:

    <p dir="ltr">EXECUTE INTERFACE 'OFIR_UpdateSpec', 'SQL.TMPFILE', '-L',:FIL,'enforcebpm','-t', '-W','-v';</p>

    בהרצת הפרוצדורה אני כרגע מכניס את נתיב הקובץ שאני רוצה לטעון (TXT) ובכל זאת הממשק לא מגיב לאחר ההרצה (לע מעדכן את הפריט שניסיתי לעדכן בממשק וגם לא קיבלתי הודעת שגיאה.</p>
    הממשק עובד אם מרציצים אותו דרך התוכנית "הרצת ממשק"

    אשמח לעזרה, המון תודה!

    • התגובה הזו עודכנה לפני לפני 1 חודש ע"י  אופיר.
    • התגובה הזו עודכנה לפני לפני 1 חודש ע"י  אופיר.
    • התגובה הזו עודכנה לפני לפני 1 חודש ע"י  אופיר.
    NoamN
    משתתף
    תוסיף פקודה אחרי ה-EXECUTE כדי לקבל הודעות שגיאה.

    SELECT MESSAGE INTO :PAR1 FROM ERRMSGS

    WHERE USER = SQL.USER AND TYPE = 'i';

    WRNMSG 99 WHERE :RETVAL > 0

    ;

    זה אמור לתת לך מושג מה נכשל

    אופיר
    משתתף
    תודדה נועם, הוספתי את הפקודה הזו וקיבלתי את ההודעה

    No WRNMSG 99 (Entity number 42852)

    אחרי ההרצה

    NoamN
    משתתף
    הנחתי לך להוסיף הודעה 99, שמציג את ערכו של PAR1, דהיינו <P1>.
    <p dir="ltr">בשיטה הזו תקבל רק שגיאה אחת. דרך אחרת לקבל את כל השגיאות -</p>
    <p dir="ltr">GOTO 1 WHERE NOT EXISTS (SELECT 1 FROM ERRMSGS</p>
    <p dir="ltr">WHERE USER = SQL.USER AND TYPE = 'i');</p>
    <p dir="ltr">EXECUTE WINACTIV 'R', 'INTERFACEERR';</p>
    <p dir="ltr">LABEL 1;</p>
    הקטע הזה מחליף את מה שכתבתי קודם.
    אופיר
    משתתף
    תודה נועם,

    עדכנתי את הפקודה לזו:

    EXECUTE INTERFACE 'OFIR_UpdateSpec', 'SQL.TMPFILE', '-L',:FIL,

    'enforcebpm','-t', '-W','-v';

    GOTO 1 WHERE NOT EXISTS (SELECT 1 FROM ERRMSGS

    WHERE USER = SQL.USER AND TYPE = 'i');

    EXECUTE WINACTIV 'R', 'INTERFACEERR';

    LABEL 1;

     

    עדיין בהרצה אין שגיאה, המסך מסיים את ההרצה אך אין שום הודעה.

    NoamN
    משתתף
    לא צריך להיות גרשים מסביב ל-SQL.TMPFILE

    אני חושב שזו לא הבעיה אבל כדאי לתקן בכל מקרה. מה קורה אם אתה מסיר את כל הדגלים אחרי FIL: ?

    אופיר
    משתתף
    תודה על המענה נועם,

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

    אנסה לקרוא ולעבור בדקדוק על ה-SDK ואעדכן בתוצאות 🙂

    תודה על  העזרה!

    yitzchok
    משתתף
    IL
    L- מציין "קובץ" לינק

    אם אתה מעביר שם קובץ טקסט נראה לי שיש להשתמש ב f-

    אופיר
    משתתף
    אבדוק, תודה רבה!
מוצגות 10 תגובות – 1 עד 10 (מתוך 10 סה״כ)

יש להתחבר למערכת על מנת להגיב.