Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

RH - Linha Protheus - GPE - Inclusão de Menor Aprendiz via Execauto no GPEA010

time.png Tempo aproximado para leitura: 00:02:00 min

Dúvida
Como realizar a inclusão de Menor Aprendiz via Execauto no GPEA010?

Ambiente
TOTVS RH - TOTVS RH (Linha Protheus) - Gestão de Pessoas - Todas as versões

Solução
Através deste Execauto, é possível automatizar a entrada de dados na tabela SRA - Cadastro de Funcionários e RU2 - Informações Complementares Menor Aprendiz.

Na chamada da rotina GPEA010 deve ser informado um array, por exemplo: aCabec, que irá corresponder aos dados da tabela SRA.

Sintaxe:
                   {
                   {"RA_FILIAL" , conteudo1, NIL},;
                   {"RA_MAT" , conteudo2, NIL};
                   {campoAdicional3 , conteudo3, Nil},;
                   {campoAdicional4 , conteudo4 Nil};
                   }


É importante realizar uma análise cuidadosa na passagem dos campos e de seus conteúdos, não somente informar os campos obrigatórios, mas também fornecer campos adicionais que podem ser necessários devido a regra de negócio envolvida.

Pelo fato da rotina GPEA010 ser um fonte em MVC, para informar os dados da tabela RU2 usaremos o modelo de dados RU2MASTER.

Processos que podem ser executados pelo Execauto:
> nOpc = 3 - Inclusão
> nOpc = 4 - Alteração


Exemplo de inclusão:

#INCLUDE "Protheus.CH"

User Function GP010APRENDIZ()
Local aCabec        := {}                                                   
Private lMsErroAuto := .F.

//### APRENDIZ ######################################### 
aCabec   := {}
aadd(aCabec,{"RA_FILIAL"        ,"M SP 01 "                         ,Nil        })
aadd(aCabec,{"RA_MAT"           ,"000076"                           ,Nil        })
aadd(aCabec,{'RA_NOME'          ,'FUNCIONARIO EXECAUTO APRENDIZ'    ,Nil        })
aadd(aCabec,{'RA_SEXO'          ,'F'                                ,Nil        })
aadd(aCabec,{'RA_RACACOR'       ,'2'                                ,Nil        })
aadd(aCabec,{'RA_ESTCIVI'       ,'S'                                ,Nil        })
aadd(aCabec,{'RA_CPAISOR'       ,'01058'                            ,Nil        })
aadd(aCabec,{'RA_NATURAL'       ,'SP'                               ,Nil        })
aadd(aCabec,{'RA_NACIONA'       ,'10'                               ,Nil        })
aadd(aCabec,{'RA_ADMISSA'       ,Stod('20250807')                   ,Nil        })
aadd(aCabec,{'RA_NACIONC'       ,'01058'                            ,Nil        })
aadd(aCabec,{'RA_NCODMUNN'      ,'50308'                            ,Nil        })
aadd(aCabec,{'RA_GRINRAI'       ,'45'                               ,Nil        })
aadd(aCabec,{'RA_NASC'          ,Stod('20000101')                   ,Nil        })
aadd(aCabec,{'RA_CC'            ,'01'                               ,Nil        })
aadd(aCabec,{'RA_OPCAO'         ,Stod('20250807')                   ,Nil        })
aadd(aCabec,{'RA_BCDPFGT'       ,'34100'                            ,Nil        })
aadd(aCabec,{'RA_CTDPFGT'       ,'222285'                           ,Nil        })
aadd(aCabec,{'RA_HRSMES'        ,180                                ,Nil        })
aadd(aCabec,{'RA_PROCES'        ,'00017'                            ,Nil        })
aadd(aCabec,{'RA_HRSEMAN'       ,36                                 ,Nil        })
aadd(aCabec,{'RA_CODFUNC'       ,'01'                               ,Nil        })
aadd(aCabec,{'RA_CATFUNC'       ,'E'                                ,Nil        })
aadd(aCabec,{'RA_TIPOPGT'       ,'M'                                ,Nil        })
aadd(aCabec,{'RA_TIPOADM'       ,'3A'                               ,Nil        })
aadd(aCabec,{'RA_VIEMRAI'       ,'55'                               ,Nil        })
aadd(aCabec,{'RA_HOPARC'        ,'1'                                ,Nil        })
aadd(aCabec,{'RA_COMPSAB'       ,'1'                                ,Nil        })
aadd(aCabec,{'RA_CIC'           ,'36054574019'                      ,Nil        })
aadd(aCabec,{'RA_TNOTRAB'       ,'01'                               ,Nil        })
aadd(aCabec,{'RA_REGRA'         ,'01'                               ,Nil        })
aadd(aCabec,{'RA_SEQTURN'       ,'01'                               ,Nil        })
aadd(aCabec,{'RA_CATEG'         ,'07'                               ,Nil        })
aadd(aCabec,{'RA_CATEFD'        ,'103'                              ,Nil        })
aadd(aCabec,{'RA_TPCONTR'       ,'2'                                ,Nil        })
aadd(aCabec,{'RA_DTFIMCT'       ,Stod('20260806')                   ,Nil        })
aadd(aCabec,{'RA_CLAURES'       ,'2'                                ,Nil        })
aadd(aCabec,{'RA_TIPENDE'       ,'2'                                ,Nil        })
aadd(aCabec,{'RA_LOGRTP'        ,'R'                                ,Nil        })
aadd(aCabec,{'RA_LOGRDSC'       ,'TESTE'                            ,Nil        })
aadd(aCabec,{'RA_NUMENDE'       ,'100'                              ,Nil        })
aadd(aCabec,{'RA_BAIRRO'        ,'JD TESTE'                         ,Nil        })
aadd(aCabec,{'RA_ESTADO'        ,'SP'                               ,Nil        })
aadd(aCabec,{'RA_CODMUN'        ,'50308'                            ,Nil        })
aadd(aCabec,{'RA_CEP'           ,'01000000'                         ,Nil        })
aadd(aCabec,{'RA_ADTPOSE'       ,'***N**'                           ,Nil        })


