Árvore de páginas

TOPConnect 4 para AS/400 / iSeries - Interna

A ferramenta de conexão e acesso a dados TOPConnect 4 é distribuída 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 aplicação TOPConnect 4 foi portada e adequada para obter um melhor aproveitamento de recursos do ambiente e banco de dados DB2 no iSeries, permitindo o uso de stored procedures SQL compiladas no banco de dados e eliminando algumas limitações e características operacionais implícitas com o uso da versão anterior (TOPConnect 2) no ambiente AS/400.

A seguir, observe os seguintes tópicos que serão abordados:



Correções, implementações e novidades em relação ao TOPConnect 2 para AS/400

  • Corrigida a ocorrência de Resource Limit Exceeded após sucessivas aberturas e fechamentos de queries na mesma conexão/job/processo.
  • Corrigida a falha de posicionamento de registro (EOF) após inserção de registros na tabela filtrada, onde os dados do registro inserido não atendem as condições de filtro.
  • Implementado o suporte a Stored Procedure, utilizando sintaxe SQL e aplicação do pacote de procedures, do ERP Microsiga Protheus, para banco de dados DB2 no AS/400.
  • Corrigida a limitação de abertura de uma tabela física, na mesma conexão, com alias diferenciado setando um filtro para ambos alias. Com o TOPConnect 2, só era possível filtrar um dos alias e a tentativa de filtrar  o segundo alias resultava em erro.  
  • O TOPConnect 4 cria os campos do tipo C (Caractere) no banco de dados utilizando o CCSID 1208 (UTF-8). Isto elimina a necessidade de uso de uma tabela de Sort Sequence específica, utilizando TOPConnect 2, e a necesidade de conversão dos registros enviados e recebidos pelo TOPConnect de ASCII para EBCDIC e vice-versa para operações de gravação e leitura, respectivamente.

 

TOPConnect 4 e as versões do sistema operacional

Importante
  • O TOPConnect 4 para AS/400 é gerado para uso com sistema operacional a partir da V5R3.
  • O TOPConnect 4 para AS/400 não é gerado para builds anteriores a V5R3.



Para versões superiores a V5R3, pode ser necessária a conversão dos objetos do TOPConnect. Neste caso, a conversão pode ser realizada diretamente pelo sistema operacional, ao importar o save file com o subsistema TOPConnect 4, que é gerado para distribuição contendo as informações de observability info, que permite o próprio sistema operacional realizar as conversões necessárias para um upgrade. Este procedimento e relacionados serão documentados com mais detalhes na próxima publicação.

 

Operações não suportadas

A versão do TOPConnect para AS/400 ainda não suporta as seguintes funcionalidades, disponíveis nas versões do TOPConnect 4 para as demais plataformas (Windows/Linux):

  • Utilização do TOTVSDBAudit Trail®
  • Utilização do TOTVSDBAccess Monitor®


A funcionalidade de monitoramento está sendo adequada ao ambiente do AS/400, para melhor utilizar os recursos de comunicação interprocessos, e quando homologada, terá praticamente todas as funcionalidades e recursos disponíveis atualmente no TOPConnect 4 para ambientes Windows/Linux, como o monitoramento de usuários on-line, visualização do log de ocorrências e rastreamento (Trace) de conexão, bloqueio/liberação de conexões e demais assistentes.

 

Instalação do TOPConnect 4 no AS/400 iSeries

Para utilizar o TOPConnect 4 no AS/400, é necessário instalar a LIB que contém o aplicativo (TOP40), configurar um usuário no equipamento para fins operacionais. O TOPConnect 4 requer um schema, criado com o recurso de dicionário de dados (Data Dictionary). Para estas operações, recomendamos que seja utilizado o usuário QSECOFR, e seja seguido o roteiro abaixo:

Criar a LIB TOP40

O pacote fornecido pela TOTVS S.A. é um save file que contém a aplicação TOPConnect 4 para AS/400, contido na Library/SubSystem TOPConnect 4. Para ser restaurado no ambiente do cliente, deve ser criado um save file de destino no ambiente do cliente, com o nome de TOP40V5R3, para ser usado como destino da operação de restore.

Para criar esta LIB, execute a seguinte instrução no prompt de comandos do AS/400:

   CRTSAVF FILE(QGPL/TOP40V5R3) TEXT('TOPCONNECT 4.0 Build 20081030')



Enviar a LIB TOP40 para o AS/400 usando FTP

