Presentation is loading. Please wait.

Presentation is loading. Please wait.

Any Questions? Week 1 - 2nd Lecture Intro to COBOL Programming Defining Files and Processing Data.

Similar presentations


Presentation on theme: "Any Questions? Week 1 - 2nd Lecture Intro to COBOL Programming Defining Files and Processing Data."— Presentation transcript:

1

2 Any Questions?

3 Week 1 - 2nd Lecture Intro to COBOL Programming Defining Files and Processing Data

4 What is COBOL? Designed by the US defense department Meant to be English like for ease of maintenance COmmon Business Oriented Language

5 Agenda How does a compiler work? Creating a COBOL Program Parts of a COBOL Program The Perform Statement Defining Files Defining Variables COBOL Verbs

6 Compilers Translate programs written by humans into Machine Language Code directly executable code vs 2 step translate and execute programs ie Basic, C, C++, HTML etc.

7 COBOL Compiler on the iSeries COBOL Compiler Source Code QCBLLESRC (PGM1) Compiled Listing (PGM1) Program Object (PGM1)

8 Steps to Create a COBOL Program Working in the Source Physical File – QCBLLESRC (created previously) 1. Create a Source Member in the Source Physical file with the type CBLLE 2. Type in the COBOL code syntax statements using an editor i.e. RDS, SEU 3. Save & Exit 4. Compile and generate the executable code 5. Repeat 1 through 4 for each program required

9 8 Defining Files and Processing Data Cobol Program Structure Common Elements

10 9 A source program consists of FOUR DIVISIONS PROCEDURE DIVISION. Instructing the computer to work with the data IDENTIFICATION DIVISION. Identifying the program ENVIRONMENT DIVISION. Defining the files, peripherals, etc. DATA DIVISION. Defining the variables to use in the program

11 10 Identifying The Program PT001F Payroll Records PAYREP The Cobol Program PRINTER FILE Payroll Report

12 11 IDENTIFICATION DIVISION. PROGRAM-ID. PAYREP. AUTHOR. Barake, Juan - DB344E40. * TO PRINT PAYROLL REPORT Column 7 Comment Lines Ignored by the Compiler Column 8 To start Division, Paragraph

13 Identification Division Required –Name of the Program in the Program-ID paragraph. Optional –Author –Installation –Date-Written –etc.

14 Identification Division (Syntax) IDENTIFICATION DIVISION. PROGRAM-ID. program-name. [AUTHOR. [comment-entry] … ] [INSTALLATION. [comment-entry] …] [DATE-WRITTEN. [comment-entry] …] [DATE-COMPILED. [comment-entry] …] [SECURITY. [comment-entry] …]

15 Environment Division Defines the operational environment and connecting a programs internal file / device requirements to the physical system environment.

16 Environment Division [ENVIRONMENT DIVISION.] [CONFIGURATION SECTION.] Identifies the computer used to write / create the program and the computer it is intended to operate / execute on. [INPUT-OUTPUT SECTION.] [FILE-CONTROL.] Connects the programs internally declared devices / files to the operating system devices / files.

17 Environment Division (Syntax) [ENVIRONMENT DIVISION.] [CONFIGURATION SECTION.] [SOURCE-COMPUTER. AS/400.] [OBJECT-COMPUTER. AS/400.] [INPUT-OUTPUT SECTION.] [FILE-CONTROL.] [SELECT nice-file-name ASSIGN to DISK/PRINTER/WORKSTATION- physical-file-name.]

18 Environment Division INPUT-OUTPUT SECTION is only required if your program uses files. –Contains the FILE-CONTROL paragraph DISK PRINTER DATABASE WORKSTATION FORMATFILE –similar to setting up file pointers

19 18 THE ENVIRONMENT The Data File PT001F Payroll Records PAYREP The Cobol Program PRINTER FILE Payroll Report

