curso básico de as400

87
AS/400 Users Group AS/400 BÁSICO por Paulo Rocha - 1 – Curso de AS/400 Introdução ao AS/400 A) Manutenção das Bases de Dados O equipamento AS/400 trablja com bases de dados relacionais . A base de dados relacional AS/400, é uma coleção de conjuntos de informações agrupados de tal forma que minimiza a redundancia entre eles, permite trocas e o crescimento no futuro. Todos os conjuntos de dados são em base as tabelas. Diagrama De Base De Dados Se armazenam dados em tabelas, arquivos, grupos de dados, etc. com um minimo de dados redundantes. ESTUDANTES INSTRUTORES CLASSES DEPARTAMENTOS GRADUADOS TEXTOS ESTUDANTES SALAS PDF created with pdfFactory trial version www.pdffactory.com

Upload: renato9

Post on 02-Jul-2015

3.971 views

Category:

Documents


27 download

TRANSCRIPT

Page 1: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 1 –

Curso de AS/400 Introdução ao AS/400 A) Manutenção das Bases de Dados

O equipamento AS/400 trablja com bases de dados relacionais . A base de dados relacional AS/400, é uma coleção de conjuntos de informações agrupados de tal forma que minimiza a redundancia entre eles, permite trocas e o crescimento no futuro. Todos os conjuntos de dados são em base as tabelas.

Diagrama De Base De Dados

Se armazenam dados em tabelas, arquivos, grupos de dados, etc. com um minimo de dados redundantes.

ESTUDANTES INSTRUTORES

CLASSES

DEPARTAMENTOS GRADUADOS

TEXTOS

ESTUDANTES

SALAS

PDF created with pdfFactory trial version www.pdffactory.com

Page 2: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 2 –

Três tipos de Bases de Dados

O Modelo Relacional.

exemplo.: base de dados de educação

Curso Num classe Codigo Nome Inscr instrutor tetra Sala max l001 Italiano 12 victor g 88/1 1 30 l103 Ingles 23 juan e 88/1 4 40 l211 Espanhol 5 pedro f 88/1 4 40 l303 Chines 44 luis lee 88/1 3 50 l001 Italiano 23 victor g 88/1 1 30 l214 Grego 11 homero 88/1 6 35 l211 Espanhol 1 pedro f 88/2 4 40 l103 Ingles 0 juan e 88/2 4 40 l001 Italiano 2 victor g 88/2 1 30 l306 Japones 3 homero 88/2 6 35 l370 Cobol 99 homero 88/2 5 99

J

R

PDF created with pdfFactory trial version www.pdffactory.com

Page 3: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 3 –

TABELA BASE TABELA = ARQUIVO

LINHA = REGISTRO COLUNA = CAMPO

Todas as linhas são similares ( um tipo de registro)

O arquivo pode ser processado sequencialmente ou em forma indexada pelo campo de classificação “instrutor”, neste exemplo (sql ‘order by…’); ou com uma “seleção lógica” de registros (sql ‘where......’) funcionalmente, isto é uma “seleção de campos”. com frequencia se usam os queries para visualizar os dados dos arquivos, para o usuário final.

b) Manuseio de Bibliotecas, Objetos e Fontes:

Bibliotecas.- É a forma em que AS/400 trabalha e se administra. As bibliotecas estão numa área onde se armazenam arquivos, programas, etc. que correspondem a dita biblioteca. Se pode manejar uma biblioteca por sistema, por área/depto., etc. (isto é definido pela área de sistemas).

Objetos.- Se geram em base as compilações, contem arquivos ou programas (fontes). O objeto de um arquivo se pode visualizar, para ver a informação que a compõe e o objeto de um programa não se pode ver (neste caso se visualiza o fonte). Fontes.- É o código que se gera para a generação de um arquivo/programa, este se compila para generar o objeto. Se um fonte não é compilado: não se pode guardar informação em arquivos ou não se pode rodar um programa.

- Tipos de Objetos e Fontes:

Os tipos de objetos mas comuns poden ser: *FILE .- pode ter os seguintes atributos:

ser um arquivo físico (pf), lógico (lf), arquivo de tela (dspf), printer file (prtf)

*PGM .- pode ter os seguintes atributos: clp, dfu, rpg

PDF created with pdfFactory trial version www.pdffactory.com

Page 4: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 4 –

Os tipos de fontes mais comuns são: PF.- Arquivos físicos(phisical file) LF.- Arquivos lógicos (logical file) DSPF.-Arquivos de telas (display file) PRTF.-Arquivos de relátorios (printer file) RPG.- Programas rpg CLP.- Programas de controle (control language program)

Este é menu inicial do AS/400 que é uma parte importante do OS/400, que nos ajuda a executar os comandos e utilitários por meio de opcões de maneira um pouco mais fácil.

Nesta tela poderá executar as seguintes funçõess: F3 à Sair termina o programa e regressa ao programa anterior . F4 à Nos fornece uma nova tela donde nos mostra os grupos de comando que

podemos utilizar assim como uma descrição do mesmo, na qual podemos acessar com o numero da opção na linha de comando.

MAIN AS/400 Main Menu System: S106CB4A Select one of the following: 1. User tasks 2. Office tasks 3. General system tasks 4. Files, libraries, and folders 5. Programming 6. Communications 7. Define or change the system 8. Problem handling 9. Display a menú 10. Information Assistant options 11. Client Access/400 tasks 90. Sign off Selection or command ===> F3=Exit F4=Prompt F9=Retrieve F12=Cancel F13=Information ssistant F23=Set initial menú

PDF created with pdfFactory trial version www.pdffactory.com

Page 5: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 5 –

F9 à Esta opção nos mostra o comando anterior executado F10 à Comando de entrada. F12 à É para sair do programa. O PDM é uma ferramenta do AS/400 que facilita o controle de bibliotecas, objeto e

fontes, de uma maneira rápida e eficiente, favorecendo a produtividade na operação. O PDM forma parte do grupo de ferramentas de apoio do AS/400 conhecidas como TooSet/400.

Com o PDM o usuário poderá controlar os seguintes conceitos ou funções em AS/400: • Bibliotecas. • Objetos. • Fontes. • Opções definidas pelo usuário.

Utilizando PDM o usuário poderá dispor dos seguintes utilitários ou facilidades, que por sua vez pertencem tambem ao TollSet/400. Source Entry Utility (SEU) Data File Utility (DFU)

AS/400 Programming Development Manager (PDM) Select one of the following: 1. Work with libraries 2. Work with objects 3. Work with members 9. Work with user-defined options Selection or command ===> F3=Exit F4=Prompt F9=Retrieve F10=Command entry F12=Cancel F18=Change defaults

PDF created with pdfFactory trial version www.pdffactory.com

Page 6: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 6 –

Screen Design Aid (SDA) Report Layout Utility (RLU) File Compare and Merge Utility (FCMU) Interactive Source Debugger (ISDB)

F3 à sair termina o programa e regressa ao programa anterior . F4 à Nos mostra uma nova tela donde nos mostra os grupos de comando que podemos utilizar assim como uma descrição do mesmo, na qual podemos acessar com o numero da opção na linha de comando. Esta tela é de entrada a biblioteca, podemos selecionar que biblioteca queremos visualizar

ou trabalhar. Temos as seguintes opções: *LIBL Mostra a lista de Bibliotecas do usuário.

*ALLUSR Mostra unicamente as Bibliotecas do usuário. *ALL Mostra todas as Bibliotecas do sistema *USRLIBL Mostra todas as Bibliotecas que não pertencem ao sistema. *CURLIB Mostra a Biblioteca definida como current Library Name Mostra somente a biblioteca especificada *generic* Esta opção mostra o que tiver entre os * .

Exemplo * QCA no mostra todas as Bibliotecas que contenham esta cadeia de caracteres.

Specify Libraries to Work With Type choice, press Enter. Library . . . . . . . . . . . *LIBL *LIBL, name, *generic*, *ALL, *ALLUSR, *USRLIBL, *CURLIB F3=Exit F5=Refresh F12=Cancel

PDF created with pdfFactory trial version www.pdffactory.com

Page 7: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 7 –

Ao trabalhar com Bibliotecas teremos as seguintes opções:

2 Change : Permite alterar o tipo de biblioteca que se tem *PROD É uma biblioteca que se encontra em produção.

*TEST biblioteca de provas. Assim como tambem trocar sua descrição de texto.

3 Copy : Copia de uma biblioteca a outra biblioteca com todas suas características. 4 Delete: Elimina uma ou mais Bibliotecas 5 Display: Mostra todos os tipos de objetos contidos na biblioteca.

6 Rename: Renomea uma biblioteca. 8 Display descripcion: Mostra a informação acerca da biblioteca, quando que

se criou, se alterou etc. 12 Mostra os objetos contidos na biblioteca e pode trabalhar com eles. 13 Troca a descrição da biblioteca.

Nesta tela temos as seguintes teclas de função mais usuais:

F1 à Mostra uma ajuda na linha da tela. F3 à Regressa a tela anterior. F4 à Parametros adicionais nos comandos ou função F5 à Reatualiza a consulta. F6 à Ao pressionar esta tecla criamos uma nova biblioteca.

Work with Libraries Using PDM S106CB4A List type . . . . . . . *LIBL Type options, press Enter. 2=Change 3=Copy 5=Display 7=Rename 8=Display description 9=Save 10=Restore 12=Work with ... Opt Library Type Text QSYS *PROD-SYS System Library QSYS2 *PROD-SYS System Library for CPI's QHLPSYS *PROD-SYS QUSRSYS *PROD-SYS QPDA *PROD-PRD QGPL *PROD-USR QTEMP *TEST-USR

Bottom Parameters or command ===> ___________________________________________________________________________ F3=Exit F4=Prompt F5=Refresh F6=Add to F9=Retrieve F10=Command entry F23=More options F24=More keys

PDF created with pdfFactory trial version www.pdffactory.com

Page 8: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 8 –

F9 à Nos regressa ao comando anterior executado. F10 à Mostra os comandos executados no PDM nesta sessão. F11 à Mostra a lista sem tipo e sem descrição. F12 à Cancela e não modifica nada. F16 à Funções definidas pelo usuário. F21 à Imprime a lista das bibliotecas. F23 à Com esta tecla podemos ver as demais opções que se tem. F24 à Mostra todas as funções.

PDF created with pdfFactory trial version www.pdffactory.com

Page 9: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 9 –

Alguns comandos para trabalhar com Bibliotecas. WRKLIBPDM .- Trabalhar com Bibliotecas ADDLIBLE .- Adiciona uma biblioteca na lista de biblioteca. EDTLIBL .- Editar a lista de biblioteca. Ao escolher esta opção 2 do PDM (WRKOBJPDM) nos mostra a tela anterior

toma os seguintes valores: Library : a Biblioteca com que se vai trabalhar, pode ser :

*CURLIB : Mostra a biblioteca definida como current Name : Mostra somente a biblioteca especificada

Object : È um objeto em particular ou pode ser todos os que contenham certas características definidas como: Name : Podem ser todos (*ALL), um em particular(Name), os que contenham a cadeia contida nos * (*generic*). Type: Os tipos de objetos que existem na Biblioteca. Podem tomar valores para mostrar todos (*ALL), ou um tipo especifico (*Type) que podem ser *PGM, DSP, CLP, PF,LF etc.

Specify Objects to Work With Type choices, press Enter. Library . . . . . . . . . . MTY2 *CURLIB, name Object: Name . . . . . . . . . . . *ALL *ALL, name, *generic* Type . . . . . . . . . . . *ALL *ALL, *type Attribute . . . . . . . . *ALL *ALL, attribute, *generic*, *BLANK

F3=Exit F5=Refresh F12=Cancel

PDF created with pdfFactory trial version www.pdffactory.com

Page 10: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 10 –

Esta es el menú del WRKOBJ en este podemos:

Eliminar um objeto.

Utilizar a opção 4 (delete) no objeto à eliminar. Renomear um objeto. Utilizar a opção 7 (rename) no objeto à renomear Mover um objeto.

1. Utilizar a opção 11 (Move) no objeto à mover. 2. Especificar a biblioteca destino.

Copiar um objeto:

1. Utilizar a opção 13 (Move) no objeto à mover. 2. Especificar a biblioteca destino.

A função de copiar funciona como duplicar un objeto, na qual pode existir ou não na biblioteca destino. De tal forma que a ação de copiar se realiza de duas formas:

a. Cria um objeto novo na biblioteca destino, com as mesmas características do objeto original. b. Regrava um objeto já existente na biblioteca destino. Com as características do objeto original.

Work with Objects Using PDM S106CB4A X Library . . . . . MTY2 Position to . . . . . . . . Position to type . . . . . Type options, press Enter. 2=Change 3=Copy 4=Delete 5=Display 7=Rename 8=Display description 9=Save 10=Restore 11=Move ... Opt Object Type Attribute Text DFU1 *PGM DFU dfu insp DFU2 *PGM DFU DFU2 DFU3 *PGM DFU DFU4 DFU5 *PGM DFU DFU5 EFRA *PGM DFU EFRA JEFRA *PGM CLP clp de prueba JFECHA *PGM CLP clp de prueba JFIN02 *PGM CLP PRUEBAS More... Parameters or command ===> F16=User options F17=Subset F18=Change defaults F21=Print list F23=More options F24=More keys

PDF created with pdfFactory trial version www.pdffactory.com

Page 11: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 11 –

Mostrar a descrição de un Objeto: Utilizar a opção 8 (display description) no objeto à trabalhar.

Mostrar a informação de um Objeto. Trabalhar com objetos: STRPDM / Opção 2 ou WRKOBJPDM.

Executar um objeto. Utilizar a opção 16 (Run) no objeto à executar. Alterar o texto de um objeto. Utilizar a opção 13 (Change text) no objeto à executar. Debug interativo. Utilizar a opção 34 ( Interactive source debugger ) no objeto à trabalhar. Nesta tela temos as seguintes teclas de função mais usuais:

F1 à Mostra uma ajuda na linha da tela. F3 à Regressa à tela anterior. F4 à Parametros adicionais nos comandos ou função F5 à Reatualiza a consulta. F9 à Nos regressa o comando anterior executado. F11à Mostra a lista sem tipo e sem descrição. F12 à Cancela e não modifica nada. F13 à Repete a opção em todos os objetos em que estão na tela F14 à Mostra o tamanho do objeto so quando esta em modo nome e tipos F18 à Alterar os valores por default. F16 à Funções definidas pelo usuário. F21 à Imprime a lista de objetos que se encontram na tela. F23 à Mostra as opções que se encontram na tela. F24 à Mostra teclas de função.

Nota: Só se pode executar as opções e teclas de função que se encontram visualizadas na tela.

PDF created with pdfFactory trial version www.pdffactory.com

Page 12: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 12 –

Ao escolher esta opção 3 (STRPDM) trabalha com Fontes (wrkmbrpdm) nos

mostra a tela anterior, toma os seguintes valores: File : É nome do source file à utilizar : Name : Um nome especifico do source file à trabalhar. F4 : Nos mostra uma lista de source file existentes na biblioteca . Library: É a biblioteca com a que se vai trabalhar, podem tomar os seguintes valores: *LIBL : São todas as Bibliotecas definidas para o usuário *CURLIB: É a biblioteca definida como current

Name: È o nome de uma biblioteca especificam donde se encontram os fontes à utilizar.

Member: Name : Nome do fonte à trabalhar, podem tomar os seguintes valores: *ALL : Todos os fontes contidos na biblioteca e o sorfile Name : O nome da fonte à trabalhar.

* Generic * : É um fonte que tenha a cadeia que se encoentra definida dentro dos asteriscos *.

Type : Tipo de fonte à utilizar. *ALL : Todos os tipos de fontes que se encontram nesta biblioteca e no source file.

Type : Tipo especifico de fonte. *generic *: Mostra todos aqueles fontes que cumprem com a cadeia encerrada entre asteriscos (*) *BLANK : Mostra todos os fontes com type em blanco.