Descompacte o pacote da LIB TOP40, disponibilizado em formato ZIP, em um equipamento que possa se conectar por FTP no AS/400.

Exemplo:

No nosso exemplo, o endereço IP de acesso ao AS/400 é 10.10.2.1.

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

RSTLIB SAVLIB(TOP40) DEV(*SAVF) SAVF(QGPL/TOP40V5R3) MBROPT(*ALL) ALWOBJDIF(*ALL)
  • Para apagar o save file utilizado, execute o comando abaixo.
  • Não é necessário apagar o save file, ele pode ser mantido para uso posterior, caso necessário.
     

DLTF QGPL/TOP40V5R3

 

Adequação de ambiente para Execução do TOPConnect

 

Para que a aplicação 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 do Job Description, que também garante a ordem correta de busca da biblioteca.

Para realizar essa tarefa, é necessário executar a seguinte instrução:

CHGJOBD JOBD(TOP40/TOP40) INLLIBL(QGPL QTEMP TOP40)

 

Criação do usuário TOPConnect e atribuição de direitos

Para executar a aplicação, o adminstrador do sistema deve criar um usuário, chamado TOPCONNECT. Este usuário terá autoridade sobre a biblioteca TOP40 e será o único a administrar este componente.

Para isso, é necessário definir a seguintes configurações para o usuário:

  • Direitos sobre os schemas/bibliotecas de dados usadas pelo ERP Microsiga Protheus.
  • Este usuário será usado para iniciar e finalizar a aplicação TOPConnect.
  • Configurar o usuário para utilizar, explicitamente, o CCSID *HEX e Sort Sequence *HEX para que os jobs, do TOPConnect, funcionem adequadamente.


No entanto, é importante que o administrador garanta ao usuário TOPCONNECT todos os direitos sobre a biblioteca TOP40, remova as mesmas configurações dos demais usuários e garanta, ao usuário TOPCONNECT, o uso da instrução de controle de Journal (CHGJRN).

