Sei sulla pagina 1di 87

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

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

ESTUDANTES INSTRUTORES

CLASSES

GRADUADOS DEPARTAMENTOS

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 Users Group AS/400 BÁSICO por Paulo Rocha

Três tipos de Bases de Dados

O Modelo Relacional.

exemplo.: base de dados de educação

Curso Num classe


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

- 2–

PDF created with pdfFactory trial version www.pdffactory.com


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

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 Users Group AS/400 BÁSICO por Paulo Rocha

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. User tasks
2. Office tasks
3. General system tasks
4. Files, libraries, and folders
5. Programming
6. Communications
7. Define or change the system
8. Problem handling
9. Display a menú
10. Information Assistant options
11. Client Access/400 tasks

90. Sign off

Selection or command
===>

F3=Exit F4=Prompt F9=Retrieve F12=Cancel F13=Information ssistant


F23=Set initial menú

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 Users Group AS/400 BÁSICO por Paulo Rocha

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 F4=Prompt F9=Retrieve F10=Command entry


F12=Cancel F18=Change defaults

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 Users Group AS/400 BÁSICO por Paulo Rocha

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 . . . . . . . . . . . *LIBL *LIBL, name, *generic*, *ALL,


*ALLUSR, *USRLIBL, *CURLIB

F3=Exit F5=Refresh 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 Users Group AS/400 BÁSICO por Paulo Rocha

Work with Libraries Using PDM S106CB4A

List type . . . . . . . *LIBL

Type options, press Enter.


2=Change 3=Copy 5=Display 7=Rename
8=Display description 9=Save 10=Restore 12=Work with ...

Opt Library Type Text


QSYS *PROD-SYS System Library
QSYS2 *PROD-SYS System Library for CPI's
QHLPSYS *PROD-SYS
QUSRSYS *PROD-SYS
QPDA *PROD-PRD
QGPL *PROD-USR
QTEMP *TEST-USR
Bottom
Parameters or command
===> ___________________________________________________________________________
F3=Exit F4=Prompt F5=Refresh F6=Add to F9=Retrieve F10=Command entry
F23=More options F24=More keys

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 Users Group AS/400 BÁSICO por Paulo Rocha

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 Users Group AS/400 BÁSICO por Paulo Rocha

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 . . . . . . . . . . . *ALL *ALL, name, *generic*
Type . . . . . . . . . . . *ALL *ALL, *type
Attribute . . . . . . . . *ALL *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 Users Group AS/400 BÁSICO por Paulo Rocha

Work with Objects Using PDM S106CB4A


X
Library . . . . . MTY2 Position to . . . . . . . .
Position to type . . . . .

Type options, press Enter.


2=Change 3=Copy 4=Delete 5=Display 7=Rename
8=Display description 9=Save 10=Restore 11=Move ...

Opt Object Type Attribute Text


DFU1 *PGM DFU dfu insp
DFU2 *PGM DFU DFU2
DFU3 *PGM DFU DFU4
DFU5 *PGM DFU DFU5
EFRA *PGM DFU EFRA
JEFRA *PGM CLP clp de prueba
JFECHA *PGM CLP clp de prueba
JFIN02 *PGM CLP PRUEBAS
More...
Parameters or command
===>
F16=User options
Esta es el menú del F17=Subset
WRKOBJ en este podemos: F18=Change defaults
F21=Print list F23=More options 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 Users Group AS/400 BÁSICO por Paulo Rocha

Mostrar a descrição de un Objeto:


Utilizar a opção 8 (display description) no objeto à trabalhar.

Mostrar a informação de um Objeto.


Trabalhar com objetos: STRPDM / Opção 2 ou WRKOBJPDM.

Executar um objeto.

Utilizar a opção 16 (Run) no objeto à executar.

Alterar o texto de um objeto.

Utilizar a opção 13 (Change text) no objeto à executar.

Debug interativo.

Utilizar a opção 34 ( Interactive source debugger ) no objeto à trabalhar.

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

F1 à Mostra uma ajuda na linha da tela.


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

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


visualizadas na tela.

- 11 –

PDF created with pdfFactory trial version www.pdffactory.com


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

Specify Members to Work With

Type choices, press Enter.

File . . . . . . . . . . JDEMTY Name, F4 for list

Library . . . . . . . . MTY1 *LIBL, *CURLIB, name

Member:
Name . . . . . . . . . P43500 *ALL, name, *generic*
Type . . . . . . . . . *ALL *ALL, type, *generic*, *BLANK

F3=Exit F4=Prompt F5=Refresh F12=Cancel

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 Users Group AS/400 BÁSICO por Paulo Rocha

Work with Members Using PDM S106CB4A

File . . . . . . JDEMTY
Library . . . . MTY1 Position to . . . . .

Type options, press Enter.


2=Edit 3=Copy 4=Delete 5=Display 6=Print 7=Rename
8=Display description 9=Save 13=Change text 14=Compile 15=Create module...

Opt Member Type Text


FV4108R PF Lot Master
F3002LR LF LF - branch comp, 2nd item, Thru date
F4102$J LF JF - Location/Work order(F4102 F4801)
F41021$A LF JF - Location/Branch (f41021/f4102)
More...
Parameters or command
===>
F3=Exit F4=Prompt F5=Refresh F6=Create
F9=Retrieve F10=Command entry F23=More options F24=More keys

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 Users Group AS/400 BÁSICO por Paulo Rocha

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


fonte à compilar.

Eliminar um fonte: Para eliminar um fonte se utiliza a opção 4 no fonte a eliminar.


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

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

Buscar um STRING em um fonte

a) Utilizando o PDM.
Trabalhando com fontes (WRKMBRPDM) a opção 25 (find
String) para achar a busca correspondente.
b) utilizando o comando FNDSTRPDM

SEU (Source Entry Utility)

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 Users Group AS/400 BÁSICO por Paulo Rocha

§ 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 Users Group AS/400 BÁSICO por Paulo Rocha

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 Users Group AS/400 BÁSICO por Paulo Rocha

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 . . . . . . . . MTYSRC Name, *PRV


Library . . . . . . . . MTY Name, *LIBL, *CURLIB, *PRV
Source member . . . . . . . *ALL Name, *PRV, *SELECT
Source type . . . . . . . . Name, *SAME, BAS, BASP...
Option . . . . . . . . . . . *BLANK *BLANK, ' ', 2, 5, 6
Text 'description' . . . . . *BLANK .

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 Users Group AS/400 BÁSICO por Paulo Rocha

Alterando a lista de fontes

Você pode alterar a lista de fontes que aparecem na tela de trabalho com fontes usando
SEU a que só os fontes que cumpram certo critério sejam incluidos na dita lista. A seleção de
fonte pode ser por:

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

Para alterar a lista de fontes.

1. Pressione F17 (subconjunto). A tela de lista subconjunto de membros.


2. Especifique o critério para os membros que deseja que sejam listados e
pressione enter. Com isto, a lista de fontes atualizada será mostrada.

Criar um fonte:

Para criar um membro, siga os passos que se mostram a continuação:


• Desde a linha de comando, ou utilizando o prompt de comandos, especificando o
nome da fonte a criar, no parametro SRCMBR do comando STRSEU. Se utiliza o
prompt de comandos, tecle um tipo de fonte valido no source type, do contrário o
default é usado.
• Na tela de trabalho com membros usando SEU, tecle o nome do membro a
criar no prompt de new member e pressione enter.

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

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

Tipo de fonte Descrição


CLP CL program
CBL Cobol
DSPF Arquivos de telas
MENU Menus (UIM)
PF Arquivo Físico
PRFT Arquivo de Report
QRY Arquivo de Querys
RPG RPG
TXT 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 Users Group AS/400 BÁSICO por Paulo Rocha

Work with Members Using PDM S106CB4A

File . . . . . . MTYSRC
Library . . . . MTY1 Position to . . . . .

Type options, press Enter.


2=Edit 3=Copy 4=Delete 5=Display 6=Print 7=Rename
8=Display description 9=Save 13=Change text 14=Compile 15=Create module...

Opt Member Type Text