Specify Members to Work With Type choices, press Enter. File . . . . . . . . . . JDEMTY Name, F4 for list Library . . . . . . . . MTY1 *LIBL, *CURLIB, name Member: Name . . . . . . . . . P43500 *ALL, name, *generic* Type . . . . . . . . . *ALL *ALL, type, *generic*, *BLANK F3=Exit F4=Prompt F5=Refresh F12=Cancel

PDF created with pdfFactory trial version www.pdffactory.com

Page 13: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 13 –

TRABALHANDO COM FONTES

Copiar um fonte 1.- Estando na tela do WRKMBRPDM.. 2.- Utilizar a opção 3(copy) no fonte à copiar

A função copiar funciona como duplicar um fonte, o qual pode existir ou não na biblioteca e arquivo fonte destino. De tal forma que a ação de copiar se realiza de duas formas:

a). Cria uma fonte nova na biblioteca e arquivo fonte destino com as mesmas características do fonte origem. b). Regrava um fonte já existente na biblioteca e arquivo fonte destino, com as mesmas características.

Alterar tipo e texto de um fonte Para trocar um texto de um fonte se utiliza a opção 13 (change text) no fonte a alterar. Editar um fonte . Utilizando a opção 2 (Edit) no fonte à editar. Esta opção nos mostrará o SEU Visualizar um fonte: Com a opçõ 5 (display) no fonte à visualizar. Com esta opção nós não podemos modificar o fonte.

Work with Members Using PDM S106CB4A File . . . . . . JDEMTY Library . . . . MTY1 Position to . . . . . Type options, press Enter. 2=Edit 3=Copy 4=Delete 5=Display 6=Print 7=Rename 8=Display description 9=Save 13=Change text 14=Compile 15=Create module... Opt Member Type Text FV4108R PF Lot Master F3002LR LF LF - branch comp, 2nd item, Thru date F4102$J LF JF - Location/Work order(F4102 F4801) F41021$A LF JF - Location/Branch (f41021/f4102) More... Parameters or command ===> F3=Exit F4=Prompt F5=Refresh F6=Create F9=Retrieve F10=Command entry F23=More options F24=More keys

PDF created with pdfFactory trial version www.pdffactory.com

Page 14: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 14 –

Compilar um fonte: Para compilar um fonte se utiliza a opção 14 (compile) no fonte à compilar.

Eliminar um fonte: Para eliminar um fonte se utiliza a opção 4 no fonte a eliminar. Mostrar a descrição de um fonte: Para mostrar a descrição de um fonte se utiliza a opção 8 (display description) no fonte a trabalhar.

Ordenar uma lista de fontes por data: Utilizam a função <F4> (Display date) para mostrar as datas de criação. Y com a Função <F15> (sort date) para ordenar a data. Indistintamente a função <F15> (sort date) serve para ordenar : por data ou por nome.

Buscar um STRING em um fonte

a) Utilizando o PDM.

Trabalhando com fontes (WRKMBRPDM) a opção 25 (find String) para achar a busca correspondente.

b) utilizando o comando FNDSTRPDM

SEU (Source Entry Utility)

Com o SEU, você pode trabalhar com o fonte de arquios, e os registros contidos dentro deles. Opções permitidas:

Columns . . . : 1 71 Edit MTY2/JDESRC SEU==> P55GLAS FMT * ..... *. 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7 0084.00 I***************************************************************** 0085.00 C**************************************************************** 0086.00 C* MAINLINE PROGRAM 0087.00 C* ---------------- 0088.00 C* 0089.00 C* Process housekeeping. 0090.00 C* 0091.00 C EXSR S999 0092.00 C* ---- ---- 0093.00 C* 0094.00 C* If LR on, end program. 0095.00 C* 0096.00 C *INLR CABEQ'1' EOJ 0096.00 C F3=Exit F4=Prompt F5=Refresh F9=Retrieve F10=Cursor F11=Toggle F16=Repeat find F17=Repeat change F24=More keys

PDF created with pdfFactory trial version www.pdffactory.com

Page 15: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 15 –

§ Criar fontes § Editar fontes § Imprimir fontes § Copiar registro de um arquivo (fontes) a outro fonte ou um arquivo

de impressão

PDF created with pdfFactory trial version www.pdffactory.com

Page 16: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 16 –

O SEU conta com as seguintes características: Comandos: Os comandos do SEU se podem trabalhar em ambientes, fontes e registros.

Com eles, podemos ocultar registros mostrados em tela, salvar arquivos ou cancelar as trocas na fonte.

Linhas de formatos: Se poden utilizar as linhas de formato para verificar a posição dos

estatutos segundo os estatutos fontes da linguagem de alto nivel utilizado. SEU provê de linhas de formato predefinidas para comandos das linguagens de alto nivel utilizados e de linguagem de controle de AS/400 (CL).

Modo de tela completa. O modo de tela completa (Full screen mode) é utilizado nas telas

de edição e de browse para eliminar teclas de função da tela do SEU, permitindo assim, ter quatro linhas a mais de texto fonte.

Teclas de função completas. Cada tela do SEU suporta um conjunto de teclas de função,

usadas para realizar tarefas especificas. Estas teclas, se encontram listadas na parte inferior de cada tela. Exceto pela tecla F1 (Ajuda) que não é sempre mostrada e sem embargo é válida em todas as telas, uma tecla de função é valida só se for mostrada na parte inferior da tela.

Prompts de comandos e linguagens : Os prompts de comandos e linguagens são

utilizados para criar registro ou linhas de código fontes sem erros. Linha de comandos:. Esta, é usada para realizar várias operações, tais como insertar

registros em brancos , copiar registro e chamar o prompt de comandos ou linguagens. Números máximo e tamanho de registros: O SEU permite um máximo de 32764 registros

em um fonte. O tamanho máximo de registros permitido é de 240 caracteres , o qual inclue 6 caracteres para o número de sequência e 6 caracteres para a data.

Telas de opções: Este tipo de telas são utilizadas para controlar o ambiente de SEU e para

realizar operações sobre os fontes de arquivos e arquivos de impressão. As telas de operações mais usadas são: - troca de defaults da sessão.

- Opções de browse/ copy. - Opções de Encontrar/Alterar.

Sessão split: Esta sessão é para ver e editar um fonte e visualizar outro na mesma tela de

trabalho. Tambem, é possível visualizar dois fontes na mesma tela por vez. Se a tela de opções de Browse/Copy é acessada desde uma sessão split, é possível copiar registros desde a fonte que será mostrado na tela a fonte que se está utilizando.

PDF created with pdfFactory trial version www.pdffactory.com

Page 17: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 17 –

Check de sintaxes. O check de sintaxes é utilizado para verificar os estatutos das diferentes linguagens de alto nivel, incluindo Basic, PL/I, cobol, Fortan e RPG, assim como a Linguagem de Controle do AS/400.

Comandos do sistema: É possível mandar executar comandos de AS/400 que trabalham

com uma tela de edição do SEU. Para mostrar os comandos do sistema, pressione F21. Não é possível teclar dados na tela de edição do SEU de comandos do sistema que se encontra mostrada. Trabalhar com fontes

Iniciar uma sessão no SEU

§ Desde o PDM (program development manager). Dentro do PDM utilize a opção 2 (editar) ou 5 (mostrar) na tela de trabalho com fonte.

§ Desde o menu de programador. Selecione a opção 8 (editar uma fonte de um arquivo fonte) ou bem, selecione a opção 5 (executar comandos), e selecione o Comando STRSEU da lista de comandos. § Por meio da linha de comandos de AS/400. Tecle STRSEU na linha de

Comandos.

Ver uma lista de fontes. Para ver una lista de fontes, usando o comando STRSEU, faça o seguinte:

1.- Especifique o arquivo fonte para o parametro SRCFILE mas não especifique o fonte no parametro SRCMBR. Especifique o valor do *SELECT para o parâmetro SRCMBR. Tecle o comando STRSEU sem nenhum parametro para que a tela de trabalho com fontes

usando SEU seja mostrada.

Start Source Entry Utility (STRSEU) Type choices, press Enter. Source file . . . . . . . . MTYSRC Name, *PRV Library . . . . . . . . MTY Name, *LIBL, *CURLIB, *PRV Source member . . . . . . . *ALL Name, *PRV, *SELECT Source type . . . . . . . . Name, *SAME, BAS, BASP... Option . . . . . . . . . . . *BLANK *BLANK, ' ', 2, 5, 6 Text 'description' . . . . . *BLANK .

PDF created with pdfFactory trial version www.pdffactory.com

Page 18: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 18 –

Alterando a lista de fontes Você pode alterar a lista de fontes que aparecem na tela de trabalho com fontes usando

SEU a que só os fontes que cumpram certo critério sejam incluidos na dita lista. A seleção de fonte pode ser por:

• Nome parcial • Tipo de membro • Data de criação ou de ultima alteração. • Texto ou texto parcial .

Para alterar a lista de fontes.

1. Pressione F17 (subconjunto). A tela de lista subconjunto de membros. 2. Especifique o critério para os membros que deseja que sejam listados e

pressione enter. Com isto, a lista de fontes atualizada será mostrada. Criar um fonte: Para criar um membro, siga os passos que se mostram a continuação:

• Desde a linha de comando, ou utilizando o prompt de comandos, especificando o nome da fonte a criar, no parametro SRCMBR do comando STRSEU. Se utiliza o prompt de comandos, tecle um tipo de fonte valido no source type, do contrário o default é usado.

• Na tela de trabalho com membros usando SEU, tecle o nome do membro a criar no prompt de new member e pressione enter.

A tela de trabalho com membros usando SEU pode ser acessada especificando *SELECT para o parametro SRCMBR no comando STRSEU.

A tela de edição aparecerá, na qual pode iniciar a entrada de código.

Tipo de fonte Descrição CLP CBL DSPF MENU PF PRFT QRY RPG TXT

CL program Cobol Arquivos de telas Menus (UIM) Arquivo Físico Arquivo de Report Arquivo de Querys RPG Texto

A figura anterior nos mostra os tipos de fontes mais utilizados em AS/400.

PDF created with pdfFactory trial version www.pdffactory.com

Page 19: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 19 –

Para iniciar uma sessão do SEU desde o PDM com a opção 2 (EDIT) na fonte que desejamos editar. Mostrar um fonte (Browsing) A tela de browse é usada para ver um fonte sem o risco de altera-lo acidentalmente (só

leitura). Podemos usar as operações de busca e posicionamento, mas não podemos realizar operações que alterem o fonte, tais como edição, eliminação, atualização ou relocalização de registro.

Para mostrar um fonte : • Especifique 5 (Browse) no parametro option do comando STRSEU. • Seleccione a opção 5 (Browse) na tela de trabalho com fontes usando SEU.

A tela de Browse aparecerá e conterá o fonte que haja selecionado. Para alterar os defaults da sessão na tela de browse, pressione F13. Aqui poderá

especificar parametros tais como o numero de registros a rolar na tela, ou forçar a entrada de letras em só Maiúsculas.

Tambem é possível alterar a sessão usando o comando SEU SET O modo da tela completa o permite remover a linha de formato da parte superior da tela e

a lista de teclas de função da parte inferior da mesma. Podemos utilizar o modo de tela completa mesmo se esta mostrando os fontes ou arquivo

de impressão (browsing). Para alterar de modo campleta:

1. Na tela de Browse, pressione F13 (alterar default). Com o anterior aparecera a tela de trocas default.

2. Tecle Y no prompt de full screen mode e pressione enter. A tela de browse

Work with Members Using PDM S106CB4A File . . . . . . MTYSRC Library . . . . MTY1 Position to . . . . . Type options, press Enter. 2=Edit 3=Copy 4=Delete 5=Display 6=Print 7=Rename 8=Display description 9=Save 13=Change text 14=Compile 15=Create module... Opt Member Type Text FIN03L LF *archivo logico de prueba FIN03LA LF archivo logico de carr FIN04 PF ARCHIVO FISICO DE CAR/AL/MAT FIN04BK PF ARCHIVO FISICO DE PIN04(ALCARMAT) FIN04LB LF ARCHIVO LOGICO DE FIN04 2 FIN25 PF ARCHIVO INFORMACION More... Parameters or command ===> F3=Exit F4=Prompt F5=Refresh F6=Create F9=Retrieve F10=Command entry F23=More options F24=More keys

PDF created with pdfFactory trial version www.pdffactory.com

Page 20: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 20 –

alterará a modo de tela completa.

PDF created with pdfFactory trial version www.pdffactory.com

Page 21: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 21 –

Para cancelar o modo de tela completa e regressar ao modo normal de operação: 1 .- Na tela de browse, pressionar F13.

2 .- Tecle N no prompt full screen mode e pressione enter. Mesmo se trabalhe com um fonte, pode dividir (Split) a tela do browse com outro browse

de um fonte ou arquiivo de impressão (spool file). Para dividir (splits) a tela :

1.- Pressione F15 (opções de browse). 2.- Realize os seguintes pontos:

• Para mostrar outros fontes do mesmo arquivo, tecle o nome do fonte no prompt de Browse member e pressione enter. • Para mostrar outro fonte de um arquivo diferente, tecle o nome do arquivo no prompt de file, o nome do fonte no prompt de browse member e pressione enter. • Para mostrar um arquivo de impressão, tecle seu nome no prompt spool file. • Para mostrar um arquivo de impressão de outro usuário, tecle o nome do usuário no campo correspondente, tecle seu nome de arquivo de impressão e pressione enter.

A linha de divisão é colocada na metade da tela do browse, e agora pode ver o fonte ou

arquivo de impressão adicional, na tela. Para mover a linha de divisão, pressione F6 (move Split line) na posição que deseja.

Editar um fonte Para editar um fonte, realize alguns dos seguintes pontos: • Especifique um 2(Edit) no parametro OPTION do comando STRSEU. • Especifique a opção 2 (edit) no prompt Opt na tela de trabalho com membros usando

SEU. • Especifique a opção 2 (edit) na tela de trabalho com membros usando o PDM. • Especifique a opção 2 (edit) na tela de trabalho com registros de telas em SDA.

Aparecerá a tela de edição, contendo o membro especificado. Existen vários registros especiais na tela de edição de fontes, os quais não são gravados

juntos com o código fonte. • Inicio de dados • Fim de datos • Formato • Inserção • Colunas • Tabulações • Exclusão (exclude)

Não se pode eliminar os registros especiais listado anteriormente. As linhas de inicio e fim de dados são mostradas para designar o inicio e o fim de um

fonte.

PDF created with pdfFactory trial version www.pdffactory.com

Page 22: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 22 –

Durante a edição de fontes, pode dividir (split) a tela de edição com outra tela de browse de um fonte ou arquivo de impressão (spooled file). Para dividir a tela.

1. Pressione F15 (opções de Browse /copy). 2. Realize alguns dos seguintes pontos:

• Para mostrar ou copiar outro fonte do mesmo arquivo, tecle o nome de fonte en el prompt de browse y presione enter. • Para mostrar ou copiar outro fonte de um arquivo diferente, tecle o nome do arquivo no prompt de file, o nome do fonte no prompt de Browse member e pressione

enter. • Para mostrar ou copiar um arquivo de impressão, tecle seu nome em prompt spool file. • Para mostrar ou copiar um arquivo de impressão de outro usuário, tecle o nome do usuário no campo correspondente, tecle o nome do arquivo de impressão e pressione

enter. 3. Se desejas copiar o fonte ou arquivo de impressão completo tecle um no

prompt de copy all records. Pressione enter e se uma das seguintes opções passarem:

• Se esta em modo browse, a linha de divisão (linha separadora das sessões) é colocada na parte media da tela de edição e poderá ver o fonte adicional.

• Se esta copiando o fonte e especifica um destino no fonte que esta editando, o fonte ou arquivo de impressão é copiado dentro do fonte que se esta editando, mas a

