terça-feira, 10 de fevereiro de 2026

sa oracle totvs erp protheus

Aqui uma forma de trocar a senha no Oracle para o usuário SYSTEM, caso apresente mensagem de expiração no ERP TOTVS PROTHEUS.

ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;

ALTER USER SYSTEM IDENTIFIED BY !@jJuYhe;

commit;

No exemplo acima a nova senha utilizada seria 
!@jJuYhe

Migrar registros banco SQL para ORACLE no seu ERP TOTVS PROTHEUS

Aqui um exemplo de como migrar os registros de um banco SQL para ORACLE no seu ERP TOTVS PROTHEUS através de uma ferramenta que existe no DbAccess (DBTool.exe)

 # PASSO A PASSO Restore ORacle #restoreoracle #integraroracle #dbtool #DBTool

1° restaurar base congelada SQL

2° acessar dbAccess

3° validar conexao do SQL e ORacle

4° executar o dbTools (como admin )

\/ IMPORTANTE ESSE CAMINHO NAO O DEBUG

C:\TOTVS\R2310\tec\dbaccess\tools\dbtools.exe

opção 1 integration

opção 1 source

opção 3 database MSSQL

opção 4 P1212310MNTDBEXP

opção 7 conexao OK

ENTER <continue>

opção 2 target

opção 3 database ORACLE

opção 4 XE

opção 7 conexao OK

ENTER <continue>

Data Source ................ LOCALHOST:7892 MSSQL/P1212310

Data Target ................ LOCALHOST:7892 ORACLE/XE

          1. Source Data Connection.

          2. Target Data Connection.

          3. Set migration parameters.

          4. Run data migration.

          0. Return to previous menu.


Choose an option ...............:

opção 3. Set migration parameters.

opção 2. Y (yes) <--somente no 2


1. Number of threads ........... 0

2. Overwrite tables ............ YES

3. Copy deleted records ........ NO

4. Copy empty tables ........... YES

5. Create indexes in target .... YES

6. Stop on error ............... NO

7. Keep source RECNO ........... NO

8. Tables to copy .............. %

9. Tables ignored .............. %BKP,%LOG

A. Resume previous copy ........ NO

B. Use better estimate ......... NO

0. Return


opção 0. Return

opção 4. Run data migration.


========== PARAMETERS TO RUN THE MIGRATION ============

Number of threads .......... 0

Overwrite tables ........... YES

Copy delete records ........ NO

Copy empty tables .......... YES

Create index in target ..... YES

Stop on error .............. NO

Keep source RECNO .......... NO

Tables to copy ............. %

Tables to be ignored ....... %BKP,%LOG

Use better estimative ...... NO

Data Source ................ LOCALHOST:7892 MSSQL/P1212310

Data Target ................ LOCALHOST:7892 ORACLE/XE


> Retrieving catalog from source database ...

> Tables identified ....: 5402

> Estimated size .......: 2.98 Gb.


*** ATTENTION ***

*** Check migration parameters ***

*** Do you want to run the migration process (Y/N) ?


Y


conclusão

> Operation competed in .... 12min47s

> Tables on source ......... 5402

> Tables checked ........... 5402

> Tables copied ............ 4801

> Tables ignored ........... 0

> Tables overwritten ....... 746

> Tables empty ............. 526

> Tables not opened ........ 0

> Indexes created .......... 19661

> Tables Copy Error ........ 75

*** THERE WAS ERRORS ON PROCESS | VIEW DBTOOLS.LOG FOR DETAILS ***

> Volume copied ............ 4.32 Gb.

> Records copied ........... 11083656


segunda-feira, 9 de setembro de 2024

launch.json ( WEBAPP ) TOTVS Protheus ( Debug Threads e Tabelas )

Abaixo, um exemplo do launch, utilizado para debugar no release 23.10 (webapp) dentro do navegador, sendo Port=6789 referente ao [WEBAPP], conforme:

Importante a configuração não trabalha em conjunto com a configuração do launch para o smartclient, remote, QT, etc...

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "totvs_language_web_debug",
            "request": "launch",
            "name": "WEBAPP",
            "program": "${command:AskForProgramName}",
            "cwb": "${workspaceFolder}",
            "smartclientUrl": "http://localhost:6789",
            "isMultiSession": true,
            "enableMultiThread": true,
            "enableTableSync": true,
            "webNavigator": "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"
        }
    ],
    "lastPrograms": [
        {
            "label": "SIGAMDI"
        }
    ],
    "lastProgramExecuted": "SIGAMDI",
    "lastProgramArguments": []
}

launch.json ( Smart Client ) TOTVS Protheus ( Debug Threads e Tabelas )

Abaixo, um exemplo do launch, utilizado para debugar no release 23.10:
Importante a configuração não trabalha em conjunto com a configuração do launch para WEBAPP(navegador).

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "totvs_language_debug",
            "request": "launch",
            "name": "TOTVS Language Debug",
            "program": "${command:AskForProgramName}",
            "cwb": "${workspaceFolder}",
            "smartclientBin": "C://TOTVS//R2310//Bin//smartclient//smartclient.exe",
            "isMultiSession": true,
            "enableTableSync": true,
            "enableMultiThread": true,
            "extendFeatures": {
                "charDetails": false
            }
        }
    ],
    "lastPrograms": [     
        {
            "label": "sigamdi"
        }
    ],
    "lastProgramExecuted": "sigamdi",
    "lastProgramArguments": []
}

segunda-feira, 21 de agosto de 2023

Protheus Teste Grupo Empresa 99

Apoio para criar uma Base de Teste para acesso com o Grupo de Empresas 99 e com acesso de até dois usuários. Para criar filiais na Empresa Teste (99), sem a necessidade de consumir licenças realize os procedimentos abaixo:

Na Lib esta chumbado a empresa teste como 99 filial 01 até a filial 03, sendo que os nomes delas tem que ser conforme abaixo.
01 - MATRIZ
02-  FILIAL02
03 - FILIAL03

Diferente disso ele não considera como empresa Teste, e será  necessário o apontamento para o serviço de licenças.

Instalação do License Server Virtual.

Baixe o instalador do License Server Virtual correspondente ao seu Sistema Operacional.

Via Portal: Home/ Protheus/ TOTVSTEC-FRAMEWORK/ INSTALADORES 

Link direto: https://suporte.totvs.com/portal/p/10098/download#000006/368/TFINSTALL/

Instalação do License Server

Efetue o processo de instalação, conforme orientações abaixo:

Windows: https://tdn.totvs.com/display/framework/TOTVS+License+Server+Virtual#TOTVSLicenseServerVirtual-Instala%C3%A7%C3%A3oWindows

Na tela do Wizard de Configuração do TOTVS ID, clique em Cancelar:

Como iremos instalar um ambiente para uso do Grupo de Empresa 99 e será apenas um ambiente de testes, não será necessário efetuar a configuração do TOTVS ID.

Instalação do Protheus

Importante: Precisa do License instalado.

Antes de executar o instalador é necessário ter criado/configurado ODBC e banco de dados previamente.

https://tdn.totvs.com/display/tec/DBAccess++Como+criar+uma+fonte+de+dados+para+uso+com+Microsoft+SQL+Server

Efetue a instalação de acordo com as instruções da documentação abaixo
https://tdn.totvs.com/display/public/PROT/Instalador+Protheus+Windows+12.1.27

Observações:

- Na tela do Wizard de Configuração do License Server, informe o endereço IP de instalação do License Server e a mesma porta informada durante o processo de instalação 

do License Server "Porta do serviço de licenciamento (conexão ERP)", o valor padrão é 5555.

- Caso não lembre qual a porta de licenciamento informada na instalação do License Server, acesse o diretório de instalação, pasta \bin\appserver, 

localize e abra o arquivo Appserver.ini.

Pesquise pela seção [LICENSESERVER], a porta está informada na Tag port.

No exemplo abaixo, a porta do serviço de Licenciamento do License Server é a 5555:

[LICENSESERVER]
Enable=1
Port=5555
ShowStatus=0
EnableNumber=1
LicenseFile=lsinitialize.inf
IPCGOTIMEOUT=45000
IPCRETURNTIMEOUT=90000
NUMBERVAL=1
STATELESSREUSECONN=60
AUTOSAVENUMBER=1

Para logar no sistema:

Usuário: admin
Senha: vazio (apenas 1 espaço )

Exemplo do INI para base teste:

[P122210]
SourcePath=C:\totvs\P122210\apo
RootPath=C:\totvs\P122210\protheus_data
StartPath=\system\
RpoDb=top
RpoLanguage=portuguese
RpoVersion=120
LocalFiles=ctree
localdbextension=.dtc
Logprofiler=0
TopMemoMega=1
dbserver=localhost
dbdatabase=MSSQL
dbalias=P122210
dbport=7890
startsysindb=1
specialkey=P122210

[TCP]
TYPE=TCPIP
Port=1235

[DRIVERS]
ACTIVE=TCP
MULTIPROTOCOLPORT=1
MULTIPROTOCOLPORTSECURE=0

[General]
InstallPath=C:\
BUILDKILLUSERS=1
consolelog=1
Segmento=YddTQHWW=VZF=yhu
Serie===AV
MAXSTRINGSIZE=30
MAXQUERYSIZE=31960
APP_Environment=P122210

[LICENSECLIENT]
SERVER=localhost
PORT=5555
enable=1

Referência.:
https://centraldeatendimento.totvs.com/hc/pt-br/articles/4404775838103-MP-FRAME-Criar-uma-Base-de-Teste-para-acesso-com-o-Grupo-de-Empresas-99

License Server Virtual 3.6.0 (23-07-17-TOTVSLICENSE_3.6.0_WINDOWS)
https://tdn.totvs.com/display/public/framework/TOTVS+License+Server+Virtual#TOTVSLicenseServerVirtual-Instala%C3%A7%C3%A3oWindows

segunda-feira, 12 de dezembro de 2022

Instalação Protheus Oracle

Tutorial de como configurar o oracle 21c Express para utilizar junto ao Protheus Release 12.1.33 no Windows 10 Pro.

1. Instalação Oracle
2. Conexão no DBeaver
3. Variáveis de Ambiente
4. Configurações do BD ( collation )
5. ODBC
6. Validação com DBAccess
7. Ex appserver.ini C/ Oracle


1. Instalação Oracle

Baixar o oracle "express" direto do site oficial.

https://www.oracle.com/br/database/technologies/xe-downloads.html














Avançar

Colocar senha ( sa ) minúsculo

Instalar





















Permitir acesso




















Aguardar demora um pouco \ Selecionar Português Brasil













































localhost:1521
1521/XEPDB1

usuário: system
senha: sa

Instalação do Oracle Concluída.

2. Conexão no DBeaver

host:
localhost
Port: 1521
DataBase: XE
Opção: Service Name

User: system
Password: sa
Role: Normal
Client: OraDB21Home1

























NetworkAlias: <alias>
TNS name:  não informar
User name: system
Password: sa






































































Conexão com Dbeaver concluído.


3. 
Configuração das variáveis de ambiente.

Propriedades do Sistema \ Avançado \ Variáveis de Ambiente \ Variáveis do sistema \





















































1) ORACLE_BASE
C:\app\denis.souza\product\21c


2) ORACLE_HOME
C:\app\denis.souza\product\21c\dbhomeXE


3) ORACLE_SID
Xe

4) PATH
C:\app\denis.souza\product\21c\dbhomeXE\bin
(Essa variável já existe, mas parece que ele cria este caminho
dentro dela sozinho, após instalação)

5) TNS_ADMIN

C:\app\denis.souza\product\21c\homes\OraDB21Home1\network\admin
( com esse deu certo )

C:\app\denis.souza\product\21c\dbhomeXE\network\admin
( com esse não deu certo )

6) USERNAME
SYSTEM


Ex:
tnsnames.ora 
C:\app\denis.souza\product\21c\homes\OraDB21Home1\network\admin )

# tnsnames.ora Network Configuration File: C:\app\denis.souza\product\21c\homes\OraDB21Home1\NETWORK\ADMIN\tnsnames.ora
# Generated by Oracle configuration tools.

XE =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = <HOSTNAME + .(Domínio) + .local>)(PORT = <1521>))
    (CONNECT_DATA =
      (SERVER = DEDICATED)
      (SERVICE_NAME = XE)
    )
  )