FIN03L LF *archivo logico de prueba
FIN03LA LF archivo logico de carr
FIN04 PF ARCHIVO FISICO DE CAR/AL/MAT
FIN04BK PF ARCHIVO FISICO DE PIN04(ALCARMAT)
FIN04LB LF ARCHIVO LOGICO DE FIN04
2 FIN25 PF ARCHIVO INFORMACION
More...
Parameters or command
===>
F3=Exit F4=Prompt F5=Refresh F6=Create
F9=Retrieve F10=Command entry F23=More options F24=More keys

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 Users Group AS/400 BÁSICO por Paulo Rocha

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 Users Group AS/400 BÁSICO por Paulo Rocha

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 Users Group AS/400 BÁSICO por Paulo Rocha

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 Users Group AS/400 BÁSICO por Paulo Rocha

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 Users Group AS/400 BÁSICO por Paulo Rocha

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

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

Comando BROWSE COMANDO DE LINHA

Posicionamento absoluto Y n. n n.n


Antes / Depois N A An B Bn
Colunas Y COLS
Copiar Y/N C Cn CC
Copiar repetidamente Y/N CR CRn CCR
Apagar Y/N D Dn DD
Excluir Y X Xn XX
Formato Y F F? Fxx
Inserção N I In
Insertar com formato N IF IFn IF? IF?n
Insertar com prompt N IP IP? Ipxx
Imprimir linha Y LP LPn LLP
Mover N M Mn MM
Cobrir N O On OO
Prompt N P P? Pxx
Posição relativa Y + +n - -n
Repetir N RP RPn RPP RPPn
Show Y SF SFn SL SLn

COMANDOS DE SEU

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

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

- 25 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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

Sessão Sessão Depende da


COMANDOS Função Edição Browse Sessão

FIND ou F Encontrar uma cadeia de caracteres Y Y Y


dentro de um fonte.

CHAGE ou C Encontrar uma cadeia de caracteres Y N Y


num fonte e alterar por outra.

TOP ou T Reposiciona a tela de trabalho na Y Y Y


primera pagina de dados.

BOTTOM ou Reposiciona a tela de trabalho na Y Y Y


BOT ou B ultima pagina de dados.

SAVE Salva as alterações feitas nos Y N Y


membros e continua editando.

FILE Salva as alterações feitas no fonte e Y N N


sai da edição.

CANCEL Abandona a sessão sem salvar as Y Y Y


alterações realizadas.

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 Users Group AS/400 BÁSICO por Paulo Rocha

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 Cada arquivo físico está formado de três partes ou


O
R extenções.
EST_NO 7
M 0
A EST_NOMB 20
T A 1. Formato. Definição dos campos do
O DIRECC
cuales se 20 que se compõe um registro.
A
CAMINHO DE ACESSO
A CHAVE
2. Rota de acesso. Definição ou por chave.

3. Registros podem ser acessados (em sequencia de


D dados, espaço para os registros dos quais esta o
A DADOS
arquivo.
D
O
S

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

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


*REPLACE *DROP
CRTFILE {*NO
*YES

DSPPFM FILE(LIB NAME/FILE NAME) MBR(*FIRST) => mostra o conteudo do arq.


(ex. para verificar dados copiados)

- 27 –

PDF created with pdfFactory trial version www.pdffactory.com


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

- Código de um arquivo físico (indexado):

COLUMNS . . . : 1 71 EDIT MTY2/JDESRC


SEU==> F50001
FMT PF ....A..........T.NAME++++++RLEN++TDPB......FUNCTIONS++++++++++++++++++
0010.00 A R STUCLS
0011.00 A TEXT('ARQUIVO DE ESTUDANTES’)
0012.00 A STUNO 7 0 TEXT (‘NUMERO DE ESTUDANTE’)
0013.00 A CLASNO 4
0014.00 A STATUS 4
0015.00 A FGRADE 3
0016.00 A DATE R REFFLD(ENDATE CLSHST)
0017.00 A K STUNO
0018.00 A K CLASNO DESCEND

NIVEIS DE UM ARQUIVO:
FILE -LEVEL
RECORD-LEVEL
FIELD-LEVEL
KEY FIELD-LEVEL
SELECT/OMIT-LEVEL

FROM TYPE.- No caso de arquivos sempre se põe ‘A’.


(T) NAME TYPE.- Se define ‘R’ => Na linha donde se define o nome do reg.
Se define um ‘K’ => quando se vão definir as chaves (sort).
Se define um ‘J’ => para especificações de arquivos join.
Se define um ‘S/O’ (select/omit).- para selecionar i/o omitir regs.
este só se pode usar em arq. lógicos (idx).
NAME .- Se define o nome da variavel (não maior de 6 digitos).
R) REFERENCE.- Se define um ‘R’, só em caso de que o campo se pode referen-
ciar a outro que exista num arquivo determinado. Isto é para que
tome as mesmas caracteristicas do campo ao qual se faz referencia.
LEN) LENGTH.-Tamanho do campo.
D) DATA TYPE.- A => alfanumerico
P => numerico empacado
S => numerico ‘zoned’ (não é empacado)
P) DECIMAL .- O número de decimais, sempre e quando for numérico.

FUNCTIONS.- REFFLD(nome campo nome arq.) => se utiliza para tomar


caracteristicas de outro campo em outro arq. (só caracteristicas, não
dados).
DESCEND => ordena o campo em forma descendente, por default se não
se definie nada o considera ascendente.

- 28 –

PDF created with pdfFactory trial version www.pdffactory.com


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

Estas funções são exclusivas para arqs. lógicos:


COMP => ex. comp(ge 125), só toma registros com esta condição.
RANGE => ex. range(10000 90000), só toma regs. com esta condição.
VALUES => ex. values(‘pend’ ‘conf’ ‘can ‘), regs. com esta condição.
pressionando ajuda neste campo se mostram todas as opções existentes.
não se recomenda usar estas funções (comp, range, values), já que faz
exclusivo o uso do arquivo.

O Data Type é opcional, se não se define decimais se considera alfanumerico,


se se definen decimais se considera numérico ‘zoned’.

- Código de um Arquivo Lógico:

Columns . . . : 1 71 Edit MTY2/JDESRC


Seu==> F50001LA
FMT PF .....A..........T.Name++++++Rlen++Tdpb......Functions++++++++++++++++++
0010.00 A R STUCLS PFILE(F50001)
0011.00 A K DATE
0012.00 A S STATUS COMP(EQ ‘VAL ‘ )

FUNCTIONS.- PFILE(nome arq.fisico) => se utiliza para definir o arquivo fisico ao


qual vá a estar referenciado o lógico.
Existem arquivos “JOIN LOGICAL FILES” => este tipo de arquivo combina num
formato, campos de dois ou mais arquivos fisicos.
Se define só um formato de registro, os campos chave devem ser do arquivo
primário.

- Código de um Join Logical File:

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

CLASS STUDENT NUMBER (STUNO)


CLASS NUMBER (CLASNO)

COLUMNS . . . : 1 71 EDIT MTY2/JDESRC


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

- 29 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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 Users Group AS/400 BÁSICO por Paulo Rocha

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 S106CB4A
01/14/99 11:27:08
Submitted from . . . . . . . . : *USER

Type options, press Enter.


2=Change 3=Hold 4=End 5=Work with 6=Release 7=Display message
8=Work with spooled files

Opt Job User Type -----Status----- Function


P550025 MTY02 BATCH OUTQ
P550002 MTY09 BATCH ACTIVE CMD-CRTRPGPGM
P550022BK MTY09 BATCH JOBQ

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

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: 957927

Type options, press Enter.


1=Send 2=Change 3=Hold 4=Delete 5=Display 6=Release 7=Messages
8=Attributes 9=Work with printing status

Device or Total Current


Opt File Queue User Data Status Pages Page Copies
5 P550025 QPRINT RDY 26 1
QPJOBLOG QEZJOBLOG P550025 RDY 6 1

- 31 –
Bottom
Parameters for options 1, 2, 3 or command
===> ________________

F3=Exit F10=View 3 F11=View 2 F12=Cancel F22=Printers F24=More keys