20 19 ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT PAYROLL-FILE ASSIGN TO DATABASE-PT001F ORGANIZATION IS SEQUENTIAL. As known to the AS400 File System As known to the Cobol Program Syntax can use up to 30 char names AS400 system only 10 Easier to maintain links internal cobol structure to system

21 Select for a Database File Select Product-File Assign to disk-PRODPF. Select Product-file Assign to database-PRODPF Access is Sequential.

22 21 ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT PAYROLL-FILE ASSIGN TO DATABASE-PT001F ORGANIZATION IS SEQUENTIAL. Data File = Collection of Records Each Record = One employee Info Records have same length (bytes) Records made up of fields Sequential means that records are organized in arrival sequence

23 Select Statement for a Printer (Spooled) File Select Product-Report assign to printer-qprint. Select Product-Report assign to printer-qsysprt.

24 23 ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT PAYROLL-FILE ASSIGN TO DATABASE-PT001F ORGANIZATION IS SEQUENTIAL. SELECT PRINT-FILE ASSIGN TO PRINTER. PRINT-FILE is just a user-defined name PRINTER is a device name The Cobol program will refer to PRINT -FILE

25 Select Statement for an Externally Described Printer File Select Product-Report assign to formatfile-qsysprt.

26 Select Statement for a Interactive-Display-File Select Display-File assign to workstation-PRDSPF organization is transaction. Select Display-File assign to workstation-PRDSPF-SI organization is transaction.

27 Data Division Further divided into sections Declare / define the structure of ALL data objects used within a program.

28 Data Division (Syntax) [DATA DIVISION.] [FILE-SECTION.] All objects imported into the program from external (Global) sources. [WORKING-STORAGE SECTION.] All objects required local to the program. [LINKAGE-SECTION.] All parameter objects (fields) received from another programs or bi- directionally passed between programs.

29 Bringing the Outside IN

30 Working Storage Section Field or Variables needed by the program for internal processing Field or variable is not part of any Input or Output. Some examples: counters, flags, edited fields (masks), report lines, etc. Fields are defined the same way as in the file section Value clause used to initialize variables or literals (constants) used within the program.

31 30 OUR PRINTING LAYOUT *...+....1....+....2....+....3....+....4....+....5....+....6....+....7.. Payroll Monthly List Juan Barake 40 $ 400.00 Mary O'Brian 375 $3,125.00 Berns, Andre 275 $1,984.00 HEADER RECORD HEADER DETAIL RECORD

32 31 WORKING-STORAGE SECTION. 01 HEADING-LINE. 05 FILLER PIC X(12) VALUE 'EMPLOYEE... '. 05 FILLER PIC X(110) VALUE SPACES. 01 DETAIL-LINE. 05 FILLER PIC X(8) VALUE SPACES. 05 DET-NAME PIC X(25). 05 FILLER PIC XX VALUE SPACES. 05 DET-HOURS PIC ZZZ. 05 FILLER PIC XX VALUE SPACES. 05 DET-PAY PIC $Z,ZZZ.99. 05 FILLER PIC X(92) VALUE SPACES. 77 EOF-FLAG PIC X VALUE SPACES. HEADING-LINE: Temporary area to hold the print header. HEADING-LINE: Temporary area to hold the print header. DETAIL-LINE: Temporary area to hold the print fields DETAIL-LINE: Temporary area to hold the print fields EOF-FLAG: Just a variable used as a ‘loop control’ Used within the logic of the program EOF-FLAG: Just a variable used as a ‘loop control’ Used within the logic of the program

33 Defining Variables Zoned Decimals (or signed integers) Packed Decimal Alphabetic Alphanumeric Boolean Dates Time TimeStamp

34 Variable Data vs Constant Data Variable Data Changes Constant Data doesn’t Figurative Constants –ZERO, ZEROS, ZEROES –SPACES