sessão adicional não será iniciada. • Se se encontra copiando um fonte, mas não especificou um destino (lugar donde se iniciará a cópia do fonte adicional) no fonte que se está editando atualmente, a tela de edição é dividida e o comando de cópia bloco (CC) é colocado no primeiro e último registro do fonte ou arquivo de impressão que está mostrando.

Eliminando um fonte • Especifique 6(Print) no parametro OPTION do comando do STRSEU • Selecionando a opção 6(Print) na tela de trabalho com membros (WRKMBRPDM)

PDF created with pdfFactory trial version www.pdffactory.com

Page 23: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 23 –

ALTERANDO O AMBIENTE DA SESSÃO DE EDIÇÃO Podemos alterar o ambiente da sessão de edição de duas maneiras: Utilizando o

comando SEU SET, ou então utilizando a tela de troca da sessão (F13). Ao pressionar F13 aparecerá a tela de troca de Defaults da sessão, e então poderá

fazer o seguinte: • Especificar o numero de registro de dados que serão paginados (mediante as

teclas de roll). • Especificar o teclado em somente maiúsculas ou mixto. • Habilitar ou desabilitar os tabuladores. • Especificar o número em que se irão incrementando os números de sequencia. • Alterar ao modo tela completa. • Definir as dimensões da tela (para Display de 27 linhas x 132

colunas). • Especificar o tipo de fonte que se está editando. • Habilitar/desabilitar o check de sintaxes. • Especificar o check de sintaxes para um range de estatutos. • Assinalar margens. • Assinalar todos os registros existentes com uma data determinada. • Assinalar a resequenciação do fonte como default. Alguns dos valores dependem do tipo de fonte, mesmo que outros dependem do valor

que eles são assinalados ou dos valores usados na última sessão de edição.

ENCONTRAR E ALTERAR STRING DE CARACTERES

Durante a sessão de edição, é possível buscar dentro de um fonte uma string de caracteres, e opcionalmente alterar-la por outra string, usando a tela de opções de Encontrar / Alterar (Find/Change).

Para acessar dita tela, pressione F14 (Find/Change Option) estando dentro da sessão de edição . Então, dentro da tela de find/changer poderá fazer o seguinte:

• Encontrar uma string especifica. • Alterar uma string. • Encontrar os registros com uma data determinada. • Encontrar os erros de sintaxes

Durante uma sessão de mostra (browse), pode buscar uma string de caracteres por medio da tela de opção de encontrar (Find Option). A diferença é que nesta sessão não poderá alterar o fonte e não poderá encontrar os erros de sintaxes, exceto nos arquivos de impressão.

Para guardar os valores que teclou nos Prompts de encontrar (Find) e alterar (Change), pressione enter, F16 para encontrar ou F17 para alterar a string de caracteres.

PDF created with pdfFactory trial version www.pdffactory.com

Page 24: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 24 –

Parar encontrar uma string de caracteres:

1. Tecle a string que deseja encontrar no prompts de find da tela de encontrar ou de encontrar e alterar.

2. Altere os demais prompts, se for necessário 3. Pressione F16 para encontrar o string.

Para encontrar e alterar uma string de caracteres

1. Digite a string de caracteres que deseja alterar no prompt de encontrar ou encontrar/alterar 2. Digite a string de caracteres com a que deseja regravar a anterior no promt de alterar (Change). 3. Altere os demais Prompts, se for necessário. 4. Pressione F17 para alterar a seguinte ocurrencia da string.

Se a string digitada, é encerrada entre apóstrofes, este signo será ignorado na busca. Para

encontrar um registro numa determinada data: 1. Pressione F14 para acessar a tela de encontrar. 2. Especifique a data no campo search on date.. 3. Especifique 1,2,3 no campo de comparação/compare. 4. Pressione F16 para encontrar o seguinte registro com a data especificada.

Tambem, podemos usar a operação de encontrar para localizar os erros de sintaxes detectados no código fonte do fonte. Para encontrar estes erros tecle ‘*ERR’ ou “* ERR” e o campo de encontrar/find. Quando pressionar F16 (Find), SEU localizará qualquer erro de sintaxe encontrado pelo checador de sintaxes.

COMANDOS DE LINHA Os comandos de linha se usam para realizar várias funções sobre os registros no fonte.

Podemos usar os comandos nas linhas para : • Copiar, eliminar, insertar, mover ou imprimir registros. • Ajuda para teclar e formatar dados dos novos registros. • Alterar os registros que se veêm na tela.

Tecle os comandos da linha sobre o número de sequencia do registro na fonte. Por exemplo, tecle um D (delete) no número de sequencia de um registro para elimina-lo do código fonte. Tecle um D3 para eliminar os três registros imediatos do código fonte.

Estes comandos podem ser teclados em maiúsculas ou minúsculas. SEU converte automaticamente os comandos em maiúsculas.

Depois de teclar ou alterar os comandos de linha, pressione uma das seguintes teclas para correr os campos.

• Enter • Uma tecla de função válida.

PDF created with pdfFactory trial version www.pdffactory.com

Page 25: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 25 –

• Avanço ou retorno de pagina ( Page up ou page Ddown).

A seguinte tabela lista os comandos da linha de SEU. Todos os comandos de linha são válidos nas sessões de edição em split ou Full mode. Esta tabela indica os comandos de linha que são válidos para sessões de mostra (browse).

Comando BROWSE COMANDO DE LINHA

Posicionamento absoluto Antes / Depois Colunas Copiar Copiar repetidamente Apagar Excluir Formato Inserção Insertar com formato Insertar com prompt Imprimir linha Mover Cobrir Prompt Posição relativa Repetir Show

Y N Y Y/N Y/N Y/N Y Y N N N Y N N N Y N Y

n. n n.n A An B Bn COLS C Cn CC CR CRn CCR D Dn DD X Xn XX F F? Fxx I In IF IFn IF? IF?n IP IP? Ipxx LP LPn LLP M Mn MM O On OO P P? Pxx + +n - -n RP RPn RPP RPPn SF SFn SL SLn

COMANDOS DE SEU

Podemos usar os comandos do SEU para realizar operações de encontrar/alterar, para sair da sessão e para estabelecer os defaults da mesma. Os comados proveem um fast path para estas operações, os quais tambem podem ser acessadas através das telas de opções. Os valores teclados por meio dos comandos do SEU aparecerão nas ditas telas.

Os comandos deven ser teclados sobre a linha de comandos do SEU . Para recuperar o

comando anterior pressione F9 (retrieve). É possível mover o cursor desde a área de dados até a linha de comandos do SEU e regressar à área de dados por meio da tecla F10 (cursor).

PDF created with pdfFactory trial version www.pdffactory.com

Page 26: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 26 –

A seguinte tabela mostra os comandos para os diferentes tipos de sessão. COMANDOS

Função

Sessão Edição

Sessão Browse

Depende da Sessão

FIND ou F

CHAGE ou C

TOP ou T

BOTTOM ou BOT ou B SAVE

FILE

CANCEL

Encontrar uma cadeia de caracteres dentro de um fonte. Encontrar uma cadeia de caracteres num fonte e alterar por outra. Reposiciona a tela de trabalho na primera pagina de dados. Reposiciona a tela de trabalho na ultima pagina de dados. Salva as alterações feitas nos membros e continua editando. Salva as alterações feitas no fonte e sai da edição. Abandona a sessão sem salvar as alterações realizadas.

Y Y Y Y Y Y Y

Y N Y Y N N Y

Y Y Y Y Y N Y

SAIR DE SEU Podemos sair do SEU usando a tela de saída. Para acessar a dita tela, presione F3 (Sair)

na tela de edição ou em qualquer tela de Split. A tela de saída pode usar-se para realizar as seguintes operações sobre o foente que se está editando.

• Sair e criar um novo fonte. • Sair sem criar o fonte. • Sair e salvar um fonte existente. • Resequenciar o fonte editado. • Imprimir o fonte. • Ir à lista de fonte. • Regressar à edição. • Cancelar a função de encontrar string por PDM,

PDF created with pdfFactory trial version www.pdffactory.com

Page 27: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 27 –

IV. Definição do código de arquivos (Físicos e Lógicos).

- tipos de arquivos e sua diferencia: as tabelas base são chamadas arquivos físicos. os views/index são chamados arquivos lógicos.

Arquivo Físico

Cada arquivo físico está formado de três partes ou

extenções.

1. Formato. Definição dos campos do cuales se que se compõe um registro.

2. Rota de acesso. Definição ou por chave.

