diff --git a/samples/worldcities/README.ocamlpro b/samples/worldcities/README.ocamlpro new file mode 100644 index 00000000..368dfe0f --- /dev/null +++ b/samples/worldcities/README.ocamlpro @@ -0,0 +1,105 @@ + + +Download files from: + +http://download.geonames.org/export/dump/ + +mkdir -p $HOME/worldcityfiles + + + + +## worldcities0 + +### Prerequisites + +wget http://download.geonames.org/export/dump/CA.zip +unzip -x CA.zip +mv CA.txt $HOME/worldcityfiles/ +wc -L $HOME/worldcityfiles/CA.txt + +Verify that the size is the record in city-record.copy is at least 500 +bytes longer than the max line length (output of wc -L). + +### Execution + +To build and execute: +./worldcities0.sh + +### Dependencies + +Depends on: +* city-record.cpy + + + + + +## worldcities1 + +### Prerequisites + +wget http://download.geonames.org/export/dump/countryInfo.txt +mv countryInfo.txt $HOME/worldcityfiles/ + +### Execution + +To build and execute: +./worldcities1.sh + +### Dependencies + +Depends on: +* city-record.cpy +* country-record.cpy +* checkfilestatus.cpy + + + + + +## worldcities2 + +### Prerequisites + +wget http://download.geonames.org/export/dump/cities15000.zip +unzip -x cities15000.zip +mv cities15000.txt $HOME/worldcityfiles/ + +### Execution + +To build and execute: +./worldcities2.sh + +### Dependencies + +Depends on: +* city-record.cpy +* country-record.cpy +* checkfilestatus.cpy + + + + + +## worldcities3 + +### Prerequisites + +wget http://download.geonames.org/export/dump/allCountries.zip +unzip -x allCountries.zip +mv allCountries.txt $HOME/worldcityfiles/ + +### Execution + +To build and execute: +./worldcities3.sh + +### Dependencies + +Depends on: +* city-record.cpy +* country-record.cpy +* commonroutines.cbl +* printrunreport.cbl + diff --git a/samples/worldcities/all.sh b/samples/worldcities/all.sh index 5fafae35..81132659 100755 --- a/samples/worldcities/all.sh +++ b/samples/worldcities/all.sh @@ -14,10 +14,10 @@ export FILES=$HOME/worldcityfiles cobc -x -W -free worldcities2.cbl ./worldcities2 $FILES/cities15000.txt $FILES/countryInfo.txt rm worldcities2 -#lpr -P $PRINTQUEUE run-file -#lpr -P $PRINTQUEUE report-file -#rm run-file -#rm report-file +lpr -P $PRINTQUEUE run-file +lpr -P $PRINTQUEUE report-file +rm run-file +rm report-file # Enter your print queue name here export PRINTQUEUE=Brother-HL-2170W-wireless export FILES=$HOME/worldcityfiles @@ -33,10 +33,10 @@ cobc -x -W worldcities3.cbl commonroutines.cbl ./worldcities3 $FILES/allCountries.txt $FILES/countryInfo.txt ErrorContinent ./worldcities3 $FILES/allCountries.txt $FILES/countryInfo.txt Oceania rm worldcities3 -#lpr -P $PRINTQUEUE run-file -#lpr -P $PRINTQUEUE report-file -#rm run-file -#rm report-file +lpr -P $PRINTQUEUE run-file +lpr -P $PRINTQUEUE report-file +rm run-file +rm report-file # Enter your print queue name here export PRINTQUEUE=Brother-HL-2170W-wireless export FILES=$HOME/worldcityfiles @@ -44,10 +44,10 @@ cat $FILES/CA.txt $FILES/US.txt > $FILES/CAUS.txt cobc -x -W worldcities4.cbl commonroutines.cbl ./worldcities4 $FILES/CAUS.txt $FILES/countryInfo.txt rm worldcities4 -#lpr -P $PRINTQUEUE run-file -#lpr -P $PRINTQUEUE report-file -#rm run-file -#rm report-file +lpr -P $PRINTQUEUE run-file +lpr -P $PRINTQUEUE report-file +rm run-file +rm report-file export PRINTQUEUE=Brother-HL-2170W-wireless export FILES=$HOME/worldcityfiles export countryfile=$FILES/countryInfo.txt @@ -58,10 +58,10 @@ cobc -x -W worldcities5.cob commonroutines.cbl ./worldcities5 $FILES/CAUS.txt $FILES/countryInfo.txt rm worldcities5.cob rm worldcities5 -#lpr -P $PRINTQUEUE run-file -#lpr -P $PRINTQUEUE report-file -#rm run-file -#rm report-file +lpr -P $PRINTQUEUE run-file +lpr -P $PRINTQUEUE report-file +rm run-file +rm report-file export PRINTQUEUE=Brother-HL-2170W-wireless export FILES=$HOME/worldcityfiles cat $FILES/CA.txt $FILES/US.txt > $FILES/CAUS.txt @@ -78,10 +78,10 @@ export CSV=$FILES/worldcities6.csv google-earth $KML rm worldcities6.cob rm worldcities6 -#lpr -P PRINTQUEUE run-file -#lpr -P PRINTQUEUE report-file -#rm run-file -#rm report-file +lpr -P PRINTQUEUE run-file +lpr -P PRINTQUEUE report-file +rm run-file +rm report-file # Enter your print queue name here export PRINTQUEUE=Brother-HL-2170W-wireless export FILES=$HOME/worldcityfiles @@ -91,10 +91,10 @@ rm $kmlfile ./worldcities7 $FILES/allCountries.txt $FILES/countryInfo.txt $FILES/Vienna.kml google-earth $kmlfile rm worldcities7 -##lpr -P PRINTQUEUE run-file -##lpr -P PRINTQUEUE report-file -#rm run-file -#rm report-file +#lpr -P PRINTQUEUE run-file +#lpr -P PRINTQUEUE report-file +rm run-file +rm report-file export PRINTQUEUE=Brother-HL-2170W-wireless export BROWSER=firefox export MAPS=google-earth diff --git a/samples/worldcities/checkfilestatus.cpy b/samples/worldcities/checkfilestatus.cpy index 05d3c918..8e01f0e4 100644 --- a/samples/worldcities/checkfilestatus.cpy +++ b/samples/worldcities/checkfilestatus.cpy @@ -16,11 +16,13 @@ start-checkfilestatus. if file-status = '00' or '10' goback end-if + move 'UNKNOWN STATUS' to status-message. evaluate file-status when 00 move 'SUCCESS.' TO status-message when 02 move 'SUCCESS DUPLICATE.' TO status-message when 04 move 'SUCCESS INCOMPLETE.' TO status-message when 05 move 'SUCCESS OPTIONAL.' TO status-message + when 06 move 'TRUNCATED READ.' TO status-message when 07 move 'SUCCESS NO UNIT.' TO status-message when 10 move 'END OF FILE.' TO status-message when 14 move 'OUT OF KEY RANGE.' TO status-message @@ -48,13 +50,13 @@ start-checkfilestatus. when 61 move 'FILE SHARING FAILURE.' TO status-message when 91 move 'FILE NOT AVAILABLE.' TO status-message end-evaluate - string 'ERROR ' delimited by size + string file-name delimited by space - space delimited by size - status-message delimited by '.' + ' : ' delimited by size + status-message delimited by '.' into display-message end-string - display display-message end-display + display 'ERROR (' file-status ') ON ' display-message end-display stop run . end program checkfilestatus. diff --git a/samples/worldcities/city-record.cpy b/samples/worldcities/city-record.cpy new file mode 100644 index 00000000..23287e10 --- /dev/null +++ b/samples/worldcities/city-record.cpy @@ -0,0 +1,2 @@ + 01 city-record pic x(14000). + diff --git a/samples/worldcities/commonroutines.cbl b/samples/worldcities/commonroutines.cbl index 6a625159..1d0e0fc3 100644 --- a/samples/worldcities/commonroutines.cbl +++ b/samples/worldcities/commonroutines.cbl @@ -16,11 +16,13 @@ start-checkfilestatus. if file-status = '00' or '10' goback end-if + move 'UNKNOWN STATUS' to status-message. evaluate file-status when 00 move 'SUCCESS.' TO status-message when 02 move 'SUCCESS DUPLICATE.' TO status-message when 04 move 'SUCCESS INCOMPLETE.' TO status-message when 05 move 'SUCCESS OPTIONAL.' TO status-message + when 06 move 'TRUNCATED READ.' TO status-message when 07 move 'SUCCESS NO UNIT.' TO status-message when 10 move 'END OF FILE.' TO status-message when 14 move 'OUT OF KEY RANGE.' TO status-message @@ -48,13 +50,13 @@ start-checkfilestatus. when 61 move 'FILE SHARING FAILURE.' TO status-message when 91 move 'FILE NOT AVAILABLE.' TO status-message end-evaluate - string 'ERROR ' delimited by size + string file-name delimited by space - space delimited by size - status-message delimited by '.' + ' : ' delimited by size + status-message delimited by '.' into display-message end-string - display display-message end-display + display 'ERROR (' file-status ') ON ' display-message end-display stop run . end program checkfilestatus. diff --git a/samples/worldcities/country-record.cpy b/samples/worldcities/country-record.cpy new file mode 100644 index 00000000..68b0c536 --- /dev/null +++ b/samples/worldcities/country-record.cpy @@ -0,0 +1 @@ +01 country-record pic x(1000). diff --git a/samples/worldcities/worldcities0.cbl b/samples/worldcities/worldcities0.cbl index c013cf36..e56dfdec 100644 --- a/samples/worldcities/worldcities0.cbl +++ b/samples/worldcities/worldcities0.cbl @@ -78,7 +78,7 @@ file-control. data division. file section. fd city-file. -01 city-record pic x(1000). +copy city-record. working-storage section. @@ -342,11 +342,13 @@ start-checkfilestatus. if file-status = '00' or '10' goback end-if + move 'UNKNOWN STATUS' to status-message. evaluate file-status when 00 move 'SUCCESS.' TO status-message when 02 move 'SUCCESS DUPLICATE.' TO status-message when 04 move 'SUCCESS INCOMPLETE.' TO status-message when 05 move 'SUCCESS OPTIONAL.' TO status-message + when 06 move 'TRUNCATED READ.' TO status-message when 07 move 'SUCCESS NO UNIT.' TO status-message when 10 move 'END OF FILE.' TO status-message when 14 move 'OUT OF KEY RANGE.' TO status-message @@ -374,13 +376,13 @@ start-checkfilestatus. when 61 move 'FILE SHARING FAILURE.' TO status-message when 91 move 'FILE NOT AVAILABLE.' TO status-message end-evaluate - string 'ERROR ' delimited by size + string file-name delimited by space - space delimited by size - status-message delimited by '.' + ' : ' delimited by size + status-message delimited by '.' into display-message end-string - display display-message end-display + display 'ERROR (' file-status ') ON ' display-message end-display stop run . end program checkfilestatus. diff --git a/samples/worldcities/worldcities1.cbl b/samples/worldcities/worldcities1.cbl index f39f9df5..3a18e7e8 100644 --- a/samples/worldcities/worldcities1.cbl +++ b/samples/worldcities/worldcities1.cbl @@ -55,10 +55,10 @@ file-control. data division. file section. fd country-file. -01 country-record pic x(1000). +copy country-record. fd city-file. -01 city-record pic x(1000). +copy city-record. working-storage section. 01 command-file-name pic x(128) value 'worldcities1.sh'. diff --git a/samples/worldcities/worldcities2.cbl b/samples/worldcities/worldcities2.cbl index bc977460..aaec376a 100644 --- a/samples/worldcities/worldcities2.cbl +++ b/samples/worldcities/worldcities2.cbl @@ -69,10 +69,10 @@ fd report-file. 01 report-record pic x(72). fd country-file. -01 country-record pic x(1000). +copy country-record. fd city-file. -01 city-record pic x(1000). +copy city-record. working-storage section. 01 command-file-name pic x(128) value 'worldcities2.sh'. diff --git a/samples/worldcities/worldcities2.sh b/samples/worldcities/worldcities2.sh index 387fd5cd..d65945e7 100755 --- a/samples/worldcities/worldcities2.sh +++ b/samples/worldcities/worldcities2.sh @@ -6,5 +6,5 @@ export FILES=$HOME/worldcityfiles cobc -x -W -free worldcities2.cbl ./worldcities2 $FILES/cities15000.txt $FILES/countryInfo.txt rm worldcities2 -lpr -P $PRINTQUEUE run-file -lpr -P $PRINTQUEUE report-file +#lpr -P $PRINTQUEUE run-file +#lpr -P $PRINTQUEUE report-file diff --git a/samples/worldcities/worldcities3.cbl b/samples/worldcities/worldcities3.cbl index 5945f595..f368af83 100644 --- a/samples/worldcities/worldcities3.cbl +++ b/samples/worldcities/worldcities3.cbl @@ -81,7 +81,7 @@ file-control. assign to report-file-name file status is report-file-status. - select sort-file. + select sort-file assign to sortwork. data division. file section. @@ -89,10 +89,10 @@ fd report-file. 01 report-record pic x(72). fd country-file. -01 country-record pic x(1000). +copy country-record. fd city-file. -01 city-record pic x(1000). +copy city-record. sd sort-file. 01 sort-record. @@ -475,7 +475,7 @@ start-worldcities3. call 'printrunreport' using print-run-control end-call move 'close' to print-run-function - call 'printrunreport' end-call + call 'printrunreport' using print-run-control end-call stop run . sort-input. diff --git a/samples/worldcities/worldcities3.sh b/samples/worldcities/worldcities3.sh index 27206148..836f8b08 100755 --- a/samples/worldcities/worldcities3.sh +++ b/samples/worldcities/worldcities3.sh @@ -14,6 +14,6 @@ export FILES=$HOME/worldcityfiles cobc -x -W worldcities3.cbl commonroutines.cbl ./worldcities3 $FILES/allCountries.txt $FILES/countryInfo.txt ErrorContinent ./worldcities3 $FILES/allCountries.txt $FILES/countryInfo.txt Oceania -rm worldcities3 -lpr -P $PRINTQUEUE run-file -lpr -P $PRINTQUEUE report-file +# rm worldcities3 +#lpr -P $PRINTQUEUE run-file +#lpr -P $PRINTQUEUE report-file diff --git a/samples/worldcities/worldcities4.cbl b/samples/worldcities/worldcities4.cbl index ccefc4d6..0a430fe4 100644 --- a/samples/worldcities/worldcities4.cbl +++ b/samples/worldcities/worldcities4.cbl @@ -59,7 +59,7 @@ file-control. assign to report-file-name file status is report-file-status. - select sort-file. + select sort-file assign to sortwork. data division. file section. @@ -70,7 +70,7 @@ fd country-file. 01 country-record pic x(1000). fd city-file. -01 city-record pic x(1000). +copy city-record. sd sort-file. 01 sort-record. diff --git a/samples/worldcities/worldcities4.sh b/samples/worldcities/worldcities4.sh index 49fb4424..0ea9c6de 100755 --- a/samples/worldcities/worldcities4.sh +++ b/samples/worldcities/worldcities4.sh @@ -7,5 +7,5 @@ cat $FILES/CA.txt $FILES/US.txt > $FILES/CAUS.txt cobc -x -W worldcities4.cbl commonroutines.cbl ./worldcities4 $FILES/CAUS.txt $FILES/countryInfo.txt rm worldcities4 -lpr -P $PRINTQUEUE run-file -lpr -P $PRINTQUEUE report-file +#lpr -P $PRINTQUEUE run-file +#lpr -P $PRINTQUEUE report-file diff --git a/samples/worldcities/worldcities5.cbl b/samples/worldcities/worldcities5.cbl index 6a82f495..895363ae 100644 --- a/samples/worldcities/worldcities5.cbl +++ b/samples/worldcities/worldcities5.cbl @@ -52,7 +52,7 @@ assign to report-file-name file status is report-file-status. - select sort-file. + select sort-file assign sortwork. data division. file section. @@ -63,7 +63,7 @@ 01 country-record pic x(1000). fd city-file. - 01 city-record pic x(1000). + copy city-record. sd sort-file. 01 sort-record. @@ -153,6 +153,7 @@ 05 end-longitude pic s9(3)v9(6). 01 end-sort-file pic x. + 01 sqlcode-string pic 9(10). 01 print-run-control. 03 print-run-function pic x(5) value 'open'. @@ -704,7 +705,8 @@ when sqlstate = spaces move 'undefined error' to run-line when other - string 'sqlcode: ' sqlcode + move sqlcode to sqlcode-string + string 'sqlcode: ' sqlcode-string ' sqlerrmc: ' sqlerrmc delimited by size into run-line end-string end-evaluate diff --git a/samples/worldcities/worldcities5.sh b/samples/worldcities/worldcities5.sh index d9fffc9b..649f1709 100755 --- a/samples/worldcities/worldcities5.sh +++ b/samples/worldcities/worldcities5.sh @@ -1,5 +1,11 @@ +#!/bin/bash + + rm run-file rm report-file + +set -e + export PRINTQUEUE=Brother-HL-2170W-wireless export FILES=$HOME/worldcityfiles export countryfile=$FILES/countryInfo.txt @@ -10,5 +16,5 @@ cobc -x -W worldcities5.cob commonroutines.cbl ./worldcities5 $FILES/CAUS.txt $FILES/countryInfo.txt rm worldcities5.cob rm worldcities5 -lpr -P $PRINTQUEUE run-file -lpr -P $PRINTQUEUE report-file +#lpr -P $PRINTQUEUE run-file +#lpr -P $PRINTQUEUE report-file diff --git a/samples/worldcities/worldcities6.cbl b/samples/worldcities/worldcities6.cbl index db74f055..103cd9a2 100644 --- a/samples/worldcities/worldcities6.cbl +++ b/samples/worldcities/worldcities6.cbl @@ -74,7 +74,7 @@ 01 country-record pic x(1000). fd city-file. - 01 city-record pic x(1000). + copy city-record. sd sort-file. 01 sort-record. diff --git a/samples/worldcities/worldcities6.sh b/samples/worldcities/worldcities6.sh index f9ae626b..f7f13e09 100755 --- a/samples/worldcities/worldcities6.sh +++ b/samples/worldcities/worldcities6.sh @@ -16,5 +16,5 @@ export CSV=$FILES/worldcities6.csv google-earth $KML rm worldcities6.cob rm worldcities6 -lpr -P PRINTQUEUE run-file -lpr -P PRINTQUEUE report-file +#lpr -P PRINTQUEUE run-file +#lpr -P PRINTQUEUE report-file diff --git a/samples/worldcities/worldcities7.cbl b/samples/worldcities/worldcities7.cbl index 3b30f24e..83dde9a6 100644 --- a/samples/worldcities/worldcities7.cbl +++ b/samples/worldcities/worldcities7.cbl @@ -99,7 +99,7 @@ 01 country-record pic x(1000). fd city-file. - 01 city-record pic x(1000). + copy city-record. sd sort-file. 01 sort-record. diff --git a/samples/worldcities/worldcities8.cbl b/samples/worldcities/worldcities8.cbl index e27fc15f..d55ee4bd 100644 --- a/samples/worldcities/worldcities8.cbl +++ b/samples/worldcities/worldcities8.cbl @@ -103,7 +103,7 @@ 01 country-record pic x(1000). fd city-file. - 01 city-record pic x(1000). + 01 city-record pic(1000). sd sort-file. 01 sort-record. diff --git a/samples/worldcities/worldcities8.sh b/samples/worldcities/worldcities8.sh index c9d3d52c..7b34f485 100755 --- a/samples/worldcities/worldcities8.sh +++ b/samples/worldcities/worldcities8.sh @@ -11,5 +11,5 @@ rm temp ./worldcities8 $FILES/countryInfo.txt $FILES/worldcities8.kml rm worldcities8 rm temp -lpr -P $PRINTQUEUE run-file -lpr -P $PRINTQUEUE report-file +#lpr -P $PRINTQUEUE run-file +#lpr -P $PRINTQUEUE report-file