Documentos de Académico
Documentos de Profesional
Documentos de Cultura
: TOPConnect 4 Ambiente : Microsiga Protheus 8.11 e 10 Verso : OS/400 Sistemas operacionais Data da publicao : 03/04/09 Bancos de dados Data da reviso : 03/04/09 : DB2/400 Pases : Todos
A ferramenta de conexo e acesso a dados TOPConnect 4 distribuda em builds diferenciadas, para contemplar diferentes plataformas, bancos de dados e sistemas operacionais, tais como Windows, Linux, AIX, HPUX e Solaris. Visando atender aos clientes que utilizam o banco de dados DB2/400, em plataforma iSeries (AS/400), a aplicao TOPConnect 4 foi portada e adequada para obter um melhor aproveitamento de recursos do ambiente e banco de dados, permitindo o uso de stored procedures SQL compiladas no banco de dados e eliminando algumas limitaes e caractersticas operacionais implcitas com o uso da verso anterior - TOPConnect 2 para AS/400. A seguir, observe os seguintes tpicos que sero abordados: Novidades, correes e implementaes em relao ao TOPConnect 2 para AS/400 TOPConnect 4 e verses do sistema operacional Operaes no suportadas Instalao do TOPConnect 4 no AS/400 iSeries Configurao do sistema Microsiga Protheus Diferenas Operacionais Funes TCSrvType() e TCGetDB() Diferenas Operacionais Limite do nome da tabela em 10 caracteres Diferenas Operacionais TOPMonitor Diferenas Operacionais Queries com campo MEMO Diferenas Operacionais Cdigos e mensagens de erro Migrando a verso do TOPConnect 2 para o TOPConnect 4 Atualizando uma instalao do TOPConnect 4 AS/400 com build anterior a 20081020 Impacto na aplicao AdvPL Caractersticas particulares do schema e tabelas de dados do TOPConnect 4.
pelo TOPConnect de ASCII para EBCDIC e vice-versa para operaes de gravao e leitura, respectivamente.
Operaes no suportadas
Esta verso do TOPConnect para AS/400 ainda no suporta as seguintes funcionalidades, disponveis para as demais plataformas: Utilizao de Audit Trail. Utilizao do TOPMonitor.
A funcionalidade de monitoramento est sendo adequada ao ambiente do AS/400, para melhor utilizar os recursos de comunicao interprocessos, e quando homologada, ter praticamente todas as funcionalidades e recursos disponveis hoje no TOPConnect 4, como o monitoramento de usurios on-line, visualizao do log de ocorrncias e trace (rastreamento) de conexo, bloqueio/liberao de conexes e demais assistentes.
ftp> open 10.10.2.1 Connected to 10.10.2.1. 220-QTCP at 10.10.2.1. 220 Connection will close if idle more than 5 minutes. User (10.10.2.1:(none)): qsecofr 331 Enter password. Password: 230 QSECOFR logged on. ftp> binary 200 Representation type is binary IMAGE. ftp> put TOP40V5R3 QGPL/TOP40 200 PORT subcommand request successful. 150 Sending file to member SAVF in file TOP40V5R3 in library QGPL. 250 File transfer completed successfully. 3527040 bytes sent in 7.74 seconds (346.54 Kbytes/sec) ftp> bye Restaurar a lib enviada no AS/400
Para apagar o save file utilizado execute o comando abaixo. No necessrio apagar o save file, ele pode ser mantido para uso posterior, caso necessrio.
DLTF QGPL/TOP40V5R3
Adequao do ambiente para execuo do TOPConnect Para que a aplicao seja executada com sucesso, deve-se adicionar a biblioteca TOP40 a lista de bibliotecas de busca em uso. Neste caso, mais eficaz adicionar a biblioteca lista de bibliotecas de busca de Job Description, que garante a ordem correta de busca da biblioteca. Para realizar essa tarefa, necessrio executar a seguinte instruo:
CHGJOBD JOBD(TOP40/TOP40) INLLIBL(QGPL QTEMP TOP40)
Criao do usurio TOPConnect e atribuio de direitos Para executar a aplicao, o administrador do sistema deve criar um usurio chamado TOPCONNECT. Este usurio deve ter autoridade sobre a biblioteca TOP40 e ser o nico a administrar deste componente. Para isso, necessrio definir as seguintes configuraes para o usurio: Direitos sobre os schemas/bibliotecas de dados utilizados pelo sistema Microsiga Protheus. Iniciar e finalizar a aplicao TOPConnect. Configurar o CCSID *HEX e Sort Sequence *HEX para que o jobs, do TOPConnect, funcionem adequadamente.
-3
TOTVS Tec TOPConnect 4 TOPConnect 4 para AS/400 iSeries
No entanto, importante que o administrador garanta ao usurio TOPCONNECT todos os direitos sobre a biblioteca TOP40, remova as mesmas configuraes dos demais usurios e garanta o uso da instruo de controle de journal (CHGJRN).
Para adequar o CCSID e Sort Sequence do usurio para o TOPConnect, utilize o comando:
CHGUSRPRF USRPRF(TOPCONNECT) SRTSEQ(*HEX) CCSID(*HEX)
Para definir os direitos necessrios ao usurio, sobre a biblioteca TOP40, utilize o seguinte comando:
GRTOBJAUT OBJ(TOP40/*ALL) OBJTYPE(*ALL) USER(TOPCONNECT) AUT(*ALL)
Para remover os direitos dos demais usurios sobre a biblioteca TOP40, utilize o seguinte comando:
GRTOBJAUT OBJ(TOP40/*ALL) OBJTYPE(*ALL) USER(*PUBLIC) AUT(*EXCLUDE)
Para dar direitos ao usurio para utilizar o comando CHGJRN, utilize o comando:
GRTOBJAUT OBJ(CHGJRN) OBJTYPE(*CMD) USER(TOPCONNECT) AUT(*USE)
Adequaes para o Sistema Operacional Verso em uso A biblioteca TOP40 foi desenvolvida e gerada contendo informaes de observability, que aumentam um pouco o tamanho dos objetos, mas que permitem que o prprio sistema operacional, em verses superiores a V5R3, possa realizar adequaes para a compatibilidade nos programas e otimizaes. Desta forma, aps restaurar o save file e efetuar a instalao ou atualizao de uma verso j implantada, do TOPConnect 4 para AS/400, recomendvel a execuo da sequncia de instrues abaixo, para que o sistema operacional realize os ajustes nos programas removendo as informaes de observability e otimizando os cdigos para a verso atual em uso. No entanto, importante lembrar que, estes comandos devem ser executados quando o subsistema TOP40 no estiver em uso (TOPConnect finalizado, sem jobs, sem nada no ar.).
-4
TOTVS Tec TOPConnect 4 TOPConnect 4 para AS/400 iSeries
CHGPGM PGM(TOP40/ENDTOP40) OPTIMIZE(*FULL) RMVOBS(*ALL) CHGPGM PGM(TOP40/TOPCONNECT) OPTIMIZE(*FULL) RMVOBS(*ALL) CHGPGM PGM(TOP40/TOPCONNFLT) OPTIMIZE(*FULL) RMVOBS(*ALL) CHGPGM PGM(TOP40/TOPCONNJOB) OPTIMIZE(*FULL) RMVOBS(*ALL) CHGPGM PGM(TOP40/TOPCONNQRY) OPTIMIZE(*FULL) RMVOBS(*ALL) CHGPGM PGM(TOP40/TOPRUNTIME) OPTIMIZE(*FULL) RMVOBS(*ALL) CHGSRVPGM SRVPGM(TOP40/TOPRUNTIME) OPTIMIZE(*FULL) RMVOBS(*ALL)
Ambiente Windows 1. Inicie o aplicativo iSeries Navigator e realize login. 2. Localize na rvore My Connections, do lado esquerdo, a pasta Database. 3. Na pasta Database, seleciona a subpasta Schema e clique, com o boto direito do mouse, na opo New + Schema.
-5
TOTVS Tec TOPConnect 4 TOPConnect 4 para AS/400 iSeries
4. Nesta janela, escolha o pool de disco apropriado para a criao do schema e selecione a opo Create a data dictionary. 5. Clique OK para confirmar.
Ambiente AS/400 Atravs do engine de acesso SQL nativo, execute as seguintes instrues:
/* Creating schema DBTESTE */ CREATE SCHEMA DBTESTE IN ASP 1 WITH DATA DICTIONARY;
/* Setting label text for DBTESTE */ CL:CHGLIB LIB(DBTESTE) TEXT('Ambiente TOP4 Teste') ;
Iniciar/finalizar o TOPConnect Para iniciar o aplicativo, utilize o comando TOPCONNECT. O comando TOPCONNECT permite parmetros adicionais para especificar a quantidade de jobs de conexo que sero iniciados junto do aplicativo e a quantidade mnima de jobs livres no pool de conexes, atravs dos parmetros STRJOBS e JOBS, respectivamente. Exemplo : TOPCONNECT STRJOBS(20) JOBS(4) Neste exemplo, com esses parmetros, o TOPConnect ser inicializado com 20 processo (TOPCONNJOB) no pool de conexes. Conforme esses processos forem recebendo conexes, a aplicao garantir que sempre fiquem no mnimo 4 processos livres para novas conexes. No entanto, caso nenhum dos parmetros sejam informados, o padro de ambos so 2 jobs iniciais e 2 jobs livres. Para finalizar o aplicativo, utilize o comando ENDTOPCONN. Ao executar o comando ENDTOPCONN, os jobs em uso e livres no pool de conexes sero notificados para finalizar e, por ltimo, o job principal do TOPConnect ser finalizado.
-6
TOTVS Tec TOPConnect 4 TOPConnect 4 para AS/400 iSeries
No entanto, possvel verificar se existem jobs em execuo pelo aplicativo utilizando a instruo Work with active Jobs. Exemplo: WRKACTJOB SBS(TOP40)
TOPConnect 2 TOPConnect 4
Na configurao padro, onde o TOPConnect espera conexes, do sistema Microsiga Protheus, na porta 7890, o TOPMonitor deve conectar-se com o TOPConnect atravs da porta 7891.
Importante possvel utilizar os recursos do TOPMonitor, porm importante ressaltar que esse produto no est homologado. Eventualmente, o TOPMonitor apresenta ocorrncia de congelamento ao subir e descer processos concorrentes no TOPConnect 4 do AS/400. Quando essa ocorrncia reproduzida, necessrio finalizar o TOPMonitor diretamente no gerenciador de tarefas (Task Manager), do sistema operacional, da mquina remota utilizada.
Os erros com prefixos SQL, ao serem registrados pelo TOPConnect, possuem uma descrio adicional obtida diretamente no AS/400, explicando as possveis causas da ocorrncia e aes corretivas. J os erros com prefixo CPF, no tem esse detalhamento. Neste caso, possvel obter o detalhe da ocorrncia utilizando, no AS/400, o comando DSPMSGD seguido do cdigo da ocorrncia.
-8
TOTVS Tec TOPConnect 4 TOPConnect 4 para AS/400 iSeries
Exemplo 1 Neste exemplo, foi executada uma instruo para criao de tabela, porm a tabela j existe. Observe como essa ocorrncia foi retornada para o sistema Microsiga Protheus.
/*------------------------------------------------------ERRO THREAD ([5796], juliow, TEC-AUTOQUAD) 01/06/2008 18:25:38 Stack : MYTEST: TOP Error SQL0601 - User Name : JULIO - Comment: DB2/TOP4STRESS( From tDBServer::CreateFile )( STMT CREATE TABLE TOP4STRESS.MYTEST(CPOC CHAR(10) NOT NULL WITH DEFAULT ' ',CPON DOUBLE NOT NULL WITH DEFAULT 0.0,CPOD CHAR(8) NOT NULL WITH DEFAULT ' ',CPOL CHAR(1) NOT NULL WITH DEFAULT 'F',CPOX CHAR(1) NOT NULL WITH DEFAULT ' ',CPOM INTEGER NOT NULL DEFAULT 0,D_E_L_E_T_ CHAR(1) NOT NULL WITH DEFAULT ' ',R_E_C_N_O_ DOUBLE NOT NULL WITH DEFAULT 0.0) ) - MYTEST in TOP4STRESS type *FILE already exists.Cause . . . . . : An attempt was made to create MYTEST in TOP4STRESS or to rename a table, view, alias, or index to MYTEST, but MYTEST already exists. All tables, views, aliases, indexes, SQL packages, sequences, constraints, triggers, and user-defined types in the same schema must have unique names. -- If MYTEST is a temporary table, it cannot be replaced unless the WITH REPLACE clause is specified. -- If the schema name is *N, this is a CREATE SCHEMA statement. If this is a CREATE TABLE or ALTER TABLE statement and the type is *N, MYTEST is a constraint. Recovery . . . : Change MYTEST to a name that does not exist, or delete, move, or rename the existing object. If this is a temporary table, use the WITH REPLACE clause. If creating an SQL package, specify REPLACE(*YES) on CRTSQLPKG. Try the request again. on CTMCREATE(MEMTEST.PRW) 27/02/2008 line : 315 [build:7.00.080307A] [environment: advpltests_top4_as400] [thread 5796] Called from {|| (CTMCREATE())}(MEMTEST.PRW) line : 100 Called from line : 0 Called from U_CTMTEST(MEMTEST.PRW) 27/02/2008 line : 203 -------------------------------------------------------*/ O cdigo de erro SQL retornando no incio da mensagem seguido pelos dados da thread/Conexo no TOP (usurio e comentrios do processo), o statement executado que apresentou erro e a descrio completa da mensagem de erro. Importante A mensagem retornada ao AdvPL limitada em 4Kb. Logo, se o statement ultrapassar esse tamanho, o final da mensagem, que contm a descrio completa do erro, no ser gravado. Neste caso, deve ser verificado o arquivo de log de erros (topconn.log) do TOPConnect 4. Esse arquivo gravado, no AS/400, na pasta /root ou na pasta do sistema de arquivos de onde o aplicativo foi iniciado.
-9
TOTVS Tec TOPConnect 4 TOPConnect 4 para AS/400 iSeries
Exemplo 2 Nos exemplos a seguir, uma operao de insero e uma de atualizao de registro violaram o ndice de chave nica do arquivo em questo, onde em vermelho esto informados o ambiente e a tabela envolvida na operao e, entre parnteses em azul, o cdigo de erro da operao. /*------------------------------------------------------ERRO THREAD (julio, TEC-AUTOMAN) 15/08/2007 13:53:34 Stack : PKTEST: DB error (Insert): -27 File: PKTEST - TOP Error 3102 - Write Error TOPDBA/PKTEST (CPF5034) User Name : JULIO - Comment: DB2/TOPDBA( From tAS400ISAMFile::Write ) on U_PKTEST(PKTEST.PRW) 15/08/2007 line : 40 [build:7.00.070518A] [environment: advpltests_top_ctree] [thread 5904] -------------------------------------------------------*/
/*------------------------------------------------------ERRO THREAD (julio, TEC-AUTOMAN) 15/08/2007 13:59:11 Stack : PKTEST: DB error (Update): -29 File: PKTEST - TOP Error 3102 - Update Error PKTEST : 2 (CPF5034) User Name : JULIO - Comment: DB2/TOPDBA( From tAS400ISAMFile::Update ) on U_PKTEST(PKTEST.PRW) 15/08/2007 line : 58 [build:7.00.070518A] [environment: advpltests_top_ctree] [thread 352] -------------------------------------------------------*/
Para verificar a descrio da mensagem CPF5034, atravs do Prompt do AS/400, necessrio executar o seguinte comando: DSPMSGD CPF5034 O sistema apresentar as seguintes informaes: Message ID . . . . . . . . . : CPF5034 Message file . . . . . . . . : QCPFMSG Library . . . . . . . . . : QSYS Message . . . . : Duplicate key on access path. Cause . . . . . : An output or update operation on record number &6 record format &7 member number &8 failed because of a duplicate key in a unique keyed member that is based on member &4 file &2 in library &3, or in a based-on member of &4. The failure could also have been caused by an output or update operation done to another file by a trigger program associated with file &2 in library &3. Recovery . . . : See previously listed message CPF5009 to identify the file and record with the duplicate key and change the key value so that it is unique. Note that the file could be a file operated on by a trigger program. Then try your request again.
- 10
TOTVS Tec TOPConnect 4 TOPConnect 4 para AS/400 iSeries
Para eliminar a necessidade de uso de uma tabela especfica de Sort Sequence e eliminar as converses entre ASCII e EBCDIC e vice-versa entre o Protheus e o TOPConnect, as tabelas de controle ( TOP_FIELD , TOP_PARAM ) e as tabelas de dados utilizadas pelo ERP, atravs do TOPConnect, so criadas utilizando explicitamente o CCSID 1208 (UTF-8) para todas as colunas de dados do tipo caractere. Caso o TOPConnect seja utilizado para integrao com outros sistemas, ele capaz apenas de ler e gravar tabelas de dados dentro de um schema, e com estas caractersticas. O TOPconnect 4 no capaz de interagir com um banco/ambiente criado com a verso do TOPConnect 2. Se uma aplicao externa ao TOPConnect 4 utilizar as tabelas criadas por ele para operaes de leitura e/ou gravao, deve ser verificado nesta aplicao se existe a necessidade de adequaes para o correto funcionamento da mesma.
- 12
TOTVS Tec TOPConnect 4 TOPConnect 4 para AS/400 iSeries