PDF created with pdfFactory trial version www.pdffactory.com


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

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 01/14/99 09:46:48 Page 26
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 * * * * *
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 Users Group AS/400 BÁSICO por Paulo Rocha

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 Informação
10 Aviso
20 Erro
30 Erro grave
40 Erro não deveria continuar
50 Terminação anormal do trabalho
ou programa
60 Estado do sistema
70 Integridade de dispositivos
80 Alerta do sistema
90 Integridade do sistema
99 Ação

Funções em spooled file.

Na linha de control tem as seguintes funções:

Comando Descrição
T Posiciona ao principio do spool
B Posiciona ao final do spool
Wn Posiciona na coluna n
W-/+n Posiciona na n coluna a partir de
onde se encontra posicionado
Pn 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 Users Group AS/400 BÁSICO por Paulo Rocha

Comandos para manuseio de arquivos

DSPDBR

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

Type choices, press Enter.

File . . . . . . . . . . . . . . f4101 Name, generic*, *ALL


Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB...
Output . . . . . . . . . . . . . * *, *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 Users Group AS/400 BÁSICO por Paulo Rocha

DSPFD

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

⇒ DSPFD F4101 ou
⇒ DSPFD
<F4> o ENTER
Display File Description (DSPFD)

Type choices, press Enter.

File . . . . . . . . . . . . . . F4101 Name, generic*, *ALL


Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB...
Type of information . . . . . . *ALL *ALL, *BASATR, *ATR...
+ for more values ___
Output . . . . . . . . . . . . . * *, *PRINT, *OUTFILE
File attributes . . . . . . . . *ALL *ALL, *DSPF, *PRTF, *DKTF...
+ for more values

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 Users Group AS/400 BÁSICO por Paulo Rocha

DSPFFD

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

Display File Field Description (DSPFFD)

Type choices, press Enter.

File . . . . . . . . . . . . . . f4101 Name, generic*, *ALL


Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB...
Output . . . . . . . . . . . . . * *, *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 <F4> o ENTER
Display Object Description (DSPOBJD)

Type choices, press Enter.

Object . . . . . . . . . . . . . P4190 Name, generic*, *ALLUSR...


Library . . . . . . . . . . . *LIBL Name, *LIBL, *USRLIBL...
Object type . . . . . . . . . . *pgm *ALL, *ALRTBL, *AUTL...
+ for more values __
Detail . . . . . . . . . . . . . *BASIC *BASIC, *FULL, *SERVICE
Output . . . . . . . . . . . . . * *, *PRINT, *OUTFILE

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 Users Group AS/400 BÁSICO por Paulo Rocha

WRKOBJ
Trabalhando com objetos, com este comando podemos manejar os objetos, nos mostra a
lista de objetos que se encontram na biblioteca selecionada e depois manejar este objeto como
copiar, apagar, alterar de biblioteca o objeto, entre outras coisas.
⇒ WRKOBJ P 4190
ou
⇒ WRKOBJ
Ao pressionar <F4> o enter nos mostra a seg. tela, donde especificaremos o objeto, ou se
queremos ver todos os objetos no nome do objeto dar *all
Work with Objects (WRKOBJ)

Type choices, press Enter.

Object . . . . . . . . . . . . . p4190 Name, generic*, *ALL


Library . . . . . . . . . . . *LIBL Name, *LIBL, *CURLIB...
Object type . . . . . . . . . . *ALL *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 7=Rename
8=Display description 13=Change description

Opt Object Type Library Attribute Text


P4190 *PGM JDFOBJ73 RPG Location Detail

Bottom
Parameters for options 5, 7 and 13 or command
===>
F3=Exit F4=Prompt F5=Refresh F9=Retrieve F11=Display names and types
F12=Cancel F16=Repeat position to F17=Position to

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 . . . . . . . . . . . . . > FIN00 Name, generic*, *ALLUSR...


Library . . . . . . . . . . . > MTY2 Name, *LIBL, *USRLIBL...
Object type . . . . . . . . . . > *FILE *ALL, *ALRTBL, *AUTL...
Detail . . . . . . . . . . . . . > *SERVICE *BASIC, *FULL, *SERVICE
Output . . . . . . . . . . . . . * *, *PRINT, *OUTFILE

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

PDF created with pdfFactory trial version www.pdffactory.com


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

Nela escrevemos *SERVICE na opção Detail.


O QUE É UM DSPF. (Display File).

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

Para entrar no utilitário SDA teclamos o comando STRSDA <ENTER> , a seguinte tela
mostra a tela do utilitário SDA, onde podemos desenhar menus, telas e a prova de arquivo de
telas STRSDA <ENTER>.

AS/400 Screen Design Aid (SDA)

Select one of the following:

1. Design screens
2. Design menus
3. Test display files

Selection or command
===>1
F1=Help F3=Exit F4=Prompt F9=Retrieve F12=Cancel

A seguinte tela será onde especificamos o nome de nossa tela e o arquivo de fontes
onde vai ser guardada, assim como a biblioteca onde se localizará.

Design Screens

Type choices, press Enter.

Source file . . . . . . . . QDDSSRC Name, F4 for list

Library . . . . . . . . . FIME Name, *LIBL, *CURLIB

Member . . . . . . . . . . SCREEN Name, F4 for list

F3=Exit F4=Prompt F12=Cancel

Trabalhando com o desenhador de tela (SDA):

- 38 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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 . . . . . . : QDDSSRC Member . . . . . . : VISION


Library . . . . : FIME Source type . . . : DSPF

Type options, press Enter.


1=Add 2=Edit comments 3=Copy 4=Delete
7=Rename 8=Select keywords 12=Design image

Opt Order Record Type Related Subfile Date DDS Error


11 v554123 f

(No records in file)

Bottom
F3=Exit F12=Cancel F14=File-level keywords
F15=File-level comments F17=Subset F24=More keys

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


Work with Display Records

File . . . . . . : QDDSSRC Member . . . . . . : VISION


Library . . . . : FIME Source type . . . : DSPF

Type options, press Enter.


1=Add 2=Edit comments 3=Copy 4=Delete
7=Rename 8=Select keywords 12=Design image

Opt Order Record Type Related Subfile Date DDS Error


11 v554123 f

(No records in file)

Bottom
F3=Exit F12=Cancel F14=File-level keywords
F15=File-level comments F17=Subset F24=More keys

No anterior se vê informação sobre nossa tela e seu registro, devemos especificar de que
tipo, se é uma tela normal utilizamos o tipo RECORD, e os tipos de telas que são mais comuns
são telas de Sub-Files e estilos de menus.
Add New Record

File . . . . . . : QDDSSRC Member . . . . . . : SCREEN


Library . . . . : FIME Source type . . . : DSPF

Type choices, press Enter.

New record . . . . . . . . . . . . . . . SCREEN Name

Type . . . . . . . . . . . . . . . . . . RECORD RECORD, USRDFN


SFL, SFLMSG
WINDOW, WDWSFL
PULDWN, PDNSFL
- 39 – MNUBAR

PDF created with pdfFactory trial version www.pdffactory.com


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

Acrescentar informação numa tela

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


colocar os campos ou letras, entre apostrofe, exemplo: ‘MATRICULA :’

Para os campos que tem interrelação com a informação existente no AS/400, se utilizam
diferentes representações, dependendo do tipo, já sendo numérico ou caracter; a tabela seguinte
demostrará as diferentes representações:

Tipo Entrada Salida Ambos


Caracter Se representa Se representa Se representa
com “I” com “O” com “B”
Numérico 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 Users Group AS/400 BÁSICO por Paulo Rocha

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 Database File Library Record


1 F5541 MTY I5541 1
f x x
x

F3=Exit F4=Prompt 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 . . . . . . . . . . . . . . . . . . 8
Name of field to search for . . . . . . . . . . . . . . . . . s s

Type options, press Enter.


1=Display extended field description
2=Select for input (I), 3=Select for output (O), 4=Select for both (B)

Option Field Length Type Column Heading


$$ITM 8,0 S Short Item No
$$DSC1 30 A Description
$$EFTJ 6,0 S Effective Date
$$TRQT 15,0 P Trans QTY
$$UM 2 A UM