Procedimento

  • Para criar o usuário TOPCONNECT, pode-se utilizar a seguinte instrução:

    CRTUSRPRF USRPRF(TOPCONNECT) PASSWORD() PWDEXP(*YES) TEXT('TOPCONNECT USER')
    SPCAUT(*JOBCTL *SPLCTL) JOBD(TOP40/TOP40) 
     
  • Para definir que a senha deste usuário não expira, utilize o comando:

    CHGUSRPRF USRPRF(TOPCONNECT) PWDEXP(*NO)
     
  • Para adequar o CCSID e Sort Sequence do usuário para o TOPConnect, utilize o comando:

    CHGUSRPRF USRPRF(TOPCONNECT) SRTSEQ(*HEX) CCSID(*HEX)
     
  • Para definir os direitos necessários ao usuário sobre a biblioteca TOP40, utilize o seguinte comando:

    GRTOBJAUT OBJ(TOP40/*ALL) OBJTYPE(*ALL) USER(TOPCONNECT) AUT(*ALL)
     
  • Para remover os direitos dos demais usuários sobre a biblioteca TOP40, utilize o seguinte comando:

    GRTOBJAUT OBJ(TOP40/*ALL) OBJTYPE(*ALL) USER(*PUBLIC) AUT(*EXCLUDE)
     
  • Para dar direito ao usuário de utilizar o commando CHGJRN, utilize o comando :

    GRTOBJAUT OBJ(CHGJRN) OBJTYPE(*CMD) USER(TOPCONNECT) AUT(*USE)

 

Adequações para o Sistema Operacional – Versão em uso

A biblioteca TOP40 foi desenvolvida e gerada contendo as informações de "observabilidade", que aumentam um pouco o tamanho dos objetos, mas permitem que o próprio sistema operacional, em versões superiores a V5R3, possam realizar adequações para compatibilidade nos programas e otimizações.

Após restaurar o savefile e realizar a instalação ou atualização de uma versão já implantada, do TOPCOnnect 4 para AS/400, é recomendável a execução da sequência de instruções abaixo, para que o sistema operacional realize os ajustes nos programas removendo as informações de observabilidade e otimizando os códigos para a versão atual em uso.

No entanto, é importante lembrar que, estes comandos devem ser executados quando o subsistema TOP40 não estiver em uso (TOPconnect finalizado, sem jobs, sem nada no ar).

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)

 

Criação do SCHEMA no Banco de Dados

A seguir, observe o exemplo de criação de schema, utilizando o aplicativo iSeries Navigator em ambiente Microsoft Windows ou diretamente no AS/400.

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, selecione a subpasta Schema e clique, com o botão direito do mouse, na opção New + Schema.



    Será apresentada a janela New Schema.


     
  4. Nesta janela, escolha o pool de disco apropriado para a criação do schema e selecine a opção Create a data dictionary.
  5. Clique OK para confirmar.


Ambiente AS/400

  1. Através da engine de acesso SQL nativo, execute as seguintes instruções:

    /* 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, utilizamos o comando TOPCONNECT.

O comando TOPCONNECT permite parâmetros adicionais para especificar a quantidade de jobs de conexão que serão iniciados junto do aplicativo e a quantidade mínima de jobs livres no pool de conexões, através dos parâmetros STRJOBS e JOBS, respectivamente.

Exemplo: TOPCONNECT STRJOBS(20) JOBS(4)

Neste exemplo, com os parâmetros acima, o TOPConnect será inicializado com 20 processos (TOPCONNJOB) no pool de conexões. Conforme esses processos forem recebendo conexões, a aplicação garantirá que sempre fiquem no minimo 4 processos livres para novas conexões.

No entanto, caso nenhum dos parâmetros sejam informados, o padrão de ambos são 2 jobs iniciais e 2 jobs livres.

Para finalizar o aplicativo TOPConnect, utilize o comando ENDTOPCONN. Ao executar o comando ENDTOPCONN, os jobs em uso e livres no pool de conexões serão notificados para finalizar e, por último, o job principal do TOPConnect será finalizado.

No entanto, para verificar se existem jobs em execução pelo aplicativo, utilize a instrução Work with active Jobs.

Exemplo: WRKACTJOB SBS(TOP40)

 

Configuração no TOTVS Application Server

Para utilizar o TOPConnect 4 para AS400, é necessário configurar o arquivo de configuração, do TOTVS Application Server, de forma semelhante à utilização do TOPConnect 4 para os demais bancos de dados.

Para isso, especifique nas chaves Database e Alias, da seção [TOPConnect], os seguintes dados:

  • Database: informe o nome do banco de dados (DB2) utilizado.
  • Alias: informe o nome do schema criado.


Exemplo:

[TOPCONNECT]Database=DB2Server=172.16.0.0Alias=TOPTESTPort=7890


Diferenças Operacionais – Funções TCSrvType() e TCGetDB()

Quando utilizado TOPConnect 2 para AS/400, as funções TCSrvType() e TCGetDB() retornam, respectivamente, [AS/400] e [DB2/400]. Quando utilizamos o TOPConnect 4 nesta plataforma, essas funções retornam, respectivamente, [iSeries] e [DB2/400].

Deste modo, é possivel identificar, na aplicação AdvPL, qual é exatamente o DB2 que está sendo utilizado, caso sejam necessários tratamentos especificos ou diferenciados para este ambiente.

 

Diferenças Operacionais – Limite do nome da tabela em 10 caracteres

A utilização da engine SQL, do DB2, para AS/400 oferece a possibilidade de utilizar nomes de tabelas com mais de 10 caracteres, porém o TOPConnect ainda não suporta abrir uma tabela criada com mais de 10 caracteres no nome em modo de compatibilidade (DBUseArea()).

Ao utilizar tabelas com mais de 10 caracteres no nome, as operações de criação (DBCreate()), exclusão (TCDelFile()) e utilização para queries são suportadas sem problemas. Mas, a abertura de tabelas, através da função DBUseArea() ainda não é suportada. Atualmente, essa possibilidade está em análise.

 


Diferenças Operacionais - TOPMonitor

Para realizar o monitoramento do TOPConnect4, em ambiente AS/400 iSeries, é necessário utilizar uma versão do TOPMonitor em outra plataforma (Windows e/ou Linux). Diferenciadamente das outras plataformas, onde a porta de conexão utilizada é a configurada no aplicativo (padrão 7890), para monitorar o AS/400 iSeries, deve-se incrementar uma unidade na porta configurada. Numa configuração padrão, onde o TOPConnect espera conexões do TOTVS Application Server na porta 7890, o TOPMonitor deve conectar-se com o TOPConnect através da porta 7891.

Importante

Embora o TOPMonitor ainda não esteja homologado, é possível utilizá-lo. Eventualmente, o TOPMonitor apresenta ocorrência de “congelamento”, quando ocorre a subida e descida concorrente de processos no TOPConnect 4 do AS/400, sendo necessário finalizar o TOPMonitor diretamente no Gerenciador do Sistema do sistema operacional da máquina remota utilizada.

 

 


Diferenças Operacionais – Queries e campos MEMO

Os campos MEMO, no AS/400, são gerenciados pelo TOPConnect em uma tabela separada, exclusivamente criada para esta finalidade. Logo, caso seja realizada uma query, por exemplo SELECT *, em uma tabela que contenha campos MEMO, as colunas referentes aos campos serão retornadas como numéricas, contendo uma referência/identificador do campo na tabela de campos MEMO, de uso interno e exclusivo do TOPConnect 4.

De forma semelhante às demais plataformas, o conteúdo dos campos MEMO deve ser recuperado mediante posicionamento na tabela que contém o dado, e não através de queries.

 

Diferenças Operacionais – Códigos e Mensagens de Erro

Quando executadas as rotinas de atualização e inserção de dados, em caso de erro nessas operações, é gerado um log de erro no TOPConnect. Através desse arquivo, é possível identificar a causa do erro mediante aos códigos retornados.

Existem, basicamente, dois tipos de erros com os seguintes prefixos:

  • SQLxxxx - esse tipo de erro é retornado por operações realizadas através da engine SQL de acesso a dados, utilizados, por exemplo, por queries e execução direta de statements SQL, através da função TCSQLExec().
  • CPFxxxx - esse erro é retornado pela engine ISAM de acesso direto a dados, utilizado para operações de inserção e navegação.


Os erros com prefixo SQL, ao serem registrados pelo TOPConnect, possuem uma descrição adicional obtida diretamente no AS/400, explicando as possíveis causas da ocorrência e ações corretivas. Já os erros com prefixo CPF, não vem com este detalhamento. Neste caso, é possivel obter o detalhe da ocorrência utilizando, no AS/400, o comando DSPMSGD seguido do código da ocorrência.

Exemplo 1

No exemplo a seguir, foi executada uma instrução para criação da tabela, porém a tabela já existe. Observe como essa ocorrência foi retornada para o TOTVS Application Server.

/*-------------------------------------------------------
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 código do erro SQL é retornado no início da mensagem seguido pelos dados da thread/conexão no TOP (usuário e comentários do processo), o statement executado que apresentou erro e a descrição completa da mensagem de erro.

Importante

A mensagem retornada ao AdvPL é limitada em 4 Kb. Logo, se o statement ultrapassar esse tamanho, o final da mensagem, que contém a descrição completa do erro não 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 onde o aplicativo foi iniciado.


Exemplo 2

No exemplo a seguir, uma operação de inserção e uma de atualização de registro violaram o índice de chave única do arquivo em questão, onde em vermelho estão informados o ambiente, a tabela envolvida na operação e, entre parênteses, o código de erro da operação.

/*-------------------------------------------------------
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 descrição da mensagem CPF5034, através do prompt do AS/400, é necessário executar o comando:

DSPMSGD CPF5034


O sistema apresentará as seguintes informações:

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.

 

Migrando a versão do TOPConnect 2 para o TOPConnect 4

Para migrar a versão, é necessário criar um novo schema para acesso aos dados, e os dados devem ser migrados da library antiga para o novo schema.
O procedimento de migração envolve a exportação do banco de dados para uma RDD local, através do TOPConnect 2, utilizando o APSDU. Para a importação desses dados para o novo banco de dados, através do TOPConnect 4, deve-se utilizar o TOPConnect 4 e o APSDU.

 

Atualizando uma instalação de TOPConnect 4 AS/400 com build anterior a 20081020

Com as alterações realizadas nas colunas das tabelas e stored procedures, caso já exista um ambiente em produção com o TOPConnect 4 AS/400 já criado, deve-se seguir o procedimento de migração do TOPConnect 2 para TOPConnect 4, exportando os dados para outra RDD, recriando as tabelas pelo ERP e importando os dados novamente, utilizando o APSDU.

 

Impacto na aplicação AdvPL

Atualmente, na aplicação ERP, existem tratamentos especiais e proteções de algumas operações quando identificado que o TOPConnect Server utilizado encontra-se em um ambiente AS/400. Essas proteções são verificadas através da comparação do retorno da função TCSrvType(), e na grande maioria dos dados as proteções foram colocadas para evitar o uso da engine de queries, do TOPConnect 2 no AS/400, dadas as limitações operacionais.

Ao utilizar o TOPConnect 4 para AS/400, a função TCSrvType() retorna a string “iSeries”, pois nesta versão do TOPConnect 4, não existe mais essa limitação de comportamento, ou seja, não é necessário realizar alterações no código-fonte AdvPL.

Para a compatibilização do ambiente de execução de queries e stored procedures, no AS/400, foram alteradas as funções de aplicação de stored procedures e a função ChangeQuery() para trocar as ocorrências de || (pipe pipe) para CONCAT, o operador!=(diferente) para <> e acrescentar ao final da query o statement “FOR READ ONLY” já anteriormente acrescentado nas queries para AS/400 quando utilizado o TOPConnect 2.

Como os campos CHAR e VARCHAR das tabelas de dados, a partir do build 20081008 e superiores, foram alterados para uso de CCSID 1208, as stored procedures também foram alteradas para serem criadas com estas especificações nos campos de Input/Output. Para as procedures serem aplicadas com sucesso, é necessário patch do programa CFGX051, aplicação de procedures, com data igual ou superior a 23/08/2008.

Além disso, a função IndRegua() foi ajustada para converter a chamada de função Empty(campo), quando utilizar o filtro no ambiente TOPConnect 4 para AS/400, e o TOTVS Application Server ajustado para executar corretamente as aplicações AdvPL no TOPConnect 4. Para isso, é necessário que a build, do TOTVS Application Server, seja igual ou superior a MP8 - Build 7.00.070910P - Sep 25 2007 - 16:52:23.


Características particulares do schema e tabelas de dados do TOPConnect 4

O TOPConnect 4 para AS/400 permite a execução de instruções SQL e queries de forma semelhante ao DB2 UDB para as demais plataformas, inclusive a aplicação do pacote de stored procedures para o DB2 disponível no ERP Microsiga Protheus. Para que esta operação seja possível, o banco de dados do AS/400 deve ser um schema criado com dicionário de dados (Data Dictionary).

Para eliminar a necessidade de uso de uma tabela específica de Sort Sequence e eliminar as conversões entre ASCII e EBCDIC e vice-versa entre o TOTVS Application Server e o TOPConnect, as tabelas de controle (TOP_FIELD, TOP_PARAM) e as tabelas de dados utilizadas pelo ERP, através do TOPConnect, são criadas utilizando explicitamente o CCSID 1208 (UTF-8) para todas as colunas de dados do tipo caractere.

Caso o TOPConnect seja utilizado para integração com outros sistemas, ele é capaz apenas de ler e gravar tabelas de dados dentro de um schema, e com estas características. O TOPconnect 4 não é capaz de interagir com  um banco/ambiente criado com a versão do TOPConnect 2. Se uma aplicação externa ao TOPConnect 4 utilizar as tabelas criadas por ele para operações de leitura e/ou gravação, deve ser verificado nesta aplicação se existe a necessidade de adequações para o correto funcionamento da mesma.

Considerações sobre Performancedo TOPConnect 4 para AS/400/iSeries

A aplicação TOPConnect 4 para AS/400 iSeries foi codificada para compatibilizar o acesso a dados realizado nas outras plataformas, em ambientes com bancos de dados relacionais, onde a utilização de queries e stored procedures codificadas em sintaxe SQL facilitam o desenvolvimento e realizam processos visando aproveitar a capacidade de processamento do banco de dados. Esta nova versão do aplicativo também oferece novos recursos de monitoramento e controle de lock de registros, não disponíveis na versão anterior, e resolve ocorrências de não-conformidade e limites de utilização.

O TOPConnect 4, em relação ao TOPConnect 2, com os novos recursos disponíveis, apresenta uma performance muito próxima da versão anterior, com um acréscimo médio de consumo de CPU entre 20% e 30%. Os pontos mais críticos da aplicação, que apresentam picos de consumo elevado de CPU em ambas as versões são as execuções de queries e a engine de filtros. Estes pontos merecem atenção na avaliação de desempenho do aplicativo, onde mediante análise do processo e da instrução efetiva de processamento, podem ser tomadas ações de “tuning” do banco de dados e/ou adequações no código-fonte do aplicativo para obter um melhor desempenho a um custo de processamento menor.

  • Sem rótulos