פרק 8 קטעי האחסון לעבודה.

ב. פריטים מקובצים המתחלקים לשדות-משנה

חטיבת הנתונים (DATA DIVISION) מכילה, כפי שהודגש בסעיף הקודם, את כל שטחי האחסון, שהגדרתם נחוצה לשם עיבוד הנתונים. קטע שטחי-האחסון לעבודה (WORKING-STORAGE SECTION) של חטיבת הנתונים, מכיל את כל אותם שטחי אחסון, שאינם חלק מן הקלט או מן הפלט. 

עד כה, עסקנו בפריטים עצמאיים, שהוגדרו ב WORKING-STORAGE כחלק מפריט מקובץ אשר כינינו, באופן שרירותי,WORK-AREAS. פריט בסיסי, או עצמאי, הדורש הגדרה בקטע שטחי-העבודה, הוגדר כשדה בתוך הרשומה WORK-AREAS. ניתן להקצות לשדות אלה ערכים התחלתיים באמצעות משפטי-VALUE.

בנוסף לשימוש בפריט מקובץ, המתחלק לפריטים בסיסיים עצמאיים, ניתן להשתמש בפריט מקובץ להגדרת שטחי אחסון, המתחלקים לשני שדות-משנה מקושרים, או יותר. דוגמאות לפריטים מקובצים המתחלקים, לשדות משנה מקושרים (שיש קשר ביניהם) הן: שדה בשם NAME (שם) המתחלק לשדות המשנה FIRST-NAME ו-LAST-NAME (שם פרטי ושם משפחה); שדה בשם DATE-OF-RUN (תאריך ההרצה), המתחלק לשדות-המשנה MONTH, DAY-OF-RUN, וYEAR (חודש, יום ההרצה, שנה). כל הפריטים המקובצים בקטע שטחי-האחסון לעבודה יקודדו ברמה 01, במרווה-A. להלן דוגמא של קטע שטחי-עבודה, המכיל פריט מקובץ WORK-AREAS, ושדות משנה מקושרים בתוך פריטים מקובצים נוספים:

WORKING-STORAGE SECTION.                          

01 WORK-AREAS.                                              

02 TOTAL   PIC 9(5)  VALUE ZERO.            

02 CONST   PIC X(4)  VALUE 'CODE'.         

02 SAVE-AREA   PIC X(3)  VALUE SPACES.

01 ADDRESS-1.                                                    

02 NUMB   PIC 9(4)  .                                     

02 STREET   PIC X(20)  .                               

02 CITY   PIC X(25)  .                                     

02 STATE   PIC X(3)  .                                     

01 DATEX.                                                           

02 MONTH   PIC 9(2)  VALUE 06.

02 YEAR   PIC 9(4)  VALUE 2003.            

 

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

  1. בשדה הנקרא WORK-AREAS , המכיל שדות עצמאיים לעבוד.

  2. כשדות המחולקים חלוקת משנה לשדות-משנה, שיש קשר ביניהם.

אם לשדות שבתוך פריט מקובץ לא ניתנו ערכים התחלתיים כלשהם, יוצבו בהם (בהוראת MOVE) במשך התכנית הערכים הרצויים. אנו רשאים להניח כי נתונים אכן יועברו ויוצבו בפריט המקובץ ADDRESS-1, למשל, מאחר שאין לו כל משפט-VALUE. לפריט מקובץ יכולים גם להיות משפטי-VALUE מתאימים, הנותנים ערך התחלתי לשדות, כפי שמופיע ב-DATEX בדוגמא לעיל. 

הבה נבחן תכנית COBOL, בה נדרש השימוש בפריטים מקובצים בשטחי-העבודה.

דוגמא 1

נניח, כי קובץ רשומות מכיל שני סוגי-רשומה: רשומת תאריך, ורשומת עסקה מפורטת. להלן קטע הקבצים (FILE SECTION), המתאים לקובץ זה.

FD FILE-1

LABEL RECORDS ARE OMITTED

RECORD CONTAINS 80 CHARACTERS

DATA RECORDS ARE DATE-REC, TRANS-REC.

01 DATE-REC.

02 DATEX.

03 MONTH PIC 99.

03 YEAR PIC 99.

02 FILLER PIC X (76).

01 TRANS-REC.

02 CUSTOMER-NAME  PIC X(20).

02 TRANS-NO  PIC 9(5).

02 AMT  PIC 999v99.

02 FILLER  PIC  X (46).

02  DATE-OF-TRANS.

03 MONTHX  PIC  99.

03 YEARX  PIC  99.

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

01  STORED-DATE.

02 MONTHY  PIC 99.

02 YEARY  PIC 99.

ההוראה לאחסון התאריך בשטח-העבודה תקודד בחטיבת הביצוע כהוראת הצבה:

MOVE  DATEX  TO  STORED-DATE.

חשוב לשים לב, כי STORED-DATE הינו פריט מקובץ, המתחלק לשני פריטים בסיסיים: MONTH ו-YEAR. לאחר הצבת התאריך ב-STORED-DATE, ניתן תמיד לגשת אליו לצורך עיבוד, אלא אם כן כתבנו הוראה, המוחקת אותו.  

קודם | תחילת הדף | הבא

 

נושאים

פרק 3 - חטיבת הזיהוי                               (IDENTIFICATION DIVISION)
פרק 6 - חטיבת הביצוע                               (PROCEDURE DIVISION)
פרק 14 - הוראת DISPLAY ו-ACCEPT

.איתן 2002. כל הזכויות שמורות למערכת המידע איתן ©