Bottom
F3=Exit F12=Cancel

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 Users Group AS/400 BÁSICO por Paulo Rocha

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 BBBBBBBBBBBBBBB
Apellidos BBBBBBBBBBBBBBB
Direccion BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
Telefono BBBBBBBBB

Ciudad &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 Users Group AS/400 BÁSICO por Paulo Rocha

Mover um espaço.
Para mover os campos um ou mais espaços só é necessário teclar um ‘>’ se se
deseja mover à direita e ‘<’ um para a esquerda, se pode mover os espaços que se deseja,
dependendo da quantidade do símbolo ‘< , >’ que se tecle.

Modificando um campo.

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


parte inferior da tela, o campo na qual se quer modificar.

Pantalla de practica¡ DD/DD/DD


TT:TT:TT

Nombre ?BBBBBBBBBB
direccion BBBBBBBBBBBBBBBBBBBBBBBBBBBBBB
telefono BBBBBBBBB

33333333-
IIIIIIIIIIIIIIIIIIIIIIIIIIIIII
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

33333333-
IIIIIIIIIIIIIIIIIIIIIIIIIIIIII
333333-

- 43 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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 Users Group AS/400 BÁSICO por Paulo Rocha

Select Field Keywords

Field . . . . . : VNOMBRES Usage . . : B


Length . . . . : 15 Row . . . : 6 Column . . . : 33

Type choices, press Enter.


Y=Yes For Field Type
Display attributes . . . . . . . All except Hidden
Colors . . . . . . . . . . . . . All except Hidden
Keying options . . . . . . . . . Hidden, Input or Both
Validity check . . . . . . . . . Input or Both, not float
Input keywords . . . . . . . . . Input or Both
General keywords . . . . . . . . All types

Database reference . . . . . . . Hidden, Input, Output, Both


Error messages . . . . . . . . . Input, Output, Both
Message ID (MSGID) . . . . . . . Output or Both

TEXT keyword . . . . . . . . . . __________________

F3=Exit F4=Display Selected Keywords F12=Cancel

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 . . . . . : VNOMBRE Usage . . : B


Length . . . . : 12 Row . . . : 6 Column . . . : 28

Type choices, press Enter.


Keyword Y=Yes Indicators/+
Field conditioning . . . . . . . . . . . __ __ __
Program-to-system field . . . . . . . . _________ __ __ __
Display attributes: DSPATR
High intensity . . . . . . . . . . . . HI Y 80 __ __
Reverse image . . . . . . . . . . . . RI _ __ __ __
Column separators . . . . . . . . . . CS _ __ __ __
Blink . . . . . . . . . . . . . . . . BL _ __ __ __
Nondisplay . . . . . . . . . . . . . . ND _ __ __ __
Underline . . . . . . . . . . . . . . UL _ __ __ __
Position cursor . . . . . . . . . . . PC _ __ __ __
Set modified data tag . . . . . . . . MDT _ __ __ __
Protect field . . . . . . . . . . . . PR _ __ __ __
Operator ID magnetic card . . . . . . OID _ __ __ __
Select by light pen . . . . . . . . . SP _ __ __ __

F3=Exit F12=Cancel

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 . . . . . : VNOMBRE Usage . . : B


Length . . . . : 12 Row . . . : 6 Column . . . : 2

Type choices, press Enter.

Keyword Y=Yes Indicators/+


Keying options: CHECK
Mandatory entry . . . . . . . . . . . ME _ ___ ___ ___
Automatic record advance . . . . . . ER _ ___ ___ ___
Mandatory fill . . . . . . . . . . . MF _
Field exit key required . . . . . . . FE _
Right adjust blank fill . . . . . . . RB _
Right adjust zero fill . . . . . . . RZ _
Move cursor right to left . . . . . . RL _
Lowercase entry allowed . . . . . . . LC _

Keyboard shift attribute . . . . . . . _ N A X W I D M


J O E G

F3=Exit F12=Cancel
- 45 –

PDF created with pdfFactory trial version www.pdffactory.com


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

- 46 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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 . . . . . : VNOMBRE Usage . . : B


Length . . . . : 12 Row . . . : 6 Column . . . : 28

Type parameters for ONE of the following keywords, press Enter.

Keyword Parameters More


RANGE Low . . . . ‘1’
High . . . . ‘9’
COMP Operator . .
Value . . .
VALUES List . . . .

Type choices, press Enter. Keyword Y=Yes Immed


Validity check: CHECK
Name extended field . . . . . . . . . . . . VNE _
Name field . . . . . . . . . . . . . . . . . VN _
Allow blanks . . . . . . . . . . . . . . . . AB _
Modulus 10 self check . . . . . . . . . . . M10 / M10F _ _
Modulus 11 self check . . . . . . . . . . . M11 / M11F _ _
More...
F3=Exit F12=Cancel

Error Message

Para definir uma mensagem para um campo se utiliza a opção de Error Message, na qual
nos mostra a seguinte tela, na qual se assinala um indicador para poder controla-lo no programa
e se escreve a mensagem que se requer. O número de indicador nos serve para que quando no
programa ocurra um erro assinalado este se ativa e se reflita na tela inferior ou seja na linha 24.

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

Define Error Messages

Field . . . . . : VNOMBRE Usage . . : B


Length . . . . : 12 Row . . . : 6 Column . . . : 28

Type parameters, press Enter.

Indicators/+ ERRMSG - Message Text More Ind

80 __ _Este articulo no existe________________________ _ _


__ __ __ ________________________________________________ _ _
__ __ __ ________________________________________________ _ _
__ __ __ ________________________________________________ _ _
__ __ __ ________________________________________________ _ _
Bottom

Indicators/+ ERRMSGID File Library Ind Name


__ __ __ ________ _________ ________ __ _________
__ __ __ ________ _________ ________ __ _________
__ __ __ ________ _________ ________ __ _________
__ __ __ ________ _________ ________ __ _________
__ __ __ ________ _________ ________ __ _________
Bottom
F3=Exit F12=Cancel

- 47 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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 . . . . . . : QDDSSRC Member . . . . . . : VFIN00


Library . . . . : QGPL Source type . . . : DSPF

Type options, press Enter.


1=Add 2=Edit comments 3=Copy 4=Delete
7=Rename 8=Select keywords 12=Design image

Opt Order Record Type Related Subfile Date DDS Error


__ ________
_8 __10 VFIN001 RECORD 01/12/99

Bottom
F3=Exit F12=Cancel F14=File-level keywords
F15=File-level comments F17=Subset F24=More keys

A qual mostrará a seguinte tela:

Select Record Keywords

Record . . . : VFIN001

Type choices, press Enter.

Y=Yes
General keywords . . . . . . . . _
Indicator keywords . . . . . . . Y
Application help . . . . . . . . _
Help keywords . . . . . . . . . . _
Output keywords . . . . . . . . . _
Input keywords . . . . . . . . . _
Overlay keywords . . . . . . . . _

Print keywords . . . . . . . . . _
ALTNAME keyword . . . . . . . . . ______

TEXT keyword . . . . . . . . . . _______________________

F3=Exit F4=Display Selected Keywords F12=Cancel

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 Indicators/+ Resp Text


CF01 __ __ __ 01_ ________________________________________________
______ __ __ __ ___ ________________________________________________
______ __ __ __ ___ ________________________________________________
______ __ __ __ ___ ________________________________________________
______ __ __ __ ___ ________________________________________________
______ __ __ __ ___ ________________________________________________
______ __ __ __ ___ ________________________________________________
______ __ __ __ ___ ________________________________________________
______ __ __ __ ___ ________________________________________________

Bottom
F3=Exit F12=Cancel

- 48 –

PDF created with pdfFactory trial version www.pdffactory.com


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

Para indicar o uso de uma tecla de função se tecla ‘CFnn ’ e o número da função que se
utiliza, exemplo para definir a tecla F3 que seria a de saída ou F12 para cancelar a operação tería
que definir no keyword CF03 ou CF12 receptivamente, a qual se lhe assinala um indicador,
geralmente se opta pelo numero da função.