3. Registros podem ser acessados (em sequencia de

dados, espaço para os registros dos quais esta o

arquivo.

Se podem gerar dados em um arquivo, por meio de programas interativos ou batch, DFU (Data File Utility), ou comando de copy.

CPYF FROMFILE( ) TOFILE ( ) MBROPT{*ADD FMTOPT {*MAP

*REPLACE *DROP CRTFILE {*NO *YES

DSPPFM FILE(LIB NAME/FILE NAME) MBR(*FIRST) => mostra o conteudo do arq. (ex. para verificar dados copiados)

DADOS

A CHAVE

EST_NO 7 0 EST_NOMB 20 A DIRECC 20 A

FORMATO

CAMINHO DE ACESSO

DADOS

PDF created with pdfFactory trial version www.pdffactory.com

Page 28: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 28 –

- Código de um arquivo físico (indexado): COLUMNS . . . : 1 71 EDIT MTY2/JDESRC SEU==> F50001 FMT PF ....A..........T.NAME++++++RLEN++TDPB......FUNCTIONS++++++++++++++++++ 0010.00 A R STUCLS 0011.00 A TEXT('ARQUIVO DE ESTUDANTES’) 0012.00 A STUNO 7 0 TEXT (‘NUMERO DE ESTUDANTE’) 0013.00 A CLASNO 4 0014.00 A STATUS 4 0015.00 A FGRADE 3 0016.00 A DATE R REFFLD(ENDATE CLSHST) 0017.00 A K STUNO 0018.00 A K CLASNO DESCEND NIVEIS DE UM ARQUIVO: FILE -LEVEL RECORD-LEVEL FIELD-LEVEL KEY FIELD-LEVEL SELECT/OMIT-LEVEL FROM TYPE.- No caso de arquivos sempre se põe ‘A’. (T) NAME TYPE.- Se define ‘R’ => Na linha donde se define o nome do reg. Se define um ‘K’ => quando se vão definir as chaves (sort). Se define um ‘J’ => para especificações de arquivos join. Se define um ‘S/O’ (select/omit).- para selecionar i/o omitir regs. este só se pode usar em arq. lógicos (idx). NAME .- Se define o nome da variavel (não maior de 6 digitos). R) REFERENCE.- Se define um ‘R’, só em caso de que o campo se pode referen- ciar a outro que exista num arquivo determinado. Isto é para que

tome as mesmas caracteristicas do campo ao qual se faz referencia. LEN) LENGTH.-Tamanho do campo. D) DATA TYPE.- A => alfanumerico P => numerico empacado S => numerico ‘zoned’ (não é empacado) P) DECIMAL .- O número de decimais, sempre e quando for numérico. FUNCTIONS.- REFFLD(nome campo nome arq.) => se utiliza para tomar

caracteristicas de outro campo em outro arq. (só caracteristicas, não dados).

DESCEND => ordena o campo em forma descendente, por default se não se definie nada o considera ascendente.

PDF created with pdfFactory trial version www.pdffactory.com

Page 29: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 29 –

Estas funções são exclusivas para arqs. lógicos: COMP => ex. comp(ge 125), só toma registros com esta condição. RANGE => ex. range(10000 90000), só toma regs. com esta condição. VALUES => ex. values(‘pend’ ‘conf’ ‘can ‘), regs. com esta condição.

pressionando ajuda neste campo se mostram todas as opções existentes. não se recomenda usar estas funções (comp, range, values), já que faz exclusivo o uso do arquivo.

O Data Type é opcional, se não se define decimais se considera alfanumerico, se se definen decimais se considera numérico ‘zoned’.

- Código de um Arquivo Lógico:

Columns . . . : 1 71 Edit MTY2/JDESRC Seu==> F50001LA FMT PF .....A..........T.Name++++++Rlen++Tdpb......Functions++++++++++++++++++ 0010.00 A R STUCLS PFILE(F50001) 0011.00 A K DATE 0012.00 A S STATUS COMP(EQ ‘VAL ‘ ) FUNCTIONS.- PFILE(nome arq.fisico) => se utiliza para definir o arquivo fisico ao

qual vá a estar referenciado o lógico. Existem arquivos “JOIN LOGICAL FILES” => este tipo de arquivo combina num

formato, campos de dois ou mais arquivos fisicos. Se define só um formato de registro, os campos chave devem ser do arquivo primário.

- Código de um Join Logical File:

ARQUIVO CAMPOS STUDENT STUDENT NUMBER (STUNO) STUDENT NAME (STUNAM) CLASS STUDENT NUMBER (STUNO) CLASS NUMBER (CLASNO)

COLUMNS . . . : 1 71 EDIT MTY2/JDESRC SEU==> F50001LB FMT PF .....A..........T.NAME++++++RLEN++TDPB......FUNCTIONS++++++++++++++++++ 0010.00 A R JOINREC JFILE(STUDENT CLASS) 0011.00 A J JOIN(1 2) 0012.00 A JFLD(STUNO STUNO) 0013.00 A STUNO JREF(1) 0014.00 A STUNAM 0015.00 A CLASNO 0012.00 A K STUNO

PDF created with pdfFactory trial version www.pdffactory.com

Page 30: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 30 –

JFILE.- Se devem especificar dois arquivos fisicos. o primero é o arq. primário. J .- Identifica o inicio de especificações do join. JOIN .- Identifica quais dos arquivos são ‘joinded’ . JFLD .- Identifica os nomes de campos (‘join fields’), estes devem existir em ambos

arquivos (join); e devem ter os mesmos atributos. JREF.- os campos em um ‘jlf’ devem ser identificados como únicos. Este atributo

permite especifiar um campo a qual o arquivo corresponde (isto é, quando o nome de um campo existe em mais de um arquivo fisico).

não se recomenda usar os arquivos ‘JOIN’, ja que ocupam muita área no

equipamento, alem disso geralmente se requer de autorização por parte de sistemas/usuário.

- Compilação de Arquivos Físicos/Lógicos a) Se pode compilar dentro do menu de pdm com a opção ‘14’. Se se usa esta opção se recomenda pressionar o ‘F4’ para ver default da biblioteca onde se vai dirigir o objeto do arquivo que se irá gerar e em caso de que seja outra biblioteca, defini-la. Alem disso, é necessário definir uma autoridade=*all, já que do contrário, só o usuário que criou o arquivo teria acesso a este. b) Compilar com o comando => ‘CRTXF’ + F4. (tomar as mesmas considerações que no caso de compilar com a opção 14 dentro de pdm.

CRTPF FILE (*CURLIB/FILE-NAME) SRCFILE (*LIBL/QDDSRC) SRCMBR (*FILE) MBR(*FILE) MAXMBRS(1) SIZE(*NOMAX 1000 3) AUT (*ALL)

CRTLF FILE(*CURLIB/FILE-NAME) Comandos de Arquivos: CLRPFM .- Clear Physical File Member (Inicializa o arquivo, apaga a informação) DLTF .- Delete File (Apaga o archivo, fisicamente já não existirá). CHGPF .- Change Physical File (Altera atributos no arquivo) CHGPFM .- Change Physical File Member DSPFD .- Display File Description (Mostra dados gerais do arquivo) DSPDBR .- Display Data Base Rel. (Para consultar arquivos lógicos referenciados a um arq.

físico.)

PDF created with pdfFactory trial version www.pdffactory.com

Page 31: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 31 –

DSPPGMREF.- Display Program Reference (para consultar que arquivos se estão utilizando em um programa.) DSPFFD .-Display File Field Descrip.(para consultar lista de campos definidos em um arquivo e suas caracteristicas. Comamdos para revisar compilações. Quando se compilam arquivos, programa, tela, ect.. se envia a uma área de processos chamada Work with Submitted Jobs (WRKSBMJOB), na qual mostra o status dos processos que se encontram na área. Estes status são os seguintes: JOBQ : Indica que o processo está por entrar na área processos. ACTIVE: Indica que o processo está por executar-se ou se está executando. OUTQ: Indica que o processo foi terminado de executar-se. END : Indica que o processo foi sido terminado pelo usuário. As opções que se encontram neste comando são as seguintes: 3= Hold .- Usando esta opção se congela o processo. 4= End .- Usando esta opção se cancela a execução do processo. 6= Release.- 8= Work Spooled Files. - Com esta opção nos mostra o spool de nosso processo.

O spooled file (área de impressão), é uma ferramenta que serve para mostrar e armazenar a informação dos resultados das compilações, e das saídas dos programas executados programas.

Work with Submitted Jobs S106CB4A 01/14/99 11:27:08 Submitted from . . . . . . . . : *USER Type options, press Enter. 2=Change 3=Hold 4=End 5=Work with 6=Release 7=Display message 8=Work with spooled files Opt Job User Type -----Status----- Function P550025 MTY02 BATCH OUTQ P550002 MTY09 BATCH ACTIVE CMD-CRTRPGPGM P550022BK MTY09 BATCH JOBQ

Bottom Parameters or command ===> F3=Exit F4=Prompt F5=Refresh F9=Retrieve F11=Display schedule data F12=Cancel

Work with Job Spooled Files Job: P550025 User: MTY02 Number: 957927 Type options, press Enter. 1=Send 2=Change 3=Hold 4=Delete 5=Display 6=Release 7=Messages 8=Attributes 9=Work with printing status Device or Total Current Opt File Queue User Data Status Pages Page Copies 5 P550025 QPRINT RDY 26 1 QPJOBLOG QEZJOBLOG P550025 RDY 6 1 Bottom Parameters for options 1, 2, 3 or command ===> ________________ F3=Exit F10=View 3 F11=View 2 F12=Cancel F22=Printers F24=More keys

PDF created with pdfFactory trial version www.pdffactory.com

Page 32: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 32 –

Para revisar a compilação de um programa com a opção 5 (display) do Work with Job Spooled Files mostrará a seguinte tela

Os erros de compilação se encontram ao final do spool, para poder visualizar o mais rápido sem ter que paginar, se tecla no control ‘B’ ou *BOT (Bottom) que nos posiciona o cursor ao final do spool.

É nesta parte que podemos observar a quantidade de erros que resultaram da compilação. Tambem nos indica o numero de severidade , a qual nos informa a gravidade do erro.

Para realizar a compilação e se criar o objeto, são os erros menores que 30. Se se repagina (Re. Pag) se encontram os números de erros ocurridos como mostra a tela seguinte:

.8....+....9....+....0....+....1....+....2....+....3.. 1/P550025 01/14/99 09:46:48 Page 26

Bottom

Display Spooled File File . . . . . : P550025 Page/Line 25/46 Control . . . . . B Columns 1 - 78 Find . . . . . . _____________________- *...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+... Message . . . . : RPG provides a Separate-Indicator area for the file. * * * * * E N D O F M E S S A G E S U M M A R Y * * * * * P5525MG - CAMBIO DE GREGORIANO A JULIANO 5769RG1 V4R2M0 980228 IBM RPG/400 MTY F i n a l S u m m a r y Message Count: (by Severity Number) TOTAL 00 10 20 30 40 50 85 7 0 1 65 12 0 Program Source Totals: Records . . . . . . . . . . : 794 Specifications . . . . . . : 391 Table Records . . . . . . . : 1 Comments . . . . . . . . . : 400 Compile stopped. Severity level 40 errors found in file. * * * * * E N D O F C O M P I L A T I O N * * * * * F3=Exit F12=Cancel F19=Left F20=Right F24=More keys

Display Spooled File File . . . . . : P550025 Page/Line 25/1 Control . . . . . B Columns 1 - 78 Find . . . . . . *...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+... P5525MG - CAMBIO DE GREGORIANO A JULIANO 5769RG1 V4R2M0 980228 IBM RPG/400 MTY M e s s a g e S u m m a r y * QRG1025 Severity: 40 Number: 8 Message . . . . : Unable to open the /COPY member. Specification is ignored. * QRG2120 Severity: 40 Number: 2 Message . . . . : External description not found for file specified as externally described. File ignored. * QRG5132 Severity: 30 Number: 3 Message . . . . : Factor 2 entry is not the name of a file or a record format. * QRG5176 Severity: 30 Number: 1

PDF created with pdfFactory trial version www.pdffactory.com

Page 33: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 33 –

Esta tela nos indica os números de erros generados e a severidade respectivamente, pelo qual é necessário buscar em que linha ocorreu o erro, isto é possivel teclando o numero do erro na linha do comando Find ......______ o numero do erro, pressionando a tecla F16 tantas vezes que se necessitem, já que o mesmo erro pode encontrar-se em várias linhas do código Gravidade de código de mensagens

Gravidade Descrição

00 10 20 30 40 50

60 70 80 90 99

Informação Aviso Erro Erro grave Erro não deveria continuar Terminação anormal do trabalho ou programa Estado do sistema Integridade de dispositivos Alerta do sistema Integridade do sistema Ação

Funções em spooled file. Na linha de control tem as seguintes funções:

Comando Descrição T B Wn W-/+n Pn

Posiciona ao principio do spool Posiciona ao final do spool Posiciona na coluna n Posiciona na n coluna a partir de onde se encontra posicionado Posiciona o apontador na pagina n

F19 = mostra a tela a esquerda F20 = mostra a tela a direita.

PDF created with pdfFactory trial version www.pdffactory.com

Page 34: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 34 –

Comandos para manuseio de arquivos

DSPDBR Nos mostra todos os lógicos que estão relacionados com este arquivo. A forma de utilizar-se é: ⇒ DSPDBR F4101 ou ⇒ DSPDBR <F4>

Esta é uma parte do que nos mostra este comando

Display Data Base Relations (DSPDBR) Type choices, press Enter. File . . . . . . . . . . . . . . f4101 Name, generic*, *ALL Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB... Output . . . . . . . . . . . . . * *, *PRINT, *OUTFILE

*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+... 1/15/99 Display Data Base Relations DSPDBR Command Input File . . . . . . . . . . . . . . . . . . . : FILE F4101 Library . . . . . . . . . . . . . . . . . : *LIBL Member . . . . . . . . . . . . . . . . . . : MBR *NONE Record format . . . . . . . . . . . . . . . : RCDFMT *NONE Output . . . . . . . . . . . . . . . . . . : OUTPUT * Specifications Type of file . . . . . . . . . . . . . . . : Physical File . . . . . . . . . . . . . . . . . . . : F4101 Library . . . . . . . . . . . . . . . . . : ELAPRDDTAX Member . . . . . . . . . . . . . . . . . : *NONE Record format . . . . . . . . . . . . . . : *NONE Number of dependent files . . . . . . . . : 18 Files Dependent On Specified File Dependent File Library Dependency JREF Constraint F4101JA ELAPRDDTAX Data 1 F4101LJ ELAPRDDTAX Data F4101LK ELAPRDDTAX Data F4101LI ELAPRDDTAX Data F4101LA ELAPRDDTAX Data F4101LB ELAPRDDTAX Data F4101LC ELAPRDDTAX Data F4101LD ELAPRDDTAX Data F4101JD ELAPRDDTAX Data 1 F4101JE ELAPRDDTAX Data 1 F41021JC ELAPRDDTAX Data 2 F43090JA ELAPRDDTAX Data 2 F4101LB JDFSRC73 Data

PDF created with pdfFactory trial version www.pdffactory.com

Page 35: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 35 –

DSPFD Este comando mostra a descrição completa de um arquivo, como a biblioteca onde se encontra o fonte, o file, a data em que foi criada e por quem foi criado, o tipo de arquivo, número de campos que o formam, total de registros, e todos os atributos do arquivo, etc. ⇒ DSPFD F4101 ou ⇒ DSPFD <F4> o ENTER

Nos mostra esta tela donde escrevemos o nome do fonte a buscar e a biblioteca onde se encontra. Esta é parte do que nos mostra o DSPFD

Display File Description (DSPFD) Type choices, press Enter. File . . . . . . . . . . . . . . F4101 Name, generic*, *ALL Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB... Type of information . . . . . . *ALL *ALL, *BASATR, *ATR... + for more values ___ Output . . . . . . . . . . . . . * *, *PRINT, *OUTFILE File attributes . . . . . . . . *ALL *ALL, *DSPF, *PRTF, *DKTF... + for more values

*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+... 1/15/99 Display File Description DSPFD Command Input File . . . . . . . . . . . . . . . . . . . : FILE F4101 Library . . . . . . . . . . . . . . . . . : *LIBL Type of information . . . . . . . . . . . . : TYPE *ALL File attributes . . . . . . . . . . . . . . : FILEATR *ALL System . . . . . . . . . . . . . . . . . . : SYSTEM *LCL File Description Header File . . . . . . . . . . . . . . . . . . . : FILE F4101 Library . . . . . . . . . . . . . . . . . . : ELAPRDDTAX Type of file . . . . . . . . . . . . . . . : Physical File type . . . . . . . . . . . . . . . . . : FILETYPE *DATA Auxiliary storage pool ID . . . . . . . . . : 01 Data Base File Attributes Externally described file . . . . . . . . . : Yes File level identifier . . . . . . . . . . . : 0980401202049 reation date . . . . . . . . . . . . . . . : 04/01/98 Text 'description' . . . . . . . . . . . . : TEXT Item Master Distributed file . . . . . . . . . . . . . : No DBCS capable . . . . . . . . . . . . . . . : No Maximum members . . . . . . . . . . . . . . : MAXMBRS *NOMAX Number of constraints . . . . . . . . . . . : 0 Number of triggers . . . . . . . . . . . . : 0 Number of members . . . . . . . . . . . . . : 1 Member size . . . . . . . . . . . . . . . . : SIZE *NOMAX Allocate storage . . . . . . . . . . . . . : ALLOCATE *NO Contiguous storage . . . . . . . . . . . . : CONTIG *NO Preferred storage unit . . . . . . . . . . : UNIT *ANY Records to force a write . . . . . . . . . : FRCRATIO *NONE Maximum file wait time . . . . . . . . . . : WAITFILE *IMMED Maximum record wait time . . . . . . . . . : WAITRCD 10 Max % deleted records allowed . . . . . . . : DLTPCT *NONE

PDF created with pdfFactory trial version www.pdffactory.com

Page 36: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 36 –

DSPFFD Este comando nos serve para ver todos os campos e as características de cada um dos campos que formam o arquivo. ⇒ DSPFFD F4101 ou ⇒ DSPFFD com <F4> ou enter nos leva a seguinte tela onde damos o nome do arquivo e a biblioteca donde se encontra

DDSSPPOOBBJJDD Mostra a descrição de um objeto, nos mostra as caracteristicas completas de um objeto, em que biblioteca e file se encontra, quando foi criado e por quem, qual é o fonte deste objeto e donde se encontra, em que data foi criado e quando foi a ultima data de alteração, etc. ⇒ DSPOBJD P4190 ou ⇒ DSPOBJD ou pressionar <F4> o ENTER Mostra a mesma tela só que agora para buscar o objeto, damos o nome e a biblioteca donde se encontra, se não sabemos o nome de a biblioteca com *libl o toma da biblioteca donde o encontre primero, tem que especificar o tipo de objeto a buscar

Display File Field Description (DSPFFD) Type choices, press Enter. File . . . . . . . . . . . . . . f4101 Name, generic*, *ALL Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB... Output . . . . . . . . . . . . . * *, *PRINT, *OUTFILE

Display Object Description (DSPOBJD) Type choices, press Enter. Object . . . . . . . . . . . . . P4190 Name, generic*, *ALLUSR... Library . . . . . . . . . . . *LIBL Name, *LIBL, *USRLIBL... Object type . . . . . . . . . . *pgm *ALL, *ALRTBL, *AUTL... + for more values __ Detail . . . . . . . . . . . . . *BASIC *BASIC, *FULL, *SERVICE Output . . . . . . . . . . . . . * *, *PRINT, *OUTFILE

PDF created with pdfFactory trial version www.pdffactory.com

Page 37: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 37 –

WRKOBJ Trabalhando com objetos, com este comando podemos manejar os objetos, nos mostra a

lista de objetos que se encontram na biblioteca selecionada e depois manejar este objeto como copiar, apagar, alterar de biblioteca o objeto, entre outras coisas. ⇒ WRKOBJ P 4190 ou ⇒ WRKOBJ

Ao pressionar <F4> o enter nos mostra a seg. tela, donde especificaremos o objeto, ou se queremos ver todos os objetos no nome do objeto dar *all Nesta tela é onde se manuseiam os objetos no campo Opt dependendo da opção selecionada se podem copiar, renomear, apagar,etc. o objeto selecionado A opção 8 nos mostra os atributos do objeto, uma das facilidades que nos permite esta opção é saber em onde se encontra o fonte deste objeto, esta opção a obtemos se em vez de pressionar enter, pressionamos F4 o qual nos mostrará a seguinte tela.

Work with Objects Type options, press Enter. 2=Edit authority 3=Copy 4=Delete 5=Display authority 7=Rename 8=Display description 13=Change description Opt Object Type Library Attribute Text P4190 *PGM JDFOBJ73 RPG Location Detail Bottom Parameters for options 5, 7 and 13 or command ===> F3=Exit F4=Prompt F5=Refresh F9=Retrieve F11=Display names and types F12=Cancel F16=Repeat position to F17=Position to

Work with Objects (WRKOBJ) Type choices, press Enter. Object . . . . . . . . . . . . . p4190 Name, generic*, *ALL Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB... Object type . . . . . . . . . . *ALL *ALL, *ALRTBL, *AUTL...

Display Object Description (DSPOBJD) Type choices, press Enter. Object . . . . . . . . . . . . . > FIN00 Name, generic*, *ALLUSR... Library . . . . . . . . . . . > MTY2 Name, *LIBL, *USRLIBL... Object type . . . . . . . . . . > *FILE *ALL, *ALRTBL, *AUTL... Detail . . . . . . . . . . . . . > *SERVICE *BASIC, *FULL, *SERVICE Output . . . . . . . . . . . . . * *, *PRINT, *OUTFILE

Bottom F3=Exit F4=Prompt F5=Refresh F12=Cancel F13=How to use this display F24=More keys

PDF created with pdfFactory trial version www.pdffactory.com

Page 38: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 38 –

Nela escrevemos *SERVICE na opção Detail. O QUE É UM DSPF. (Display File). No ambiente AS/400 existe uma tela que se conhece como um arquivo de mostra. Uma

tela é criada para que o operador interaja com o AS/400, observando informação, entrando com dados e fazendo alterações dentro de um processo, as telas podem ser menus, mensagens do processo, etc. em conclusão uma tela seria um intermediário entre o usuário e o processo. Para criar uma tela se pode utilizar o utilitário SEU mas existe outro utilitário que é de grande ajuda a qual é o SDA (Screen Design Aid). Cada vez que se realiza uma tela, esta se compila.

Para entrar no utilitário SDA teclamos o comando STRSDA <ENTER> , a seguinte tela

mostra a tela do utilitário SDA, onde podemos desenhar menus, telas e a prova de arquivo de telas STRSDA <ENTER>.

AS/400 Screen Design Aid (SDA) Select one of the following: 1. Design screens 2. Design menus 3. Test display files Selection or command ===>1 F1=Help F3=Exit F4=Prompt F9=Retrieve F12=Cancel

A seguinte tela será onde especificamos o nome de nossa tela e o arquivo de fontes

onde vai ser guardada, assim como a biblioteca onde se localizará. Trabalhando com o desenhador de tela (SDA):

Design Screens Type choices, press Enter. Source file . . . . . . . . QDDSSRC Name, F4 for list Library . . . . . . . . . FIME Name, *LIBL, *CURLIB Member . . . . . . . . . . SCREEN Name, F4 for list F3=Exit F4=Prompt F12=Cancel

PDF created with pdfFactory trial version www.pdffactory.com

Page 39: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 39 –

Criar um novo registro: Com a opção 1(Add) nós podemos criar uma nova tela. Copiar um registro : Com a opção 3 (copy) nós podemos copiar o registro.

Eliminar um registro: Com a opção 4 (delete) se elimina um registro. Renomear um registro: Com a opção 7 (Rename) se renomea o registro.

Selecionar teclas : Com a opção 8 (Select keyword) se seleciona as teclas de função que se usaram para o registro de tela. Desenhar a tela : Com a opção 12 (Desing image) se desenha ou se modifica o registro de tela.

Depois de dar ENTER, aparece um novo registro na nossa tela.

No anterior se vê informação sobre nossa tela e seu registro, devemos especificar de que

tipo, se é uma tela normal utilizamos o tipo RECORD, e os tipos de telas que são mais comuns são telas de Sub-Files e estilos de menus.

Add New Record File . . . . . . : QDDSSRC Member . . . . . . : SCREEN Library . . . . : FIME Source type . . . : DSPF Type choices, press Enter. New record . . . . . . . . . . . . . . . SCREEN Name Type . . . . . . . . . . . . . . . . . . RECORD RECORD, USRDFN SFL, SFLMSG WINDOW, WDWSFL PULDWN, PDNSFL MNUBAR

Work with Display Records File . . . . . . : QDDSSRC Member . . . . . . : VISION Library . . . . : FIME Source type . . . : DSPF Type options, press Enter. 1=Add 2=Edit comments 3=Copy 4=Delete 7=Rename 8=Select keywords 12=Design image Opt Order Record Type Related Subfile Date DDS Error 11 v554123 f (No records in file) Bottom F3=Exit F12=Cancel F14=File-level keywords F15=File-level comments F17=Subset F24=More keys

Work with Display Records File . . . . . . : QDDSSRC Member . . . . . . : VISION Library . . . . : FIME Source type . . . : DSPF Type options, press Enter. 1=Add 2=Edit comments 3=Copy 4=Delete 7=Rename 8=Select keywords 12=Design image Opt Order Record Type Related Subfile Date DDS Error 11 v554123 f (No records in file) Bottom F3=Exit F12=Cancel F14=File-level keywords F15=File-level comments F17=Subset F24=More keys

PDF created with pdfFactory trial version www.pdffactory.com

Page 40: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 40 –

Acrescentar informação numa tela Existem diferentes formas de acrescentar informação na tela, a mais comum é o de

colocar os campos ou letras, entre apostrofe, exemplo: ‘MATRICULA :’ Para os campos que tem interrelação com a informação existente no AS/400, se utilizam

diferentes representações, dependendo do tipo, já sendo numérico ou caracter; a tabela seguinte demostrará as diferentes representações:

Tipo Entrada Salida Ambos Caracter Se representa

com “I” Se representa

com “O” Se representa

com “B” Numérico Se representa

com “3” Se representa

com “6” Se representa

com “9” No SDA é possivel definir campos pelo usuário ou campos que se encontram num

arquivo. Para definir um campo pelo usuário só necessita por o carácter “+” e especificar o tipo que se deseja utilizar :

Exemplo : +IIIIII Neste exemplo se define um campo de input de 6 caracteres. +OOOO Neste exemplo se define um campo de output de 4 caracteres. +BBBBBB Neste exemplo se define um campo de input/outoput de 6 caracteres. Outra forma mais comum para definir os campos na tela é escrevendo o carácter “+” Seguido do tipo a usar e entre parenteses “( )” o tamanho utilizado. Exemplo: +I(6) Neste exemplo se define um campo de input de 6 caracteres. +O(4) Neste exemplo se define um campo de output de 4 caracteres. +B(6) Neste exemplo se define um campo de input/outoput de 6 caracteres. Para definir um campo numérico se seguem os mesmos passos que para um caracter, só

que se utiliza o seguinte: Exemplo:

+3333 O +3(4) Neste exemplo se define um campo de input numérico de 4 posições. +6666 O +6(4) Neste exemplo se define um campo de output numérico de 4 posições. +999999 O +9(6) Neste exemplo se define um campo de input/outoput numérico de 6 posições.

Para definir um campo numerico com decimais só és necessário indicar um ponto ( . ) apartir de quantos decimais se utilizem, exemplo

+66.66 or +6(4,2) Este exemplo é um campo numérico de 2 posições com dois decimais.

PDF created with pdfFactory trial version www.pdffactory.com

Page 41: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 41 –

Tambem se pode definir campos existentes nos arquivos (campos referenciados), pressionando a tecla “F10” na qual nos presentará a seguinte tela:

Na qual especificamos o arquivo à utilizar assim como a biblioteca onde se encontra,

como tambem o registro à utilizar. Podemos escolher as seguintes opções : 1 = Mostra os campos do arquivo. 2 = Seleciona todos os campos do arquivo de input.

3 = Seleciona todos os campos do arquivo de output. 4 = Seleciona os campos do arquivo de input/output.

Com a opção 1 nos mostra a seguinte tela: Na qual podemos escolher os campos que necessitem para a tela e especifica-la de que

tipo a usaremos.

Select Database Files Type options and names, press Enter. 1=Display database field list 2=Select all fields for input (I) 3=Select all fields for output (O) 4=Select all fields for both (B) input and output Option Database File Library Record 1 F5541 MTY I5541 1

f x x x

F3=Exit F4=Prompt F12=Cancel

Select Database Fields Record . . . : I4105X Type information, press Enter. Number of fields to roll . . . . . . . . . . . . . . . . . . 8 Name of field to search for . . . . . . . . . . . . . . . . . s s Type options, press Enter. 1=Display extended field description 2=Select for input (I), 3=Select for output (O), 4=Select for both (B) Option Field Length Type Column Heading $$ITM 8,0 S Short Item No $$DSC1 30 A Description $$EFTJ 6,0 S Effective Date $$TRQT 15,0 P Trans QTY $$UM 2 A UM Bottom F3=Exit F12=Cancel

PDF created with pdfFactory trial version www.pdffactory.com

Page 42: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 42 –

Estes campos apareceram enumerados na parte inferior da tela e os podemos utilizar escrevendo na tela o caracter “&” seguido do número do campo que desejamos.

No exemplo anterior se seleciono o campo 2 no arquivo, este nos porá o campo em tela

com as mesmas características do campo do archivo. Trabalhando com campos: Mover um campo -,=.

Para mover um campo na tela tecle um ‘-‘ à esquerda do campo e na posição onde se deseja mover é teclado um ‘ =’ e depois pressione enter. Copiando um campo -,= = .

Para copiar um campo só é necessário teclar um ‘-‘ à esquerda inicio do campo e depois na posição onde se deseja a copia, tecle ‘= =’ e depois pressione enter. Eliminando campos

Para eliminar um campo só é necessário teclar um “D” ou “d” à esquerda do campo que se deseja eliminar e pressionar enter.

Moviendo um bloco de campos -,-, = .

Para mover um bloco primero se necessita marcar o bloco para isto se tecla um ‘-‘ no inicio e ao final do bloco , depois teclar um ‘=’ onde se deseja por o bloco e pressione enter.

Copiando um bloco -,-,= =

Para copiar um bloco se tecla um ‘-‘ ao inicio e ao final do bloco que se deseja copiar e na posição onde se deseja copiar , tecle um ‘= =’ e pressione enter. Eliminar um bloco --,--

Para eliminar um bloco se tecla ‘- - ‘ ao inicio e ao final do bloco depois pressionar enter e pressionar a tecla F12 para confirmar sua eliminação.

Consulta de alumnos Nombre BBBBBBBBBBBBBBB Apellidos BBBBBBBBBBBBBBB Direccion BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB Telefono BBBBBBBBB Ciudad &2 1:$$ITM 2:$$DSC1 3:$$EFTJ 4:$$TRQT 5:$$UM

PDF created with pdfFactory trial version www.pdffactory.com

Page 43: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 43 –

Mover um espaço. Para mover os campos um ou mais espaços só é necessário teclar um ‘>’ se se

deseja mover à direita e ‘<’ um para a esquerda, se pode mover os espaços que se deseja, dependendo da quantidade do símbolo ‘< , >’ que se tecle. Modificando um campo.

Só se necessita antepor o carácter “?” no campo que se quer modificar, mostrará na

parte inferior da tela, o campo na qual se quer modificar. Podemos modificar o nome do campo assim como o tamanho do campo Nota: só nos campos definidos pelo usuário podemos alterar o tamanho, mas os campos referenciados dos arquivos, não. Informação dos campos Para obter informação dos campos definidos na tela só se antepõe o caracter “*” no campo que se requeira.

Pantalla de practica¡ DD/DD/DD TT:TT:TT

Nombre ?BBBBBBBBBB direccion BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB telefono BBBBBBBBB 33333333- IIIIIIIIIIIIIIIIIIIIIIIIIIIIII 333333- VNOMBRE Length: 00010 TEXT:

Pantalla de practica DD/DD/DD TT:TT:TT

Nombre *BBBBBBBBBB direccion BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB telefono BBBBBBBBB 33333333- IIIIIIIIIIIIIIIIIIIIIIIIIIIIII 333333-

PDF created with pdfFactory trial version www.pdffactory.com

Page 44: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 44 –

Esta opção nos mostrará a seguinte tela onde se encontram todos os atributos do campo, onde se podem modificar os atributos segundo sua necessidade de usuário, os mais usuais são os seguintes:

PDF created with pdfFactory trial version www.pdffactory.com

Page 45: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 45 –

Display attributes : Nos mostra todos os atributos do campo, exemplo: Underline, high

intensity, não visualiza-lo, protege-lo etc. Na qual se seleciona com “Y” e liga-lo um indicador para poder utiliza-lo no programa.

Keying Options : Nesta opção podemos especificar as funções nos campos por exemplo: preencher com brancos ou preencher com zeros.

Select Display Attributes Field . . . . . : VNOMBRE Usage . . : B Length . . . . : 12 Row . . . : 6 Column . . . : 28 Type choices, press Enter. Keyword Y=Yes Indicators/+ Field conditioning . . . . . . . . . . . __ __ __ Program-to-system field . . . . . . . . _________ __ __ __ Display attributes: DSPATR High intensity . . . . . . . . . . . . HI Y 80 __ __ Reverse image . . . . . . . . . . . . RI _ __ __ __ Column separators . . . . . . . . . . CS _ __ __ __ Blink . . . . . . . . . . . . . . . . BL _ __ __ __ Nondisplay . . . . . . . . . . . . . . ND _ __ __ __ Underline . . . . . . . . . . . . . . UL _ __ __ __ Position cursor . . . . . . . . . . . PC _ __ __ __ Set modified data tag . . . . . . . . MDT _ __ __ __ Protect field . . . . . . . . . . . . PR _ __ __ __ Operator ID magnetic card . . . . . . OID _ __ __ __ Select by light pen . . . . . . . . . SP _ __ __ __ F3=Exit F12=Cancel

Select Field Keywords Field . . . . . : VNOMBRES Usage . . : B Length . . . . : 15 Row . . . : 6 Column . . . : 33 Type choices, press Enter. Y=Yes For Field Type Display attributes . . . . . . . All except Hidden Colors . . . . . . . . . . . . . All except Hidden Keying options . . . . . . . . . Hidden, Input or Both Validity check . . . . . . . . . Input or Both, not float Input keywords . . . . . . . . . Input or Both General keywords . . . . . . . . All types Database reference . . . . . . . Hidden, Input, Output, Both Error messages . . . . . . . . . Input, Output, Both Message ID (MSGID) . . . . . . . Output or Both TEXT keyword . . . . . . . . . . __________________ F3=Exit F4=Display Selected Keywords F12=Cancel

Select Keying Options Field . . . . . : VNOMBRE Usage . . : B Length . . . . : 12 Row . . . : 6 Column . . . : 2 Type choices, press Enter. Keyword Y=Yes Indicators/+ Keying options: CHECK Mandatory entry . . . . . . . . . . . ME _ ___ ___ ___ Automatic record advance . . . . . . ER _ ___ ___ ___ Mandatory fill . . . . . . . . . . . MF _ Field exit key required . . . . . . . FE _ Right adjust blank fill . . . . . . . RB _ Right adjust zero fill . . . . . . . RZ _ Move cursor right to left . . . . . . RL _ Lowercase entry allowed . . . . . . . LC _ Keyboard shift attribute . . . . . . . _ N A X W I D M J O E G F3=Exit F12=Cancel

PDF created with pdfFactory trial version www.pdffactory.com

Page 46: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 46 –

PDF created with pdfFactory trial version www.pdffactory.com

Page 47: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 47 –

Validity Check Keywords Valida os dados de entrada dos campos, por meio de ranges, compara-los com um Valor ou definir uma lista de valores. Error Message Para definir uma mensagem para um campo se utiliza a opção de Error Message, na qual

nos mostra a seguinte tela, na qual se assinala um indicador para poder controla-lo no programa e se escreve a mensagem que se requer. O número de indicador nos serve para que quando no programa ocurra um erro assinalado este se ativa e se reflita na tela inferior ou seja na linha 24.

Nota: Há que ter cuidado de não repetir os indicadores.

Define Error Messages

Field . . . . . : VNOMBRE Usage . . : B Length . . . . : 12 Row . . . : 6 Column . . . : 28 Type parameters, press Enter. Indicators/+ ERRMSG - Message Text More Ind

80 __ _Este articulo no existe________________________ _ _ __ __ __ ________________________________________________ _ _ __ __ __ ________________________________________________ _ _ __ __ __ ________________________________________________ _ _ __ __ __ ________________________________________________ _ _

Bottom Indicators/+ ERRMSGID File Library Ind Name __ __ __ ________ _________ ________ __ _________

__ __ __ ________ _________ ________ __ _________ __ __ __ ________ _________ ________ __ _________ __ __ __ ________ _________ ________ __ _________ __ __ __ ________ _________ ________ __ _________

Bottom F3=Exit F12=Cancel

Define Validity Check Keywords Field . . . . . : VNOMBRE Usage . . : B Length . . . . : 12 Row . . . : 6 Column . . . : 28 Type parameters for ONE of the following keywords, press Enter. Keyword Parameters More RANGE Low . . . . ‘1’ High . . . . ‘9’ COMP Operator . . Value . . . VALUES List . . . . Type choices, press Enter. Keyword Y=Yes Immed Validity check: CHECK Name extended field . . . . . . . . . . . . VNE _ Name field . . . . . . . . . . . . . . . . . VN _ Allow blanks . . . . . . . . . . . . . . . . AB _ Modulus 10 self check . . . . . . . . . . . M10 / M10F _ _ Modulus 11 self check . . . . . . . . . . . M11 / M11F _ _ More... F3=Exit F12=Cancel

PDF created with pdfFactory trial version www.pdffactory.com

Page 48: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 48 –

Para definir as teclas de função que se usarão na tela se devem especificar o nivel de registro, isto é, que se deve estar na tela display record e com a opção 8 (select keyword).

A qual mostrará a seguinte tela: Com a opção Indicador keyword se definem as teclas de funções à utilizar. Nesta tela se definem as teclas de função, se podem definir todas as teclas que se desejam,

estas podem ser de F1…F24, Re Pag., Av. Pag. etc. As teclas de função declaradas nas telas funcionam da seguinte maneira, quando o usuário pressione a tecla correspondente ao iniciador este se prenderá pelo tanto no programa saberemos quando este ocorra.

Work with Display Records File . . . . . . : QDDSSRC Member . . . . . . : VFIN00 Library . . . . : QGPL Source type . . . : DSPF Type options, press Enter. 1=Add 2=Edit comments 3=Copy 4=Delete 7=Rename 8=Select keywords 12=Design image Opt Order Record Type Related Subfile Date DDS Error __ ________ _8 __10 VFIN001 RECORD 01/12/99 Bottom F3=Exit F12=Cancel F14=File-level keywords F15=File-level comments F17=Subset F24=More keys

Select Record Keywords Record . . . : VFIN001 Type choices, press Enter. Y=Yes General keywords . . . . . . . . _ Indicator keywords . . . . . . . Y Application help . . . . . . . . _ Help keywords . . . . . . . . . . _ Output keywords . . . . . . . . . _ Input keywords . . . . . . . . . _ Overlay keywords . . . . . . . . _ Print keywords . . . . . . . . . _ ALTNAME keyword . . . . . . . . . ______ TEXT keyword . . . . . . . . . . _______________________ F3=Exit F4=Display Selected Keywords F12=Cancel

Define Indicator Keywords Record . . . : VFIN001 Type keywords and parameters, press Enter. Conditioned keywords: CFnn CAnn CLEAR PAGEDOWN/ROLLUP PAGEUP/ROLLDOWN HOME HELP HLPRTN Unconditioned keywords: INDTXT VLDCMDKEY SETOF CHANGE Keyword Indicators/+ Resp Text CF01 __ __ __ 01_ ________________________________________________ ______ __ __ __ ___ ________________________________________________ ______ __ __ __ ___ ________________________________________________ ______ __ __ __ ___ ________________________________________________ ______ __ __ __ ___ ________________________________________________ ______ __ __ __ ___ ________________________________________________ ______ __ __ __ ___ ________________________________________________ ______ __ __ __ ___ ________________________________________________ ______ __ __ __ ___ ________________________________________________ Bottom F3=Exit F12=Cancel

PDF created with pdfFactory trial version www.pdffactory.com

Page 49: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 49 –

Para indicar o uso de uma tecla de função se tecla ‘CFnn ’ e o número da função que se

utiliza, exemplo para definir a tecla F3 que seria a de saída ou F12 para cancelar a operação tería que definir no keyword CF03 ou CF12 receptivamente, a qual se lhe assinala um indicador, geralmente se opta pelo numero da função.

Funções mais usuais. F3 ou F12 .- Sair , ao pressionar qualquier tecla se abandona o desenho. F14 .- Régua., ao pressionar esta tecla nos mostra uma régua, na posição atual

do cursor, ao pressionar novamente a tecla, a regua desaparece. F15 .- Imprimir, ao pressionar esta tecla se imprime o que tenhamos na tela.

F18 .- Ao pressionar esta tecla envía o cursor à posição do campo seguinte. F19 .- Ao pressionar esta tecla envía o cursor à posição do campo anterior. F22 .- Ao pressionar esta tecla mostra a linha de comando, onde podemos executar qualquer comando de OS/400.

Ambiente Data Description Specifications (DDS). O ambiente DDS é o método nativo preferentemente para descrever dados no equipamento AS/400 e consiste do seguinte: 1.- arquivos físicos. 2.- arquivos lógicos.

3.- arquivos de tela. 4.- arquivos para impresão (reports).

todos os arquivos descritos por DDS podem ser usados por todos os componentes de software do AS/400. Codificação de Arquivos Físicos. OBJETIVOS. Codificar especificações de descrição de dados DDS e criar arquivos físicos no equipamento AS/400. Explicar a função dos campos de arquivos referenciados e codificar a DDS para criar um arquivo para a base de dados do equipamento AS/400.

O ‘RPG’ maneja formatos físicos ao gerar programas. Estes formatos requerem uma ordem determinada e é o seguinte: (estes são os mais comuns)

(H) CONTROL (F) DESCRIÇÃO DE ARQUIVOS (E) ADICIONAIS

PDF created with pdfFactory trial version www.pdffactory.com

Page 50: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 50 –

(I) ENTRADA C) CONTROL (O) SAÍDA (este é pouco comun em ‘JDE’)

ESPECIFICAÇÕES DE CONTROL: LETRA ‘H’ Para definir dados gerais e comentários do programa Columns . . . : 1 71 Browse MTY2/JDESRC SEU==> P550001 FMT H .....H........1..CDYI....S..............1.F............................ *************** Beginning of data ************************************* 0001.00 H/TITLE P550001 - Actualizacion de fechas de conteo por mo 0002.00 H* --------------------------------------------------------------- 0003.00 H* 0004.00 H* This unpublished material is proprietary to 0005.00 H* J. D. Edwards & Company. All rights reserved.

ESPECIFICAÇÕES DE ARQUIVOS: LETRA ‘F’

AS ESPECIFICAÇÕES DE DESCRIÇÃO DE ARQUIVOS F) DEFINEM

