עד
כה עסקנו ברישומים הבסיסיים של חטיבת-הנתונים,
אשר יספיקו לתכניות
COBOL ברמה היסודית. קיימות, עם זאת, שיטות
נוספות, בהן ניתן להשתמש בחטיבת הנתונים, על
מנת
לייעל ולהקל את מלאכת התכנות. כזכור
לך, שמות הקבצים ושמות הרשומות בתכנית COBOL
חייבים להיות ייחוד''ם (unique).
אם XXX הוא
שמו של קובץ, המוגדר בפסוק SELECT בחטיבת הסביבה (ENVIRONMENT
DIVISION) ומתואר על ידי
היישום FD בחטיבת הנתונים, אזי אותו שם, XXX, אינו ניתן לשימוש להגדרת שדות, שטחי
עבודה או שמות
סעיפים. באופן דומה, פריטי אחסון עצמאיים
לעבודה חייבים לקבל שמות ייחודיים. יחד עם
זאת, שמות שסופקו על ידי המתכנת, המגדירים
שדות-נתונים בתוך רשומות, אינם חייבים
להיות ייחודיים. לדוגמא, רישומים אלה
בחטיבת הנתונים, הם תקינים:
FILE-IN ו-FILE-OUT, כשמות של קבצים, חייבים להיות ייחודיים. באופן דומה REC-IN ו-REC-OUT, כשמות של רשומות, אף הם חייבים להיות ייחודיים. אולם NAME, AMT ו-CDE, שהם שדות-נתונים בתוך רשומות, אינם חייבים להיות ייחודיים; כלומר, ניתן להשתמש בהם להגדרת יותר מאזור אחד של אחסנה. בחטיבת-הביצוע - כאשר מגיעים לשם-נתונים שאינו ייחודי, שם זה חייב להיות מזוהה (qualified). עלינו לציין לאיזו רשומה יש לגשת. איננו יכולים לומר, לדוגמה: ADD AMT TO TOTAL, מאחר ש-AMT הוא שמם של שני שדות-נתונים שונים, ואין זה ברור איזה מהם יש לחבר. כאשר ליותר משדה אחד באחסנה יש אותו שם, אנו מזהים את השם בחטיבת הביצוע באופן הבא:
בכל פעם, שבחטיבת הנתונים משתמשים באותו שם יותר מפעם אחת, עלינו לזהותו בשעת עיבודו בחטיבת הביצוע. מילות המפתח OF, IN משמשות לזיהויו של שם, וניתנות להחלפה זו בזו. שיטה זו של שימוש באותו שם-נתונים להגדרת כמה שדות ברשומות נבדלות, הוא מכשיר-תכנות שימושי. אם משתמשים בזיהוי שמות, רישומים בחטיבת-הביצוע נעשים קלים יותר להבנה לקורא התכנית, וקלים יותר לניפוי משגיאות על ידי המתכנת, האמירה MOVE AMT IN REC-IN TO AMT IN REC-OUT. היא, יחסית, פשוטה להבנה. האמירה MOVE AMT1 TO AMT2., שבה AMT1 ו-AMT2 הם שדות המוגדרים באופן ייחודי באיזורי הקלט והפלט, בהתאמה, היא פחות ברורה. למרות שהאחרונה כרוכה בפחות כתיבה, על הקורא לבדוק את רישומי חטיבת הנתונים כדי לקבוע איזה איזור באחסנה מועבר, ואיזה שדה יקבל את הנתונים. כלומר, מיקומם של AMT1 ו-AMT2 באחסנה אינו ברור. מזהים מבהירים באופן מוחלט, ששדות הכמות (AMT) הם חלק מרשומות הקלט והפלט. כאשר רשומה מכילה כמה שדות שיש להציב ברשומה אחרת, נוכל להשתמש בשמות-שדה זהים בשילוב עם הוראת MOVE CORRESPONDING, כמתואר בפרק 7. בדרך זו, זיהוי השמות בחטיבת הביצוע אינו דרוש כלל.לא פעם נתקשה לעקוב אחרי לוגיקה של תכנית, אם ניתוחה דורש התייחסות בלתי-פוסקת לחטיבת הנתונים. בעזרת הזיהוי השמות, ייקל עלינו לעקוב אחר הרישומים בחטיבת הביצוע. שדה ניתן לזיהוי על ידי שימוש ב-OF או ב-ON יחד עם שם הרשומה או כל פריט קבוצתי:
מכאן
שניתן להשתמש ב-JUSTIFIED
RIGHT בחטיבת הנתונים כדי לשנות את הכללים
המקובלים של
פעולות הצבה אלפאנומריות. באופן רגיל שדות
אלפאנומריים מיושרים לשמאל; שימוש בפסוק
דלעיל, בשדה אלפאנומרי, יגרום לכך, שנתונים
המכילים פחות תווים מהשדה המקבל יוצבו
במקומות הימניים ביותר של השדה, וכל
המקומות בעלי הערך הגבוה שלא מולאו ימולאו
ברווחים. המשפט JUSTIFIED
RIGHT ניתן לשימוש עבור כל שדה אלמנטרי (יסודי)
לא-מספרי. פסוק זה יימצא
לאחר הגדרת ה-PICTURE, ולאחר שהערך ההתחלתי - VALUE, אם קיים, ייקבע. FLD1
PIC XXX
JUSTIFIED RIGHT , תציב __C ב-FLD1.
כלומר, השימוש ,במשפט JUSTIFIED
RIGHT מביא לכך, שכל VALUE שניתן לשדה, או כל נתון המוצב בשדה, לא
יצייתו לכללים
האלפאנומריים הרגילים. במקום זאת, כל
הנתונים, שיוצבו בשדה, יהיו מיושרים לימין.
לעתים קרובות משתמשים במשפט JUSTIFIED RIGHT
באזור הדפסה (PRINT AREA). נגדיר רשומת
הדפסה כך:
בחטיבת הביצוע נקודד את ההוראות הבאות: MOVE
SPACES TO PRINT-REC. MOVE
‘COMPANY AMDOCS’ TO HEADER. WRITE PRINT-REC. בדרך
זו נקבל את הכותרת ‘COMPANY AMDOCS’
במרכז הגליון, עם 60 רווחים מכל צד שלה. אולם
נוכל לפשט את הרישום בחטיבת הנתונים כך:
השימוש
באותה חטיבת-ביצוע כמו קודם, יביא לתוצאות
זהות לקודמות. COMPANY AMDOCS
ימוקם ב-12
המקומות הימניים ביותר של HEADER, בהשאירו 60 מקומות מסדר גבוה, או
שמאליים, ריקים. כך הגדרנו
את רשומתנו עם שני שדות במקום שלושה. המשפט JUSTIFIED
RIGHT משנה את הכללים הרגילים של פעולות
הצבה אלפאנומריות. לכן משפט זה
אינו ניתן לשימוש בהקשר לשדות בעלי הגדרת PICTURE מספריים (נומריים), מאחר
ששדות כאלה ממילא
תמיד מיושרים לימין. SEX
IN REC-1 או
SEX
IN CODEX סדר מודרג של ביצוע התנאים הנ"ל.
|
פרק 1 - מבוא לתכנות COBOL.
פרק 2 - ארגון נתונים
פרק 3 - חטיבת הזיהוי
(IDENTIFICATION DIVISION)
פרק 4 - חטיבת הסביב
(ENVIRONMENTAL DIVISION)
פרק 5 - חטיבת הנתונים
(DATA DIVISION)
פרק 6 - חטיבת הביצוע
(PROCEDURE DIVISION)
פרק 7 - הוראת MOVE
פרק 8 - קטעי האחסון לעבודה
פרק 9 - הוראות אריתמטיות
פרק 10- הוראות תנאי
פרק 11 - רישומים נוספים בחתיבת הנתונים
פרק 12 - עריכת פלט מודפס
פרק 13 - הוראות מיוחדות לעריכת הדפסה
פרק 14 - הוראת DISPLAY ו-ACCEPT
|
.איתן 2002. כל הזכויות שמורות למערכת המידע איתן © |