סגירת חשבונית עם התניה

פורומים אפיון ופיתוח פריוריטי סגירת חשבונית עם התניה

  • Post
    sayo
    משתתף
    היי,
    הוספתי לפרוצ' סגירת חשבוניות שורת SQLI לפני תוכנית הסגירה:
    ERRMSG 502 WHERE :$.FLAG <> '';

    שורה זו בעצם צריכה להציג שגיאה למשתמש שמנסה לסגור חשבונית כאשר דגל FLAG מסומן.
    אך זה לא עובד…
    שלחתי את ערך FLAG לקובץ כדי לראות אם מתקבל משהו ולא מתקבל כלום.
    אודה לעזרה
מוצגות 11 תגובות – 1 עד 11 (מתוך 11 סה״כ)
  • Replies
    yitzchok
    משתתף
    IL
    ביטוי כזה מתאים למסך…

    בשלב SQLI בו יש לינק לפרמטר PAR.$: את צריכה להוסיף ERRMSG 502 FROM INVOICES וכו'

    כנראה את עובדת על פרוצדורת סגירה פרטית (עותק). אזכיר לחפש טוב טוב כל פרוצדורה סטנדרטית שיכולה לסגור חשבונית כדי שלא יעקפו את הבדיקה הזאת…

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    אלמוני
    אורח
    תנסי

    WHERE :FLAG '\0'

    FLAG מטיפוס CHAR אך רק ברוחב 1 לכן יש להשתמש בביטוי המיוחד 0\ כדי לבטא שאין ערך

    sayo
    משתתף
    תודה לשניכם.
    עכשיו באמת החשבונית לא נסגרת אך גם לא מופיעה לי השגיאה.
    רשמתי:
    ERRMSG 502 FROM INVOICES WHERE INVOICES.IV = :$.PAR
    AND :$.FLAG '\0';
    sayo
    משתתף
    מסתבר שזה לא סוגר כלום, גם אם הדגל לא מסומן…
    yoram
    משתתף
    השאילתא שלך לא נכונה .
    בהנחה שבתחילת הקוד טבלת INVOICES מלונקקת למשתנה PAR והיא בהפעלה ישירה על החשבונית (כלומר הטבלה מחזיקה חשבונית אחת ולא מספר חשבוניות) :
    ERRMSG 502 FROM INVOICES WHERE INVOICES.IV 0 AND INVOICES.FLAG '\0' ;
    sayo
    משתתף
    שיניתי אבל עכשיו זה נותן את השגיאה תמיד…
    yitzchok
    משתתף
    IL
    בבקשה העלי כאן את שלב ה-SQLI כולו. אנחנו מנסים לעזור אבל אנחנו עיוורים ככה.

    טיפ: אם אין לינק ל-PAR באותו שלב זה לא המקום הנכון…

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    sayo
    משתתף
    תודה
    הוספתי לינק באותו שלב אבל זה לא עובד.
    כשאני מריצה את הממשק אז יש שגיאה שיש בעיית קישור קבצים.
    להלן הקוד:
    LINK INVOICES TO :PAR;
    ERRMSG 1 WHERE :RETVAL <= 0;
    SELECT IVNUM FROM INVOICES WHERE INVOICES.IV 0
    AND FLAG '\0' TABS 'T:\TMP\IV.TXT';
    ERRMSG 502 FROM INVOICES WHERE INVOICES.IV 0
    AND FLAG '\0';
    UNLINK INVOICES;
    yoram
    משתתף
    1. בשורת הלינק צריך להיות :
    LINK INVOICES TO :$.PAR ;
    2. תוודאי כמובן שבפרמטרים של הפרוצדורה מוגדר המתשנה PAR כראוי
    yitzchok
    משתתף
    IL
    הפרמטר/משתנה בו יש קובץ לינק זה PAR.$: לא PAR:

    LINK INVOICES TO :$.PAR;

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    sayo
    משתתף
    וואי נכון איך לא שמתי לב לזה! תודה:)
מוצגות 11 תגובות – 1 עד 11 (מתוך 11 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.