TODOS OS ARQUIVOS REQUERIDOS NO PROGRAMA.

NA CONTINUAÇÃO VEMOS EXEMPLOS NESTE TIPO DE FORMATO:

SEU==> P550004 FMT FX . ..Ffilename+ IPEAF........L..I........Device+......KExit++++Entry++A....U 0034.00 FF0001 IF E K DISK UC 0035.00 FF41021LAIF E K DISK UC 0036.00 F I41021 KRENAMEI41021A 0037.00 FF550004 O E K DISK UC 0038.00 FDSP01 CF E Workstn 0039.00 FR550004 O E Printer

Pmt SeqNbr Filename Typ Desig EOF Seq Fmt Mode RAT Device K

FX 0034.00 F0001__ I F _ _ E _ K DISK___ _ Exit Entry A/U Cond _____ ______ _ UC

PDF created with pdfFactory trial version www.pdffactory.com

Page 51: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 51 –

Type.- I- Input, O- Output, U- Update, C- Combined Desig- P- Primario, F- Full. Fmt- F- Descrição por Programa, E- Descrição Externa RAT- K- Indexado (só para Desc. Ext.), ‘ ‘= Sequencial. Device- Disk, Workstn, Printer. Columns . . . : 1 71 Browse MTY2/JDESRC SEU==> P550004 FMT FC ... ..F..........……..Ext-record..................RcdnbrKOption….Entry+++.... 0036.00 F I41021 KRENAMEI41021A 0037.00 FF550004 O E K DISK UC 0038.00 F**************************************************************** Pmt SeqNbr ExtRcd RcdNbrFld Cont Option Entry FC 0036.00 I41021 _______ K RENAME I41021A

