Esse recurso permite que seja utilizado um repositório auxiliar, um RPO customizado com programas completos ou funções especificas, permitindo a rápida customização de um determinado ambiente com um "pacote" completo (RPO Customizado), sem precisar aplicar o pacote no repositório padrão.
Para que seja possível utilizar esse recurso, é necessário indicar o caminho do RPO customizado, alem das chaves de RPO ja existente no ambiente. Para isso coloque a chave: RPOCUSTOMIZATION=<<caminho completo do arquivo>> , como por exemplo:
[LG] SourcePath=D:\TOTVS\P64_X\apo RootPath=D:\Totvs\P64_X\pd_lg_db\ StartPath=\system_rbra\ RpoDb=top RpoLanguage=portuguese RegionalLanguage=BRA RpoVersion=120 LocalFiles=Ctree SQLiteServer=localhost SQLitePort=5056 specialkey=p12117_tst localdbextension=.dtc PictFormat=DEFAULT DateFormat=DEFAULT DBDATABASE=MSSQL DBSERVER=10.172.0.107 DBALIAS=P12_1217_NODIC RPOCUSTOMIZATION=D:\TOTVS\P64_X\apo\customlocal.rpo |
Nesse exemplo de ini, temos como exemplo um ambiente pronto para ser usado pelo usuário final na abertura do ERP com suas funções customizadas sendo carregadas (quando houver) do arquivo customlocal.rpo. Porem, para criar esse arquivo, é necessário que ele tenha sido criado em ambiente que tenha sido escrito da seguinte forma:
[LG_CUSTOM] RootPath=D:\Totvs\P64_X\pd_lg_db\ StartPath=\system_rbra\ RpoVersion=120 DBDATABASE=MSSQL DBSERVER=10.172.0.107 DBALIAS=P12_1217_NODIC RPOCUSTOMIZATION=D:\TOTVS\P64_X\apo\customlocal.rpo |
Ou seja: um RPO, para poder ser utilizado como um RPO customizado, deve ser criado dessa forma. Apesar desse RPO conviver no momento da execução com o RPO padrão, ele tem uma assinatura diferente, e não pode ser utilizado como um RPO padrão, apenas como um customizado.
Com isso, se temos uma função no RPO padrão, chamada User Function Cust() por exemplo, e no RPO customizado também tenha sido compilado uma função com mesmo nome, quando o usuário executar a chamada deste programa no ambiente LG, ele irá executar o programa do mesmo nome que exista no RPO customizado, não do RPO padrão. Alem disso, qualquer outra função que exista somente no RPO padrão, será executada normalmente deste.
Um ambiente com um RPO customizado segue algumas características:
Recurso disponível a partir do build 17.3.0.14 do Appserver |