AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 INSTRUTORES
ESTUDANTES
CLASSES
DEPARTAMENTOS
GRADUADOS
ESTUDANTES
TEXTOS
SALAS
Se armazenam dados em tabelas, arquivos, grupos de dados, etc. com um minimo de dados redundantes. - 1–
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Três tipos de Bases de Dados
J
R
O Modelo Relacional. exemplo.:
base de dados de educação
Curso Codigo Nome l001 Italiano l103 Ingles l211 Espanhol l303 Chines l001 Italiano l214 Grego l211 Espanhol l103 Ingles l001 Italiano l306 Japones l370 Cobol
Num Inscr 12 23 5 44 23 11 1 0 2 3 99
instrutor victor g juan e pedro f luis lee victor g homero pedro f juan e victor g homero homero
- 2–
PDF created with pdfFactory trial version www.pdffactory.com
tetra 88/1 88/1 88/1 88/1 88/1 88/1 88/2 88/2 88/2 88/2 88/2
classe Sala max 1 30 4 40 4 40 3 50 1 30 6 35 4 40 4 40 1 30 6 35 5 99
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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
- 3–
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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)
MAIN
AS/400 Main Menu System:
S106CB4A
Select one of the following: 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
User tasks Office tasks General system tasks Files, libraries, and folders Programming Communications Define or change the system Problem handling Display a menú Information Assistant options Client Access/400 tasks
90. Sign off Selection or command
===> F3=Exit F4=Prompt F23=Set initial menú
F9=Retrieve
F12=Cancel F13=Information ssistant
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. - 4–
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
F9 à Esta opção nos mostra o comando anterior executado F10 à Comando de entrada. F12 à É para sair do programa.
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 F12=Cancel
F4=Prompt F9=Retrieve F18=Change defaults
F10=Command entry
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) - 5–
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Screen Design Aid (SDA) Report Layout Utility (RLU) File Compare and Merge Utility (FCMU) Interactive Source Debugger (ISDB)
Specify Libraries to Work With Type choice, press Enter. Library
F3=Exit
. . . . . . . . . . .
F5=Refresh
*LIBL
*LIBL, name, *generic*, *ALL, *ALLUSR, *USRLIBL, *CURLIB
F12=Cancel
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. - 6–
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Work with Libraries Using PDM List type
. . . . . . .
Type options, press Enter. 2=Change 8=Display description Opt
Library QSYS QSYS2 QHLPSYS QUSRSYS QPDA QGPL QTEMP
Type *PROD-SYS *PROD-SYS *PROD-SYS *PROD-SYS *PROD-PRD *PROD-USR *TEST-USR
S106CB4A
*LIBL
3=Copy 9=Save
5=Display 10=Restore
7=Rename 12=Work with ...
Text System Library System Library for CPI's
Bottom Parameters or command ===> ___________________________________________________________________________ F3=Exit F4=Prompt F5=Refresh F6=Add to F9=Retrieve F23=More options F24=More keys
F10=Command entry
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. - 7–
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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.
- 8–
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Alguns comandos para trabalhar com Bibliotecas. WRKLIBPDM .- Trabalhar com Bibliotecas ADDLIBLE .- Adiciona uma biblioteca na lista de biblioteca. EDTLIBL .- Editar a lista de biblioteca.
Specify Objects to Work With Type choices, press Enter. Library
. . . . . . . . . .
MTY2
*CURLIB, name
Object: Name . . . . . . . . . . . Type . . . . . . . . . . . Attribute . . . . . . . .
*ALL *ALL *ALL
*ALL, name, *generic* *ALL, *type *ALL, attribute, *generic*, *BLANK
F3=Exit
F5=Refresh
F12=Cancel
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.
- 9–
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Library . . . . .
Work with Objects Using PDM X MTY2 Position to . . . . . . . . Position to type . . . . .
Type options, press Enter. 2=Change 3=Copy 8=Display description Opt
Object DFU1 DFU2 DFU3 DFU5 EFRA JEFRA JFECHA JFIN02
Type *PGM *PGM *PGM *PGM *PGM *PGM *PGM *PGM
4=Delete 9=Save Attribute DFU DFU DFU DFU DFU CLP CLP CLP
5=Display 10=Restore
S106CB4A
7=Rename 11=Move ...
Text dfu insp DFU2 DFU4 DFU5 EFRA clp de prueba clp de prueba PRUEBAS More...
Parameters or command ===> F16=User options Esta es el menú del F21=Print list
F17=Subset WRKOBJ en este podemos: F23=More options
F18=Change defaults F24=More keys
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. - 10 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 visualizadas na tela.
teclas de função que se encontram
- 11 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Specify Members to Work With Type choices, press Enter. File
. . . . . . . . . .
JDEMTY
Library . . . . . . . .
MTY1
Member: Name . . . . . . . . . Type . . . . . . . . .
P43500 *ALL
F3=Exit
F4=Prompt
F5=Refresh
Name, F4 for list *LIBL, *CURLIB, name
*ALL, name, *generic* *ALL, type, *generic*, *BLANK
F12=Cancel
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. - 12 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Work with Members Using PDM File . . . . . . Library . . . .
JDEMTY MTY1
Position to
Type options, press Enter. 2=Edit 3=Copy 4=Delete 5=Display 8=Display description 9=Save 13=Change text Opt
Member FV4108R F3002LR F4102$J F41021$A
Type PF LF LF LF
S106CB4A
. . . . .
6=Print 14=Compile
7=Rename 15=Create module...
Text Lot Master LF - branch comp, 2nd item, Thru date JF - Location/Work order(F4102 F4801) JF - Location/Branch (f41021/f4102) More...
Parameters or command ===> F3=Exit F4=Prompt F9=Retrieve F10=Command entry
F5=Refresh F23=More options
F6=Create F24=More keys
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. - 13 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 (Display date) para mostrar as datas de criação. Y com a Função (sort date) para ordenar a data. Indistintamente a função (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)
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
Com o SEU, você pode trabalhar com o fonte de arquios, e os registros contidos dentro deles. Opções permitidas: - 14 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
§ Criar fontes § Editar fontes § Imprimir fontes § Copiar registro de um arquivo (fontes) a outro fonte ou um arquivo de impressão
- 15 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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.
- 16 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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. Start Source Entry Utility (STRSEU) Type choices, press Enter. Source file . . . Library . . . . Source member . . Source type . . . Option . . . . . . Text 'description'
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . .
MTYSRC MTY *ALL *BLANK *BLANK
Name, *PRV Name, *LIBL, *CURLIB, *PRV Name, *PRV, *SELECT Name, *SAME, BAS, BASP... *BLANK, ' ', 2, 5, 6 .
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.
- 17 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 CLP CBL DSPF MENU PF PRFT QRY RPG TXT
Descrição 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. - 18 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Work with Members Using PDM File . . . . . . Library . . . .
MTYSRC MTY1
Position to
Type options, press Enter. 2=Edit 3=Copy 4=Delete 5=Display 8=Display description 9=Save 13=Change text Opt
2
Member FIN03L FIN03LA FIN04 FIN04BK FIN04LB FIN25
Type LF LF PF PF LF PF
S106CB4A
. . . . .
6=Print 14=Compile
7=Rename 15=Create module...
Text *archivo logico de prueba archivo logico de carr ARCHIVO FISICO DE CAR/AL/MAT ARCHIVO FISICO DE PIN04(ALCARMAT) ARCHIVO LOGICO DE FIN04 ARCHIVO INFORMACION More...
Parameters or command ===> F3=Exit F4=Prompt F9=Retrieve F10=Command entry
F5=Refresh F23=More options
F6=Create F24=More keys
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 - 19 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
alterará a modo de tela completa.
- 20 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 Users Group
AS/400 BÁSICO por Paulo Rocha
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. - 21 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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)
- 22 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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.
- 23 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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. - 24 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
• 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 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
BROWSE Y N Y Y/N Y/N Y/N Y Y N N N Y N N N Y N Y
COMANDO DE LINHA n. A COLS C CR D X F I IF IP LP M O P + RP SF
n An Cn CRn Dn Xn F? In IFn IP? LPn Mn On P? +n RPn SFn
n.n B
Bn
CC CCR DD XX Fxx IF? Ipxx LLP MM OO Pxx RPP SL
IF?n
-n RPPn 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). - 25 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
A seguinte tabela mostra os comandos para os diferentes tipos de sessão.
COMANDOS
Sessão Edição
Função
Sessão Browse
Depende da Sessão
FIND ou F
Encontrar uma cadeia de caracteres dentro de um fonte.
Y
Y
Y
CHAGE ou C
Encontrar uma cadeia de caracteres num fonte e alterar por outra.
Y
N
Y
TOP ou T
Reposiciona a tela de trabalho na primera pagina de dados.
Y
Y
Y
BOTTOM ou BOT ou B
Reposiciona a tela de trabalho na ultima pagina de dados.
Y
Y
Y
SAVE
Salva as alterações feitas membros e continua editando.
nos
Y
N
Y
FILE
Salva as alterações feitas no fonte e sai da edição.
Y
N
N
CANCEL
Abandona a sessão sem salvar as alterações realizadas.
Y
Y
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,
- 26 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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
F O R M A T O
Cada arquivo físico está formado de três partes ou extenções.
EST_NO 7 0 EST_NOMB 20 A DIRECC cuales se 20 A
1. Formato. Definição dos campos do que se compõe um registro.
CAMINHO DE ACESSO
2. Rota de acesso. Definição ou por chave.
A CHAVE
3. Registros podem ser acessados (em sequencia de dados, espaço para os registros dos quais esta o
D A D O S
DADOS
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 *REPLACE
FMTOPT {*MAP *DROP
CRTFILE {*NO *YES
DSPPFM
FILE(LIB NAME/FILE NAME) MBR(*FIRST) => mostra o conteudo do arq. (ex. para verificar dados copiados)
- 27 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
- 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 referenciar 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. - 28 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 STUDENT
CLASS
CAMPOS STUDENT NUMBER (STUNO) STUDENT NAME (STUNAM) 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
- 29 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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.) - 30 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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. Work with Submitted Jobs 01/14/99 Submitted from . . . . . . . . : Type options, press Enter. 2=Change 3=Hold 4=End 8=Work with spooled files
Opt
Job P550025 P550002 P550022BK
User MTY02 MTY09 MTY09
S106CB4A 11:27:08
*USER
5=Work with
Type BATCH BATCH BATCH
6=Release
7=Display message
-----Status----OUTQ ACTIVE JOBQ
Function CMD-CRTRPGPGM
Bottom Parameters or command ===> F3=Exit F4=Prompt F5=Refresh F12=Cancel
F9=Retrieve
F11=Display schedule data
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 Job Spooled Files Job:
P550025
User:
MTY02
Number:
Type options, press Enter. 1=Send 2=Change 3=Hold 4=Delete 5=Display 8=Attributes 9=Work with printing status
Opt 5
File P550025 QPJOBLOG
Device or Queue QPRINT QEZJOBLOG
User Data P550025
Status RDY RDY
957927
6=Release
Total Pages 26 6
Current Page
7=Messages
Copies 1 1
- 31 – Bottom Parameters for options 1, 2, 3 or command ===> F3=Exit
F10=View 3
F11=View 2
________________
F12=Cancel
F22=Printers
PDF created with pdfFactory trial version www.pdffactory.com
F24=More keys
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Para revisar a compilação de um programa com a opção 5 (display) do Work with Job Spooled Files mostrará a seguinte tela Display Spooled File File . . . . . : P550025 Page/Line 25/46 Control . . . . . B Columns 1 - 78 Find . . . . . . _____________________*...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+... .8....+....9....+....0....+....1....+....2....+....3.. 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 1/P550025 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 * * * * *
01/14/99
09:46:48
Page
26
Bottom F3=Exit
F12=Cancel
F19=Left
F20=Right
F24=More keys
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: 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
- 32 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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
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
60 70 80 90 99
Funções em spooled file. Na linha de control tem as seguintes funções:
Comando T B Wn W-/+n Pn
Descrição 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. - 33 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 Display Data Base Relations (DSPDBR) Type choices, press Enter. File . . . . . . . . . . . . . . Library . . . . . . . . . . . Output . . . . . . . . . . . . .
f4101 *LIBL *
Name, generic*, *ALL Name, *LIBL, *CURLIB... *, *PRINT, *OUTFILE
Esta é uma parte do que nos mostra este comando
*...+....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
- 34 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 o ENTER Display File Description (DSPFD) Type choices, press Enter. File . . . . . . . . Library . . . . . Type of information + for Output . . . . . . . File attributes . . + for
. . . . . . . . . . . . . . . . . . more values . . . . . . . . . . . . more values
F4101 *LIBL *ALL ___ * *ALL
Name, generic*, *ALL Name, *LIBL, *CURLIB... *ALL, *BASATR, *ATR... *, *PRINT, *OUTFILE *ALL, *DSPF, *PRTF, *DKTF...
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 *...+....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
- 35 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 ou enter nos leva a seguinte tela onde damos o nome do arquivo e a biblioteca donde se encontra
Display File Field Description (DSPFFD) Type choices, press Enter. File . . . . . . . . . . . . . . Library . . . . . . . . . . . Output . . . . . . . . . . . . .
f4101 *LIBL *
Name, generic*, *ALL Name, *LIBL, *CURLIB... *, *PRINT, *OUTFILE
DSPOBJD 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 o ENTER Display Object Description (DSPOBJD) Type choices, press Enter. Object . . . . . . . Library . . . . . Object type . . . . + for Detail . . . . . . . Output . . . . . . .
. . . . . . . . . . . . . . . . . . more values . . . . . . . . . . . .
P4190 *LIBL *pgm __ *BASIC *
Name, generic*, *ALLUSR... Name, *LIBL, *USRLIBL... *ALL, *ALRTBL, *AUTL... *BASIC, *FULL, *SERVICE *, *PRINT, *OUTFILE
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
- 36 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 o enter nos mostra a seg. tela, donde especificaremos o objeto, ou se queremos ver todos os objetos no nome do objeto dar *all Work with Objects (WRKOBJ) Type choices, press Enter. Object . . . . . . . . . . . . . Library . . . . . . . . . . . Object type . . . . . . . . . .
p4190 *LIBL *ALL
Name, generic*, *ALL Name, *LIBL, *CURLIB... *ALL, *ALRTBL, *AUTL...
Nesta tela é onde se manuseiam os objetos no campo Opt dependendo da opção selecionada se podem copiar, renomear, apagar,etc. o objeto selecionado Work with Objects Type options, press Enter. 2=Edit authority 3=Copy 4=Delete 5=Display authority 8=Display description 13=Change description Opt
Object P4190
Type *PGM
Library JDFOBJ73
Attribute RPG
7=Rename
Text 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
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. Display Object Description (DSPOBJD) Type choices, press Enter. Object . . . Library . Object type Detail . . . Output . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
> FIN00 > MTY2 > *FILE > *SERVICE *
- 37 – F3=Exit F4=Prompt F24=More keys
F5=Refresh
F12=Cancel
Name, generic*, *ALLUSR... Name, *LIBL, *USRLIBL... *ALL, *ALRTBL, *AUTL... *BASIC, *FULL, *SERVICE *, *PRINT, *OUTFILE
Bottom F13=How to use this display
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 , a seguinte tela mostra a tela do utilitário SDA, onde podemos desenhar menus, telas e a prova de arquivo de telas STRSDA .
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á.
Design Screens Type choices, press Enter. Source file . . . . . . . . Library . . . . . . . . . Member
F3=Exit
. . . . . . . . . .
F4=Prompt
QDDSSRC
Name, F4 for list
FIME
Name, *LIBL, *CURLIB
SCREEN
Name, F4 for list
F12=Cancel
Trabalhando com o desenhador de tela (SDA): - 38 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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. Work with Display Records File . . . . . . : Library . . . . :
QDDSSRC FIME
Member . . . . . . : Source type . . . :
Type options, press Enter. 1=Add 2=Edit comments 7=Rename 8=Select keywords Opt 11
Order
Record v554123
Type
3=Copy 12=Design image Related Subfile
VISION DSPF
4=Delete
Date
DDS Error
f
(No records in file)
Bottom F3=Exit F15=File-level comments
F12=Cancel F17=Subset
F14=File-level keywords F24=More keys
Depois de dar ENTER, aparece um novo registro na nossa tela. Work with Display Records File . . . . . . : Library . . . . :
QDDSSRC FIME
Member . . . . . . : Source type . . . :
Type options, press Enter. 1=Add 2=Edit comments 7=Rename 8=Select keywords Opt 11
Order
Record v554123
Type
3=Copy 12=Design image Related Subfile
VISION DSPF
4=Delete
Date
DDS Error
f
(No records in file)
Bottom F3=Exit F15=File-level comments
F12=Cancel F17=Subset
F14=File-level keywords F24=More keys
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 . . . . . . : Library . . . . :
QDDSSRC FIME
Member . . . . . . : Source type . . . :
SCREEN DSPF
Type choices, press Enter. New record Type
. . . . . . . . . . . . . . .
SCREEN
Name
. . . . . . . . . . . . . . . . . .
RECORD
RECORD, USRDFN SFL, SFLMSG WINDOW, WDWSFL PULDWN, PDNSFL MNUBAR
- 39 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 Caracter Numérico
Entrada Salida Ambos Se representa Se representa Se representa com “I” com “O” com “B” Se representa Se representa Se representa com “3” com “6” 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. - 40 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Tambem se pode definir campos existentes nos arquivos (campos referenciados), pressionando a tecla “F10” na qual nos presentará a seguinte tela:
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 1
Database File F5541 f
F3=Exit
F4=Prompt
Library MTY x
Record I5541 1 x x
F12=Cancel
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: Select Database Fields Record . . . :
I4105X
Type information, press Enter. Number of fields to roll . . . . . . . . . . . . . . . . . . Name of field to search for . . . . . . . . . . . . . . . . .
8 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 $$ITM $$DSC1 $$EFTJ $$TRQT $$UM
Length 8,0 30 6,0 15,0 2
Type S A S P A
Column Heading Short Description Effective Trans UM
Item No Date QTY
Bottom F3=Exit
F12=Cancel
Na qual podemos escolher os campos que necessitem para a tela e especifica-la de que tipo a usaremos. - 41 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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. Consulta de alumnos
Nombre Apellidos Direccion Telefono Ciudad
BBBBBBBBBBBBBBB BBBBBBBBBBBBBBB BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB BBBBBBBBB &2
1:$$ITM 2:$$DSC1 3:$$EFTJ 4:$$TRQT 5:$$UM
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. - 42 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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.
Pantalla de practica¡
DD/DD/DD TT:TT:TT
Nombre ?BBBBBBBBBB direccion BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB telefono BBBBBBBBB 33333333IIIIIIIIIIIIIIIIIIIIIIIIIIIIII 333333-
VNOMBRE
Length: 00010 TEXT:
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 33333333IIIIIIIIIIIIIIIIIIIIIIIIIIIIII 333333-
- 43 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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:
- 44 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Select Field Keywords Field . . . . . : Length . . . . :
VNOMBRES 15
Usage . . : Row . . . :
B 6
Column . . . :
33
Type choices, press Enter. Y=Yes Display attributes Colors . . . . . . Keying options . . Validity check . . Input keywords . . General keywords .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
. . . . . .
Hidden, Input, Output, Both Input, Output, Both Output or Both
Database reference . . . . . . . Error messages . . . . . . . . . Message ID (MSGID) . . . . . . .
TEXT keyword
F3=Exit
For Field Type All except Hidden All except Hidden Hidden, Input or Both Input or Both, not float Input or Both All types
. . . . . . . . . .
__________________
F4=Display Selected Keywords
F12=Cancel
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. Select Display Attributes Field . . . . . : Length . . . . :
VNOMBRE 12
Usage . . : Row . . . :
B 6
Column . . . :
28
Type choices, press Enter. Keyword Field conditioning . . . . . Program-to-system field . . Display attributes: High intensity . . . . . . Reverse image . . . . . . Column separators . . . . Blink . . . . . . . . . . Nondisplay . . . . . . . . Underline . . . . . . . . Position cursor . . . . . Set modified data tag . . Protect field . . . . . . Operator ID magnetic card Select by light pen . . . F3=Exit
. . . . . . . . . . . . . . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
. . . . . . . . . . .
Y=Yes
_________ DSPATR HI RI CS BL ND UL PC MDT PR OID SP
Indicators/+ __ __ __ __ __ __ 80 __ __ __ __ __ __ __ __ __ __
Y _ _ _ _ _ _ _ _ _ _
__ __ __ __ __ __ __ __ __ __ __
__ __ __ __ __ __ __ __ __ __ __
F12=Cancel
Keying Options : Nesta opção podemos especificar as funções nos campos por exemplo: preencher com brancos ou preencher com zeros. Select Keying Options Field . . . . . : Length . . . . :
VNOMBRE 12
Usage . . : Row . . . :
B 6
Column . . . :
Type choices, press Enter.
Keying options: Mandatory entry . . . . . Automatic record advance Mandatory fill . . . . . Field exit key required . Right adjust blank fill . Right adjust zero fill . Move cursor right to left Lowercase entry allowed . Keyboard shift attribute
F3=Exit
F12=Cancel
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . . .
. . . . . . .
Keyword CHECK ME ER MF FE RB RZ RL LC
Y=Yes
Indicators/+
_ _ _ _ _ _ _ _
___ ___ ___ ___ ___ ___
_
N A X W I D M J O E G
- 45 –
PDF created with pdfFactory trial version www.pdffactory.com
2
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
- 46 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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. Define Validity Check Keywords Field . . . . . : Length . . . . :
VNOMBRE 12
Usage . . : Row . . . :
B 6
Column . . . :
28
Type parameters for ONE of the following keywords, press Enter. Keyword RANGE Low . . High . . COMP Operator Value . VALUES List . .
. . . . .
. . . . .
Parameters ‘1’ ‘9’
Type choices, press Enter. Validity check: Name extended field . Name field . . . . . . Allow blanks . . . . . Modulus 10 self check Modulus 11 self check F3=Exit
. . . . .
. . . . .
. . . . .
. . . . .
More
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
. . . . .
Keyword CHECK VNE VN AB M10 / M10F M11 / M11F
Y=Yes
Immed
_ _ _ _ _ More...
_ _
F12=Cancel
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 . . . . . : Length . . . . :
VNOMBRE 12
Usage . . : Row . . . :
B 6
Column . . . :
28
Type parameters, press Enter. Indicators/+ 80 __ __ __ __
__ __ __ __ __
__ __ __ __
ERRMSG - Message Text
More
_Este articulo no existe________________________ ________________________________________________ ________________________________________________ ________________________________________________ ________________________________________________
Ind
_ _ _ _ _
_ _ _ _ _ Bottom
Indicators/+ ERRMSGID File __ __ __ ________ _________ __ __ __ ________ _________ __ __ __ ________ _________ __ __ __ ________ _________ __ __ __ ________ _________
Library ________ ________ ________ ________ ________
Ind __ __ __ __ __
Name _________ _________ _________ _________ _________ Bottom
F3=Exit
F12=Cancel
- 47 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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). Work with Display Records File . . . . . . : Library . . . . :
QDDSSRC QGPL
Member . . . . . . : Source type . . . :
Type options, press Enter. 1=Add 2=Edit comments 7=Rename 8=Select keywords Opt __ _8
Order __10
Record ________ VFIN001
Type
3=Copy 12=Design image Related Subfile
RECORD
VFIN00 DSPF
4=Delete
Date
DDS Error
01/12/99
Bottom F3=Exit F15=File-level comments
F12=Cancel F17=Subset
F14=File-level keywords F24=More keys
A qual mostrará a seguinte tela: Select Record Keywords Record . . . :
VFIN001
Type choices, press Enter.
General keywords . Indicator keywords Application help . Help keywords . . . Output keywords . . Input keywords . . Overlay keywords .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
. . . . . . .
Y=Yes _ Y _ _ _ _ _
Print keywords . . . . . . . . . ALTNAME keyword . . . . . . . . .
_ ______
TEXT keyword
_______________________
F3=Exit
. . . . . . . . . .
F4=Display Selected Keywords
F12=Cancel
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. 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 CF01 ______ ______ ______ ______ ______ ______ ______ ______
Indicators/+ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __ __
F3=Exit
F12=Cancel
Resp 01_ ___ ___ ___ ___ ___ ___ ___ ___
Text ________________________________________________ ________________________________________________ ________________________________________________ ________________________________________________ ________________________________________________ ________________________________________________ ________________________________________________ ________________________________________________ ________________________________________________ Bottom
- 48 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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) (F) (E)
CONTROL DESCRIÇÃO DE ARQUIVOS ADICIONAIS - 49 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
(I) C) (O)
ENTRADA CONTROL 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 FX 0034.00 F0001__ I F _ _ E _ K _ Exit Entry A/U Cond _____ ______ _ UC - 50 –
PDF created with pdfFactory trial version www.pdffactory.com
Device DISK___
K
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Type.DesigFmtRATDevice-
I- Input, O- Output, U- Update, C- Combined P- Primario, F- Full. F- Descrição por Programa, E- Descrição Externa K- Indexado (só para Desc. Ext.), ‘ ‘= Sequencial. 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 FC
SeqNbr 0036.00
ExtRcd I41021
RcdNbrFld _______
Cont K
ESPECIFICAÇÕES ADICIONAIS:
Option RENAME
Entry I41021A
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 A/D E 0049.00 ___
FromFile
ToFile
Tbl
/Rcd
/Tbl
Len
P/B/L/R
Dec
_______
______
TTDOCO
____
_10
__8
___
__0
- 51 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
AltName _______
Len ___
P/B/L/R _
Dec _
A/D _
Comment ________
- 52 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 DS
SeqNbr 0057.00
DtaStrName DSTXT
Nbr _
Opt _
DS DS
ExtFName _________
Occurs ____
Len 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 N 0019.00
Constant '0123456789'
DataType C
ESPECIFICAÇÕES DE CALCULO:
FldName NUM
LETRA ‘C’
As especificações de calculo (C) descrevem as operações à realizar pelo programa e indicam a ordem em que devem realizar-se. - 53 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 READ C 0127.00 Len Dec H/N/P Hi Lo Eq Comment 99 LR leitura
Factor 2 I4102A
Result
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
CALCULOS DE DETALHE
- 54 –
PDF created with pdfFactory trial version www.pdffactory.com
MOVER DADOS A CAMPOS
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
PROGRAMAÇÃO BATCH VS. PROGRAMAÇÃO INTERATIVA
PROGRAMAÇÃO BATCH
ARQUIIVO HISTÓRICO DE VENDAS
INFORME DE VENDAS TOTAL 2,345.70 FEBRERO 8,200.00 ………………..
PROGRAMA DE ANALISE DE VENDAS
- 55 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
PROGRAMAÇÃO INTERATIVA PROGRAMA DE CONSULTA DE CLIENTES
ARQUIVO DE CLIENTES
PREPARAÇÃO PRÉVIA À CODIFICAÇÃO DO PROGRAMA
-
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
- 56 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
EXEMPLO: DESCRIÇÃO DO PROGRAMA SE NECESSITA UM PROGRAMA EM RPG PARA CONSULTAR A DIREÇÃO E TELEFONE DOS CLIENTES.
IDENTIFICAÇÃO DE ARQUIVOS
DIAGRAMA DE ENTIDADE-RELACION
CURSOS
PROGRAMAÇÃO CURSOS
CURSOS
INSCRIÇÕES
IDENTIFICAÇÃO DE ARQUIVOS DDS DO ARQUIVO DE CLIENTES ** ARQUIIVO FISICO: ‘CLIENTES’ R REGCLI NUMCLI 6 0 NOME 30 DIRECC 15 TELEF 7 0 TIPOCL 3 LIMICR 8 0 STATUS 1 K NUMCLI
BIBLIOTECA: RPGLIB
- 57 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 SUB MULT SQRT DIV Z-ADD
(SOMAR) (SUBTRAIR) (MULTIPLICAR) (RAIZ QUADRADA) (DIVIDIR) (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. - 58 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 KEY
OpCode SETLL
Fator2 FILE ou REG.
Hi In
Lo
Eq 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 IMKY01
OpCode SETLL
Fator2 I4101
Hi
Lo
Eq 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 IMKY01
OpCode SETLL
Fator2 I4101
Hi 72
Lo
Eq
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 IMKY01
OpCode SETLL
Fator2 I4101
Hi 72
Lo
Eq 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 1) indicador 71 se ativa
Para o caso 2 1) indicador 72 não se ativa
- 59 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
2) indicador 71 não se ativa 3) indicador 71 não se ativa
2) indicador 72 não se ativa 3) indicador 72 se ativa
- 60 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
SETGT Posiciona o apontador antes do primeiro registro que seja maior à chave dada Sintaxe Fator 1 KEY
OpCode SETGT
Fator2 FILE ou REG.
Hi In
Lo
Eq 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 IMKY01
OpCode SETGT
Fator2 I4101
Hi
Lo
Eq
Hi
Lo
Eq
READ Faz uma leitura sequencial ao arquivo Sintaxe Fator 1
OpCode READ
Fator2 File ou Reg.
File ou Reg.- nome do file ou registro que se vai ler Exemplo. Fator 1
OpCode READ
Fator2 I41021
Hi
Lo
Eq
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 Key
OpCode READE
Fator2 File ou Reg.
Hi
Lo
Eq 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 IMITM
OpCode READE
Fator2 I4101
Hi
Lo
Eq 81
- 61 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 READP
Fator2 File ou Reg.
Hi
Lo
Eq 81
OpCode READP
Fator2 I4101A
Hi
Lo
Eq 81
Exemplo. Fator 1
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 Key
OpCode CHAIN
Fator2 File ou Reg.
Hi
Lo
Eq 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 LIKY01
OpCode CHAIN
Fator2 I41021
Hi
Lo
Eq 81
- 62 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Operações aritméticas: ADD Operação de soma Sintaxe Fator 1 Valor1
OpCode ADD
Fator2 Valor2
Resultado
Fator2 Valor
Resultado
Resultado= Valor1 + Valor2 Fator 1
OpCode ADD
Resultado= Resultado + Valor Exemplo. Fator 1 Preço
OpCode ADD
Fator2 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 Valor1
OpCode SUB
Fator2 Valor2
Resultado
Fator2 Valor1
Resultado
Resultado= Valor1 – Valor2
Fator 1
OpCode SUB
Resultado= Resultado – Valor1 Valor1.- Quantidade à subtrair Valor2.- Quantidade à que se vai subtrair Resultado.- variável donde se dará o resultado Exemplo. Fator 1 QuantInv
OpCode SUB
Fator2 QuantVend
QuantRest
15
0
- 63 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
MULT Operação de multiplicação Sintaxe Fator1 Valor1
OpCode MULT
Fator2 Valor2
Resultado Resultado
Len 15
Dec 0
Resultado
Len 15
Dec 0
Resultado= Valor1 * Valor2
Fator1
OpCode MULT
Fator2 Valor1
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 Valor1
OpCode DIV
Fator2 Valor2
Resultado resultado
Len 15
Dec 0
Resultado
Len 15
Dec 0
Resultado Quant_Div
Len 15
Dec 2
Resultado= Valor1/ Valor2 Fator1
OpCode DIV
Fator2 Valor1
Resultado= Resultado/Valor1 Fator1 Quant1
OpCode DIV
Fator2 5
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 SQRT
Fator2 100
Resultado RaízC
Len 15
Dec 0
RaízC= 10 - 64 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 Z-ADD
Fator2 Valor2
Resultado Resultado
Len 15
Dec 0
Valor2 = quantidade com que se vai inicializar o campo de resultado Exemplo. Fator1
OpCode Z-ADD
Fator2 500
Resultado Quant
Len 15
Dec 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 MOVE
Fator2 Campo2
Resultado Campo3
Len 20
Dec
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 - 65 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Caso 2 Quando ambos campos são de tipo númerico e o campo de resultado é mais largo que o fator 2 ANTES Fator2= 78 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=
234
Campo2=
u md o i s
DEPOIS Campo2=
u md 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 md 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 md o i s
Campo2=
t r e s
DEPOIS Campo2=
d o i s - 66 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 LE 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 MOVEA
Fator2 Resultad Len Dec 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.
- 67 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
NAME E 1
D 2
G 3
Factor1
A 4
R 5
OpCode MOVEA
6
O M 7 8
Factor2 NAME
A 9
R 10
Resultad Aluno
Len 10
Dec
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 Campo2 Campo1 Ifxx {Operac ELSE {Operac ENDIF
Resultado Len
Dec
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 Campo1
OpCode Fator2 IFxx Campo2 ANDxx Orxx {Operac ENDIF
Resultado Len
Dec
OpCode IFEQ ANDNE MOVE ELSE MOVE ENDIF
Fator2 ‘PA’ ’0’ ‘A’
Resultado Len
Dec
‘B’
CLIEN
Exemplo Fator1 $DOC $CANT
CLIEN
1
- 68 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 Campo1
OpCode CASxx
Fator2 Campo2
Resultado NomSubrotina
Len
Dec
Factor2 ‘b’
Resultad Baixa
Len
Dec
Exemplo. Factor1 Mov
OpCode CASEQ
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 Campo1
OpCode CABxx
Fator2 Campo2
Resultado Len Etiqueta
Dec
Fator2 ‘1’
Resultado Len Alta
Dec
Exemplo. Fator1 Mov
OpCode CABEQ
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 DO Cte. Ou Var {Operac ENDDO
Dec
ejem Fator1
OpCode Fator2 DO 10 Add 2 ENDDO
Resultado Len
Dec
Sum
0
2
Estará somando 2 a Sum até que sejam 10 vezes, que é o que se especificou
- 69 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
DOWxx Este ciclo se vai a levar à cabo até a condição especificada para este ciclo seja verdadeira Sintaxe Fator1 Campo1
OpCode Fator2 DOWxx Campo2 {Operac ENDDO
Resultado Len
Dec
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 ILMCU
OpCode DOWEQ WRITE ENDDO
Fator2 ‘01’ I5701
Resultado Len
Dec
EXSR Manda executar uma subrotina, pode ser executada desde o menu principal ou de qualquer outra subrotina que à mande executar. Sintaxes Fator1
OpCode EXSR
Fator2 Resultado Len NomRotina
Dec
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 Preços
OpCode BEGSR Bloco Da Rotina ENDSR
Fator2
Resultado Len
Dec
- 70 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
EXFMT Permite enviar e lêr um formato de tela Sintaxe Fator 1
OpCode EXFMT
Fator2 NomTela
Hi
Lo
Eq
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 GOTO {corpo {do pgm TAG
Fator2 Label
Resultado Len
Dec
Label
Atualização de Registros UPDATE Atualiza as alterações feitas num registro Sintaxe Fator1
OpCode UPDAT
Fator2 Resultado Len NomRegistro ou Arquivo
Dec
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 UPDAT
Fator2 V01200
Resultado Len
Dec
DELET Apaga o registro em que está posicionado atualmente o apontador Sintaxe Fator1
OpCode DELET
Fator2 Resultado Len NomRegistro ou Arquivo
Dec
- 71 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 WRITE
Fator2 Resultado Len NomRegistro Ou File
Dec
OpCode WRITE
Fator2 I4111
Dec
exemplo Fator1
Resultado Len
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 WRITE
Fator2 Heading
Resultado Len
Dec
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 NomKey KLIST KFLD KFLD KFLD
Fator2
Resultado Len
Dec
Campo1 Campo2 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
- 72 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Exemplo. Fator1
OpCode
Fator2
LIKY01
KLIST KFLD KFLD KFLD
LIMCU LILOCN LIITM
Resultado Len
Dec
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 *ENTRY PLIST PARM PARM PARM
Fator2
Resultado
Len
Dec
Parâmetro1 Parâmetro2 Parâmetro3
Tam1 Tam2 Tam3
#dec
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 Move Movel “ Movel CALL PARM PARM “ PARM
Fator2 Dado1 Dado2 “ Dadon Programa
Resultado ParaEntr1 ParaEntr2 “ ParaEntrn
Len
Dec
ParaSal1 ParaSal2 “ 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. - 73 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
OPEN Comando para abrir um arquivo Sintaxe Fator1 OpCode Fator2 Resultado Len Dec OPEN Arquivo CLOSE Fecha um arquivo aberto Sintaxes Fator1
OpCode CLOSE
Fator2 Arquivo
Resultado
Len
Dec
SETOF Apaga os indicadores especificados em Hi,Lo,Eq e assinala o valor de 0 ao indicador Sintaxe Fator 1
OpCode SETOF
Fator2
Hi In
Lo In
Eq In
OpCode SETOF
Fator2
Hi 82
Lo
Eq
Exemplo Fator 1
SETON Operação para ativar os indicadores contidos em Hi,Lo,Eq e assinala o valor de 1 ao indicador. Sintaxe Fator 1
OpCode SETON
Fator2
Hi In
Lo In
Eq In
OpCode SETON
Fator2
Hi
Lo 81
Eq
Exemplo Fator 1
- 74 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Manuseio de Arrays LOKUP Faz uma busca a um array ou tabela Sintaxe Fator 1 Argumento
OpCode Fator2 Hi LOKUP Array ou tabela
Lo
Eq 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
- 75 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Exemplo. Fator 1 500
OpCode Fator2 LOKUP Preços
Hi
Lo
Eq 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 XFOOT
Fator2 Array
Resultado VarResul
Len Dec Long #dec
OpCode XFOOT
Fator2 ArraIva
Resultado Soma
Len 15
Exemplo Fator1
Dec 2
Manuseio de Strings CAT Une duas strings de caracteres em uma só Sintaxe Fator1 String1
OpCode CAT
Fator2 String2
Resultado StringRes
Len 20
Dec
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 Nom1
OpCode CAT
Fator2 Nom2
Resultado Nome
Len 20
Dec
Nom1= Maria Nom2=Cristina Ao concatenar desta manera daria assim: Nome= Maria Cristina
- 76 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Ou se quer que ao concatenar quite os espaços, ou dejese só alguns, a sintaxes é Fator1 String1
OpCode CAT
Fator2 String2:n
Resultado StringRes
Len 20
Dec
Len 20
Dec
n.- número de espaços entre as string Exemplo. Fator1 Nom1
OpCode CAT
Fator2 Nom2:1
Resultado Nome
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 Argumento:1
OpCode SCAN
Fator2 NomVar
Resultado Posição
Len Dec 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 Apelido:1
OpCode SCAN
Fator2 Name
Resultado ResPos
Len 1
Dec 0
Apelido= Gu Name=Pablo Guzmán Ao fazer o SCAN ResPos=7
- 77 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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
- 78 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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( ) *DEC
*CHAR
*LGL
LEN ( ) Por default (155) Máximo (159) Default (32) Máximo (9999)
VALUE( ) Default (0)
Default (0)
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)
- 79 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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. CHARVAR VAR (&A) VALUE(&A) Variavel carácter &A Tamanho ResultadoConvertido
Variavel Decimal &A Tamanho Valor Especificado
7 7 7
5.2 5.2 5.2
0023.00 -003.90 -123.67
23.00 -3.90 -123.67
CHARVAR VAR (&A) VALUE(&A) Variavel Decimal &A Tamanho ResultadoConvertido
Variavel Caracter &A Tamanho Valor Especificado
5.2 5.0 5.2
10 10 10
123.00 123 -123.00
‘bb+123.1bb’ ‘bbb+123.000’ ‘-123bbbbbb’
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 nome –variavel
]- Posição-inicial tamanho )
Conteúdo da variável ou *LDA : 1 2 3 ....
X
Y
X= posição – inicial. Y= tamanho. CHGVAR VAR (&PART) VALUE (%SST(&WHOLE 5 10 )) CHGVAR VAR (%STT (&WHOLE 5 10)) VALUE (&PART) - 80 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 Serie1 A B bC A
B
C
A D D b
*CA T *TCA T
Serie2 Serie2
Resultado Serie Serie 1 2 A Serie
*BCAT Serie2
ABC
*BCA T
A
Serie2
D
D Serie2
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 DCL &CUSNUM DCL &CUSNUMALPH DCL &DAYS
*CHAR 25 ‘XYZ CORPORAÇÃO’ *DEC (5 0) *CHAR 5 *DEC 30 - 81 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
DCL &DAYSALPH *CHAR 3 CHGVAR &DAYSALPH &DAYS CHGVAR &CUSNUMALPH &CUSNUM SNDMSG MSG(‘Cliente’ *Bcat & cusname + CUSNUMALPH + *CAT ’, numero de conta ‘ *BCAT & c
- 82 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 Menor que *EQ Igual *GT Maior que *LE Menor igual *NL No menor *NG No maior *GE Maior igual *NE 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) - 83 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
Fromfmt *JOB *SYSVAL *MDY TOFMT *YMD *JUL *JUL
*JOB *SYSVAL *MDY *DMY
*JOB *SYSVAL TOSEP *NONE *CARACTER SEPARADOR
- 84 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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)) Exemplo de algumas mensagens de erro que podem ser gerenciadas ALCOBJ CPF1002 CPF1040 CPF1085 CPF5739
Não pode assinalar objetos. Número máximo de objetos assinalados no sistema Objetos não assinalados Não pode assinalar-se ou liberar arquivo(s) DDM
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 - 85 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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 MONMSG
Nivel de comando 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 - 86 –
PDF created with pdfFactory trial version www.pdffactory.com
AS/400 BÁSICO por Paulo Rocha
AS/400 Users Group
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
- 87 –
PDF created with pdfFactory trial version www.pdffactory.com