தொகுதி பாடங்கள் (2/2)
கோப்பு I/O செயல்பாடுகள்
ஒரு கோப்பு DATA DIVISION இல் இணைக்கப்பட்டு அறிவிக்கப்பட்டதும், அதை PROCEDURE DIVISION க்குள் கையாளலாம். COBOL இல், கோப்புகளின் வாழ்க்கைச் சுழற்சியை நிர்வகிப்பது ஒரு நிலையான, கட்டாய ஓட்டத்தைப் பின்பற்றுகிறது: திறக்க, செயல்பாடுகளைச் செய்யவும் (படிக்க அல்லது எழுதவும்) மற்றும் மூடவும்.
1. கோப்புகளைத் திறக்கிறது: திறந்த அறிக்கை
நீங்கள் ஒரு கோப்பிலிருந்து படிக்க அல்லது எழுதுவதற்கு முன், பொருத்தமான அணுகல் பயன்முறையைக் குறிப்பிடுவதன் மூலம் அதைத் திறக்க வேண்டும்:
OPEN INPUT SALES-FILE.முக்கிய முறைகள்:
INPUT: கோப்பு படிக்க மட்டும் பயன்முறையில் திறக்கப்பட்டது. கோப்பு வட்டில் இருக்க வேண்டும், இல்லையெனில் நிரல் தோல்வியடையும்.OUTPUT: கோப்பு எழுதும் பயன்முறையில் திறக்கப்பட்டது. கோப்பு ஏற்கனவே இருந்தால், அதன் முந்தைய உள்ளடக்கம் நீக்கப்படும் (மேலெழுதும்). அது இல்லை என்றால், அது உருவாக்கப்படுகிறது.EXTEND: தரவைச் சேர்க்க கோப்பு திறக்கப்பட்டது. ஏற்கனவே இருக்கும் கோப்பின் முடிவில் இருந்து புதிய பதிவுகள் எழுதப்படும்.I-O: கோப்பு வாசிப்பதற்கும் எழுதுவதற்கும் திறக்கப்பட்டுள்ளது (பெரும்பாலும் தொடர்புடைய அல்லது அட்டவணைப்படுத்தப்பட்ட அணுகல் கோப்புகளுக்குப் பயன்படுத்தப்படுகிறது, நேரியல் வரிசை கோப்புகள் அல்ல).
2. ரீடிங் டேட்டா: ரீட் ஸ்டேட்மெண்ட்
ஒரு தொடர் கோப்பிலிருந்து ஒரு பதிவைப் படிக்க, நாங்கள் READ அறிக்கையைப் பயன்படுத்துகிறோம். கோப்பில் எத்தனை பதிவுகள் உள்ளன என்பது எங்களுக்கு முன்பே தெரியாததால், AT END பிரிவைப் பயன்படுத்தி கோப்பின் முடிவு (EOF) நிலையை எப்போதும் கையாள வேண்டும்:
READ SALES-FILE
AT END MOVE "Y" TO WS-EOF
END-READ.READ SALES-FILE: அறிக்கையானது ** தருக்கக் கோப்பு பெயரைக் குறிப்பிடுகிறது** (SELECTமற்றும்FDஉட்பிரிவுகளில் வரையறுக்கப்பட்டுள்ளது), பதிவின் பெயர் அல்ல.AT END: கடைசியாக கிடைத்த பதிவை நீங்கள் படிக்க முயலும்போது இயக்க வேண்டிய வழிமுறைகளைக் குறிப்பிடுகிறது. பொதுவாக, நீங்கள் ஒரு கொடி மாறியை (WS-EOFபோன்றவை)"Y"ஆக அமைக்கிறீர்கள்.END-READ: படிக்கப்பட்ட அறிக்கையை வெளிப்படையாக நிறுத்துகிறது.
3. எழுதுதல் தரவு: எழுதுதல் அறிக்கை
கோப்பில் தரவைச் செருக, WRITE அறிக்கையைப் பயன்படுத்துகிறோம்.
[!எச்சரிக்கை] COBOL இல், நீங்கள் கோப்பை (
READ SALES-FILE) படித்தீர்கள், ஆனால் நீங்கள் பதிவு (WRITE SALES-RECORD) எழுதுகிறீர்கள்.WRITE SALES-FILEஎன்று எழுதுவது பொதுவான தொடரியல் பிழை, இது தொகுப்பதைத் தடுக்கும்.
MOVE 1001 TO EMP-ID.
MOVE "MARIO ROSSI" TO EMP-NAME.
WRITE SALES-RECORD.WRITE அறிக்கையை இயக்கும் முன், FD பதிவு கட்டமைப்பின் கீழ்நிலை புலங்கள் (இந்த நிலையில், SALES-RECORD) நினைவகத்தில் நிரப்பப்பட்டிருக்க வேண்டும்.
4. கோப்புகளை மூடுதல்: க்ளோஸ் அறிக்கை
செயலாக்கம் முடிந்ததும், கணினி ஆதாரங்களை வெளியிட ஒவ்வொரு திறந்த கோப்பும் மூடப்பட வேண்டும் மற்றும் எல்லா தரவும் வட்டில் எழுதப்பட்டிருப்பதை உறுதி செய்ய வேண்டும்:
CLOSE SALES-FILE.CLOSE அறிக்கையானது தருக்கக் கோப்புப் பெயரை அதன் வாதமாக எடுத்துக்கொள்கிறது, பதிவின் பெயர் அல்ல.
முயற்சி செய்து பாருங்கள்
INPUT பயன்முறையில் SALES-FILE ஐத் திறந்து, முதல் பதிவைப் படித்து, கோப்பின் முடிவை அடைந்ததும் WS-EOF கட்டுப்பாட்டு மாறியை 'Y' ஆக அமைப்பதன் மூலம் செயல்முறைப் பிரிவை முடிக்கவும். இறுதியாக, நிறுத்துவதற்கு முன் கோப்பை மூட நினைவில் கொள்ளுங்கள்.
குறிப்பைக் காட்டு
வரிசையாக எழுதவும்: உள்ளீடு விற்பனை-கோப்பைத் திறக்கவும். பின்னர் விற்பனை-கோப்பைப் படிக்கவும். பின்னர் விற்பனை கோப்பை மூடவும். இறுதியாக ரன் ஸ்டாப்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்
அவுட்புட் முறையில் SALES-FILEஐத் திறப்பதன் மூலம் செயல்முறைப் பிரிவை முடிக்கவும். 1001 மதிப்பை SALES-ID க்கும், 250.50 ஐ SALES-AMOUNT க்கும் நகர்த்தவும், பின்னர் SALES-RECORD ஐ கோப்பில் எழுதவும். இறுதியாக, நிரலை நிறுத்துவதற்கு முன் கோப்பை மூடவும்.
குறிப்பைக் காட்டு
OPEN OUTPUT SALES-FILE உடன் கோப்பைத் திறக்கவும். SALES-ID மற்றும் SALES-AMOUNTக்கு மதிப்புகளை ஒதுக்க, MOVE ஐப் பயன்படுத்தவும், WRITE SALES-RECORD ஐ இயக்கவும். (பதிவை எழுதுதல், கோப்பு அல்ல!), CLOSE SALES-FILE உடன் மூடவும். மற்றும் STOP RUN உடன் முடிக்கவும்.
3 முயற்சிகளுக்குப் பிறகு தீர்வு கிடைக்கும்