मुख्य सामग्री पर जाएं
मॉड्यूल 5 · पाठ 1 का 2पाठ्यक्रम में 9/10~15 min
मॉड्यूल पाठ (1/2)

फ़ाइल परिभाषा और फ़ाइल-नियंत्रण

COBOL में, बाहरी फ़ाइलों (जैसे टेक्स्ट संग्रह या डिस्क पर बाइनरी रिकॉर्ड) का प्रबंधन बैच कॉर्पोरेट अनुप्रयोगों के लिए सबसे महत्वपूर्ण विशेषताओं में से एक है। चूँकि COBOL को आधुनिक डेटाबेस से बहुत पहले डिज़ाइन किया गया था, डिस्क फ़ाइलें प्राथमिक भंडारण के रूप में कार्य करती हैं।

ऑपरेटिंग सिस्टम पर संग्रहीत भौतिक फ़ाइलों को प्रोग्राम के आंतरिक चर के साथ कनेक्ट करना दो चरणों में होता है:

  1. ENVIRONMENT DIVISION में तार्किक-शारीरिक जुड़ाव।
  2. DATA DIVISION में डेटा रिकॉर्ड की परिभाषा।

1. एसोसिएशन: फ़ाइल-नियंत्रण और चयन असाइनमेंट

कार्यक्रम संरचना को समर्पित अध्याय में, हमने ENVIRONMENT DIVISION का पता लगाया। इसके भीतर, INPUT-OUTPUT SECTION में FILE-CONTROL पैराग्राफ शामिल है, जो प्रोग्राम द्वारा उपयोग की जाने वाली बाहरी फ़ाइलों की घोषणा करता है।

प्रोग्राम में एक तार्किक फ़ाइल (जैसे, SALES-FILE) को डिस्क पर एक वास्तविक भौतिक फ़ाइल (जैसे, sales.dat) के साथ जोड़ने के लिए, SELECT ... ASSIGN TO ... कथन का उपयोग करें:

COBOL
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.
           SELECT SALES-FILE ASSIGN TO "sales.dat"
               ORGANIZATION IS LINE SEQUENTIAL.
  • SELECT SALES-FILE: उस तार्किक नाम को परिभाषित करता है जिसका उपयोग प्रोग्राम फ़ाइल को संदर्भित करने के लिए करेगा।
  • ASSIGN TO "sales.dat": डिस्क पर वास्तविक भौतिक फ़ाइल नाम (या पथ) निर्दिष्ट करता है।
  • ORGANIZATION IS LINE SEQUENTIAL (वैकल्पिक): इंगित करता है कि फ़ाइल एक सादा पाठ फ़ाइल है जहां प्रत्येक पंक्ति एक रिकॉर्ड का प्रतिनिधित्व करती है (न्यूलाइन वर्णों द्वारा अलग की गई)।

2. घोषणा: फ़ाइल अनुभाग और एफडी

फ़ाइल को ENVIRONMENT DIVISION में संबद्ध करने के बाद, हमें DATA DIVISION में इसके रिकॉर्ड की संरचना को परिभाषित करना होगा। ऐसा करने के लिए, हम FILE SECTION नामक एक समर्पित अनुभाग का उपयोग करते हैं (जो WORKING-STORAGE SECTION से पहले होता है)।

प्रत्येक चयनित फ़ाइल में एक FD (फ़ाइल विवरण) प्रविष्टि होनी चाहिए जो रिकॉर्ड संरचना घोषित करती है:

COBOL
       DATA DIVISION.
       FILE SECTION.
       FD SALES-FILE.
       01 SALES-RECORD.
           05 EMP-ID       PIC 9(5).
           05 EMP-NAME     PIC X(20).
           05 EMP-SALARY   PIC 9(6)V99.
  • FD SALES-FILE.: तार्किक नाम SALES-FILE के लिए फ़ाइल विवरण की पहचान करता है। ध्यान दें कि यह एक अवधि के साथ समाप्त होता है।
  • 01 SALES-RECORD.: फ़ाइल से संबद्ध समूह संरचना (रिकॉर्ड) निर्दिष्ट करता है। प्रत्येक पढ़ने/लिखने का ऑपरेशन इस मेमोरी संरचना का उपयोग करके डेटा का आदान-प्रदान करेगा।

कोशिश करके देखो

व्यायाम#cobol.m5.l1.e1
प्रयास: 0लोड हो रहा है...

SELECT ASSIGN स्टेटमेंट का उपयोग करके तार्किक फ़ाइल SALES-FILE को भौतिक फ़ाइल 'sales.dat' के साथ जोड़ते हुए, इनपुट-आउटपुट अनुभाग और फ़ाइल-नियंत्रण पैराग्राफ घोषित करने के लिए पर्यावरण प्रभाग को पूरा करें।

संपादक लोड हो रहा है...
संकेत दिखाएँ

पर्यावरण प्रभाग लिखें। और इनपुट-आउटपुट अनुभाग। कॉलम 8 (7 रिक्त स्थान) में, फिर फ़ाइल-नियंत्रण। कॉलम 8 में, और अंत में सेल्स-फ़ाइल चुनें 'sales.dat' को असाइन करें। कॉलम 12 (11 रिक्त स्थान) में।

3 प्रयासों के बाद समाधान उपलब्ध है

व्यायाम#cobol.m5.l1.e2
प्रयास: 0लोड हो रहा है...

कार्यक्रम के लिए डेटा प्रभाग और फ़ाइल अनुभाग घोषित करें। SALES-FILE के लिए फ़ाइल डिस्क्रिप्टर (FD) को परिभाषित करें, इसे SALES-RECORD नामक स्तर 01 रिकॉर्ड के साथ संबद्ध करें जिसमें दो अधीनस्थ फ़ील्ड हों: SALES-ID (4-अंकीय संख्यात्मक) और SALES-AMOUNT (2 अंतर्निहित दशमलव के साथ 5-अंकीय संख्यात्मक)।

संपादक लोड हो रहा है...
संकेत दिखाएँ

डेटा प्रभाग का उपयोग करें. और फ़ाइल अनुभाग. कॉलम 8 में, एफडी बिक्री-फ़ाइल। कॉलम 8 में, उसके बाद 01 बिक्री-रिकॉर्ड। कॉलम 8 में, और फ़ील्ड 05 सेल्स-आईडी पीआईसी 9(4)। और 05 बिक्री-राशि तस्वीर 9(5)वी99। कॉलम 12 में नई पंक्तियों पर।

3 प्रयासों के बाद समाधान उपलब्ध है