Estamos fazendo uma pesquisa para entender que recursos do COBOL a comunidade de desenvolvedores considera que são essenciais para profissionais com diferentes níveis de experiência.
E você nos ajudará muito se puder participar.
Serão apresentados alguns conceitos e recursos da linguagem, e para cada um deles pedimos que você diga se…
Espera que um programador “júnior ” conheça (entre zero e 5 anos de experiência);
Espera que um programador “pleno ” conheça (entre 5 e 10 anos de experiência);
Espera que só um programador “sênior ” conheça (mais de 10 anos de experiência);
Pode ser ignorado, uma vez que você nunca ouviu falar ou nunca teve necessidade de utilizar.
Para evitar possíveis ambiguidades de nomenclatura e terminologia, para cada tópico apresentamos um exemplo de código, numa tentativa de deixar mais claro sobre o que estamos nos referindo.
Podemos começar?
1.
Cláusulas opcionais do PROGRAM-ID (INITIAL, COMMON, RECURSIVE…):
Exemplo: identification division. program-id. scp0101 is initial .
2.
Diferença entre arquivo sequencial e arquivo linear sequencial:
Exemplo: select sca0102 assign to (…) organization is line sequential access mode is sequential.
3.
Uso de FILE STATUS:
Exemplo: select sca0101 assign to (…) organization is sequentialfile status is wt-st-sca0101 (…) open input sca0101 if wt-st-sca0101 not = “00” (…)
4.
Processamento de arquivos abertos com I-O e EXTEND:
Exemplo: open i-o sca0101 open extend sca0102
5.
Delimitadores de escopo/comando (END-IF, END-PERFORM, END-READ, END-EVALUATE…):
Exemplo: read sca0101 at end (…) not at end (…) end-read
6.
Uso de RETURN-CODE:
Exemplo: move 1 to return-code stop run.
7.
Comando EVALUATE:
Exemplo:evaluate wt-nr-opcao when 1 (…) when 2 (…) when other (…) end-evaluate
8.
PERFORM "inline":
Exemplo:perform varying wt-ix-ind from 1 by 1 until wt-ix-ind > 10 (…)end-perform
9.
PERFORM WITH TEST AFTER:
Exemplo: perform 1100-SUM-SALARY until wt-fl-last = “YES” with test after
10.
Uso de EXIT PARAGRAPH e EXIT PERFORM:
Exemplo: 1100-SUM-SALARY. (…) if wt-fl-found = “YES” (…) exit paragraph end-if.
11.
Diferença entre CALL USING BY CONTENT e CALL USING BY VALUE:
Exemplo: call subprogram using by content variable1 variable2
12.
Uso de CALL com USING e RETURNING:
Exemplo: call subprogram using variable1 returning variable2
13.
Construção de tabela interna com cláusula ASCENDING / DESCENDING KEY:
Exemplo: 01 WV-FORMAS-DE-PAGAMENTO occurs 100 ascending key is WV-CD-PAGTO indexed by WT-IX. 03 WV-CD-PAGTO pic x(003). 03 WV-DS-PAGTO pic x(030).
14.
Uso de índice em tabelas internas (INDEXED BY):
Exemplo: 01 WV-FORMAS-DE-PAGAMENTO occurs 100 indexed by WT-IX. 03 WV-CD-PAGAMENTO pic x(003). 03 WV-DS-PAGAMENTO pic x(030).
15.
Pesquisar tabelas internas usando SEARCH:
Exemplo:search WV-FORMAS-DE-PAGAMENTO varying WT-IX when WV-CD-PAGAMENTO(WT-IX) = CODIGO-PROCURADO (…) end-search
16.
Diferença entre SEARCH e SEARCH ALL:
Exemplo:search all WV-FORMAS-DE-PAGAMENTO varying WT-IX when WV-CD-PAGAMENTO(WT-IX) = CODIGO-PROCURADO (…) end-search
17.
Gerar relatórios com REPORT WRITER:
Exemplo:report section. rd QUARTERLY-PAY controls are final, PRR-DEPARTMENT, PRR-EMPLOYEE page limit is 66 lines heading 3 first detail 5 01 type page header.
18.
Classificar arquivos com INPUT / OUTPUT PROCEDURE:
Exemplo: sort ARQUIVO on ascending key CAMPO1input procedure PARAGRAFO1output procedure PARAGRAFO2.
19.
Unificar arquivos usando o comando MERGE:
Exemplo:merge ARQUIVO on ascending key CAMPO1 using ENTRADA1 ENTRADA2 giving SAIDA1
20.
Criação de telas com SCREEN SECTION:
Exemplo:screen section . 01 ua00m01. 03 ua00m01-0. 05 line 001 col 001 blank screen foreground-color cob-color-yellow value ‘Menu de Opcoes’.
21.
Processamento de arquivos indexados (ORGANIZATION IS INDEXED, OPEN, READ, WRITE, REWRITE, DELETE…):
Exemplo: select arquivo assign to (…)organization is indexed access mode is random record key is chave1 alternate key is chave2 with duplicates
22.
Processamento de arquivos indexados em modo dinâmico (ACCESS MODE IS DYNAMIC, START, READ NEXT…):
Exemplo:start ARQUIVO key not less than CHAVE1 read ARQUIVO next (…)
23.
Uso de funções intrínsecas:
Exemplo: move function CURRENT-DATE to WT-DT-SISTEMA
24.
Codificação de funções (FUNCTION-ID):
Exemplo: identification division.function-id . FATORIAL. (…) procedure division using by reference NUMERO returning FATORIAL.
25.
Codificação de programas em modo "free format":
Exemplo: identification division. program-id. gtc001.*> Esta e’ uma linha de comentario environment division.
26.
Variáveis de nível 78, 88, 66…
Exemplo: 01 wt-st-cra0201 pic x(002) value spaces. 88 cra0201-leitura-ok value “00”. 88 cra0201-eof value “10”.
27.
Conhecer recursos obsoletos ou não recomendados (GO TO DEPENDING ON, ALTER, SECTIONS, DECLARATIVES…):
Exemplo:alter PARAGRAFO1 to proceed to PARAGRAFO2
28.
Modificadores de referência:
Exemplo: move CAMPO-ORIGEM(1:5) to CAMPO-DESTINO move OUTRO-CAMPO-ORIGEM(1:WT-TAMANHO) to OUTRO-CAMPO-DESTINO
E é só isso…
Agora é só clicar nesse botão de Submit aí embaixo para enviar as suas respostas…
Gostaria de fazer este curso para melhorar meus conhecimentos do cobol mainframe
Faz muito tempo que não programo, principalmente o COBOL.
Mas já tive muita intimidade com a linguagem que ensinava na formação de programadores mainframe em um grande banco em SP.