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 ou alteração de Funcionário via Execauto no GPEA010


time.png Tempo aproximado para leitura: 00:03:00

Dúvida

Como realizar a inclusão ou alteração de Funcionário via Execauto no GPEA010?

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

Solução
Através da execução deste Execauto, é possível automatizar a entrada de dados na tabela SRA - Cadastro de Funcionários.
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.

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

Exemplo de inclusão:

#INCLUDE "Protheus.CH"
//Esta rotina tem a finalidade de efetuar o lancamento automatico de funcionarios
//atraves do mecanismo de rotina automatica.
//Nesse exemplo, a chamada da funcao U_GP010AUT deve ser realizada a partir do menu.

User Function GP010AUT()

Local aCabec   := {}
PRIVATE lMsErroAuto := .F.

//### Primeiro Funcionario ######################################### //
//-- Inclusao de 1 funcionario da matricula '000009'

aCabec   := {}
aadd(aCabec,{"RA_FILIAL"        ,"M SP 01 "                         ,Nil        })
aadd(aCabec,{"RA_MAT"           ,"000009"                           ,Nil        })
aadd(aCabec,{'RA_NOME'          ,'TESTE EXECAUTO'                   ,Nil        })
aadd(aCabec,{'RA_SEXO'          ,'F'                                ,Nil        })
aadd(aCabec,{'RA_RACACOR'       ,'2'                                ,Nil        })
aadd(aCabec,{'RA_NASC'          ,Stod('19901215')                   ,Nil        })
aadd(aCabec,{'RA_ESTCIVI'       ,'S'                                ,Nil        })
aadd(aCabec,{'RA_CPAISOR'       ,'01058'                            ,Nil        })
aadd(aCabec,{'RA_NACIONA'       ,'10'                               ,Nil        })
aadd(aCabec,{'RA_NACIONC'       ,'01058'                            ,Nil        })
aadd(aCabec,{'RA_NATURAL'       ,'SP'                               ,Nil        })
aadd(aCabec,{'RA_NCODMUNN'      ,'50308'                            ,Nil        })
aadd(aCabec,{'RA_GRINRAI'       ,'50'                               ,Nil        })
aadd(aCabec,{'RA_CC'            ,'01'                               ,Nil        })
aadd(aCabec,{'RA_ADMISSA'       ,Stod('20240102')                   ,Nil        })
aadd(aCabec,{'RA_TIPOADM'       ,'9B'                               ,Nil        })
aadd(aCabec,{'RA_OPCAO'         ,Stod('20240102')                   ,Nil        })
aadd(aCabec,{'RA_BCDPFGT'       ,'34100'                            ,Nil        })
aadd(aCabec,{'RA_CTDPFGT'       ,'222285'                           ,Nil        })
aadd(aCabec,{'RA_HRSMES'        ,220                                ,Nil        })
aadd(aCabec,{'RA_PROCES'        ,'00001'                            ,Nil        })
aadd(aCabec,{'RA_CATFUNC'       ,'M'                                ,Nil        })
aadd(aCabec,{'RA_HRSEMAN'       ,44                                 ,Nil        })
aadd(aCabec,{'RA_CODFUNC'       ,'01'                               ,Nil        })
aadd(aCabec,{'RA_HOPARC'        ,'1'                                ,Nil        })
aadd(aCabec,{'RA_SINDICA'       ,'01'                               ,Nil        })
aadd(aCabec,{'RA_TIPOPGT'       ,'M'                                ,Nil        })
aadd(aCabec,{'RA_VIEMRAI'       ,'10'                               ,Nil        })
aadd(aCabec,{'RA_CATEFD'        ,'101'                              ,Nil        })
aadd(aCabec,{'RA_COMPSAB'       ,'1'                                ,Nil        })
aadd(aCabec,{'RA_CIC'           ,'77913603062'                      ,Nil        })
aadd(aCabec,{'RA_TNOTRAB'       ,'01'                               ,Nil        })
aadd(aCabec,{'RA_REGRA'         ,'01'                               ,Nil        })
aadd(aCabec,{'RA_SEQTURN'       ,'01'                               ,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        })

U_Envia(aCabec)

Return(.T.)

//-- Funcao criada para exemplificar a chamada da execução da rotina de cadastro de funcionarios

USER Function Envia(aCabec)

//-- Faz a chamada da rotina de cadastro de funcionarios (opção 3)

MSExecAuto({|x,y,k,w| GPEA010(x,y,k,w)},NIL,NIL,aCabec,3)  //-- Opcao 3 - Inclusao registro

//-- Retorno de erro na execucao da rotina

If lMsErroAuto

// VALIDAÇÃO DE ERRO NA ROTINA
If (!lMsErroAuto) // OPERAÇÃO FOI EXECUTADA COM SUCESSO
    ConOut(PadC("Automatic routine successfully ended", 80))
Else // OPERAÇÃO EXECUTADA COM ERRO
    If (!IsBlind()) // COM INTERFACE GRÁFICA
        MostraErro()
    Else // EM ESTADO DE JOB
        cError := MostraErro("/dirdoc", "error.log") // ARMAZENA A MENSAGEM DE ERRO

        ConOut(PadC("Automatic routine ended with error", 80))
        ConOut("Error: "+ cError)
    EndIf
EndIf

/** DEMAIS PROCESSO EXECUTADO PELO FONTE **/
EndIf
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 - Como realizar o cadastro/admissão de Funcioná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 _