The Easiest Way to Save and Share Code Snippets on the web

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