ESPECIFICAÇÕES ADICIONAIS: LETRA ‘E’

ESTE FORMATO SE UTILIZA PARA DEFINIR TABELAS I/O E ARRAYS.

Columns . . . : 1 71 Browse MTY2/JDESRC SEU==> P550001 FMT E .....E....FromfileTofile++Name++N/rN/tbLenPDSArrnamLenPDSComments++++++ 0043.00 E* PROGRAM TABLES AND ARRAYS 0044.00 E* ------------------------- 0046.00 E EMK 64 4 Error Msg 0048.00 E* Totaling Array for – Units - Returned 0049.00 E TTDOCO 10 8 0 0050.00 E NOM 1 1 30 Tabla Cías. 1307.00 C*********************************************************** 1308.00 ** 1309.00 BLACK & DECKER

Pmt SeqNbr FromFile ToFile Tbl /Rcd /Tbl Len P/B/L/R Dec A/D E 0049.00 _______ ______ TTDOCO ____ _10 __8 ___ __0 ___

PDF created with pdfFactory trial version www.pdffactory.com

Page 52: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 52 –

AltName Len P/B/L/R Dec A/D Comment _______ ___ _ _ _ ________

PDF created with pdfFactory trial version www.pdffactory.com

Page 53: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 53 –

ESPECIFICAÇÕES DE ENTRADA: LETRA ‘I’

As especificações de entrada (i) descrevem os registros e campos a ser usados no programa. Não se necessitam as especificações de entrada (i) para os arquivos descritos externamente. Columns . . . : 1 71 Browse MTY2/JDESRC SEU==> P550004 FMT DS .....IDsname...NODsExt-file++.............OccrLen+.................... 0057.00 IDSTXT DS 240 0058.00 I 1 40 VTX001 0059.00 I 41 80 VTX002 0060.00 I 81 120 VTX003 Pmt SeqNbr DtaStrName Nbr Opt DS ExtFName Occurs Len DS 0057.00 DSTXT _ _ DS _________ ____ 240 Columns . . . : 1 71 Browse MTY2/JDESRC SEU==> P550004 FMT J ....I.............……………......................PFromTo++ DField+...L1M1FrPlMnZr. 0058.00 I 1 40 VTX001 0059.00 I 41 80 VTX002

FORMATO PARA DEFINIR CONSTANTES FMT N .....I..............Namedconstant+++++++++C.........Fldnme............. 0020.00 I 'abcdefghijklmnopqrstuvw -C MINS 0021.00 I 'xyz' Pmt SeqNbr Constant DataType FldName N 0019.00 '0123456789' C NUM

ESPECIFICAÇÕES DE CALCULO: LETRA ‘C’ As especificações de calculo (C) descrevem as operações à realizar pelo programa e indicam a ordem em que devem realizar-se.

PDF created with pdfFactory trial version www.pdffactory.com

Page 54: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 54 –

FMT C .....CL0N01N02N03Factor1+++Opcde.Factor2+++ResultLenDHHiLoEqComments++++ 0125.00 C* Read master file input. 0127.00 C READ I4102A 99LR 0130.00 C CANTID MULT COSUNI $PRECI Pmt SeqNbr Lvl N01N02N03 Factor 1 OpCode Factor 2 Result C 0127.00 READ I4102A Len Dec H/N/P Hi Lo Eq Comment 99 LR leitura

USO DE INDICADORES FMT C .....CL0N01N02N03Factor1+++Opcde…Factor2+++ResultLenDHHiLoEqComments++++ 0153.00 C READ CLIENTES 99 0154.00 C *IN99 IFEQ ‘0’ 0155.00 C MOVELMCU $MCU 0156.00 C ……. 0157.00 C MOVE ‘1’ *IN33

ESTADOS DE UN INDICADOR: A) ATIVADO => ‘ON’ = ‘1’

B) DESATIVADO => ‘OFF’ = ‘0’

CICLO LÓGICO DO RPG

SAÍDA DE DETALHE

LER UM REGISTR

O

MOVER DADOS

A CAMPOS

CALCULOS DE DETALHE

PDF created with pdfFactory trial version www.pdffactory.com

Page 55: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 55 –

PROGRAMAÇÃO BATCH

ARQUIIVO HISTÓRICO DE VENDAS

PROGRAMA DE ANALISE DE

VENDAS

INFORME DE VENDAS

TOTAL 2,345.70 FEBRERO 8,200.00

………………..

PROGRAMAÇÃO BATCH

VS. PROGRAMAÇÃO INTERATIVA

PDF created with pdfFactory trial version www.pdffactory.com

Page 56: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 56 –

PPRROOGGRRAAMMAAÇÇÃÃOO IINNTTEERRAATTIIVVAA

PPRREEPPAARRAAÇÇÃÃOO PPRRÉÉVVIIAA ÀÀ CCOODDIIFFIICCAAÇÇÃÃOO DDOO PPRROOGGRRAAMMAA - DESCRIÇÃO DO PROGRAMA (Narrativa do Programa) - IDENTIFICAÇÃO DE ARQUIVOS DE DADOS - IDENTIFICAÇÃO DE TELAS - IDENTIFICAÇÃO DE ARQUIVOS DE IMPRESSÃO - DIAGRAMA DE FLUXO E PSEUDOCÓDIGO

ARQUIVO DE CLIENTES

PROGRAMA DE CONSULTA DE

CLIENTES

PDF created with pdfFactory trial version www.pdffactory.com

Page 57: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 57 –

EXEMPLO: DESCRIÇÃO DO PROGRAMA SE NECESSITA UM PROGRAMA EM RPG PARA CONSULTAR A DIREÇÃO E TELEFONE DOS CLIENTES. IDENTIFICAÇÃO DE ARQUIVOS IDENTIFICAÇÃO DE ARQUIVOS DDS DO ARQUIVO DE CLIENTES ** ARQUIIVO FISICO: ‘CLIENTES’ BIBLIOTECA: RPGLIB R REGCLI NUMCLI 6 0 NOME 30 DIRECC 15 TELEF 7 0 TIPOCL 3 LIMICR 8 0 STATUS 1 K NUMCLI

CURSOS

CURSOS

PROGRAMAÇÃO CURSOS

INSCRIÇÕES

DIAGRAMA DE ENTIDADE-RELACION

PDF created with pdfFactory trial version www.pdffactory.com

Page 58: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 58 –

IDENTIFICAÇÃO DE TELAS . TELAS EXISTENTES Opção 3 de SDA DDS . TELAS NOVAS Opção 1 de SDA DDS

OPERAÇÕES ARITMÉTICAS ADD (SOMAR) SUB (SUBTRAIR) MULT (MULTIPLICAR) SQRT (RAIZ QUADRADA)

DIV (DIVIDIR) Z-ADD (INICIALIZA E MOVE NÚMERO)

1.- Só para campos numéricos 2.- A operação não altera o conteúdo dos campos do fator 1 e 2 a menos de que se especifiquem tambem no campo de resultado. 3.- Qualquer dado colocado no campo de resultado regrava ao dado que existia nesse campo. 4.- O RPG/400 não gera erros se há desdobramentos aritméticos. 5.- Nas operações: add, sub, mult e div, o fator 1 pode omitir-se. 6.- Se o fator 1 não se especifica, a operação se realiza como se no fator

1 e no campo de resultado existirá o mesmo campo.

7.- Todos os campos devem estar definidos no programa, a definição pode vir de:

- Um arquivo descrito externamente. - Um arquivo descrito por programa (especificações i) - Especificações de cálculo.

PDF created with pdfFactory trial version www.pdffactory.com

Page 59: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 59 –

Operações com arquivos

SETLL (Set Lower Limit) O comando SETLL é usado para posicionar o apontador num registro buscado, o apontador se posicionará acima do registro que seja igual ou maior à chave dada como parâmetro de busca. Sintaxe Fator 1 OpCode Fator2 Hi Lo Eq KEY SETLL FILE ou REG. In In Existem duas formas de usar o SETLL - Se pode usar para posicionar e verificar que o apontador se posicione antes do primeiro

registro que seja igual à chave Exemplo Fator 1 OpCode Fator2 Hi Lo Eq IMKY01 SETLL I4101 71 O indicador 71 se ativará se ao fazer o SETLL se encontra um registro que seja igual ao argumento de busca (IMKY01) - Posiciona o apontador antes do registro que seja maior ou igual ao argumento de busca e com

o indicador no HI verifica que se cumpra esta condição Exemplo Fator 1 OpCode Fator2 Hi Lo Eq IMKY01 SETLL I4101 72 Neste caso é o inverso e o indicador se ativará se nenhum registro for maior ou igual à chave - Se podem usar ambos indicadores ao mesmo tempo se assim se necessita Exemplo Fator 1 OpCode Fator2 Hi Lo Eq IMKY01 SETLL I4101 72 71 Por exemplo, se tivermos os seguintes valores para a chave IMKY01 23 1) se IMKY01=60 30 2) se IMKY01=35 60 3) sieIMKY01=90 70 80 85 Para o caso 1 Para o caso 2 1) indicador 71 se ativa 1) indicador 72 não se ativa

PDF created with pdfFactory trial version www.pdffactory.com

Page 60: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 60 –

2) indicador 71 não se ativa 2) indicador 72 não se ativa 3) indicador 71 não se ativa 3) indicador 72 se ativa

PDF created with pdfFactory trial version www.pdffactory.com

Page 61: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 61 –