LISTENER_XE =
  (ADDRESS = (PROTOCOL = TCP)(HOST = <HOSTNAME + .(Domínio) + .local>)(PORT = <1521>))


ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

Ex: 

<HOSTNAME + Domínio + .local>

UFON99999999.uf01.local

Configurações de variáveis de sistema concluído.


4. Configurações do BD ( collation )

Executar o MSDOS como administrador de sistema

Rodar os seguintes comandos:

C:\windows\system32>
sqlplus









SQL> connect sys / 280679 as sysdba;

(Obs: connect sys / senha as sysdba;)

Caso a autenticação falhe, faça a alteração no sqlnet.ora.
DE:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
PARA:
SQLNET.AUTHENTICATION_SERVICES= (NONE)
REF:
https://cursos.alura.com.br/forum/topico-o-que-fazer-ness-caso-ora-12638-falha-na-recuperaoo-de-credencial-87424

SQL> alter system set nls_length_semantics=CHAR scope=both;

SQL> SHUTDOWN IMMEDIATE;

SQL> startup restrict;

SQL> alter database character set INTERNAL_USE WE8MSWIN1252;

SQL> shutdown;

SQL> startup;

Comandos rodados com sucesso.

SELECT * FROM NLS_DATABASE_PARAMETERS;

SELECT value$ FROM sys.props$ WHERE name= 'NLS_CHARACTERSET';






5. ODBC

Adicionar\ S
elecionar: Oracle em OraDB21Home1





















Data Source Name: XE
Description: XE
TNS Service Name: não informar
User Id: system















TEST CONNECTION


















Service Name: XE
UserName: system
Password: sa






































ODBC configurado com sucesso.


6. Validação com DBAccess

No dbaccess.ini colocar o caminho da oci


[ORACLE/XE]
user=system
clientlibrary=C:\app\denis.souza\product\21c\dbhomeXE\bin\oci.dll
password=“ÿ
TableSpace=
IndexSpace=
LogAction=0
Disable=0
environments=XE

[ORACLE]
environments=XE















































Configuração com Dbaccess concluída com sucesso.


7. Ex appserver.ini C/ Oracle

[XE]
SOURCEPATH=C:\TOTVS\TOTVS_R33\Protheus\apo
ROOTPATH=C:\TOTVS\TOTVS_R33\Protheus\protheus_data_ora
STARTPATH=\system\
RPODB=TOP
RPOLANGUAGE=PORTUGUESE
RPOVERSION=120
LOCALFILES=CTREE
LOCALDBEXTENSION=.dtc
StartSysInDB=1
TOPMEMOMEGA=1
PICTFORMAT=DEFAULT
DATEFORMAT=DEFAULT
SpecialKey=xXE
DBDataBase=ORACLE
DBALIAS=XE
DBserver=LOCALHOST
DBPORT=7891
BUILDKILLUSERS=1

quinta-feira, 28 de julho de 2022

launch.json

Olá, com o launch.json é possível criar vários ambientes para conexão de degub.

Abaixo segue um exemplo de launch.json (07/2022):

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "totvs_language_debug",
            "request": "launch",
            "name": "Smart Client 27 Debug",
            "program": "${command:AskForProgramName}",
            "smartclientBin": "C:/TOTVS/R27/smartclient/smartclient.exe",
            "cwb": "${workspaceFolder}",
            "isMultiSession": true,
            "enableTableSync": true,
            "enableMultiThread": true
        },
        {
            "type": "totvs_language_debug",
            "request": "launch",
            "name": "Smart Client 33 Debug",
            "program": "${command:AskForProgramName}",
            "smartclientBin": "C:/TOTVS/TOTVS_R33/tec/smartclient/smartclient.exe",
            "cwb": "${workspaceFolder}",
            "isMultiSession": true,
            "enableTableSync": true,
            "enableMultiThread": true
        },
        {
            "name": "debug chrome po ui",
            "type": "chrome",
            "request": "launch",
            "url": "http://localhost:4200/#",
            "webRoot": "${workspaceFolder}/taf-thf/",
            "sourceMapPathOverrides": {
                "webpack:/": "${webRoot}/",
                "/./": "${webRoot}/",
                "/src/": "${webRoot}/",
                "/": "",
                "/./~/": "${webRoot}/node_modules/"
            }
        }
    ],
    "lastPrograms": [
        {
            "args": [],
            "label": "sigataf",
            "description": ""
        },
        {
            "args": [],
            "label": "xxx",
            "description": ""
        }
    ],
    "lastProgramExecuted": "xxx",
    "lastProgramArgumens": []
}