Funções mais usuais.


F3 ou F12 .- Sair , ao pressionar qualquier tecla se abandona o desenho.
F14 .- Régua., ao pressionar esta tecla nos mostra uma régua, na posição atual
do cursor, ao pressionar novamente a tecla, a regua desaparece.
F15 .- Imprimir, ao pressionar esta tecla se imprime o que tenhamos na tela.
F18 .- Ao pressionar esta tecla envía o cursor à posição do campo seguinte.
F19 .- Ao pressionar esta tecla envía o cursor à posição do campo anterior.
F22 .- Ao pressionar esta tecla mostra a linha de comando, onde podemos executar
qualquer comando de OS/400.

Ambiente Data Description Specifications (DDS).

O ambiente DDS é o método nativo preferentemente para descrever dados no equipamento


AS/400 e consiste do seguinte:
1.- arquivos físicos.
2.- arquivos lógicos.
3.- arquivos de tela.
4.- arquivos para impresão (reports).

todos os arquivos descritos por DDS podem ser usados por todos os componentes de software do
AS/400.

Codificação de Arquivos Físicos.

OBJETIVOS.
Codificar especificações de descrição de dados DDS e criar arquivos físicos no equipamento
AS/400.
Explicar a função dos campos de arquivos referenciados e codificar a DDS para criar um arquivo
para a base de dados do equipamento AS/400.

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

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

- 49 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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

ESPECIFICAÇÕES DE CONTROL: LETRA ‘H’

Para definir dados gerais e comentários do programa

Columns . . . : 1 71 Browse MTY2/JDESRC


SEU==> P550001
FMT H .....H........1..CDYI....S..............1.F............................
*************** Beginning of data *************************************
0001.00 H/TITLE P550001 - Actualizacion de fechas de conteo por mo
0002.00 H* ---------------------------------------------------------------
0003.00 H*
0004.00 H* This unpublished material is proprietary to
0005.00 H* J. D. Edwards & Company. All rights reserved.

ESPECIFICAÇÕES DE ARQUIVOS: LETRA ‘F’

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


TODOS OS ARQUIVOS REQUERIDOS NO PROGRAMA.

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

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

Pmt SeqNbr Filename Typ Desig EOF Seq Fmt Mode RAT Device K
FX 0034.00 F0001__ I F _ _ E _ K DISK___
_
Exit Entry A/U Cond
_____ ______ _ UC
- 50 –

PDF created with pdfFactory trial version www.pdffactory.com


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

Type.- I- Input, O- Output, U- Update, C- Combined


Desig- P- Primario, F- Full.
Fmt- F- Descrição por Programa, E- Descrição Externa
RAT- K- Indexado (só para Desc. Ext.), ‘ ‘= Sequencial.
Device- Disk, Workstn, Printer.

Columns . . . : 1 71 Browse MTY2/JDESRC


SEU==> P550004
FMT FC ... ..F..........……..Ext-record..................RcdnbrKOption….Entry+++....
0036.00 F I41021 KRENAMEI41021A
0037.00 FF550004 O E K DISK UC
0038.00 F****************************************************************

Pmt SeqNbr ExtRcd RcdNbrFld Cont Option Entry


FC 0036.00 I41021 _______ K RENAME I41021A

ESPECIFICAÇÕES ADICIONAIS: LETRA ‘E’

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

Columns . . . : 1 71 Browse MTY2/JDESRC


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

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

PDF created with pdfFactory trial version www.pdffactory.com


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

AltName Len P/B/L/R Dec A/D Comment


_______ ___ _ _ _ ________

- 52 –

PDF created with pdfFactory trial version www.pdffactory.com


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

ESPECIFICAÇÕES DE ENTRADA: LETRA ‘I’

As especificações de entrada (i) descrevem os registros e campos a ser usados no programa.

Não se necessitam as especificações de entrada (i) para os arquivos descritos externamente.

Columns . . . : 1 71 Browse MTY2/JDESRC


SEU==> P550004
FMT DS .....IDsname...NODsExt-file++.............OccrLen+....................
0057.00 IDSTXT DS 240
0058.00 I 1 40 VTX001
0059.00 I 41 80 VTX002
0060.00 I 81 120 VTX003

Pmt SeqNbr DtaStrName Nbr Opt DS ExtFName Occurs Len


DS 0057.00 DSTXT _ _ DS _________ ____ 240

Columns . . . : 1 71 Browse MTY2/JDESRC


SEU==> P550004
FMT J ....I.............……………......................PFromTo++ DField+...L1M1FrPlMnZr.
0058.00 I 1 40 VTX001
0059.00 I 41 80 VTX002

FORMATO PARA DEFINIR CONSTANTES

FMT N .....I..............Namedconstant+++++++++C.........Fldnme.............
0020.00 I 'abcdefghijklmnopqrstuvw -C MINS
0021.00 I 'xyz'

Pmt SeqNbr Constant DataType FldName


N 0019.00 '0123456789' C NUM

ESPECIFICAÇÕES DE CALCULO: LETRA ‘C’

As especificações de calculo (C) descrevem as operações à realizar pelo programa e indicam a


ordem em que devem realizar-se.

- 53 –

PDF created with pdfFactory trial version www.pdffactory.com


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

FMT C .....CL0N01N02N03Factor1+++Opcde.Factor2+++ResultLenDHHiLoEqComments++++
0125.00 C* Read master file input.
0127.00 C READ I4102A 99LR
0130.00 C CANTID MULT COSUNI $PRECI

Pmt SeqNbr Lvl N01N02N03 Factor 1 OpCode Factor 2 Result


C 0127.00 READ I4102A
Len Dec H/N/P Hi Lo Eq Comment
99 LR leitura

USO DE INDICADORES

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

ESTADOS DE UN INDICADOR:
A) ATIVADO => ‘ON’ = ‘1’
B) DESATIVADO => ‘OFF’ = ‘0’

CICLO LÓGICO DO RPG

SAÍDA DE LER UM
DETALHE REGISTR
O

CALCULOS DE MOVER
DETALHE DADOS
A CAMPOS

- 54 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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 Users Group AS/400 BÁSICO por Paulo Rocha

PROGRAMAÇÃO
INTERATIVA

PROGRAMA DE
CONSULTA DE ARQUIVO DE
CLIENTES 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 Users Group AS/400 BÁSICO por Paulo Rocha

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’ BIBLIOTECA: RPGLIB


R REGCLI
NUMCLI 6 0
NOME 30
DIRECC 15
TELEF 7 0
TIPOCL 3
LIMICR 8 0
STATUS 1
K NUMCLI

- 57 –

PDF created with pdfFactory trial version www.pdffactory.com


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

IDENTIFICAÇÃO DE TELAS

. TELAS EXISTENTES
Opção 3 de SDA
DDS
. TELAS NOVAS
Opção 1 de SDA
DDS

OPERAÇÕES ARITMÉTICAS

ADD (SOMAR)
SUB (SUBTRAIR)
MULT (MULTIPLICAR)
SQRT (RAIZ QUADRADA)
DIV (DIVIDIR)
Z-ADD (INICIALIZA E MOVE NÚMERO)

1.- Só para campos numéricos

2.- A operação não altera o conteúdo dos campos do fator 1 e 2


a menos de que se especifiquem tambem no campo de resultado.

3.- Qualquer dado colocado no campo de resultado regrava ao dado


que existia nesse campo.

4.- O RPG/400 não gera erros se há desdobramentos aritméticos.

5.- Nas operações: add, sub, mult e div, o fator 1 pode omitir-se.

6.- Se o fator 1 não se especifica, a operação se realiza como se no fator


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

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


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

PDF created with pdfFactory trial version www.pdffactory.com


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

Operações com arquivos

SETLL (Set Lower Limit)

O comando SETLL é usado para posicionar o apontador num registro buscado, o apontador se
posicionará acima do registro que seja igual ou maior à chave dada como parâmetro de busca.
Sintaxe
Fator 1 OpCode Fator2 Hi Lo Eq
KEY SETLL FILE ou REG. In In

Existem duas formas de usar o SETLL