35 Data Division (Syntax) [DATA DIVISION.] [FILE-SECTION.] [FD nice-file-name] [RECORD CONTAINS 99 CHARACTERS]. [01 record-name.] [05 field-names PIC ????.] [WORKING-STORAGE SECTION.] [01 field-name PIC X(10).] [LINKAGE-SECTION.] [01 ws-prog-parameters.] [05 ws-parm-1 pic x(5).] [05 ws-param-2 pic 9(6).]

36 35 DATA DEFINITIONS Variable Names: 1 to 30 characters Letters, digits, hyphen See rules in page 74 of your textbook EMPNAME is valid EMP NAME is invalid EMP3NAME is valid

37 36 DATA DEFINITIONS Data can be either a Constant or a Variable Constant are known as Literals Variables are known as Identifiers or Fields Constants can be Numeric (1, 200, -100, 1.5) Constants can be Alphanumeric (“CBL344 Course”) Variables can be keywords (Cobol defined names such as DATA) or they can be user-defined (user makes up the name such as BALANCE)

38 File Section Define the files used in the program –File Description –Record Description Program Described vs Externally Described.

39 File Section FD (file declaration) Label Clause –Not used often –Transmitting Data Block Clause –Optional –I’ve never seen it used

40 File Section - FD Records Clause –Optional –Used to double check that the record format

41 File Section - Record Description Starting at an 01 level and the subsequent field(s) detail(s) in each record

42 41 DATA DIVISION. FILE SECTION. FD PAYROLL-FILE RECORD CONTAINS 45 CHARACTERS DATA RECORD IS EMPLOYEE-IN. 01 EMPLOYEE-IN. 05 EMP-NAME PIC X(25). 05 EMP-HOURS PIC 9(03). 05 EMP-RATE PIC 99V9 USAGE COMP-3. 05 EMP-DEP PIC X(15). Level Numbers indicate field subordination 01 indicates the top level Located in pos 8 thru 11 Data Subordination

43 42 The Data PICture or PIC Data content is internally represented by EBCDIC (IBM internal representation of data equivalent to ASCII) It uses a byte (8 bits) to represent a single digit, a single letter, or any special character such as # See the EBCDIC table in page 19 of your textbook The content acceptable for a variable is defined by the clause PICTURE or simply PIC

44 43 The Data PICture or PIC PICture describes occurrences of each character: Numeric are represented by 9 Alphanumeric is represented by X Alphabetic is represented by A S represented the sign $ / - represent edited characters (for output)

45 44 DATA DIVISION. FILE SECTION. FD PAYROLL-FILE RECORD CONTAINS 45 CHARACTERS DATA RECORD IS EMPLOYEE-IN. 01 EMPLOYEE-IN. 05 EMP-NAME PIC X(25). 05 EMP-HOURS PIC 9(03). 05 EMP-RATE PIC 99V9 USAGE COMP-3. 05 EMP-DEP PIC X(15). Level Numbers indicate field subordination 01 indicates the top level Located in pos 8 thru 11

46 45 DATA DIVISION. FILE SECTION. FD PAYROLL-FILE RECORD CONTAINS 45 CHARACTERS DATA RECORD IS EMPLOYEE-IN. 01 EMPLOYEE-IN. 05 EMP-NAME PIC X(25). 05 EMP-HOURS PIC 9(03). 05 EMP-RATE PIC 99V9 USAGE COMP-3. 05 EMP-DEP PIC X(15). Elements of Data Definition Level Number Variable Name PICture Group level

