http://www.perlmonks.org?node_id=152736


in reply to Re: Giant proxy DBD for multiple databases
in thread Giant proxy DBD for multiple databases

Our super-COBOL-expert people said we'd have to write custom COBOL to do each query, since the VSAM's are indexed only on the "primary key," like DB_File's, and we need to query against any "key" in the table.

We did look into doing a retrieval by FTP but ran into the asynch notify "problem," which we "solved" (on paper) by passing a "job completed code" to the COBOL driver when we began the query, and have it "hit" a TCP port back on our side with this code to indicate completion.

Unix: EBCDIC structured data JOB-ID PIC XXXXXXXXXXXXXXXX SUB-DATE-TIME 9999999999999999 SUB-DATE 99999999 SUB-DATE-YR 9999 SUB-DATE-MO 99 SUB-DATE-DY 99 SUB-TIME 99999999 SUB-TIME-H 99 SUB-TIME-M 99 SUB-TIME-S 99 SUB-TIME-CS 99 REPLY-IP 99999999999999999 REPLY-IP-H1 999 REPLY-IP-H2 999 REPLY-IP-H3 999 REPLY-IP-H4 999 REPLY-IP-PORT 99999 QUERY-1ST-COL 999 QUERY-LAST-COL 999 ... yadda, yadda ...

Really interesting trying to express TCP streams in fixed-length fields like this. Very similar concepts to C's "union"s or "struct"s; but no binary data, because (many/most) interfaces will mangle anything outside of the basic EBCDIC printable character-set. (We had to use "special" functions just to preserve lowercase letters. God only knows what happens to Iñigo and Réné as they go through the mangler...

Unfortunately, the contract was yanked at the last minute by the agency offering it. Apparently they thought this entire project would take 900 man-hours to complete and were a mite surprised at a 7-digit bid.

Thanks to everyone for your contributions, though!