000010 IDENTIFICATION DIVISION. 000020* CDS Windows 000030* (C) COPYRIGHT Rodney Roberts 2004 000040* AMS Windows 000050* (C) COPYRIGHT Rodney Roberts 2004 000060 PROGRAM-ID. STA2CSV. 000070* STreet-Address 2 CSVfield 000080 ENVIRONMENT DIVISION. 000090 000100 DATA DIVISION. 000110 WORKING-STORAGE SECTION. 000120 000130 01 WORK-PARMS IS GLOBAL. 000140 05 WP-WORD PIC X(040). 000150 05 FILLER REDEFINES WP-WORD. 000160 10 WP-WORD-BYTE OCCURS 40 TIMES 000170 PIC X. 000180 05 WP-INDEX PIC S9(4) COMP-5. 000190 000200 INCLUDE "COMDATA.COB". 000210 INCLUDE "STADDR.COB". 000220 000230 PROCEDURE DIVISION. 000240 000250 1000-INIT. 000260 MOVE -1 TO ERR-CODE. 000270 MOVE SPACES TO ERR-LOC 000280 ERR-MESSAGE-TEXT 000290 CSV-FIELD. 000300 MOVE ZERO TO CSV-FLD-LEN 000310 MOVE 'STA2CSV' TO ERR-PROG. 000320 IF ((CASS-FILE) AND (CASS-APT-ONLY)) 000330 OR ((ADDR-FILE) AND (ADDR-APT-ONLY)) THEN 000340 GO TO 6000-APARTMENT 000350 END-IF. 000360 IF ST-BOXHOLDER THEN 000370 MOVE ST-STREET-NAME TO WP-WORD 000380 MOVE 30 TO WP-INDEX 000390 ELSE 000400 MOVE ST-PRIMARY-NUMBER TO WP-WORD 000410 MOVE 12 TO WP-INDEX 000420 END-IF. 000430 CALL "WPLEN". 000440 IF WP-INDEX > 0 THEN 000450 CALL "WORD2CSV" 000460 END-IF. 000470 MOVE ZERO TO ERR-CODE. 000480 IF ST-BOXHOLDER THEN 000490 MOVE ST-PRIMARY-NUMBER TO WP-WORD 000500 MOVE 12 TO WP-INDEX 000510 ELSE 000520 MOVE ST-PRE-DIRECTIONAL TO WP-WORD 000530 MOVE 2 TO WP-INDEX 000540 END-IF. 000550 CALL "WPLEN". 000560 IF WP-INDEX > 0 THEN 000570 CALL "WORD2CSV" 000580 END-IF. 000590 IF ST-BOXHOLDER THEN 000600 GO TO 9000-EXIT-STA2CSV 000610 END-IF. 000620 MOVE ST-STREET-NAME TO WP-WORD. 000630 MOVE 30 TO WP-INDEX. 000640 CALL "WPLEN". 000650 IF WP-INDEX > 0 THEN 000660 CALL "WORD2CSV" 000670 END-IF. 000680 MOVE ST-STREET-SUFFIX TO WP-WORD. 000690 MOVE 4 TO WP-INDEX. 000700 CALL "WPLEN". 000710 IF WP-INDEX > 0 THEN 000720 CALL "WORD2CSV" 000730 END-IF. 000740 MOVE ST-STREET-POST-DIRECTIONAL TO WP-WORD. 000750 MOVE 2 TO WP-INDEX 000760 CALL "WPLEN". 000770 IF WP-INDEX > 0 THEN 000780 CALL "WORD2CSV" 000790 END-IF. 000800 IF (CASS-FILE) AND (NOT (CASS-APT-ONLY)) THEN 000810 GO TO 9000-EXIT-STA2CSV 000820 END-IF. 000830 IF (ADDR-FILE) AND (NOT (ADDR-APT-ONLY)) THEN 000840 GO TO 9000-EXIT-STA2CSV 000850 END-IF. 000860 000870 6000-APARTMENT. 000880 MOVE ST-2NDARY-UNIT-DSGNTR TO WP-WORD. 000890 MOVE 4 TO WP-INDEX. 000900 CALL "WPLEN". 000910 IF WP-INDEX > 0 THEN 000920 CALL "WORD2CSV" 000930 END-IF. 000940 MOVE ST-2NDARY-UNIT-NMBR TO WP-WORD. 000950 MOVE 10 TO WP-INDEX. 000960 CALL "WPLEN". 000970 IF WP-INDEX > 0 THEN 000980 CALL "WORD2CSV" 000990 END-IF. 001000 001010 9000-EXIT-STA2CSV. 001020 GOBACK. 001030 001040*---------------------------------------------- 001050 IDENTIFICATION DIVISION. 001060 PROGRAM-ID. WPLEN. 001070* Word Parm LENgth 001080 ENVIRONMENT DIVISION. 001090 001100 DATA DIVISION. 001110 WORKING-STORAGE SECTION. 001120 001130 PROCEDURE DIVISION. 001140 001150 2000-LOOP. 001160 IF WP-WORD-BYTE (WP-INDEX) NOT = " " THEN 001170 GO TO 9000-EXIT-WPLEN 001180 END-IF. 001190 SUBTRACT 1 FROM WP-INDEX. 001200 IF WP-INDEX > 0 THEN 001210 GO TO 2000-LOOP 001220 END-IF. 001230 001240 9000-EXIT-WPLEN. 001250 GOBACK. 001260 001270 END PROGRAM WPLEN. 001280*---------------------------------------------- 001290 IDENTIFICATION DIVISION. 001300 PROGRAM-ID. WORD2CSV. 001310* add WORD parm to CSV 001320 ENVIRONMENT DIVISION. 001330 001340 DATA DIVISION. 001350 WORKING-STORAGE SECTION. 001360 001370 77 I PIC S9(4) COMP-5. 001380 001390 PROCEDURE DIVISION. 001400 001410 1000-INIT. 001420 IF CSV-FLD-LEN > 0 THEN 001430 ADD 1 TO CSV-FLD-LEN 001440 END-IF. 001450 MOVE ZERO TO I. 001460 001470 2000-LOOP. 001480 ADD 1 TO I. 001490 IF I > WP-INDEX THEN 001500 GO TO 9000-EXIT-WORD2CSV 001510 END-IF. 001520 ADD 1 TO CSV-FLD-LEN. 001530 MOVE WP-WORD-BYTE (I) TO CSV-FIELD-ELEMENT (CSV-FLD-LEN). 001540 GO TO 2000-LOOP. 001550 001560 9000-EXIT-WORD2CSV. 001570 GOBACK. 001580 001590 END PROGRAM WORD2CSV. 001600*---------------------------------------------- 001610 END PROGRAM STA2CSV.