SSL dataload.cob
Interaktion und PortierbarkeitCobol
* dataload.pco Portable data loader, Embedded Cobol version * DWF 1/12/95 * * This program is intended to conform to COBOL-85 and possibly later * standards. I have omitted some customary Cobol-isms that are * deprecated features. * IDENTIFICATIONDIVISION. PROGRAM-ID. DATALOAD.
CHECKOK. IF SQLCODE ISLESSTHANZEROTHEN DISPLAY"SQLCODE is " SQLCODE DISPLAY"SQL ERROR -- rolling back" EXECSQL ROLLBACK WORK END-EXEC STOPRUN END-IF.
ATTACH-TO-DATABASE. CALL"AUTHID"USING UID MOVE"not logged in, not"TO UIDX EXECSQLSELECT USER INTO :UIDX FROM ECCO END-EXEC IF UID ISNOTEQUALTO UIDX THEN DISPLAY"ERROR: User " UID " expected." DISPLAY"User " UIDX " connected." STOPRUN END-IF.
REPORTFEATURE. DISPLAY"Loading reportfeature" OPENINPUT REPTFT MOVE"F"TO EOF PERFORM REPTFT-READ PERFORM REPTFT-LOOP UNTIL EOF ISEQUALTO"T" CLOSE REPTFT EXECSQL COMMIT WORK END-EXEC PERFORM CHECKOK.
REPTFT-READ. MOVESPACESTO C12 READ REPTFT ATENDMOVE"T"TO EOF END-READ.
REPTFT-LOOP. MOVE C11 TO COL11 MOVE C12 TO COL12 EXECSQLINSERTINTO REPORTFEATURE
VALUES (:COL11, :COL12) END-EXEC PERFORM CHECKOK PERFORM REPTFT-READ.
IMPLICATION. DISPLAY"Loading implication" OPENINPUT IMPLIC MOVE"F"TO EOF PERFORM IMPLIC-READ PERFORM IMPLIC-LOOP UNTIL EOF ISEQUALTO"T" CLOSE IMPLIC EXECSQL COMMIT WORK END-EXEC PERFORM CHECKOK.
IMPLIC-READ. MOVESPACESTO C22 READ IMPLIC ATENDMOVE"T"TO EOF END-READ.
IMPLIC-LOOP. MOVE C21 TO COL21 MOVE C22 TO COL22 EXECSQLINSERTINTO IMPLICATION
VALUES (:COL21, :COL22) END-EXEC PERFORM CHECKOK PERFORM IMPLIC-READ.
TESTPROG. DISPLAY"Loading testprog" OPENINPUT TSTPRG MOVE"F"TO EOF PERFORM TSTPRG-READ PERFORM TSTPRG-LOOP UNTIL EOF ISEQUALTO"T" CLOSE TSTPRG EXECSQL COMMIT WORK END-EXEC PERFORM CHECKOK.
TSTPRG-READ. MOVESPACESTO C33 READ TSTPRG ATENDMOVE"T"TO EOF END-READ.
TSTPRG-LOOP. MOVE C31 TO COL31 MOVE C32 TO COL32 MOVE C33 TO COL33 IF COL33 ISEQUALTO"NULL "THEN MOVE -1 TO COL33I ELSE MOVEZEROTO COL33I END-IF EXECSQLINSERTINTO TESTPROG
VALUES (:COL31, :COL32, :COL33:COL33I) END-EXEC PERFORM CHECKOK PERFORM TSTPRG-READ.
TESTCASE. DISPLAY"Loading testcase" OPENINPUT TSTCAS MOVE"F"TO EOF PERFORM TSTCAS-READ PERFORM TSTCAS-LOOP UNTIL EOF ISEQUALTO"T" CLOSE TSTCAS EXECSQL COMMIT WORK END-EXEC PERFORM CHECKOK.
TSTCAS-READ. READ TSTCAS ATENDMOVE"T"TO EOF END-READ.
TSTCAS-LOOP. MOVE C41 TO COL41 MOVE C42 TO COL42 MOVE C43 TO COL43 MOVE C44 TO COL44 MOVE C45 TO COL45 IF COL44 ISEQUALTO"NULL "THEN MOVE -1 TO COL44I ELSE MOVEZEROTO COL44I END-IF EXECSQLINSERTINTO TESTCASE
VALUES (:COL41, :COL42, :COL43, :COL44:COL44I, :COL45) END-EXEC PERFORM CHECKOK PERFORM TSTCAS-READ.
TESTFEATURE. DISPLAY"Loading testfeature" OPENINPUT TESTFT MOVE"F"TO EOF PERFORM TESTFT-READ PERFORM TESTFT-LOOP UNTIL EOF ISEQUALTO"T" CLOSE TESTFT EXECSQL COMMIT WORK END-EXEC PERFORM CHECKOK.
TESTFT-READ. MOVESPACESTO C52 READ TESTFT ATENDMOVE"T"TO EOF END-READ.
TESTFT-LOOP. MOVE C51 TO COL51 MOVE C52 TO COL52 EXECSQLINSERTINTO TESTFEATURE
VALUES (:COL51, :COL52) END-EXEC PERFORM CHECKOK PERFORM TESTFT-READ.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung ist noch experimentell.