Você está na página 1de 7

LINGUAGEM DE PROGRAMAO COBOL

Pag. 01

C.O.B.O.L. - Common Business Oriente Language - Linguagem de Programao Comum Orientada negcios. Um programa COBOL composto de 4(quatro di!is"es# $ %&'()%*%C+)%O( &%,%-%O( - di!iso que ser!e para identi.icar o programa-.onte/ dados so0re o autor/data em que .oi escrito/o0ser!a"es so0re o que o programa .a1/e so0re a segurana. -inta2e# %&'()%*%C+)%O( &%,%-%O(. P3O43+5-%&. '6'5PLO. +U)7O3. 8%L-O( P'&3O C+3L%. &+)'-83%))'(. 9$:9;:$<<=. 3'5+3>-. '-)' P3O43+5+ '7 U5 '6'5PLO. -'CU3%)?. (@O '6'CU)+3 -'5 )'-)+3 +()'-. A '(,%3O(5'() &%,%-%O( - esta di!iso .ornece in.orma"es reBati!as aos meios e2ternos/ou seCa/ arqui!os e equipamento.&e.ine os arqui!os a serem utiBi1ados no programa/a sua organi1ao/meio de acesso/cDa!es primErias e:ou secundErias. -inta2e# '(,%3O(5'() &%,%-%O(. CO(*%4U3+)%O( -'C)%O(. -P'C%+L-(+5'-. &'C%5+L-PO%() %- CO55+. %(PU)-OU)PU) -'C)%O(. *%L'-CO()3OL. -'L'C) nome-arqui!o +--%4( )O F&%->/P3%()'3G H O34+(%I+)%O( %- F -'JU'()%+L/%(&'6'&/L%(' -'JU'()%+LG H+CC'-- 5O&' %- F -'JU'()%+L/&?(+5%CG H 3'CO3& >'? %- nome-cDa!e-primaria K H +L)'3(+)' 3'CO3& >'? %- nome-cDa!e-secundaria H8%)7 &UPL%C+)'- K K H *%L' -)+)U- %- nome-campo-.iBe-status K . Para cada arqui!o a ser utiBi1ado peBo programa/ de!erE Da!er uma cBEusuBa -'L'C). +CC'--- de.ine o mtodo de acesso aos registros do arqui!o. -equentiaBLMBeitura e gra!ao dos registros a partir do primeiro registro do arqui!o at o .inaB do mesmo. &NnamicLM Beitura/regra!ao/e2cBuso/gra!ao de registros atra!s de um cDa!e primEria/ ou secundEria de.inida dentro do BaN-out do arqui!o. LINGUAGEM DE PROGRAMAO COBOL Pag. 0!

O34+(%I+)%O(- especi.ica a estrutura Bgica do arqui!o. + organi1ao do arqui!o esta0eBecida no momento em que o arqui!o criado/ e no pode ser modi.icada su0sequentemente.Juando a organi1ao no especi.icada/ a organi1ao sequenciaB assumida na compiBao. -'JU'()%+LLM os registros so criados atra!s de programas co0oB e arma1enados na ordem em que .oram gerados(disco/impressora/.ita . L%(' -'JU'()%+L LM os registros so criados por editor de te2to e arma1enados na ordem em que .oram criados. %(&'6'&LM os registros so identi.icados peBo conteOdo dos campos denominados PcDa!esQ(primEria ou secundEria / e so arma1enados em quaBquer ordem na criao do registro/ mas na Beitura/ o0edece a ordem da cDa!e e o mtodo de acesso. 3'CO3& >'? - especi.ica a cDa!e primEria de um arqui!o com organi1ao inde2ada. R um campo de.inido no BaN-out do registro do arqui!o e de!erE ser aB.anumrica/ e pode cDegar at AS9 0Ntes. +L)'3(+)' >'? - especi.ica a cDa!e secundEria do arqui!o/ que opcionaB para os arqui!os com organi1ao inde2ada. R tam0m um campo de.inido no BaN-out do registro do arqui!o/ com at AS9 0Ntes aB.anumricos/ mas tem a opo de aceitar !aBores dupBicados. *%L' -)+)U- - campo aB.anumrico de A 0Ntes de.inido na 8O3>%(4T-)O3+4' da &+)+ &%,%-%O(/ que a cada operao e.etuada com o arqui!o/ demonstra o !aBor da operao e.etuada. ,aBor &escrio 99 Comando e2ecutado com sucesso 9A Comando arqui!o c:cDa!e dupBicada e2ecutado com sucesso $9 *im do arqui!o A$ 'rro de sequencia na gra!ao de arqui!o sequenciaB AA CDa!e dupBicada no de.inida. AU CDa!e no encontrada. A4 'spao em disco estE cDeio U9 +rqui!o no encontrado <$ 'rro na estrutura do arqui!o <4 3egistro ou arqui!o sendo utiBi1ado por outro programa. U &+)+ &%,%-%O( - arma1ena todos os dados a serem processados ou manipuBados peBo programa/ durante o processamento/ podendo ser internos ou e2ternos.Pode ser di!idida em at seis se"es/ mas usuaBmente so utiBi1adas U se"es# *%L' -'C)%O(- seo que de.ine a estrutura dos arqui!os de dados. 'sta de.inio en!oB!e a descrio do arqui!o e seus respecti!os registros. Para cada -'L'C) de.inido temos uma de.inio de arqui!o na *%L' -'C)%O(. LINGUAGEM DE PROGRAMAO COBOL -inta2e da *iBe -ection &+)+ &%,%-%O(. *%L' -'C)%O(. *& nome-arqui!o H 3'CO3& CO()+%(- nn C7+3+C)'3- K Pag. 0"

H L+B'L 3'CO3& %- F O5%))'&/ -)+(&+3& G K H ,+LU' O* *%L'-%& !aBor-identi.icao-arqui!o K . 9$ nome-de-registro-arqui!o . H nro-ni!eB H nome-campo ou *%LL'3 K H 3'&'*%('- nome-de-dado K H P%C tipo(tamanDo K H OCCU3- nro-inteiro )%5'- K K . 3'CO3& CO()+%(- LM especi.ica o tamanDo do registro de dados. O tamanDo do registro determinado peBo soma do nOmero de caracteres de todos os itens eBementares su0ordinados ao registro. L+B'L 3'CO3&LM especi.ica se e2iste rtuBo presente no arqui!o. Omitted especi.ica que no e2iste rtuBo e2pBVcito(arqui!os de impresso . -tandard especi.ica que e2istem rtuBos e esto con.orme as especi.ica"es do sistema operacionaB(disco . ,+LU' O* *%L'-%&LM identi.ica o nome do arqui!o no meio e2terno. (3O-(%,'LLM so nOmeros entre 9$ e 4< que permitem a estruturao de um registro Bgico/ peBa su0di!iso deste registro. Uma !e1 que uma su0di!iso tenDa sido especi.icada(item de grupo / eBa pode ser ainda mais su0di!idida(itens eBementares / para permitir uma re.erencia mais detaBDada. %tem eBementar a su0di!iso .undamentaB de um registro/ que no mais su0di!idido. Um registro pode ser constituido de uma sequencia de itens eBementares ou pode ser somente um item eBementar. Um item de grupo uma sequencia de um ou mais itens eBementares ou tam0m de um ou mais itens de grupo.Uma descrio de um registro sempre comea peBo nOmero de nV!eB 9$. (O5'-C+5POLM nome de.inido peBo programador que no pode ser repetido dentro do .onte do programa/ pode ter at U9(trinta caracteres e no pode ser iguaB a aBguma paBa!ra reser!ada da sinta2e do COBOL. *%LL'3LM paBa!ra reser!ada do COBOL que ser!e para reser!ar uma determinada quantidade de 0Ntes em um arqui!o ou na memria. 3'&'*%('-LM cBEusuBa utiBi1ada para rede.inir um item de grupo e:ou item eBementar em partes menores ou em uma imagem di.erente. LINGUAGEM DE PROGRAMAO COBOL Pag. 0#

OCCU3-LM cBEusuBa que de.ine a repetio do itens que esto aps a de.inio da mesma. Um numero inteiro de.ine quantas !e1es o campo se repete contiguamente. P%CLM cBEusuBa que de.ine a imagem do campo que estE sendo descrito num item eBementar. Os tipos e2istentes para a descrio de dados a seguinte# )ipo numrico- pode conter os sVm0oBos </,/ e -. O nOmero de digitos permitidos !aria de 9$ at $;/ sem considerar o sinaB e a casa decimaB.O sVm0oBo , determina a separao dos inteiros dos decimais. O sVm0oBo - determina a presena de sinaB. )ipo aB.a0tico- pode conter o sVm0oBo +. -omente para campos aB.a0ticos. )ipo +B.anumrico- contm o sVm0oBo 6. -er!e para a descrio de campos que contm a com0inao de Betras e nOmeros.

)amanDo - de.ine quantos 0Ntes ocupa o campo de.inido anteriormente. -e .or do tipo numrico poderE ter no mE2imo $; 0Ntes. 8O3>%(4--)O3+4' -'C)%O( -seo que descre!e e arma1ena numa Erea de memria todos os dados/in.orma"es/!ariE!eis e constantes/ com !aBores de.inidos ou no/ a serem manipuBados peBo programa. R composta de itens de grupo e itens eBementares. -inta2e# 8O3>%(4--)O3+4' -'C)%O(. 9$ nome-de-registro-arqui!o . H nro-ni!eB H nome-campo ou *%LL'3 K H 3'&'*%('- nome-de-dado K H P%C tipo(tamanDo K H OCCU3- nro-inteiro )%5'- K K . + descrio das cBEusuBas acima so idWnticas as descritas na *%L' -'C)%O(. O que muda so os tipos de pictures/que em aBguns casos podem ser usadas em !Erias com0ina"es# %tem aB.anumrico editado- os tipos podem ser + - edio s de BetrasX 6- edio de itens aB.anumricosX B- insere um espao no BocaB indicadoX 9 - insere um 1ero no BocaB indicadoX : - insere uma 0arra no BocaBX / (!VrguBa - insere um !VrguBa no BocaB X . (ponto - insere um ponto no BocaB %tem numrico editado I - representa nOmeros/ e insere espaos esquerda quando o digito conti!er 1ero. - (DV.en - representa nOmeros com sinaB esquerda e insere espaos esquerda quando o digito conti!er o !aBor 1ero. Outras representa"es de!em ser pesquisadas em Bi!ros e:ou manuais.

LINGUAGEM DE PROGRAMAO COBOL

Pag. 0$

%CREEN %EC&ION '2tenso da &+)+ &%,%-%O( que possui recursos para .aciBitar a .ormatao e descrio dos itens de teBa e sua posterior manipuBao na P3OC'&U3' &%,%-%O(. -er!e para # Y 'speci.icar a posio e2ata na teBa de determinados camposX Y 'ntrar com dados digitados em posi"es especV.icasX Y 5ostrar !aBores Biterais em posi"es predeterminadasX Y &e.inir atri0utos de teBa e controBar recursos de tecBado. 'ORMA&O GERAL#
-C3''( -'C)%O(. 9$ nome-teBa. HBL+(> -C3''(K HBL+(> L%('K HB'LL K C+&+ &'-C3%Z@O &' )'L+ &',' %(%C%+3 CO5 U5 ([,'L 9$ ' )'3 U5 (O5' '-P'C%*%C+&O. O- &'5+%- %)'(- %(%C%+5 CO5 O (3O. &' ([,'L 9A +)R 4<. L%5P+ )O&+ + )'L+ ' PO-%C%O(+ O CU3-O3 (O %(%C%O L%5P+ + L%(7+ &' O(&' -' '(CO()3+ O CU3-O3 +)R O *%(+L. &%-P+3+ -O5 &' +L+35' &U3+()' O +CC'P) &O C+5PO

HBL%(> K *+I CO5 JU' O CO()'\&O &O C+5PO *%JU' P%-C+()' H7%47L%47) K *+I CO5 JU' O CO()'\&O &O C+5PO *%JU' B3%L7+()' HU(&'3L%(' K *+I CO5 JU' O CO()'\&O &O C+5PO +P+3'Z+ -UBL%(7+&O HBL+(> 87'( I'3O K 5O,' '-P+ZO- P+3+ U5 %)'5 (U5R3%CO JU+(&O O -'U ,+LO3 *O3 %4U+L + I'3OH]U-) 3%47) K -O5'()' P+3+ %)'(- 'L'5'()+3'- +L*+(U5R3%CO- (@O '&%)+&O-/ PO%P3O,OC+ O +L%(7+5'()O &O CO()'\&O &O C+5PO &+ &%3'%)+ P+3+ + '-JU'3&+ JU+(&O O C+5PO 3'C'P)O3 *O3 5+%O3 &O JU' O C+5PO *O()'. JU+(&O O C+5PO 3'C'P)O3 *O3 5'(O3 )3U(C+ O C+5PO '5%--O3 + '-JU'3&+. H3','3-'-,[&'O K )3OC+ + CO3 &+ L')3+ P'LO *U(&O &+ )'L+ ' ,%C'-,'3-+. H+U)OK )'35%(+ +U)O5+)%C+5'()' U5+ OP'3+Z@O &' '()3+&+ &' &+&O- (+ P3OC'&U3' &%,%-%O( JU+(&O + \L)%5+ PO-%Z@O &O C+3+C)'3' R P3''(C7%&+. H-'CU3' K H3'JU%3'& K H*ULL K (@O +P+3'C'5 O- C+3+C)'3'- (O 5O5'()O &+ &%4%)+Z@O OB3%4+ O C+5PO + -'3 )O)+L5'()' P3''(C7%&O. O %)'5 &+ )'L+ &',' '-)+3 )O)+L5'()' P3''(C7%&O OU ,+I%O

HL%(' nOmero is H F PLU-G F ^ G F Y G F inteiroG K K '-P'C%*%C+ + L%(7+ &+ )'L+ (+ JU+L O %)'5 &','3_ %(%C%+3. O (\5'3O &' L%(7+ &',' '-)+3 -'5P3' '()3' $ ' ASS. C+-O O (\5'3O -']+ O5%)%&O -'3_ +--U5%&O O ,+LO3 &'*+UL)L9$. PLU- OU ^ &'*%(' + PO-%Z@O CO33'()' &O CU3-O3 +C3'-C%&O &' U5 OU 5+%- JU+(&O O %()'%3O *O3 &'*%(%&O. -' *O3 Y P3OC'&' + -UB)3+Z@O. HCOLU5( nOmero %- H FPLU-G F ^ G F Y G F inteiroG K K '-P'C%*%C+ + COLU(+ &+ )'L+ (+ JU+L O %)'5 &','3_ %(%C%+3. O (\5'3O &',' '-)+3 -'5P3' '()3' $ ' ASS. C+-O O (\5'3O -']+ O5%)%&O -'3_ +--U5%&O O ,+LO3 &'*+UL)L9$. PLU- OU ^ &'*%(' + PO-%Z@O CO33'()' &O CU3-O3 +C3'-C%&O &' 7U5 OU 5+%- JU+(&O O %()'%3O *O3 &'*%(%&O. -' *O3 Y P3OC'&' + -UB)3+Z@O. H P%C %- descrio H *3O5 F BiteraB G FcampoG K H)O campo K HU-%(4 campoK &escrio Y in.ormar o tipo e tamanDo da picture naqueBa posio da teBaX *3O5 Y !aBor do BiteraB ou campo mostrado na teBaX )O Y !aBor digitado serE repassado para o campo X U-%(4 Y demonstra o !aBor do campo e tam0m atuaBi1a o conteOdo do mesmo aps a digitao.

LINGUAGEM DE PROGRAMAO COBOL PROCEDURE DI)I%ION * %IN&A+E DO% COMANDO%#


ACCEP& - CO5+(&O P+3+ P'4+3 +- %(*O35+Z`'- ,%+ )'CL+&O +CC'P) campo *3O5 F&+?G . *O35+)O ++&&& F&+)'G. *O35+)O ++55&& F)%5'G. *O35+)O 7755--CC +CC'P) campo.

Pag. 0(

ADD - -O5+ ,+LO3'+&& campo Hcampo-AK H...K )O campo-2 H...K H3OU(&'&K HO( -%I' '33O3 procedimento K . +&& campo H...K 4%,%(4 campo-2 H3OU(&'&K HO( -%I' '33O3 procedimento K . COMPU&E - C+LCUL+ U5+ '6P3'--@O +3%)5R)%C+ CO5PU)' campo H3OU(&'&K L e2presso aritmtica. OP'3+(&O- LM ( P+3a()'-'-X ^ +&%Z@OX - -UB)3+Z@O b 5UL)%PL%C+Z@O X : &%,%-@OX bb '6PO('(C%+Z@O O3&'5 &+- OP'3+Z`'-L $ '()3' P+3a()'-'-X A '6PO('(C%+Z@OX U 5UL)%PL%C+Z@O ' &%,%-@OX 4 +&%Z@O ' -UB)3+Z@O.

DI%PLA, - &'5O(-)3+ 5'(-+4'5 ':OU C+5PO- (O ,[&'O &%-PL+? FBiteraBG HcampoK H/...K . DI)IDE - '6'CU)+ + &%,%-@O &' ,+LO3'&%,%&' FcampoG FinteiroG %()O campo-A H3OU(&'&K HO( -%I' '33O3 procedimentoK . &%,%&' FcampoG FinteiroG B? Fcampo-AG FinteiroG 4%,%(4 campo-2 H3OU(&'&K H3'5+%(&'3 campo-restoK HO( -%I' '33O3 procedimentoK . I' * )'-)+ CO(&%Z`'- &'()3O &O P3O43+5+ %* condio FprocedimentoG )7'( H('6) -'()'(C'K H'L-' procedimentoK H'L-' ('6) -'()'(C'K . -%4(%*%C+&O L equaB to (iguaB c Bess tDan (menor do que M greater tDan (maior do que (O) L not equaB to (di.erente-no iguaB (O) c greater tDan or equaB to (maior ou iguaB (O) M Bess tDan or equaB to (menor ou iguaB O3 ou +(& e

GO &O - )3+(-*'3' CO()3OL' &O P3O43+5+ P+3+ O P+3_43+*O '-P'C%*%C+&O. 4O )O nome-parEgra.o. MO)E * 5O,' &+&O- &' U5+ _3'+ P+3+ OU)3+ &+ 5'5d3%+. 5O,' FinteiroG FBiteraBG FcampoG )O campo Hcampo-A/...K . MUL&IPL, - '*')U+ + 5UL)%PL%C+Z@O &' ,+LO3'-. 5UL)%PL? FcampoG FinteiroG B? campo-2 H3OU(&'&K HO( -%I' '33O3 procedimentoK. 5UL)%PL? FcampoG FintG B? campo-A 4%,%(4 campo-2 H3OU(&'&K HO( -%I' '33O3 proc.K .

LINGUAGEM DE PROGRAMAO COBOL

Pag. 0-

PER'ORM-'6'CU)+ P+3)'- -'P+3+&+- &O CO3PO P3%(C%P+L &O P3O43+5+. P'3*O35 Fparagra.oG FseoG H)37U Fparag-AG Fseo-AGK P'3*O35 Fparagra.oG FseoG FinteiroG FcampoG )%5'-. P'3*O35 Fparagra.oG FseoG U()%L condio. P'3*O35 Fparagra.oG FseoG ,+3?%(4 FcampoG Finde2adorG *3O5 FinteiroG Finde2adorG FcampoG B? FinteiroG FcampoG U()%L condio H +*)'3 ,+3?%(4 Find2G FcampoG *3O5 FintG FcampoG Find2G B? FintG FcampoG U()%L cond K H +*)'3 ,+3?%(4 Find2G FcampoG *3O5 FintG FcampoG Find2G B? FintG FcampoG U()%L cond K . %&OP - P+3+ + '6'CUZ@O &O P3O43+5+. -)OP F3U(G .inaBi1a a e2ecucao do programa. -)OP F BiteraBG para a e2ecuo e demonstra mensagem/ aguardando deciso do operador. %UB&RAC& - -UB)3+% ,+LO3'-UB)3+C) FinteiroG FcampoG *3O5 campo-A H3OU(&'&K HO( -%I' '33O3 procedimentoK . -UB)3+C) Fint.G FcmpG *3O5 Fint.-AG Fcmp-AG 4%,%(4 cmp-2 H3OU(&'&K HO( -%I' '33O3 procK . COMANDO% PARA &RA&AMEN&O DE AR.UI)O% OPEN - +B'3)U3+ &' +3JU%,O &' +CO3&O CO5 O 5O&O &' +C'--O. OP'( F%(PU) G nome-arqui!o H/...K .LM -O L'%)U3+ FOU)PU) G LM -O 43+,+Z@O F%-O G LM L'%)U3+/43+,+Z@O/'6CLU-@O ' 3'43+,+Z@O.

CLO%E - *'C7+ O- +3JU%,O-#

CLO-' nome-arqui!o H/...K .

READ - P3OC'&' + L'%)U3+ &O P3d6%5O 3'4%-)3O Ld4%CO &%-PO([,'L. +3JU%,O -'JU'(C%+L# 3'+& arqui!o H('6)K 3'CO3& H+) '(& procedimentoK . +3JU%,O %(&'6+&O# 3'+& arqui!o 3'CO3& H>'? %- nome-cDa!e-secK H%(,+L%& >'? Hproc.K . /RI&E - L%B'3+ O 3'4%-)3O Ld4%CO P+3+ + 43+,+Z@O *[-%C+. +3JU%,O &' %5P3'--@O 83%)' nome-registro H*3O5 campoK HFB'*O3'G F+*)'3G +&,+(C%(4 FP+4'G FinteiroG K. +3JU%,O -'JU'(C%+L # 83%)' nome-registro H*3O5 campoK. +3JU%,O %(&'6+&O # 83%)' nome-registro H*3O5 campoK H%(,+L%& >'? procedimentoK. RE/RI&E - 3'43+,+ O \L)%5O 3'4%-)3O Ld4%CO L%&O. 3'83%)' nome-registro H*3O5 campoK H%(,+L%& >'? procedimentoK . DELE&E - 3'5O,' O \L)%5O 3'4%-)3O L%&O (O +3JU%,O. &'L')' nome-arqui!o H%(,+L%& >'? procedimentoK. %&AR& - PO-%C%O(+ +3JU%,O P: L'%)U3+ &' +CO3&O CO5 O ,+LO3 &+ C7+,' '-P'C%*%C+&+ -)+3) nome-arqui!o H >'? F%- 'JU+L )OG F%- 43'+)'3 )7+( G F%- (O) L'-- )7+(G nome-cDa!e K H%(,+L%& >'? procedimentoK.

Você também pode gostar