שימוש בפונקציות LE ע"י קובול – ניהול תאריכים

ראשי > תכנות קובול > שימוש בפונקציות LE ע"י קובול – ניהול תאריכים

סביבת LE היא 'מעטפת' מעל שפות התכנות קובול, PL/1, C ואסמבלר. הסביבה מספקת לתכניות שירותים אחידים, גישה אחידה למערכת ההפעלה, קישור בין רוטינות בשפות שונות, כלי הגהה ועוד. קובול תומך בסביבה זו החל מ version 3. כדי שתכניות אסמבלר יתמכו בסביבה, יש לשכתב אותן.
סביבת LE היא תנאי מוקדם למגוון יכולות של קובול לנצל יכולות של מערכת ההפעלה.

מאמר זה יעסוק בפונקציות לניהול תאריכים. פונקציות ייעודיות אלו, מאפשרות להשוות תאריכים, לבצע חישובים בתאריכים ולהסב תאריכים בין פורמטים שונים.
הפורמט הבסיסי של תאריכים נקרא Date Lilian שהוא מספר הימים מיום ו' 14/10/1582. ניתן לערב תאריכים של קובול בצורה הישנה (Intrinsic functions) עם פונקציות LE רק אם עובדים עם הפרמטר לקומפיילר (INTDATE(LILIAN
אם את/ה היסטוריון/ית ומבקש/ת לכתוב תכניות קובול עם תאריכים שלפני 1601, עליך להוסיף לתאריך 4000 שנה, לבצע את החישובים ואז להפחית מהתוצאה 4000 שנה.
אם הפורמט של התאריך כולל רק 2 ספרות עבור השנה, טווח התאריכים יהיה 100 שנים שיתחילו 80 שנה לפני התאריך.
לכן בשנת 2018, טווח התאריכים יהיו 100 השנים 1938-2037. ניתן לשנות ברירת מחדל זו ע"י השירות CEESCEN.
כל פונקציות LE מקבלות כפרמטר אחרון שדה בן 12 בתים בשם FC. שדה זה מכיל בעיקר את קוד החזרה מהרוטינה, ואם היא נכשלת את הסיבה לכישלון.
קיים COPYBOOK בשם CEEIGZCT שממפה שטח זה. די לבדוק את המשתנה CEE000 כדי לוודא שהפונקציה סיימה בהצלחה.

פונקציות LE בתכנות COBOL לטיפול בתאריכים

  • CEELOCT – קבלת התאריך הנוכחי בצורת Lilian
  • CEEDAYS – הסבת תאריך מפורמט תווים לפורמט Lilian
  • CEEDATE – הסבת תאריך מפורמט Lilian לפורמטים תווים שונים
  • CEEDYWK – קבלת היום בשבוע. קלט Lilan Date
  • חישובים והשוואות
    1. כאשר מבקשים להשוות תאריכים, או למצוא את ההפרש בימים, יש להסב אותם לפורמט Lilian.
    2. כאשר מבקשים להוסיף/להפחית ימים מתאריך, יש להביא אותו לפורמט Lilian, לבצע את החישוב, ואז להסב חזרה לפורמט המבוקש.

דוגמה ליישום פונקציות לעיבוד תאריכים ב Cobol

דוגמה לפונקציית LE לניהול תאריכים

לצפייה בדוגמה ב PDF לצורך העתקה והדבקה של הפקודות- לחצו כאן

פרמטרים

  1. תאריך קלט. השטח מתחיל בשני בתים בינריים המתארים את אורך השטח, אחריהם השטח עצמו.
  2. פורמט תאריך הקלט. גם כאן השטח מתחיל בשני בתים בינריים המתארים את אורך הפורמט, אחריהם הפורמט עצמו
  3. שטח הפלט. Lilian-date  הוא   מספר בינרי באורך  4  בתים
  4. FC – שדה המכיל את קוד החזרה ושדות המתארים נפילה.