Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS RH

Linha de Produto:

Linha Protheus

Segmento:

RH

Módulo:

TOTVS RH (Linha Protheus) - Gestão de Pessoas (SIGAGPE)

Função:CSAA100.PRX
País:Brasil
Ticket:15897519
Requisito/Story/Issue (informe o requisito relacionado) :DRHROTPRT-8555


02. SITUAÇÃO/REQUISITO

Sistema não realiza a importação via MILE para a rotina de Cadastro de Departamentos.

03. SOLUÇÃO

Para realizar a importação dos dados na rotina CSAA100 - Cadastro de Departamentos utilizando o MILE, são necessárias algumas configurações adicionais conforme veremos a seguir, pois a ordem dos parâmetros recebidos pela rotina CSAA10 é diferente da chamada pela estrutura do MILE, não permitindo realizar a importação utilizando simplesmente a configuração de canais.

Basicamente, o MILE funciona da seguinte forma: para cada canal criado, será enviado sequencialmente para a rotina em questão um array como parâmetro, seguido do nOpc de 3 de inclusão (este é incluído automaticamente pelo MILE conforme configurações).

Ao realizar a chamada da MsExecAuto da rotina CSAA100, será enviado da seguinte forma:

Se tivermos 1 canal (1 Master):

Funcao100(vetor[1], 3)

Se tivermos 2 canais:

Funcao100(vetor[1], vetor[2], 3)

E assim por diante.

Portanto, temos uma incompatibilidade de uso, pois para a inclusão do Departamento, na rotina CSAA100, os parâmetros recebidos estão nestas posições:

CSAA100(nOpcAuto , aRotinaNew, aRotAuto, nOpc )

Onde:

nOpcAuto - Em Desuso.

aRotinaNew - Em Desuso.

aRotAuto - Array - Contém os dados dos campos e seus conteúdos para inclusão via rotina automática.

nPosArotina - Numérico- Opção desejada do menu sem execução da mBrowse.


Vamos precisar manipular o array de canais criado pelo MILE através de user function e incluí-la no parâmetro pré-execução do layout:


#INCLUDE 'PROTHEUS.CH'

User function UCSAA100(lInterface, aInfos, aLayOut, aSaidas, aVetores)


Local aNewVet := array(3)


aNewVet[1] := {0} // nOpcAuto (desuso)
aNewVet[2] := {0} // aRotinaNew (desuso)
aNewVet[3] := aClone(aVetores[1])// aRotAuto

Return aClone(aNewVet)




04. DEMAIS INFORMAÇÕES

N/A


05. ASSUNTOS RELACIONADOS