// Grava dados do APRENDIZ
U_Envia(aCabec)

// Grava dados das INF. APRENDIZ
U_GP945AUT(aCabec)

Return(.T.)

/*------------------------------------------------------------------------
GRAVACAO DO MENOR APRENDIZ
------------------------------------------------------------------------*/
USER Function Envia(aCabec)

// Faz a chamada da rotina de cadastro de funcionários (opção 3 - Inclusão) 
MSExecAuto({|x,y,k,w| GPEA010(x,y,k,w)},NIL,NIL,aCabec,3)  

If !lMsErroAuto 
    Conout("Dados de funcionario incluido com sucesso!")    
Else
    MostraErro()
EndIf

Return(.T.)

/*------------------------------------------------------------------------
GRAVACAO DAS INFORMACOES COMPLEMENTARES MENOR APRENDIZ
------------------------------------------------------------------------*/
User Function GP945AUT(aCabec)
Local aErro         := {}
Local cArqErrAuto   := ""
Local oModel        := Nil
Local lRet          := .T.

oModel := FwLoadModel("GPEA945")
oModel:SetOperation(3)
oModel:Activate()

oModel:LoadValue("SRATITLE" , "RA_MAT"      , aCabec[2][2] )
oModel:LoadValue("SRATITLE" , "RA_NOME"     , aCabec[3][2])
oModel:LoadValue("SRATITLE" , "RA_ADMISSA"  , aCabec[10][2])

oModel:SetValue("RU2MASTER","RU2_FILIAL"    ,aCabec[1][2])
oModel:SetValue("RU2MASTER","RU2_MAT"       ,aCabec[2][2])
oModel:SetValue("RU2MASTER","RU2_INDMOD"     ,"2")
oModel:SetValue("RU2MASTER","RU2_TPINSC"     ,"1")
oModel:SetValue("RU2MASTER","RU2_NUMINS"     ,"48433758000140")


If oModel:VldData()
    oModel:CommitData()
    conout("Dados de INF. Compl. Menor Aprendiz incluidos com sucesso!!")
Else
    aErro := oModel:GetErrorMessage()

    cArqErrAuto := "Id do formulario de origem:"+ ' [' + AllToChar( aErro[1] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do campo de origem: " + ' [' + AllToChar( aErro[2] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do formulario de erro: " + ' [' + AllToChar( aErro[3] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do campo de erro: " + ' [' + AllToChar( aErro[4] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Id do erro: " + ' [' + AllToChar( aErro[5] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Mensagem do erro: " + ' [' + AllToChar( aErro[6] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Mensagem da solucao: " + ' [' + AllToChar( aErro[7] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Valor atribuido: " + ' [' + AllToChar( aErro[8] ) + ']' + Chr(13) + Chr(10)
    cArqErrAuto += "Valor anterior: " + ' [' + AllToChar( aErro[9] ) + ']' + Chr(13) + Chr(10)

    Alert ('Falha no ExecAuto MVC: ' + (Chr(13) + Chr(10)) + cArqErrAuto)

EndIf

oModel:DeActivate()
oModel:Destroy()
oModel := NIL

Return(.T.)



Importante:
Para alterar o campo Nome (RA_NOME), é necessário definir um índice da tabela SRA que será utilizado para passagem no array aCabec. Para mais informações, acesse este link.

Para que seja possível gravar o valor de salário (RA_SALARIO) passado no fonte do Execauto, é necessário que o parâmetro MV_ALTSAL esteja com conteúdo N, caso contrário, o sistema por padrão utiliza o salário informado no cadastro da Função vinculada ao Funcionário.


Saiba Mais:
RH - Linha Protheus - GPE - Inclusão ou alteração de Funcionário via Execauto no GPEA010
Execauto de Inclusão - Estagiário 

Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _