דילוג לתוכן המרכזי
מודול 4 · שיעור 1 מתוך 27/10 בקורס~12 min
שיעורי מודול (1/2)

קבוצה של פריטים ורשומות

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

מספרי רמות ויחסים היררכיים

כדי להגדיר רשומה, אתה משתמש ב-מספרי רמה ב-DATA DIVISION:

  • רמה 01: מגדיר את הרשומה הראשית (שם הקבוצה). אין לו משפט PICTURE משלו מכיוון שהגודל שלו נקבע על ידי סכום השדות הפנימיים שלו.
  • רמות כפופות (05, 10, 15 וכו'): זהה את השדות הכפופים השייכים לקבוצה ברמה גבוהה יותר. הם יכולים להיות משתנים אלמנטריים (עם סעיף PIC) או, בתורם, פריטים קבוצתיים אחרים (רשומות משנה).
COBOL
01 WS-EMPLOYEE-RECORD.
    05 WS-EMP-ID       PIC 9(5).
    05 WS-EMP-NAME     PIC X(20).
    05 WS-EMP-SALARY   PIC 9(6)V99.

בדוגמה זו, WS-EMPLOYEE-RECORD הוא מבנה קבוצה המכיל שלושה שדות כפופים. אם אנו מתייחסים ל-WS-EMPLOYEE-RECORD, אנו קוראים או כותבים את כל 5 + 20 + 8 = 33 התווים של הרשומה בבת אחת.

הצהרת MOVE ופריטי הקבוצה

אנו יכולים להקצות ערכים לשדות אלמנטריים בודדים:

COBOL
MOVE 10023 TO WS-EMP-ID.
MOVE "JOHN DOE" TO WS-EMP-NAME.

או שנוכל להעתיק רשומה שלמה לרשומה תואמת אחרת בפעולה אחת:

COBOL
MOVE WS-EMPLOYEE-RECORD TO WS-EMPLOYEE-BACKUP.

נסה זאת בעצמך

פעילות גופנית#cobol.m4.l1.e1
ניסיונות: 0טוען...

הכריז על מבנה קבוצה 01 בשם WS-STUDENT-RECORD המכיל שלושה תתי שדות ברמה 05: WS-STUDENT-ID (מספרי של 5 ספרות), WS-STUDENT-NAME (אלפאנומרי של 15 תווים), ו-WS-STUDENT-GPA (מספרי עם ספרה שלמה אחת ו-2).

טוען עורך...
הצג רמז

השתמש בתחביר: 01 WS-STUDENT-RECORD. (עם נקודה וללא PIC), ואחריה בשורות הבאות רמה 05 WS-STUDENT-ID PIC 9(5)., 05 WS-STUDENT-NAME PIC X(15). ו-05 WS-STUDENT-GPA PIC 9(1)V99.

הפתרון זמין לאחר 3 ניסיונות

פעילות גופנית#cobol.m4.l1.e2
ניסיונות: 0טוען...

השלם את חלוקת ה-PROCEDURE על ידי הזזת הערך 10023 ל-WS-EMP-ID, הטקסט 'JOHN DOE' ל-WS-EMP-NAME, ולבסוף הצג את מבנה הקבוצה WS-EMPLOYEE-RECORD באמצעות DISPLAY.

טוען עורך...
הצג רמז

השתמש ב- MOVE 10023 TO WS-EMP-ID. והעבר את 'JOHN DOE' ל-WS-EMP-NAME. כדי להקצות ערכים, ואז כתוב DISPLAY WS-EMPLOYEE-RECORD. ולבסוף STOP RUN.

הפתרון זמין לאחר 3 ניסיונות