- Se pode usar para posicionar e verificar que o apontador se posicione antes do primeiro
registro que seja igual à chave

Exemplo
Fator 1 OpCode Fator2 Hi Lo Eq
IMKY01 SETLL I4101 71

O indicador 71 se ativará se ao fazer o SETLL se encontra um registro que seja igual ao


argumento de busca (IMKY01)

- Posiciona o apontador antes do registro que seja maior ou igual ao argumento de busca e com
o indicador no HI verifica que se cumpra esta condição
Exemplo
Fator 1 OpCode Fator2 Hi Lo Eq
IMKY01 SETLL I4101 72

Neste caso é o inverso e o indicador se ativará se nenhum registro for maior ou igual à chave

- Se podem usar ambos indicadores ao mesmo tempo se assim se necessita


Exemplo
Fator 1 OpCode Fator2 Hi Lo Eq
IMKY01 SETLL I4101 72 71

Por exemplo, se tivermos os seguintes valores para a chave IMKY01


23 1) se IMKY01=60
30 2) se IMKY01=35
60 3) sieIMKY01=90
70
80
85

Para o caso 1 Para o caso 2


1) indicador 71 se ativa 1) indicador 72 não se ativa
- 59 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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


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

- 60 –

PDF created with pdfFactory trial version www.pdffactory.com


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

SETGT
Posiciona o apontador antes do primeiro registro que seja maior à chave dada

Sintaxe
Fator 1 OpCode Fator2 Hi Lo Eq
KEY SETGT FILE ou REG. In In

KEY.- é a chave que se vai usar para posicionar o apontador no registro buscado
FILE ou REG.- nome do arquivo ou registro que se vai fazer o SETGT

Fator 1 OpCode Fator2 Hi Lo Eq


IMKY01 SETGT I4101

READ
Faz uma leitura sequencial ao arquivo

Sintaxe
Fator 1 OpCode Fator2 Hi Lo Eq
READ File ou Reg.
File ou Reg.- nome do file ou registro que se vai ler

Exemplo.
Fator 1 OpCode Fator2 Hi Lo Eq
READ I41021

READE
È parecido ao read, com a diferença de que lê só os registros que sejam iguais à chave. O
indicador se prenderá quando o registro lido não seja igual à chave dada ou quando se chegue ao
fim do arquivo

Sintaxe
Fator 1 OpCode Fator2 Hi Lo Eq
Key READE File ou Reg. 81

KEY.- é a chave que se vai usar para posicionar o apontador no registro buscado
FILE ou REG.- nome do arquivo ou registro que se vai fazer o READE

Exemplo.
Fator 1 OpCode Fator2 Hi Lo Eq
IMITM READE I4101 81

- 61 –

PDF created with pdfFactory trial version www.pdffactory.com


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

Supondo que o valor de IMITM=1542 e que o arquivo I41021 estivera chaveado por IMITM só
vão a lêr os registros do F4101 cujo IMITM seja igual a 1542, e o indicador 81 se prendería
quando já não sejam iguais os registros à chave buscada.

O READE quase sempre se maneja em conjunto com o SETLL, para primero posicionar o
apontador e logo ir lendo os registros que sejam iguais à chave especificada.

READP
Lê o registro anterior, ao que está posicionado atualmente, faz uma leitura regressiva

Sintaxe
Fator 1 OpCode Fator2 Hi Lo Eq
READP File ou Reg. 81

Exemplo.
Fator 1 OpCode Fator2 Hi Lo Eq
READP I4101A 81
Por exemplo se o registro em que se encontra atualmente
45
50 ao fazer o READP
52 no que se encontra atualmente
60

CHAIN
Posiciona e lê o registro que cumpra com a chave dada, este comando é utilizado para fazer uma
busca direta.
O indicador se ativará quando não se encontre nenhum registro que cumpra com a chave, se o
indicador está apagado quer dizer que se encontrou o registro, o lê e se posiciona no primeiro
registro que cumpra com a chave.

Sintaxe
Fator 1 OpCode Fator2 Hi Lo Eq
Key CHAIN File ou Reg. 81

KEY.- é a chave que se vai usar para posicionar o apontador no registro buscado
FILE ou REG.- nome do arquivo ou registro que se vai fazer o CHAIN

Exemplo.
Fator 1 OpCode Fator2 Hi Lo Eq
LIKY01 CHAIN I41021 81

- 62 –

PDF created with pdfFactory trial version www.pdffactory.com


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

Operações aritméticas:

ADD
Operação de soma

Sintaxe
Fator 1 OpCode Fator2
Valor1 ADD Valor2 Resultado
Resultado= Valor1 + Valor2

Fator 1 OpCode Fator2


ADD Valor Resultado
Resultado= Resultado + Valor

Exemplo.
Fator 1 OpCode Fator2
Preço ADD Iva QuantT 15 2

NOTA: Tem que definir os campos de trabalho neste caso QuanT se definiu como um campo
númerico de 15 inteiros com 2 decimais, só é necessário defini-los uma vez, o campo de preço e
Iva devem estar definidos se não vem de nenhum arquivo.

SUB
Operação de subtração

Sintaxe
Fator 1 OpCode Fator2
Valor1 SUB Valor2 Resultado
Resultado= Valor1 – Valor2

Fator 1 OpCode Fator2


SUB Valor1 Resultado
Resultado= Resultado – Valor1

Valor1.- Quantidade à subtrair


Valor2.- Quantidade à que se vai subtrair
Resultado.- variável donde se dará o resultado

Exemplo.
Fator 1 OpCode Fator2
QuantInv SUB QuantVend QuantRest 15 0

- 63 –

PDF created with pdfFactory trial version www.pdffactory.com


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

MULT
Operação de multiplicação

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
Valor1 MULT Valor2 Resultado 15 0
Resultado= Valor1 * Valor2

Fator1 OpCode Fator2 Len Dec


MULT Valor1 Resultado 15 0
Resultado= Resultado * Valor1

Nota: o campo de resultado deve estar definido, tem que especificar que seja númerico, seu
tamanho e número de decimais

DIV
Operação de divisão

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
Valor1 DIV Valor2 resultado 15 0
Resultado= Valor1/ Valor2

Fator1 OpCode Fator2 Len Dec


DIV Valor1 Resultado 15 0
Resultado= Resultado/Valor1

Fator1 OpCode Fator2 Resultado Len Dec


Quant1 DIV 5 Quant_Div 15 2
Quant_Div = Quant1/5= 450.2/5= 90.04

SQRT
Raiz quadrada

Fator1 OpCode Fator2 Resultado Len Dec


SQRT Valor resultado 15 0
Valor.- quantidade que se vai a ter a raiz quadrada

Exemplo.

Fator1 OpCode Fator2 Resultado Len Dec


SQRT 100 RaízC 15 0

RaízC= 10
- 64 –

PDF created with pdfFactory trial version www.pdffactory.com


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

Mover Dados

Z-ADD
A operação Z-ADD serve para inicializar o campo de resultado com o valor do fator1, esta
operação só é valida para campos numéricos

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
Z-ADD Valor2 Resultado 15 0
Valor2 = quantidade com que se vai inicializar o campo de resultado

Exemplo.
Fator1 OpCode Fator2 Resultado Len Dec
Z-ADD 500 Quant 15 0
Que daria
Quant = 500

Nota: ambos devem ser do tipo numérico, com o Z-ADD não se utiliza o fator1

MOVE
Esta operação é utilizada para mover dados e alinhar-los à direita, a operação MOVE transfere os
caracteres do fator 2 ao campo de resultado.
Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
MOVE Campo2 Campo3 20

Há várias maneiras que se podem mover os dados com move, a continuação se dão alguns
exemplos para o move

Caso1
Quando ambos campos são de tipo carácter e o campo de resultado é mais largo que o fator 2
Exemplo

ANTES

Fator2= F I L E

Resultado= S O F T W A R E

DEPOIS
Resultado= S O F T F I L E
- 65 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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 Users Group AS/400 BÁSICO por Paulo Rocha

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 Fator2 Resultad Len Dec
MOVEA NomArray VarResult Long

