Curso Básico de AS400

February 27, 2018 | Author: renato9 | Category: Relational Database, Data, Ibm System I, Compiler, Databases
Share Embed Donate


Short Description

Download Curso Básico de AS400...

Description

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 ‘’ 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

View more...

Comments

Copyright ©2017 KUPDF Inc.