SETGT Posiciona o apontador antes do primeiro registro que seja maior à chave dada Sintaxe Fator 1 OpCode Fator2 Hi Lo Eq KEY SETGT FILE ou REG. In In KEY.- é a chave que se vai usar para posicionar o apontador no registro buscado FILE ou REG.- nome do arquivo ou registro que se vai fazer o SETGT Fator 1 OpCode Fator2 Hi Lo Eq IMKY01 SETGT I4101 READ Faz uma leitura sequencial ao arquivo Sintaxe Fator 1 OpCode Fator2 Hi Lo Eq READ File ou Reg. File ou Reg.- nome do file ou registro que se vai ler Exemplo. Fator 1 OpCode Fator2 Hi Lo Eq READ I41021 READE È parecido ao read, com a diferença de que lê só os registros que sejam iguais à chave. O indicador se prenderá quando o registro lido não seja igual à chave dada ou quando se chegue ao fim do arquivo Sintaxe Fator 1 OpCode Fator2 Hi Lo Eq Key READE File ou Reg. 81 KEY.- é a chave que se vai usar para posicionar o apontador no registro buscado FILE ou REG.- nome do arquivo ou registro que se vai fazer o READE Exemplo. Fator 1 OpCode Fator2 Hi Lo Eq IMITM READE I4101 81

PDF created with pdfFactory trial version www.pdffactory.com

Page 62: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 62 –

Supondo que o valor de IMITM=1542 e que o arquivo I41021 estivera chaveado por IMITM só vão a lêr os registros do F4101 cujo IMITM seja igual a 1542, e o indicador 81 se prendería quando já não sejam iguais os registros à chave buscada. O READE quase sempre se maneja em conjunto com o SETLL, para primero posicionar o apontador e logo ir lendo os registros que sejam iguais à chave especificada. READP Lê o registro anterior, ao que está posicionado atualmente, faz uma leitura regressiva Sintaxe Fator 1 OpCode Fator2 Hi Lo Eq READP File ou Reg. 81 Exemplo. Fator 1 OpCode Fator2 Hi Lo Eq READP I4101A 81 Por exemplo se o registro em que se encontra atualmente 45 50 ao fazer o READP 52 no que se encontra atualmente 60 CHAIN Posiciona e lê o registro que cumpra com a chave dada, este comando é utilizado para fazer uma busca direta. O indicador se ativará quando não se encontre nenhum registro que cumpra com a chave, se o indicador está apagado quer dizer que se encontrou o registro, o lê e se posiciona no primeiro registro que cumpra com a chave. Sintaxe Fator 1 OpCode Fator2 Hi Lo Eq Key CHAIN File ou Reg. 81 KEY.- é a chave que se vai usar para posicionar o apontador no registro buscado FILE ou REG.- nome do arquivo ou registro que se vai fazer o CHAIN Exemplo. Fator 1 OpCode Fator2 Hi Lo Eq LIKY01 CHAIN I41021 81

PDF created with pdfFactory trial version www.pdffactory.com

Page 63: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 63 –

Operações aritméticas:

ADD Operação de soma Sintaxe Fator 1 OpCode Fator2 Valor1 ADD Valor2 Resultado Resultado= Valor1 + Valor2 Fator 1 OpCode Fator2 ADD Valor Resultado Resultado= Resultado + Valor Exemplo. Fator 1 OpCode Fator2 Preço ADD Iva QuantT 15 2 NOTA: Tem que definir os campos de trabalho neste caso QuanT se definiu como um campo númerico de 15 inteiros com 2 decimais, só é necessário defini-los uma vez, o campo de preço e Iva devem estar definidos se não vem de nenhum arquivo. SUB Operação de subtração Sintaxe Fator 1 OpCode Fator2 Valor1 SUB Valor2 Resultado Resultado= Valor1 – Valor2 Fator 1 OpCode Fator2 SUB Valor1 Resultado Resultado= Resultado – Valor1 Valor1.- Quantidade à subtrair Valor2.- Quantidade à que se vai subtrair Resultado.- variável donde se dará o resultado Exemplo. Fator 1 OpCode Fator2 QuantInv SUB QuantVend QuantRest 15 0

PDF created with pdfFactory trial version www.pdffactory.com

Page 64: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 64 –

MULT Operação de multiplicação Sintaxe Fator1 OpCode Fator2 Resultado Len Dec Valor1 MULT Valor2 Resultado 15 0 Resultado= Valor1 * Valor2 Fator1 OpCode Fator2 Len Dec MULT Valor1 Resultado 15 0 Resultado= Resultado * Valor1 Nota: o campo de resultado deve estar definido, tem que especificar que seja númerico, seu tamanho e número de decimais DIV Operação de divisão Sintaxe Fator1 OpCode Fator2 Resultado Len Dec Valor1 DIV Valor2 resultado 15 0 Resultado= Valor1/ Valor2 Fator1 OpCode Fator2 Len Dec DIV Valor1 Resultado 15 0 Resultado= Resultado/Valor1 Fator1 OpCode Fator2 Resultado Len Dec Quant1 DIV 5 Quant_Div 15 2 Quant_Div = Quant1/5= 450.2/5= 90.04 SQRT Raiz quadrada Fator1 OpCode Fator2 Resultado Len Dec SQRT Valor resultado 15 0 Valor.- quantidade que se vai a ter a raiz quadrada Exemplo. Fator1 OpCode Fator2 Resultado Len Dec SQRT 100 RaízC 15 0 RaízC= 10

PDF created with pdfFactory trial version www.pdffactory.com

Page 65: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 65 –

Mover Dados

Z-ADD A operação Z-ADD serve para inicializar o campo de resultado com o valor do fator1, esta operação só é valida para campos numéricos Sintaxe Fator1 OpCode Fator2 Resultado Len Dec Z-ADD Valor2 Resultado 15 0 Valor2 = quantidade com que se vai inicializar o campo de resultado Exemplo. Fator1 OpCode Fator2 Resultado Len Dec Z-ADD 500 Quant 15 0 Que daria Quant = 500 Nota: ambos devem ser do tipo numérico, com o Z-ADD não se utiliza o fator1 MOVE Esta operação é utilizada para mover dados e alinhar-los à direita, a operação MOVE transfere os caracteres do fator 2 ao campo de resultado. Sintaxe Fator1 OpCode Fator2 Resultado Len Dec MOVE Campo2 Campo3 20 Há várias maneiras que se podem mover os dados com move, a continuação se dão alguns exemplos para o move Caso1 Quando ambos campos são de tipo carácter e o campo de resultado é mais largo que o fator 2 Exemplo

ANTES

Fator2= F I L E

Resultado= S O F T W A R E

DEPOIS Resultado= S O F T F I L E

PDF created with pdfFactory trial version www.pdffactory.com

Page 66: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 66 –

Caso 2 Quando ambos campos são de tipo númerico e o campo de resultado é mais largo que o fator 2 ANTES Fator2= 7 8 9

Resultado= 1 2 3 4 5 6

DEPOIS Resultado= 1 2 3 7 8 9 Caso 3 O fator 2 é númerico e o campo resultado é tipo carácter e é mais largo que o fator2 ANTES Campo1= 2 3 4

Campo2= u m d o i s

DEPOIS Campo2= u m d 2 3 4 Caso 4 Ambos campos são de tipo caracter só que o campo de resultado é mais curto que o fator2 ANTES Fator2= u m d o i s

Resultado= t r e s

DESPUES Resultado= d o i s Caso 5 Ambos campos são numéricos, o campo resultado é mais curto que o fator2 ANTES Campo1= u m d o i s

Campo2= t r e s

DEPOIS Campo2= d o i s

PDF created with pdfFactory trial version www.pdffactory.com

Page 67: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 67 –

MOVEL A operação MOVEL transfere os caracteres do fator2 ao campo de resultado. A forma em que move os caracteres é muito parecida com a MOVEL. Estes são alguns exemplos Caso 1 O campo resultado é mais largo que o do fator2, ambos campos são de tipo carácter ANTES Fator2= F I L E

Resultado= S O F T W A R E

DEPOIS Resultado= F I L E W A R E Caso 2 O campo resultado é mais largo que o do fator2, ambos campos são de tipo numérico ANTES Fator2= 1 2 3 4

Resultado= 5 6 7 8 9 0 1 2

DEPOIS Resultado= 1 2 3 4 9 0 1 2 Os demais exemplos são parecidos aos vistos no move só que em lugar de alinhar o campo do fator2 à direita o alinha à esquerda ao utilizar o MOVEL MOVEA Move todos os campos de um array para uma variable Sintaxe Fator1 OpCode Fator2 Resultad Len Dec MOVEA NomArray VarResult Long Por exemplo se temos um array chamado NAME de tamanho 10, tipo caracter e se quer mover para uma variável chamada ALUNO do mesmo tamanho e tipo.

PDF created with pdfFactory trial version www.pdffactory.com

Page 68: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 68 –

NAME E D G A R O M A R 1 2 3 4 5 6 7 8 9 10 Factor1 OpCode Factor2 Resultad Len Dec MOVEA NAME Aluno 10 Ao fazer o MOVEA que daria: Aluno= EDGAR OMAR

Condicionais e Ciclos

IFxx Condição IFxx, é um condicional para realizar determinada ação ou não Sintaxe Fator1 OpCode Fator2 Resultado Len Dec Campo1 Ifxx

