AIX in cobol



Support for OS/VS COBOL, VS COBOL II, COBOL for OS/390 & VM and Enterprise COBOL for z/OS

AIX in cobol

Postby gowthamgyaa » Tue Nov 06, 2012 6:00 pm

Hi everyone,
I used AIX with duplicates in the below program but the sysout is only without duplicates.
Pls provide me a solution in this.
I'l provide you the code below,
I had used CU-Region as AIX where I have some regions presented twice, but when i try to access those regions its showing me only one record under that region.

 000001         IDENTIFICATION DIVISION.
 000002       * **************SEARCH KSDS WITH ALTERNATE KEY RANDOM*****
 000003         PROGRAM-ID. COBOSS01.
 000004         AUTHOR. GOWTHAM.
 000005         DATE-WRITTEN. 31.10.12.
 000006         DATE-COMPILED. 15.10.12.
 000007         ENVIRONMENT DIVISION.
 000008         CONFIGURATION SECTION.
 000009         SOURCE-COMPUTER. LENOVO.
 000010         OBJECT-COMPUTER. LENOVO.
 000011         INPUT-OUTPUT SECTION.
 000012         FILE-CONTROL.
 000013             SELECT INFILE ASSIGN TO SYSUT1
 000014             ORGANIZATION IS INDEXED
 000015             ACCESS IS DYNAMIC
 000016             RECORD KEY IS CU-CUSTNO
 000017             ALTERNATE KEY IS CU-REGION WITH DUPLICATES
 000018             FILE STATUS IS PS.
 000019         DATA DIVISION.
 000020         FILE SECTION.
 000021         FD INFILE.
 000022         01 INREC.
 000023             02 CU-CUSTNO PIC X(2).
 
 000024             02 FILLER PIC X(3) VALUE SPACES.
 000025             02 CU-CUSTNAME PIC A(3).
 000026             02 FILLER PIC X(3) VALUE SPACES.
 000027             02 CU-ADDR PIC X(3).
 000028             02 FILLER PIC X(2) VALUE SPACES.
 000029             02 CU-REGION PIC X(3).
 000030             02 FILLER PIC X(2) VALUE SPACES.
 000031             02 IT-ITEMNO PIC 9(2).
 000032             02 FILLER PIC X(2) VALUE SPACES.
 000033             02 IT-ITEMNAME PIC 9(5).
 000034             02 FILLER PIC X(4) VALUE SPACES.
 000035             02 TQREQ PIC 9(3).
 000036             02 FILLER PIC X(3) VALUE SPACES.
 000037             02 RPQ PIC 9(3).
 000038             02 FILLER PIC X(2) VALUE SPACES.
 000039             02 CU-NR PIC 9(5).
 000040             02 FILLER PIC X(2) VALUE SPACES.
 000041             02 CU-CRPD PIC 9(5).
 000042             02 FILLER PIC X(2) VALUE SPACES.
 000043             02 CU-CRBAL PIC 9(5).
 000044             02 FILLER PIC X(2) VALUE SPACES.
 000045             02 DATEOFORDER PIC 9(2).
 000046             02 FILLER PIC X(2) VALUE SPACES.
 000047             02 DATEOFDELIVERY PIC 9(2).
 
 000048             02 FILLER PIC X(2) VALUE SPACES.
 000049             02 DAYSREMAIN PIC 9(2).
 000050             02 FILLER PIC X(2) VALUE SPACES.
 000051             02 SHIPPINGDET PIC X(1).
 000052             02 PRIORITY PIC X(1).
 000053        WORKING-STORAGE SECTION.
 000054        77 PS PIC X(2).
 000055        77 RU-REGION PIC X(3).
 000056         01 MAINHEAD1.
 000057           02 FILLER PIC X(30) VALUE SPACES.
 000058           02 FILLER PIC X(20) VALUE "ABC COMPANY LTD".
 000059           02 FILLER PIC X(30) VALUE SPACES.
 000060         01 MAINHEAD2.
 000061           02 FILLER PIC X(25) VALUE SPACES.
 000062           02 FILLER PIC X(30) VALUE "PURCHASE ORDER ENTRY SYSTEM".
 000063           02 FILLER PIC X(25) VALUE SPACES.
 000064         01 MAINHEAD3.
 000065           02 FILLER PIC X(20) VALUE SPACES.
 000066           02 FILLER PIC X(20) VALUE "CUSTOMER DETAILS ".
 000067           02 FILLER PIC X(2) VALUE "&".
 000068           02 FILLER PIC X(20) VALUE "DELIVERY INSTRUC".
 000069           02 FILLER PIC X(13) VALUE SPACES.
 000070         01 MAINHEAD4.
 000071           02 FILLER PIC X(60) VALUE SPACES.
 
 000072           02 C-DATE PIC 99/99/99.
 000073           02 FILLER PIC X(10) VALUE SPACES.
 000074         01 MAINHEAD5.
 000075           02 FILLER PIC X(60) VALUE SPACES.
 000076           02 C-TIME PIC 9(10).
 000077           02 FILLER PIC X(10) VALUE SPACES.
 000078         01 SUBHEAD.
 000079           02 FILLER PIC X(80) VALUE ALL '-'.
 000080         01 SUBHEAD1.
 000081           02 FILLER PIC X(3) VALUE "CNO".
 000082           02 FILLER PIC X(2) VALUE SPACES.
 000083           02 FILLER PIC X(3) VALUE "CNM".
 000084           02 FILLER PIC X(3) VALUE SPACES.
 000085           02 FILLER PIC X(3) VALUE "ADR".
 000086           02 FILLER PIC X(3) VALUE SPACES.
 000087           02 FILLER PIC X(3) VALUE "REG".
 000088           02 FILLER PIC X(2) VALUE SPACES.
 000089           02 FILLER PIC X(3) VALUE "INO".
 000090           02 FILLER PIC X(2) VALUE SPACES.
 000091           02 FILLER PIC X(3) VALUE "INM".
 000092           02 FILLER PIC X(7) VALUE SPACES.
 000093           02 FILLER PIC X(3) VALUE "TQR".
 000094           02 FILLER PIC X(2) VALUE SPACES.
 000095           02 FILLER PIC X(3) VALUE "RPQ".
 
 000096           02 FILLER PIC X(2) VALUE SPACES.
 000097           02 FILLER PIC X(3) VALUE "NRT".
 000098           02 FILLER PIC X(2) VALUE SPACES.
 000099           02 FILLER PIC X(4) VALUE "PAID".
 000100           02 FILLER PIC X(2) VALUE SPACES.
 000101           02 FILLER PIC X(3) VALUE "BAL".
 000102           02 FILLER PIC X(2) VALUE SPACES.
 000103           02 FILLER PIC X(3) VALUE "DOO".
 000104           02 FILLER PIC X(2) VALUE SPACES.
 000105           02 FILLER PIC X(3) VALUE "DOD".
 000106           02 FILLER PIC X(2) VALUE SPACES.
 000107           02 FILLER PIC X(3) VALUE "RED".
 000108           02 FILLER PIC X(1) VALUE SPACES.
 000109        PROCEDURE DIVISION.
 000110        FILLER-PARA.
 000111             DISPLAY MAINHEAD1.
 000112             DISPLAY MAINHEAD2.
 000113             DISPLAY MAINHEAD3.
 000114             ACCEPT C-DATE FROM DATE YYYYMMDD.
 000115             DISPLAY "DATE:" MAINHEAD4.
 000116             ACCEPT C-TIME FROM TIME.
 000117             DISPLAY "TIME:" MAINHEAD5.
 000118             DISPLAY SUBHEAD.
 000119             DISPLAY SUBHEAD1.
 
 000120             DISPLAY SUBHEAD.
 000121        MAIN-PARA.
 000122             PERFORM OPEN-PARA.
 000123             PERFORM READSEARCH-PARA.
 000124             PERFORM CLOSE-PARA.
 000125             STOP RUN.
 000126        OPEN-PARA.
 000127             OPEN INPUT INFILE.
 000128             IF PS NOT = '00'
 000129              DISPLAY "OPEN ERROR:" PS
 000130              PERFORM CLOSE-PARA
 000131             ELSE
 000132              DISPLAY "OPEN SUCCESS:" PS
 000133             END-IF.
 000134        READSEARCH-PARA.
 000135             ACCEPT RU-REGION.
 000136             MOVE RU-REGION TO CU-REGION
 000137             READ INFILE key cu-region
 000138             INVALID KEY PERFORM FAIL-PARA
 000139             NOT INVALID KEY PERFORM DISPLAY-PARA
 000140             END-READ.
 000141        DISPLAY-PARA.
 000142             DISPLAY "SEARCH SUCCESS:" CU-REGION.
 000143             DISPLAY INREC.
 
 000144        FAIL-PARA.
 000145             DISPLAY "SEARCH FAILED BEC NO CUST. IN THE GIVEN REGION:"
 000146       -      RU-REGION.
 000147        CLOSE-PARA.
 000148             CLOSE INFILE.
 ****** **************************** Bottom of Data ****************************


Kind regards
gyaa
gowthamgyaa
 
Posts: 101
Joined: Wed Sep 05, 2012 11:18 pm
Has thanked: 67 times
Been thanked: 0 time

Re: AIX in cobol

Postby BillyBoyo » Tue Nov 06, 2012 6:15 pm

You are only doing one READ, so you'll only get one record.

You need to work harder yourself on these things. You can't just say "it's not working, I'll post it on the internet". At the very least, before running the program you need to sit down with the listing of the program and go through it, noting down what happens with your code.

These users thanked the author BillyBoyo for the post:
gowthamgyaa (Tue Nov 06, 2012 6:44 pm)
BillyBoyo
Global moderator
 
Posts: 3804
Joined: Tue Jan 25, 2011 12:02 am
Has thanked: 22 times
Been thanked: 265 times


Return to IBM Cobol

 


  • Related topics
    Replies
    Views
    Last post