tabelas debug advpl

É possível exibir as tabelas ao debugar o produto, utilize o enabletablesync no launch.json.

Exemplos de configuração abaixo:



Ex da tag: "enableTableSync": true

Ex: launch.json

{
    "version": "0.2.0",
    "configurations": [
        {
            "type": "totvs_language_debug",
            "request": "launch",
            "name": "Smart Client 27 Debug",
            "program": "${command:AskForProgramName}",
            "smartclientBin": "C:/TOTVS/R27/smartclient/smartclient.exe",
            "cwb": "${workspaceFolder}",
            "isMultiSession": true,
            "enableTableSync": true,
            "enableMultiThread": true
        },
        {
            "type": "totvs_language_debug",
            "request": "launch",
            "name": "Smart Client 33 Debug",
            "program": "${command:AskForProgramName}",
            "smartclientBin": "C:/TOTVS/TOTVS_R33/tec/smartclient/smartclient.exe",
            "cwb": "${workspaceFolder}",
            "isMultiSession": true,
            "enableTableSync": true,
            "enableMultiThread": true
        },
        {
            "name": "debug chrome po ui",
            "type": "chrome",
            "request": "launch",
            "url": "http://localhost:4200/#",
            "webRoot": "${workspaceFolder}/taf-thf/",
            "sourceMapPathOverrides": {
                "webpack:/": "${webRoot}/",
                "/./": "${webRoot}/",
                "/src/": "${webRoot}/",
                "/": "",
                "/./~/": "${webRoot}/node_modules/"
            }
        }
    ],
    "lastPrograms": [
        {
            "args": [],
            "label": "sigataf",
            "description": ""
        },
        {
            "args": [],
            "label": "xxx",
            "description": ""
        }
    ],
    "lastProgramExecuted": "xxx",
    "lastProgramArgumens": []
}

quarta-feira, 16 de fevereiro de 2022

pesquisa grid tabela mvc advpl

É possível ativar a pequisa de todas as colunas da grid em telas desenvolvidas com ADVPL MVC.

Utilize o parâmetro GridSeek no objeto da view.

oView:SetViewProperty('VIEW_T0O','GRIDSEEK', {.t.}) //Adiciona a pesquisa por campos no Grid.


Outras Refs:

1)

https://devforum.totvs.com.br/914-filtrar-um-grid-em-mvc

Filtrar um Grid em MVC

oView:SetViewProperty( 'ViewGrid' , 'ENABLENEWGRID' ) 

oView:SetViewProperty( 'ViewGrid', "GRIDNOORDER") 

oView:SetViewProperty( 'ViewGrid', "GRIDFILTER", {.T.}) 

oView:SetViewProperty( 'ViewGrid', "GRIDSEEK", {.T.})

2)

https://tdn.totvs.com/display/framework/FWFormView

Tipo de formulário: FormGrid habitado com o ENABLENEWGRID

Aceita o uso de * no ID.

Descrição: 

Define se será exibida ou nao a opcao de pesquisa no grid.

aParam : Deve ser passado um array com a estrutura abaixo,

se o array não for passado, o default é exibir a pesquisa no grid:

[1] ExpL: Se Verdadeiro habilita, Se falso desabilita
Exemplo: oView:SetViewProperty("VIEW_ZA2", "GRIDSEEK", {.T.})


quinta-feira, 9 de dezembro de 2021

Cannot execute Linter

 Está com falha para compilar os fontes em advpl ?

Apresenta o erro Cannot execute Linter. Includes not defined?

1. Acesse o configure server view















2.  Insira o caminho do include ( utilize um diretório curto, e no caminho, a cada subdiretório, utilize 2 barras caídas para esquerda ), ex:


"C:\\TOTVS\\ch12\\p10r200"






















3. Salve o arquivo modificado "servers.json"

4. Feche o Visual Code

5. Pare e suba os serviços

6. Abra o Vs Code e compile o fonte.