1. What you mean by reentrant program? How to make a program Reentrant?
Ans: A reentrant program, while being executed, exists in in the common virtual area so that one copy of it may be communal among all callers. To make a program Reentrant Use RENT compiler option.
2. Differentiation 01 level and 77 level?
Ans: 01 level can have sublevels from 02 to 49. 77 cannot have sublevel.
3. What are the few advantages of VS COBOL II over OS/VS COBOL?
Ans: The working storage and linkage section limit has been greater than before. They are 128 megabytes as supposed to 1 megabytes in OS/VS COBOL. Introduction of ADDRESS special register.
31-bit addressing. In using COBOL on PC we have only flat files and the programs can access only limited storage, whereas in VS COBOL II on M/F the programs can access up to 16MB or 2GB depending on the addressing and can use VSAM files to make I/O operations faster.
4. What are the steps you go through while creating a COBOL program executable?
Ans: DB2 pre-compiler (if embedded is used), CICS translator (if CICS program), Cobol compiler, Link editor. If DB2 program, create plan by binding the DBRMs.
5. What are the minimum requirements to compile a program without errors?
Ans: Identification Division. Program-ID. Program-name.
A) Is compute w=u a valid statement?
Yes, it is. It is equivalent to move u to w.
B) In the above example, when will you prefer compute statement over the move statement?
When significant left-order digits would be lost in execution, the COMPUTE statement can detect the condition and allow you to handle it. The MOVE statement carries out the assignment with destructive truncation. Therefore, if the size error is needs to be detected, COMPUTE will be preferred over MOVE. The ON SIZE ERROR phrase of COMPUTE statement, compiler generates code to detect size-overflow.
6. What happens when the ON SIZE ERROR phrase is specified on a COMPUTE statement?
Ans:If the condition occurs, the code in the ON SIZE ERROR phrase is performed, and the content of the destination field remains unchanged. If the ON SIZE ERROR phrase is not specified, the assignment is carried out with truncation. There is no ON SIZE ERROR support for the MOVE statement.
7. How will you associate your files with external data sets where they physically reside?
Ans:Using SELECT clause, the files can be associated with external data sets. The SELECT clause is defined in the FILE-CONTROL paragraph of Input-Output Section that is coded Environment Division. The File structure is defined by FD entry under File-Section of Data Division for the OS.
8. How will you define your file to the ?
Ans:Associate the file with the external data set using SELECT clause of INPUT-OUTPUT SECTION. INPUT-OUTPUT SECTION appears inside the ENVIRONMENT DIVISION.
Define your file structure in the FILE SECTION of DATA DIVISION.
9. Explain the use of Declaratives in COBOL?
Ans:Declaratives provide special section that are executed when an exceptional condition occurs. They must be grouped together and coded at the beginning of procedure division and the entire procedure division must be divided into sections. The Declaratives start with a USE statement. The entire group of declaratives is preceded by DECLARIVES and followed by END DECLARITIVES in area A. The three types of declaratives are Exception (when error occurs during file handling), Debugging (to debug lines with 'D' coded in w-s section) and Label (for EOF or beginning...) declaratives.
10. A statically bound subprogram is called twice. What happens to working-storage variables?
Ans:The working-storage section is allocated at the start of the run-unit and any data items with VALUE clauses are initialized to the appropriate value at the time. When the subprogram is called the second time, a working-storage items persist in their last used state. However, if the program is specified with INITIAL on the PROGRAM-ID, working-storage section is reinitialized each time the program is entered.
11. When is COMMON attribute used?
Ans:COMMON attribute is used with nested COBOL programs. If it is not specified, other nested programs will not be able to access the program. PROGRAM-ID. Pgmname is COMMON PROGRAM.
12. In which division and section, the Special-names paragraph appears?
Ans: Environment division and Configuration Section.
13. What is the LOCAL-STORAGE SECTION?
Ans:Local-Storage is allocated each time the program is called and is de-allocated when the program returns via an EXIT PROGRAM, GOBACK, or STOP RUN. Any data items with a VALUE clauses are initialized to the appropriate value each time the program is called. The value in the data items is lost when the program returns. It is defined in the DATA DIVISION after WORKING-STORAGE SECTION
14. What does passing BY REFERENCE mean?
Ans:When the data is passed between programs, the subprogram refers to and processes the data items in the calling program's storage, rather than working on a copy of the data. When
CALL . . . BY REFERENCE identifier. In this case, the caller and the called share the same memory.
15. What does passing BY CONTENT mean?
Ans:The calling program passes only the contents of the literal, or identifier. With a CALL . . . BY CONTENT, the called program cannot change the value of the literal or identifier in the calling program, even if it modifies the variable in which it received the literal or identifier.
16. What does passing BY VALUE mean?
Ans:The calling program or method is passing the value of the literal, or identifier, not a reference to the sending data item. The called program or invoked method can change the parameter in the called program or invoked method. However, because the subprogram or method has access only to a temporary copy of the sending data item, those changes do not affect the argument in the calling program. Use By value, If you want to pass data to C program. Parameters must be of certain data type.