47 46 DATA DIVISION. FILE SECTION. FD PAYROLL-FILE RECORD CONTAINS 45 CHARACTERS DATA RECORD IS EMPLOYEE-IN. 01 EMPLOYEE-IN. 05 EMP-NAME PIC X(25). 05 EMP-HOURS PIC 9(03). 05 EMP-RATE PIC 99V9 USAGE COMP-3. 05 EMP-DEP PIC X(15). FD PRINT-FILE RECORD CONTAINS 132 CHARACTERS DATA RECORD IS PRINT-LINE. 01 PRINT-LINE PIC X(132). 01 pr-header-line-1. 03 hd1-report name pic x(20). 03 filler pic x(15). 03 hd2-datepic 9999b99b99. 03 filler pic x(15). 01 pr-detail-line. 03 filler pic x(10). 03 dt1-quantitypic z(5)9-. 03 fillerpic xxx. 03 dt1-descrpic x(30). etc THE PRINTER LINE DEFINITION Record formats

48 Optionally define the record format structure Working-Storage

49 48 THE DATA DEFINITIONS The Payroll File EACH EMPLOYEE RECORD LAYOUT: Data Field Buffer Buffer Field Column Field Type Length Length Position Usage Heading EMPNAME CHAR 25 25 1 Both NAME Field text............... : NAME Alternative name............ : PT001F_NAME Coded Character Set Identifier..... : 37 EMPHOUR ZONED 3 0 3 26 Both HOURS Field text............... : HOURS Alternative name............ : PT001F_HOURS EMPRATE PACKED 3 1 2 29 Both RATE Field text............... : RATE Alternative name............ : PT001F_RATE EMPDEP CHAR 15 15 31 Both DEPARTMENT Field text............... : DEPARTMENT Alternative name............ : PT001F_DEPART Coded Character Set Identifier..... : 37 PT001F = PAYROLL-FILE

50 COPY Importing DATA DEFINITIONS into your program LIBRARY - PF

51 Spoolfile printout Note: +’s on inserted lines

52 FFD External data record format structure

53 Linkage Section Define Parameters

54 Variable Names Up to 30 Characters Letters, numbers and hypens (-) No blanks At least one letter Not a COBOL Reserved Word (see text for list of reserved words) Meaning full names please

55 Variable Name Examples

56 PICture Clauses (Elementary Items) 9 - Number X – Alphanumeric A - Alphabetic V - Decimal Point PACKED-DECIMAL = COMP-3

57 PIC Clauses

58 Date, Time, & TimeStamp fields 01 Todays-date format of date. 01 Todays-time format of time. 01 Todays-timestamp format of timestamp.

59 Boolean Variables 01 IN99 pic 1.

60 PIC Clauses (Group Items) Mix of Elementary Items. Used to break a variable into smaller portions

61 PIC Clauses (Group Item – Example) 01 Student-Number PIC 9(9). 01 Student-Number-Edited. 05 Student-Number-Part-1 PIC 9(3). 05 Student-Number-Part-2 PIC 9(3). 05 Student-Number-Part-3 PIC 9(3).

62 61 Picture Clause Review Define Variables Define how Variables are displayed

63 62 Editing Functions FunctionCharacter Printing of a / as a separator/ Printing of Decimal Point in an integer. Suppress Leading Zeros in an integerZ Print a Dollar Sign in front of an integer$ Print a Comma in an integer, Printing of + or – signs+ or - Printing of ‘Debit’ or ‘Credit’ symbolsDB or CR Printing of Spaces as separatorsB Printing of Zeros as separators0 Print Leading asterix*

64 63 Examples Trans-Amount PIC 9(6)V999 Value 4565.78. Report-ItemEdited Results PIC 9(6)V999 PIC $999999V999 PIC $ZZZ,ZZZ.99 PIC $ZZZ,ZZZ.9

65 64 Examples Trans-Amount PIC 9(6)V999 Value 4565.78. Report-ItemEdited Results PIC $ZZZ,ZZZ.99- PIC $ZZZ,ZZZ.99CR PIC $ZZZZZZB99 PIC $ZZZZZZ.99+

66 For Next Week Review Reserved words in Text Do your assignment!


Download ppt "Any Questions? Week 1 - 2nd Lecture Intro to COBOL Programming Defining Files and Processing Data."

Similar presentations


Ads by Google