{Operac ELSE {Operac ENDIF

Campo2

Campo1.- campo que se vai comparar xx.- tipo de comparação, podem ser: EQ,NE,GE,GT,LE,LT Campo2.- variavel ou valor com o que se comparará Tambem se podem adicionar os operadores lógicos AND e OR Sintaxe Fator1 OpCode Fator2 Resultado Len Dec Campo1 IFxx

ANDxx Orxx {Operac ENDIF

Campo2

Exemplo Fator1 OpCode Fator2 Resultado Len Dec $DOC $CANT

IFEQ ANDNE MOVE ELSE MOVE ENDIF

‘PA’ ’0’ ‘A’ ‘B’

CLIEN CLIEN

1

PDF created with pdfFactory trial version www.pdffactory.com

Page 69: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 69 –

CASxx Este comando permite fazer uma seleção da subrotina a executar; se se cumpre a comparação entre o fator1 e o fator2, a subrotina especificada no campo resultante é executada. Sintaxe Fator1 OpCode Fator2 Resultado Len Dec Campo1 CASxx Campo2 NomSubrotina Exemplo. Factor1 OpCode Factor2 Resultad Len Dec Mov CASEQ ‘b’ Baixa CABxx Este comando permite fazer uma comparação entre o fator1 e o fator2; se esta comparação resultar verdadeira o programa mandará o controle ao TAG associado com a etiqueta especificada no campo resultante Sintaxe Fator1 OpCode Fator2 Resultado Len Dec Campo1 CABxx Campo2 Etiqueta Exemplo. Fator1 OpCode Fator2 Resultado Len Dec Mov CABEQ ‘1’ Alta DO Inicia e processa um grupo de operações e se levam à cabo tantas vezes como se especifique no contador ou variavel Sintaxes Fator1 OpCode Fator2 Resultado Len Dec DO

{Operac ENDDO

Cte. Ou Var

ejem Fator1 OpCode Fator2 Resultado Len Dec DO

Add ENDDO

10 2

Sum

2

0

Estará somando 2 a Sum até que sejam 10 vezes, que é o que se especificou

PDF created with pdfFactory trial version www.pdffactory.com

Page 70: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 70 –

DOWxx Este ciclo se vai a levar à cabo até a condição especificada para este ciclo seja verdadeira Sintaxe Fator1 OpCode Fator2 Resultado Len Dec Campo1 DOWxx

{Operac ENDDO

Campo2

Campo1.- campo que se vai comparar xx.- tipo de comparação, podem ser: EQ,NE,GE,GT,LE,LT Campo2.- variavel ou valor com o que se comparará Fator1 OpCode Fator2 Resultado Len Dec ILMCU DOWEQ

WRITE ENDDO

‘01’ I5701

EXSR Manda executar uma subrotina, pode ser executada desde o menu principal ou de qualquer outra subrotina que à mande executar. Sintaxes Fator1 OpCode Fator2 Resultado Len Dec EXSR NomRotina NomRotina.- nome da subrotina que se vai executar BEGSR… ENDSR O BEGSR marca o inicio de uma subrotina e com o ENDSR se encerra o bloco da subrotina Sintaxe Fator1 OpCode Fator2 Resultado Len Dec Preços BEGSR

Bloco Da Rotina ENDSR

PDF created with pdfFactory trial version www.pdffactory.com

Page 71: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 71 –

EXFMT Permite enviar e lêr um formato de tela Sintaxe Fator 1 OpCode Fator2 Hi Lo Eq EXFMT NomTela GOTO,TAG O Goto permite variar o fluxo de um programa, ao chegar ao Goto, Label manda o controle do programa aonde se encontra o label especificado em Goto. Isto se faz com o TAG Label que marca a parte do programa aonde se mandará o controle do programa quando se execute o GOTO. Sintaxe Fator1 OpCode Fator2 Resultado Len Dec GOTO

{corpo {do pgm TAG

Label Label

Atualização de Registros UPDATE Atualiza as alterações feitas num registro Sintaxe Fator1 OpCode Fator2 Resultado Len Dec UPDAT NomRegistro

ou Arquivo

Nota: primeiro tem que posicionar o apontador no registro que se deseja atualizar Se no fator 2 se especifica o nome de um formato de tela, a operação UPDATE atualiza os dados da tela . exemplo Fator1 OpCode Fator2 Resultado Len Dec UPDAT V01200 DELET Apaga o registro em que está posicionado atualmente o apontador Sintaxe Fator1 OpCode Fator2 Resultado Len Dec DELET NomRegistro

ou Arquivo

PDF created with pdfFactory trial version www.pdffactory.com

Page 72: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 72 –

WRITE Escreve um registro novo no arquivo especificado, para este arquivo em que se deseja escrever deve estar declarado na letra F uma A na coluna de Adição. Sintaxe Fator1 OpCode Fator2 Resultado Len Dec WRITE NomRegistro

Ou File

exemplo Fator1 OpCode Fator2 Resultado Len Dec WRITE I4111 Se no fator 2 se especifica o nome de um formato de tela, a operação WRITE escreve esse formato na tela . Se no fator 2 se especifica o nome de um formato de impressora, a operação WRITE imprime esse formato. exemplo Fator1 OpCode Fator2 Resultado Len Dec WRITE Heading

Definição de chaves

KLIST Define uma chave composta, se utiliza para declarar uma lista de campos chave (KFLD). Esta lista pode ser usada como argumento de busca. Os KFLDs são os campos que forman a chave como campos de arquivos, valores fixos ou variaveis; podem ser de um a mais campos. Sintaxe Fator1 OpCode Fator2 Resultado Len Dec NomKey KLIST KFLD Campo1 KFLD Campo2 KFLD Campo3 NomKey .- nome com o que se identificará a chave, este é o nome com o qual se chamará a chave para uma busca. Campo1…3.- são os campos que formam esta chave

PDF created with pdfFactory trial version www.pdffactory.com

Page 73: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 73 –

Exemplo. Fator1 OpCode Fator2 Resultado Len Dec

LIKY01 KLIST KFLD LIMCU KFLD LILOCN KFLD LIITM

Parâmetros PLIST Define um nome único para a lista de parâmetros que receberá ou passará o programa, ao ser executado o comando executar com a operação CALL Sintaxe Fator1 OpCode Fator2 Resultado Len Dec *ENTRY PLIST PARM Parâmetro1 Tam1 #dec PARM Parâmetro2 Tam2 PARM Parâmetro3 Tam3 PARM.- Define cada um dos parâmetros que compõem a lista de parâmetros do programa Tam1..n.- Tamanho de cada um dos parâmetros e tipo CALL Manda chamar um programa para ser executado, se o programa que vai ser chamado requer que sejam passado parâmetros se especificam aqui, ao manda-lo executar com o comando CALL Sintaxis Fator1 OpCode Fator2 Resultado Len Dec Move Dado1 ParaEntr1 Movel Dado2 ParaEntr2 “ “ “ Movel Dadon ParaEntrn CALL Programa PARM ParaSal1 PARM ParaSal2 “ “ PARM ParaSaln Dado1..n .- são os dados de entrada que requerem o programa que se esta chamando para executado ParaEnt1..n.- nomes dos parâmetros, podem ser iguais ou não, o que é importante é a ordem em que são dados, devem ser na mesma ordem em que são especificados no programa chamado e do mesmo tipo. ParaSal1..n .- são os parâmetros que regressa o programa.

PDF created with pdfFactory trial version www.pdffactory.com

Page 74: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 74 –

OPEN Comando para abrir um arquivo Sintaxe Fator1 OpCode Fator2 Resultado Len Dec OPEN Arquivo CLOSE Fecha um arquivo aberto Sintaxes Fator1 OpCode Fator2 Resultado Len Dec CLOSE Arquivo SETOF Apaga os indicadores especificados em Hi,Lo,Eq e assinala o valor de 0 ao indicador Sintaxe Fator 1 OpCode Fator2 Hi Lo Eq SETOF In In In Exemplo Fator 1 OpCode Fator2 Hi Lo Eq SETOF 82 SETON Operação para ativar os indicadores contidos em Hi,Lo,Eq e assinala o valor de 1 ao indicador. Sintaxe Fator 1 OpCode Fator2 Hi Lo Eq SETON In In In Exemplo Fator 1 OpCode Fator2 Hi Lo Eq SETON 81

PDF created with pdfFactory trial version www.pdffactory.com

Page 75: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 75 –

Manuseio de Arrays LOKUP Faz uma busca a um array ou tabela Sintaxe Fator 1 OpCode Fator2 Hi Lo Eq Argumento LOKUP Array ou tabela In Argumento.- elemento do array ou tabela buscado Array ou tabela.- nome do array ou tabela onde se vai fazer a busca O indicador se prenderá quando o argumento de busca seja encontrado no array ou tabela especificado no fator 2

PDF created with pdfFactory trial version www.pdffactory.com

Page 76: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 76 –

Exemplo. Fator 1 OpCode Fator2 Hi Lo Eq 500 LOKUP Preços 81 O array de preços contem os seguintes elementos 100 300 500 800 : neste caso o indicador 81 se prenderá, já que o valor 500 se existe no array XFOOT (Cross Foot an Array) A operação XFOOT soma todos os elementos do array númerico especificado no fator2 e deixa a soma no campo resultado Sintaxe Fator1 OpCode Fator2 Resultado Len Dec XFOOT Array VarResul Long #dec Exemplo Fator1 OpCode Fator2 Resultado Len Dec XFOOT ArraIva Soma 15 2

Manuseio de Strings

CAT Une duas strings de caracteres em uma só Sintaxe Fator1 OpCode Fator2 Resultado Len Dec String1 CAT String2 StringRes 20 String1 .- É o primeiro campo que se vai concatenar String2.- Segundo campo string que se unirá com o primeiro StringRes.- É a string de caracteres resultante que dará a união de ambos campos Exemplo. Fator1 OpCode Fator2 Resultado Len Dec Nom1 CAT Nom2 Nome 20 Nom1= Maria Nom2=Cristina Ao concatenar desta manera daria assim: Nome= Maria Cristina

PDF created with pdfFactory trial version www.pdffactory.com

Page 77: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 77 –

Ou se quer que ao concatenar quite os espaços, ou dejese só alguns, a sintaxes é Fator1 OpCode Fator2 Resultado Len Dec String1 CAT String2:n StringRes 20 n.- número de espaços entre as string Exemplo. Fator1 OpCode Fator2 Resultado Len Dec Nom1 CAT Nom2:1 Nome 20

Nom1= Maria Nom2=Cristina Ao concatenar desta manera temos assim: Nome= Maria Cristina SCAN (Scan String or Array) A operação SCAN checa a variavel tipo carácter ou array especificado no fator2 com o argumento especificado no fator1. Se o argumento foi encontrado, a posição do primeiro caracter do argumento é passado ao campo resultante. Se um array numérico é especificado como o campo resultante, cada ocurrência do argumento encontrado no fator2 é passado num correspondente elemento do array. Sintaxe Fator1 OpCode Fator2 Resultado Len Dec Argumento:1 SCAN NomVar Posição Long #Dec Argumento.- string de caracteres à buscar NomVar.- variavel ou campo onde se buscará o argumento Posição.- nome da variavel onde se regressa a posição onde encontra ao argumento (a primeira letra da esq. à direita) Long. #Dec.- atributos do campo resultante Exemplo Fator1 OpCode Fator2 Resultado Len Dec Apelido:1 SCAN Name ResPos 1 0 Apelido= Gu Name=Pablo Guzmán Ao fazer o SCAN ResPos=7

PDF created with pdfFactory trial version www.pdffactory.com

Page 78: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 78 –

A linguagem de controle é: A única interface consistente para todas as funções do sistema, com um CLP podemos controlar programas de aplicação. • INTERATIVO

q PALAVRA CHAVE OU POSICIONAL q COM SOLICITAÇÃO (PROMPT)

• COMPILAVEL q RÁPIDO q LÓGICA POTENTE q MANUSEIO DE ERROS q MANIPULAÇÃO DE DADOS q INTERFACE COM TELA E DB.

• DESENHO PARA CONTROLAR O FLUXO DE UMA APLICAÇÃO. PGM (opcional) DCLF (arquivo) DCL (variáveis) MONMSG IF ELSE SNDRCVF [PROGRAMA] SNDMSG CHGVAR MONMSG GOTO TOP ENDPGM(opcional)

Regras de codificação

Nome de variavel.- Para armazenar e atualizar dados e receber parâmetros. Deve trabalhar com o caracter ‘&’. Dois pontos (:)._ Separa o label do comando Brancos. Separa os parâmetros de um comando. Parenteses ( ) .- Separa as palavras chaves e valores. Barra (/). Conecta as partes de nomes qualificados. Apóstrofe ‘ ‘ .- Ao começo e ao final de uma série de caracteres, tal como ‘ALL’.

DCLF declaração de arquivo, este comando serve para declarar arquivos

PDF created with pdfFactory trial version www.pdffactory.com

Page 79: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 79 –

DCL Todas as variaveis numa CL sempre se declaram com o caracter ‘&’ antes do nome da variável.

DCL VAR (&NAME) TYPE ( ) LEN ( ) VALUE ( )

TYPE( ) LEN ( ) VALUE( ) *DEC

Por default (155) Máximo (159)

Default (0)

*CHAR

Default (32) Máximo (9999)

Default (0)

*LGL 1 Default (0) Exemplo:

(1) DCL &A *LGL VALUE (‘1’) (2) DCL &B *CHAR 5 ABCD

(3) DLC &c *DEC (5 2) 543.21 CHGVAR. Este comando nos permite alterar valores a: Constantes

Outras variáveis Expressões

Conversão entre valores decimais e de caracteres. CHGVAR VAR (CL- variavel) VALUE (expressão) Exemplos de CHRVAR 1.- CHGVAR &MONT –37.2 2.- CHGVAR &NAME ‘TOM SMITH’ 3._ CHGVAR &CODE A 4.- CHGVAR &COUNT (&CONTA + 1) 5.- CHGVAR &IN20 (&IN10 *OR &IN15) 6.- CHGVAR &IN99 (&OPÇÃO = 90) 7.- CHGVAR &AMT ((&PREÇO. & DESCONTO /0 * & QUANT)

PDF created with pdfFactory trial version www.pdffactory.com

Page 80: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 80 –

]-

Usar CHGVAR para alterar o tipo de dados, numa CL podemos alterar o tipo de dado que tenhamos de um valor numérico a carácter ou vice-versa. Mas acerca de alterar a variavel, CHGVAR Podemos trabalhar com parte de uma variavel de caracteres usando %SST Recuperar ou alterar, todo ou parte do Local Data Area.

Uso dos interruptores de trabalho como uma variavel lógica. %SUBSTRING OU %SST FUNÇÃO INTEGRADA Identifica parte de uma variavel de caracteres ou *LDA %SS *LDA Posição-inicial tamanho ) nome –variavel Conteúdo da variável ou *LDA : 1 2 3 . . . . X

X= posição – inicial. Y= tamanho.

CHGVAR VAR (&PART) VALUE (%SST(&WHOLE 5 10 )) CHGVAR VAR (%STT (&WHOLE 5 10)) VALUE (&PART)

(

Variavel Decimal &A Tamanho Valor Especificado 5.2 23.00 5.2 -3.90 5.2 -123.67

Variavel carácter &A Tamanho ResultadoConvertido 7 0023.00 7 -003.90 7 -123.67

Variavel Decimal &A Tamanho ResultadoConvertido 5.2 123.00 5.0 123 5.2 -123.00

Variavel Caracter &A Tamanho Valor Especificado 10 ‘bb+123.1bb’ 10 ‘bbb+123.000’ 10 ‘-123bbbbbb’

CHARVAR VAR (&A) VALUE(&A)

CHARVAR VAR (&A) VALUE(&A)

Y

PDF created with pdfFactory trial version www.pdffactory.com

Page 81: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 81 –

Exemplo de %SUBSTRING

ANTES &NAME: DAVE CHGVAR VAR(%SUBSTRING(&NAME 4 2)) VALUE(ID) DEPOIS &NAME: DAVID

ANTES &DATA: ABCDE12345 &NAME: DAVE CHGVAR VAR(&NAME) VALUE(%SST(&DATA 2 1)) DEPOIS &NAME: B

Exemplo 2 Usar uma variável para posição inicial PGM DCL VAR (&TEAM) TYPE(*CHAR) VALUE (ABCDEFGHIJKL) DCL VAR(&LIB) TYPE (*CHAR) LEN (6) VALUE (IWLIBX) CONCATENAÇÃO

Exemplo de concatenação: Cliente XYZ corporação, número de conta 54321, seu crédito vencido por 30 dias. &CUSNAME &CUSNUMALPH &DAYSALPH PGM DCL &CUSNAME *CHAR 25 ‘XYZ CORPORAÇÃO’ DCL &CUSNUM *DEC (5 0) DCL &CUSNUMALPH *CHAR 5 DCL &DAYS *DEC 3 0

Resultado *CAT

Serie2 Serie1 Serie1

Serie2

*TCAT

Serie2 A SerieA B b

*BCAT Serie2 ABC D A B C

*BCAT

Serie2 A

D Serie2

A D D b

A B C

PDF created with pdfFactory trial version www.pdffactory.com

Page 82: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 82 –

DCL &DAYSALPH *CHAR 3 CHGVAR &DAYSALPH &DAYS CHGVAR &CUSNUMALPH &CUSNUM SNDMSG MSG(‘Cliente’ *Bcat & cusname + CUSNUMALPH + *CAT ’, numero de conta ‘ *BCAT & c

PDF created with pdfFactory trial version www.pdffactory.com

Page 83: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 83 –

CONDIÇÃO Quando desejamos condicionar um programa CL só pode executar um comando ou um label depois da condição. IF COND ( expressão ) THEN (comando) ELSE CMD(comando) Operadores relacionais :

Operadores relacionais < = > <= _< _> >= _=

*LT *EQ *GT *LE *NL *NG *GE *NE

Menor que Igual Maior que Menor igual No menor No maior Maior igual Não igual ou diferente

Exemplo : 1.- IF COND (&RESP * EQ 5 ) THEN ( CALL PGM (CUSING)) 2.- IF (&AMTDUE > ) THEN ( CALL ARC900) 3.- IF (&AMTDUE *GT 1000) SENBRKMSG MSG (‘OLA’) ELSE CDM (GOTO LABEL3) 4.- IF (&A *NE &b) RETURN 5.- IF (&A = &B) ELSE RETURN 6.- IF (&IN99) GOTO ENDLABEL Outra forma de usar o IF para que execute mais de uma linha se utiliza a seguinte sentença IF COND (condição) THEN (DO)

CALL PGM1 CALL PGM2 END DO ELSE CMD (DO) CALL PGM3 CALL PGM4 ENDDO

Comando de conversão de data, cvtdat Cvtdat date (constante ou variavel CL) tovar( variavel CL)

PDF created with pdfFactory trial version www.pdffactory.com

Page 84: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 84 –

Fromfmt *JOB *JOB *JOB *SYSVAL *SYSVAL *SYSVAL *MDY TOFMT *MDY TOSEP *NONE *YMD *DMY *CARACTER SEPARADOR *JUL *JUL

PDF created with pdfFactory trial version www.pdffactory.com

Page 85: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 85 –

EXEMPLO CVTDAT PGM DCL VAR (&DATE) TYPE (*CHAR) LEN(6) DCL VAR (& YMRD) TYPE (*CHAR) LEN(6) RTVSYSVAL SYSVAL(QDATE) TOVAR(&YRMD) + FORMFTM(*SYSVAL) TO FMT(*YMD) TOSEP (*NONE) CALL PGM(PYC50) PARM(&YRMD) .... .... .... ENDPGM MONMSG Este comando se utiliza para supervisionar mensagens de erro dentro de um programa Exemplo: Disponibilidade de arquivo. ALCOBJ OBJ((PRLIB/PRMST *FILE *EXCL) WAIT(0) MONMSG MSGID(CPF1002) EXEC(SNDURSMSG MSG(‘ARQUIVO + TELAS EM USO’) TOMSGQ(*EXT) ... ... ...

DLCOBJ OBJ((PRLIB/PRMST * FILE *EXCL)) Comando para supervisionar mensagem MONMSG MSGID() CMPDTA9) EXEC() MSGID- requerido MSGID (MCH1211) só esta mensagem. MSGID (CPF1500) CPF1500 - CPF1599 MSGID (CPF0000) CPF0000 - CPF9999 MSGID (CPF9999) Erro de função: se ativa por mensagem de Escape não supervisionados CMPDTA – (Opcional)

Exemplo

Exemplo de algumas mensagens de erro que podem ser gerenciadas ALCOBJ CPF1002 Não pode assinalar objetos. CPF1040 Número máximo de objetos assinalados no sistema CPF1085 Objetos não assinalados CPF5739 Não pode assinalar-se ou liberar arquivo(s) DDM

PDF created with pdfFactory trial version www.pdffactory.com

Page 86: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 86 –

MONMSG MSGID(CPF2182) CMPDTA(PLALIB) EXEC – (Opcional)

Comando CL MONMSG: Nivel programa, nivel de comando Pgm DCL DCL DCL MONMSG Nivel de programa MONMSG Comprova aqui se esta mensagem é supervisionada MONMSG Supervisão de todos os comandos de programa NO EXEC: ignore MONMSG Nivel de comando MONMSG Comprova aqui primeiro se esta mensagem é supervisionada Supervisiona só o comando anterior. NO EXEC: ignore. ENDPGM Exemplo de supervisão de mensagens Comprovar existencia e autorização de um objeto CHKOBJ OBJ (nome-objeto) + OBJTYPE(CPF- tipo-de-objeto) + AUT(direito-de autorização) Exemplo: 1 CHGOBJ OBJ(IWLIB/APR010 OBJTYPE(*PGM) /* existência*/ MONMSG.............. 2 CHKOBJ OBJ(APPVEND) OBJTYPE(*PGM) + /* existência*/ MBR(APPVAND) AUTO(*DLT) /*e autorização*/ MONMSG............ Exemplo de supervisão de mensagens PGM DCL... /*NIVEL DE PROGRAMA MONMSG CPF9801 EXCE(GOTO NÃO ENCONT) MONMSG CPF7302 /* FIM NIVEL DE PROGRAMA CHKOBJ PYPMAST *FILE CHKOBJ GLPMAST *FILE DE NOVO: CRTPF QTEMP/WORK..... MONMSG CPF7302 EXEC (DO) DTLF QTEMP/WORK

PDF created with pdfFactory trial version www.pdffactory.com

Page 87: Curso Básico de AS400

AS/400 Users Group AS/400 BÁSICO por Paulo Rocha

- 87 –

GOTO DE NOVO ENDDO CRTPF PLALIB/PYPTRAN GOTO FIM NÃO ENCONT: SNDURSMSG TOMSGQ(*EXT) MSG(‘ NÃO ENCONTRA O

ARQUIVO+ CHECAR LISTA DE BIBLIOTECA DA SESSÃO’) FIM: ENDPGM

PDF created with pdfFactory trial version www.pdffactory.com