Por exemplo se temos um array chamado NAME de tamanho 10, tipo caracter e se quer mover
para uma variável chamada ALUNO do mesmo tamanho e tipo.

- 67 –

PDF created with pdfFactory trial version www.pdffactory.com


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

NAME
E D G A R O M A R
1 2 3 4 5 6 7 8 9 10

Factor1 OpCode Factor2 Resultad Len Dec


MOVEA NAME Aluno 10
Ao fazer o MOVEA que daria:

Aluno= EDGAR OMAR

Condicionais e Ciclos

IFxx
Condição IFxx, é um condicional para realizar determinada ação ou não

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
Campo1 Ifxx Campo2
{Operac
ELSE
{Operac
ENDIF

Campo1.- campo que se vai comparar


xx.- tipo de comparação, podem ser: EQ,NE,GE,GT,LE,LT
Campo2.- variavel ou valor com o que se comparará

Tambem se podem adicionar os operadores lógicos AND e OR


Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
Campo1 IFxx Campo2
ANDxx
Orxx
{Operac
ENDIF

Exemplo

Fator1 OpCode Fator2 Resultado Len Dec


$DOC IFEQ ‘PA’
$CANT ANDNE ’0’
MOVE ‘A’ CLIEN 1
ELSE
MOVE ‘B’ CLIEN
ENDIF

- 68 –

PDF created with pdfFactory trial version www.pdffactory.com


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

CASxx
Este comando permite fazer uma seleção da subrotina a executar; se se cumpre a comparação
entre o fator1 e o fator2, a subrotina especificada no campo resultante é executada.

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
Campo1 CASxx Campo2 NomSubrotina

Exemplo.
Factor1 OpCode Factor2 Resultad Len Dec
Mov CASEQ ‘b’ Baixa

CABxx
Este comando permite fazer uma comparação entre o fator1 e o fator2; se esta comparação
resultar verdadeira o programa mandará o controle ao TAG associado com a etiqueta
especificada no campo resultante
Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
Campo1 CABxx Campo2 Etiqueta

Exemplo.
Fator1 OpCode Fator2 Resultado Len Dec
Mov CABEQ ‘1’ Alta

DO
Inicia e processa um grupo de operações e se levam à cabo tantas vezes como se especifique no
contador ou variavel

Sintaxes
Fator1 OpCode Fator2 Resultado Len Dec
DO Cte. Ou Var
{Operac
ENDDO

ejem
Fator1 OpCode Fator2 Resultado Len Dec
DO 10
Add 2 Sum 2 0
ENDDO

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 Users Group AS/400 BÁSICO por Paulo Rocha

DOWxx
Este ciclo se vai a levar à cabo até a condição especificada para este ciclo seja verdadeira

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
Campo1 DOWxx Campo2
{Operac
ENDDO

Campo1.- campo que se vai comparar


xx.- tipo de comparação, podem ser: EQ,NE,GE,GT,LE,LT
Campo2.- variavel ou valor com o que se comparará

Fator1 OpCode Fator2 Resultado Len Dec


ILMCU DOWEQ ‘01’
WRITE I5701
ENDDO

EXSR
Manda executar uma subrotina, pode ser executada desde o menu principal ou de qualquer outra
subrotina que à mande executar.
Sintaxes
Fator1 OpCode Fator2 Resultado Len Dec
EXSR NomRotina
NomRotina.- nome da subrotina que se vai executar

BEGSR… ENDSR
O BEGSR marca o inicio de uma subrotina e com o ENDSR se encerra o bloco da subrotina

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
Preços BEGSR
Bloco
Da
Rotina
ENDSR

- 70 –

PDF created with pdfFactory trial version www.pdffactory.com


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

EXFMT
Permite enviar e lêr um formato de tela

Sintaxe
Fator 1 OpCode Fator2 Hi Lo Eq
EXFMT NomTela

GOTO,TAG
O Goto permite variar o fluxo de um programa, ao chegar ao Goto, Label manda o controle do
programa aonde se encontra o label especificado em Goto. Isto se faz com o TAG Label que
marca a parte do programa aonde se mandará o controle do programa quando se execute o
GOTO.

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
GOTO Label
{corpo
{do pgm
TAG Label

Atualização de Registros

UPDATE
Atualiza as alterações feitas num registro
Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
UPDAT NomRegistro
ou Arquivo
Nota: primeiro tem que posicionar o apontador no registro que se deseja atualizar

Se no fator 2 se especifica o nome de um formato de tela, a operação UPDATE atualiza os dados


da tela .

exemplo
Fator1 OpCode Fator2 Resultado Len Dec
UPDAT V01200

DELET
Apaga o registro em que está posicionado atualmente o apontador
Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
DELET NomRegistro
ou Arquivo

- 71 –

PDF created with pdfFactory trial version www.pdffactory.com


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

WRITE
Escreve um registro novo no arquivo especificado, para este arquivo em que se deseja escrever
deve estar declarado na letra F uma A na coluna de Adição.

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
WRITE NomRegistro
Ou File

exemplo
Fator1 OpCode Fator2 Resultado Len Dec
WRITE I4111

Se no fator 2 se especifica o nome de um formato de tela, a operação WRITE escreve esse


formato na tela .

Se no fator 2 se especifica o nome de um formato de impressora, a operação WRITE imprime


esse formato.
exemplo
Fator1 OpCode Fator2 Resultado Len Dec
WRITE Heading

Definição de chaves

KLIST
Define uma chave composta, se utiliza para declarar uma lista de campos chave (KFLD). Esta
lista pode ser usada como argumento de busca.
Os KFLDs são os campos que forman a chave como campos de arquivos, valores fixos ou
variaveis; podem ser de um a mais campos.

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
NomKey KLIST
KFLD Campo1
KFLD Campo2
KFLD Campo3

NomKey .- nome com o que se identificará a chave, este é o nome com o qual se chamará a
chave para uma busca.
Campo1…3.- são os campos que formam esta chave

- 72 –

PDF created with pdfFactory trial version www.pdffactory.com


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

Exemplo.
Fator1 OpCode Fator2 Resultado Len Dec

LIKY01 KLIST
KFLD LIMCU
KFLD LILOCN
KFLD LIITM

Parâmetros

PLIST
Define um nome único para a lista de parâmetros que receberá ou passará o programa, ao ser
executado o comando executar com a operação CALL

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
*ENTRY PLIST
PARM Parâmetro1 Tam1 #dec
PARM Parâmetro2 Tam2
PARM Parâmetro3 Tam3

PARM.- Define cada um dos parâmetros que compõem a lista de parâmetros do programa
Tam1..n.- Tamanho de cada um dos parâmetros e tipo

CALL
Manda chamar um programa para ser executado, se o programa que vai ser chamado requer que
sejam passado parâmetros se especificam aqui, ao manda-lo executar com o comando CALL

Sintaxis
Fator1 OpCode Fator2 Resultado Len Dec
Move Dado1 ParaEntr1
Movel Dado2 ParaEntr2
“ “ “
Movel Dadon ParaEntrn
CALL Programa
PARM ParaSal1
PARM ParaSal2
“ “
PARM ParaSaln
Dado1..n .- são os dados de entrada que requerem o programa que se esta chamando para
executado
ParaEnt1..n.- nomes dos parâmetros, podem ser iguais ou não, o que é importante é a ordem em
que são dados, devem ser na mesma ordem em que são especificados no programa chamado e do
mesmo tipo.
ParaSal1..n .- são os parâmetros que regressa o programa.
- 73 –

PDF created with pdfFactory trial version www.pdffactory.com


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

OPEN
Comando para abrir um arquivo

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
OPEN Arquivo

CLOSE
Fecha um arquivo aberto

Sintaxes
Fator1 OpCode Fator2 Resultado Len Dec
CLOSE Arquivo

SETOF
Apaga os indicadores especificados em Hi,Lo,Eq e assinala o valor de 0 ao indicador

Sintaxe
Fator 1 OpCode Fator2 Hi Lo Eq
SETOF In In In

Exemplo
Fator 1 OpCode Fator2 Hi Lo Eq
SETOF 82

SETON
Operação para ativar os indicadores contidos em Hi,Lo,Eq e assinala o valor de 1 ao indicador.
Sintaxe
Fator 1 OpCode Fator2 Hi Lo Eq
SETON In In In

Exemplo
Fator 1 OpCode Fator2 Hi Lo Eq
SETON 81

- 74 –

PDF created with pdfFactory trial version www.pdffactory.com


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

Manuseio de Arrays

LOKUP
Faz uma busca a um array ou tabela

Sintaxe
Fator 1 OpCode Fator2 Hi Lo Eq
Argumento LOKUP Array ou tabela In

Argumento.- elemento do array ou tabela buscado


Array ou tabela.- nome do array ou tabela onde se vai fazer a busca

O indicador se prenderá quando o argumento de busca seja encontrado no array ou tabela


especificado no fator 2

- 75 –

PDF created with pdfFactory trial version www.pdffactory.com


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

Exemplo.
Fator 1 OpCode Fator2 Hi Lo Eq
500 LOKUP Preços 81
O array de preços contem os seguintes elementos
100
300
500
800
:
neste caso o indicador 81 se prenderá, já que o valor 500 se existe no array

XFOOT (Cross Foot an Array)


A operação XFOOT soma todos os elementos do array númerico especificado no fator2 e deixa a
soma no campo resultado

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
XFOOT Array VarResul Long #dec

Exemplo
Fator1 OpCode Fator2 Resultado Len Dec
XFOOT ArraIva Soma 15 2

Manuseio de Strings

CAT
Une duas strings de caracteres em uma só

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
String1 CAT String2 StringRes 20

String1 .- É o primeiro campo que se vai concatenar


String2.- Segundo campo string que se unirá com o primeiro
StringRes.- É a string de caracteres resultante que dará a união de ambos campos

Exemplo.
Fator1 OpCode Fator2 Resultado Len Dec
Nom1 CAT Nom2 Nome 20
Nom1= Maria
Nom2=Cristina
Ao concatenar desta manera daria assim:
Nome= Maria Cristina

- 76 –

PDF created with pdfFactory trial version www.pdffactory.com


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

Ou se quer que ao concatenar quite os espaços, ou dejese só alguns, a sintaxes é


Fator1 OpCode Fator2 Resultado Len Dec
String1 CAT String2:n StringRes 20
n.- número de espaços entre as string
Exemplo.
Fator1 OpCode Fator2 Resultado Len Dec
Nom1 CAT Nom2:1 Nome 20

Nom1= Maria
Nom2=Cristina
Ao concatenar desta manera temos assim:
Nome= Maria Cristina

SCAN (Scan String or Array)

A operação SCAN checa a variavel tipo carácter ou array especificado no fator2 com o
argumento especificado no fator1. Se o argumento foi encontrado, a posição do primeiro caracter
do argumento é passado ao campo resultante. Se um array numérico é especificado como o
campo resultante, cada ocurrência do argumento encontrado no fator2 é passado num
correspondente elemento do array.

Sintaxe
Fator1 OpCode Fator2 Resultado Len Dec
Argumento:1 SCAN NomVar Posição Long #Dec

Argumento.- string de caracteres à buscar


NomVar.- variavel ou campo onde se buscará o argumento
Posição.- nome da variavel onde se regressa a posição onde encontra ao argumento (a primeira
letra da esq. à direita)
Long. #Dec.- atributos do campo resultante
Exemplo

Fator1 OpCode Fator2 Resultado Len Dec


Apelido:1 SCAN Name ResPos 1 0

Apelido= Gu
Name=Pablo Guzmán
Ao fazer o SCAN
ResPos=7

- 77 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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 Users Group AS/400 BÁSICO por Paulo Rocha

DCL

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

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

TYPE( ) LEN ( ) VALUE( )


*DEC Por default Default (0)
(155)
Máximo
(159)
*CHAR Default Default (0)
(32)
Máximo
(9999)
*LGL 1 Default (0)

Exemplo:
(1) DCL &A *LGL VALUE (‘1’)
(2) DCL &B *CHAR 5 ABCD
(3) DLC &c *DEC (5 2) 543.21

CHGVAR.

Este comando nos permite alterar valores a:

Constantes
Outras variáveis
Expressões

Conversão entre valores decimais e de caracteres.

CHGVAR VAR (CL- variavel) VALUE (expressão)

Exemplos de CHRVAR
1.- CHGVAR &MONT –37.2
2.- CHGVAR &NAME ‘TOM SMITH’
3._ CHGVAR &CODE A
4.- CHGVAR &COUNT (&CONTA + 1)
5.- CHGVAR &IN20 (&IN10 *OR &IN15)
6.- CHGVAR &IN99 (&OPÇÃO = 90)
7.- CHGVAR &AMT ((&PREÇO. & DESCONTO /0 * & QUANT)

- 79 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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 Variavel Decimal &A


Tamanho ResultadoConvertido Tamanho Valor Especificado

7 0023.00 5.2 23.00


7 -003.90 5.2 -3.90
7 -123.67 5.2 -123.67
CHARVAR VAR (&A) VALUE(&A)
Variavel Decimal &A Variavel Caracter &A
Tamanho ResultadoConvertido Tamanho Valor Especificado

5.2 123.00 10 ‘bb+123.1bb’


5.0 123 10 ‘bbb+123.000’
5.2 -123.00 10 ‘-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 Users Group AS/400 BÁSICO por Paulo Rocha

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
Resultado
Serie1 *CA Serie2 Serie Serie
T 1 2
A B bC *TCA Serie2 A Serie
T
A B C *BCAT Serie2 ABC D
A D D
b *BCA Serie2 A D
T 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 *CHAR 25 ‘XYZ CORPORAÇÃO’
DCL &CUSNUM *DEC (5 0)
DCL &CUSNUMALPH *CHAR 5
DCL &DAYS *DEC 30
- 81 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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 Users Group AS/400 BÁSICO por Paulo Rocha

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 Users Group AS/400 BÁSICO por Paulo Rocha

Fromfmt *JOB *JOB *JOB


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

- 84 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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 Não pode assinalar objetos.
CPF1040 Número máximo de objetos assinalados no sistema
CPF1085 Objetos não assinalados
CPF5739 Não pode assinalar-se ou liberar arquivo(s) DDM

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 Users Group AS/400 BÁSICO por Paulo Rocha

MONMSG MSGID(CPF2182) CMPDTA(PLALIB)

EXEC – (Opcional)
Comando CL

MONMSG: Nivel programa, nivel de comando


Pgm
DCL
DCL
DCL
MONMSG Nivel de programa
MONMSG Comprova aqui se esta mensagem é supervisionada
MONMSG Supervisão de todos os comandos de programa
NO EXEC: ignore

MONMSG Nivel de comando


MONMSG Comprova aqui primeiro se esta mensagem é supervisionada
Supervisiona só o comando anterior.
NO EXEC: ignore.
ENDPGM

Exemplo de supervisão de mensagens


Comprovar existencia e autorização de um objeto
CHKOBJ OBJ (nome-objeto) +
OBJTYPE(CPF- tipo-de-objeto) + AUT(direito-de autorização)

Exemplo:
1 CHGOBJ OBJ(IWLIB/APR010 OBJTYPE(*PGM) /* existência*/
MONMSG..............
2 CHKOBJ OBJ(APPVEND) OBJTYPE(*PGM) + /* existência*/
MBR(APPVAND) AUTO(*DLT) /*e autorização*/
MONMSG............
Exemplo de supervisão de mensagens
PGM
DCL...
/*NIVEL DE PROGRAMA
MONMSG CPF9801 EXCE(GOTO NÃO ENCONT)
MONMSG CPF7302
/* FIM NIVEL DE PROGRAMA
CHKOBJ PYPMAST *FILE
CHKOBJ GLPMAST *FILE
DE NOVO: CRTPF QTEMP/WORK.....
MONMSG CPF7302 EXEC (DO)
DTLF QTEMP/WORK

- 86 –

PDF created with pdfFactory trial version www.pdffactory.com


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

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

Potrebbero piacerti anche