מקטים ללא תנוע

פורומים שימוש במערכת מקטים ללא תנוע

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

    תודה רבה,
    איילה.

מוצגות 3 תגובות – 1 עד 3 (מתוך 3 סה״כ)
  • Replies
    yitzchok
    משתתף
    IL
    חפשי בכרטיס פריט:

    שימי את המסך במצב טבלאי (לא שטוח).

    בכל אחד מהעמודות "ת. כניסה אחרונה", "ת. תנועת מלאי אחרונה", "ת. יציאה אחרונה" שימי בשורה השניה את התאריך שהזכרת, ובשורה מעל, בכל אחת מהן, או > (פחות מ-) או => (פחות/שווה) לפי הצורך. והריצי את השאילתא.

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

      [ בבקשה לא לשלוח הודעות פרטיות במערכת - אני לא קורא אותן ]
    אלמוני
    אורח
    כתבתי מזמן תכנית שעושה זאת. היא בודקת את תאריך תנועת המלאי האחרונה ועוד כמה פרמטרים (גם שהפריט הוקם לפחות לפני חצי שנה) ואם אין תנועות, התכנית מעבירה את סטטוס הפריט ל"לא פעיל" באמצעות ממשק.
    אלמוני
    אורח
    להלן התכנית. רצוי מאד לבדוק את הפעילות על תחום קטן של פריטים. אצלי הפרוצדורה מחולקת לכמה חלקים – קודם יש שלב החישוב, אחר כך אפשרות בחירה בין להציג את הנתונים לבין לשנות את הסטטוס.

    לפרוצדורה יש שני פרמטרים: DAT – תאריך החיתוך (עד איזה תאריך לבדוק פריטים), ו-GEN (קובץ). אני לא כל כך סומך על תאריך ההקמה כפי שמופיע בכרטיס הפריט. הפרוצדורה עוברת על פריטי P – אפשר לכלול פריטי R אבל אז צריך להוסיף בדיקה שהפריט אינו נמצא באף שורת הזמנת רכש אחרי תאריך החיתוך.


    SELECT STATDES INTO :STATDES
    FROM PARTSTATS
    WHERE INACTIVEFLAG = 'Y';
    LINK GENERALLOAD_T TO :$.GEN;
    ERRMSG 1 WHERE :RETVAL <= 0;
    INSERT INTO GENERALLOAD_T (LINE, RECORDTYPE, INT1, TEXT1, TEXT2)
    SELECT SQL.LINE, '1', PART.PART, PART.PARTNAME, :STATDES
    FROM PART, PARTPARAM
    WHERE PART.PART = PARTPARAM.PART
    AND PART.WTYPE 'Y'
    AND PART.STATUS 'Y' /* NOT PARIT MERAKEZ */
    AND PART.TYPE = 'P'
    AND PARTPARAM.INVFLAG = 'Y'
    AND PARTPARAM.WARHSTRANSDATE <= :$.DAT
    AND PART.CREATEDATE :$.DAT)
    AND NOT EXISTS (SELECT 1 FROM SERIAL, KITITEMS
    WHERE SERIAL.SERIAL = KITITEMS.SERIAL
    AND KITITEMS.PART = PART.PART
    AND SERIAL.PEDATE > :$.DAT)
    AND NOT EXISTS (SELECT 1 FROM SERIAL
    WHERE SERIAL.PART = PART.PART
    AND SERIAL.PEDATE > :$.DAT)
    AND PART.PART > 0;
    SELECT ITOA (COUNT (*)) INTO :PAR1 FROM GENERALLOAD_T
    WHERE RECORDTYPE = '1';
    WRNMSG 3;

    ...

    EXECUTE INTERFACE 'UPDPARTSTAT', SQL.TMPFILE, '-L', :$.GEN;
    GOTO 1 WHERE NOT EXISTS (SELECT 1 FROM ERRMSGS
    WHERE USER = SQL.USER AND TYPE = 'i');
    EXECUTE WINACTIV '-R', 'INTERFACEERR';
    LABEL 1;

מוצגות 3 תגובות – 1 עד 3 (מתוך 3 סה״כ)
  • יש להתחבר למערכת על מנת להגיב.