Re: Embedded SQL, PL/SQL in Cobol
- From: "Jeff" <jmoore207@xxxxxxxxxxx>
- Date: 29 Apr 2005 04:09:05 -0700
The middleware is Open turbo. I will paste the calls to the database.
The program is not very big, I am starting with a small report program
that does a few seperate gets(call).
The middleware uses modes to go "get records"
005900 77 BASE PIC X(24) VALUE " CONSDB.DATABASE;".
006000 77 PASS PIC X(8) VALUE "INQUIRY;".
006100 01 PROCID PIC X(8) VALUE "ALASTSUV".
020200 CALL "DBOPEN" USING BASE, PASS, MODE5, DB-STATUS.
020300 IF C-W NOT = 0
020400 PERFORM DB-ERROR.
022100 MOVE ZERO TO TAPE-REC.
022200 CALL "DBGET" USING BASE, DMBRDETL, MODE2, DB-STATUS,
022300 DALLITEM, MEMBERDETL, DB-ARG-SEP.
* Base is path to database, MEMBERDETL is the memberdetl table, mode2
reads next record serially, DB-ARG-SEP is variable passed.
022400 IF C-W = 11
022500 GO TO RRS-9999-EXIT.
C-W i- 11 is end of file
022600 IF C-W NOT = 0
022700 PERFORM DB-ERROR.
C-W = 0 means found record
022800 MOVE MBRSEP OF MEMBERDETL TO DB-ARG-SEP.
022900
023000 RRS-0200.
023100 CALL "DBGET" USING BASE, DMSMSTR, MODE7, DB-STATUS,
023200 DALLITEM, MBRSEPMSTR, DB-ARG-SEP.
Mode7 reads master record given a search value
023300 IF C-W NOT = 0
023400 PERFORM DB-ERROR.
023500 IF ACCTSTATUS OF MBRSEPMSTR(1) NOT = "A"
023600 GO TO RRS-0100.
023700 PERFORM MOVE-FIELDS THRU MOVE-FIELDS-EXIT.
023800
023900 MOVE RATE OF MEMBERDETL TO WSCR-RATE-CODE OF TAPE-REC.
024000 MOVE CLASX OF MEMBERDETL TO WSCR-SRVC-CODE OF TAPE-REC.
024100
024200 MOVE 0 TO CHECK-FLAG, I, HISTORY-COUNT.
024210 MOVE CLASX OF MEMBERDETL TO WW-CLASS.
024300 PERFORM CHECK-CLASS THRU CHECK-CLASS-EXIT.
024400 IF CHECK-FLAG = 1
024500 GO TO RRS-0100.
024700 MOVE MBRSEP OF MEMBERDETL TO DB-ARG-SEP.
024800 CALL "DBFIND" USING BASE, DMBRHIST, MODE1, DB-STATUS,
024900 SRCH-SEP, DB-ARG-SEP.
Find= sets up chain read
025000 IF C-W = 17
025100 GO TO RRS-0100.
C-W = 17 is no master entry
025200 IF C-W NOT = 0
025300 PERFORM DB-ERROR.
025400 MOVE 0 TO I.
025500 GET-NEXT-HISTORY.
025600 IF I > 11 GO TO RRS-0500.
025700 CALL "DBGET" USING BASE, DMBRHIST, MODE6, DB-STATUS,
025800 DALLITEM, MBRHISTDETL, DB-ARG-SEP.
Mbrhistdetl table, Mode6 reads previous record in chain
025900 IF C-W = 14
026000 GO TO RRS-0500.
C-w = 14 beginning of file
026100 IF C-W NOT = 0
026200 PERFORM DB-ERROR.
026300 IF BILLTYPE OF MBRHISTDETL = 9
026400 GO TO GET-NEXT-HISTORY.
026410 CALL "DATE2Y2K" USING READDATE OF MBRHISTDETL, Y2K-DATE1.
99025037
026420 CALL "DATE2Y2K" USING TDUEDATE, Y2K-DATE2.
99025037
026500*Y2K IF READDATE OF MBRHISTDETL > TDUEDATE
99025037
026510 IF Y2K-DATE1 > Y2K-DATE2
99025037
026600 GO TO GET-NEXT-HISTORY.
026610 CALL "DATE2Y2K" USING READDATE OF MBRHISTDETL, Y2K-DATE1.
99025037
026620 CALL "DATE2Y2K" USING FDUEDATE, Y2K-DATE2.
99025037
026700*Y2K IF READDATE OF MBRHISTDETL < FDUEDATE
99025037
026710 IF Y2K-DATE1 < Y2K-DATE2
99025037
026800 GO TO RRS-0500.
026900 IF READDATE OF MBRHISTDETL NOT = HOLD-READDATE
027000 ADD 1 TO I
027100 MOVE READDATE OF MBRHISTDETL TO HOLD-READDATE
027200 WSCR-DATE(I)
027300 MOVE KWH OF MBRHISTDETL TO WSCR-KWH(I)
027400 MOVE ENERGY OF MBRHISTDETL TO WSCR-REVENUE(I)
027500 ADD FUEL OF MBRHISTDETL TO WSCR-REVENUE(I)
027600 ELSE
027700 ADD KWH OF MBRHISTDETL TO WSCR-KWH(I)
027800 ADD ENERGY OF MBRHISTDETL TO WSCR-REVENUE(I)
027900 ADD FUEL OF MBRHISTDETL TO WSCR-REVENUE(I).
028000 GO TO GET-NEXT-HISTORY.
028100
I am trying to figure out where to start, do I use embedded SQL or
PL/SQL. I have very little knowledge, only what I have been reading in
the Oracle manuals. If I had an idea of where to start and what the
code looks like, I would feel much better about it. I appreciate
everyone's help and sorry of I came across as a smarta$$. I am very
anxious to get one program under my belt. Thank you again and I look
forward to your responses.
.
- Follow-Ups:
- Re: Embedded SQL, PL/SQL in Cobol
- From: Chris
- Re: Embedded SQL, PL/SQL in Cobol
- From: Jeff
- Re: Embedded SQL, PL/SQL in Cobol
- References:
- Embedded SQL, PL/SQL in Cobol
- From: Jeff
- Re: Embedded SQL, PL/SQL in Cobol
- From: Frederico Fonseca
- Embedded SQL, PL/SQL in Cobol
- Prev by Date: Re: OT - "lie" vs "error"
- Next by Date: Re: Embedded SQL, PL/SQL in Cobol
- Previous by thread: Re: Embedded SQL, PL/SQL in Cobol
- Next by thread: Re: Embedded SQL, PL/SQL in Cobol
- Index(es):