Your snipt has been migrated to #newsnipt successfully.
test
cobol
posted: Jan, 31st 2009 | jump to bottom
000010 Identification Division. 000020 Program-Id. RecipeManager. 000030 Author. Erez Schatz. 000040 000050 Environment Division. 000060 Input-output Section. 000070 000080 File-control. 000090 select RecipesData assign to 'RecipesFile' 000100 organization is indexed 000110 record key is Recipe-id 000111 access is dynamic. 000112 select recordnumber assign to 'recordrecord' 000113 organization is sequential. 000114 000120 000130 Data Division. 000140 File Section. 000150 000160 fd RecipesData. 000170 01 RecipeDetails. 000180 03 Recipe-id pic 9(10). 000190 03 RecipeName pic x(100). 000200 03 Ingredients pic x(100). 000210 000220 Working-storage Section. 000230 01 Recipe. 000240 03 RecipeInfo. 000241 05 RecordNumber pic 9(5) value zeroes. 000250 05 RecipeName pic x(100) value spaces. 000260 05 RecipeCreator pic x(100) value spaces. 000270 05 RecipeReference pic x(100) value spaces. 000280 000290 000300 77 flow-control pic 9 value zero. 000310 88 end-input value 1. 000320 88 update-data value 2. 000330 88 show-data value 3. 000340 88 new-recipe value 4. 000350 000351 77 highest-record pic 9(1000). 000352 000360 Procedure Division. 000370 start-program. 000380 000410 perform get-input until end-input. 000420 000430 end-program. 000440 000450 stop run. 000451 000460*file management procedures 000470 open-input-file. 000471 open input RecipesData. 000472 000473 open-output-file. 000480 open output RecipesData. 000481 000490 close-files. 000491 close RecipesData. 000500 000501*input procedures 000510 get-input. 000511 accept flow-control. 000520 evaluate true 000530 when show-data perform display-Recipes 000550 when update-data perform update-recipes 000570 when new-recipe perform save-Recipe 000580 end-evaluate. 000604 000605*file output procedures 000610 update-Recipes. 000611 perform open-output-file. 000612 perform update-record. 000613 perform close-files. 000614 000620 save-Recipe. 000630 perform open-output-file. 000640 perform save-record. 000650 perform close-files. 000660 000661 update-record. 000662 000663 save-record. 000664 000665*display procedures 000666 000667 display-Recipes. 000668 perform open-input-file. 000669 perform display-record. 000670 perform close-files. 000671 000672 display-record. 000673 000680 init-record. 000690 move space to vendor-record. 000700 move zeroes to vendor-number. 000710 000720 read-record. 000730 move "y" to record-found. 000780 read vendor-file record with lock 000790 invalid key 000800 move "n" to record-found. 000850 000860 write-record. 000870 write vendor-record 000880 invalid key 000890 display "record already on file". 000900 000910 rewrite-record. 000920 rewrite vendor-record 000930 invalid key 000940 display "error rewriting vendor record". 000950 000960 delete-record. 000970 delete vendor-file record 000980 invalid key 000990 display "error deleting vendor record".
375 views




