Home

Linha Microsiga Protheus

Páginas filhas
  • Exemplo de Rotina Automática - Cadastro de Funcionários - GPEA010 -- 112458

Exemplo de Rotina Automática - Cadastro de Funcionários - GPEA010


Através dessa rotina é possível automatizar o processo de entrada de dados na tabela SRA - Cadastro de Funcionários.



Protheus 10

Basicamente, na chamada da rotina GPEA010, deve ser informado um array:  
 aCabec   -> Corresponde aos dados da tabela SRA - Funcionários. 
 Sintaxe: { {"RA_FILIAL" , conteudo1, NIL},;
                    {"RA_MAT" , conteudo2, NIL};
                    {campoAdicional3 , conteudo3, Nil},;
                    {campoAdicional4 , conteudo4 Nil};
                   } 

Observação: 
1) É 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. Se, por exemplo, o salário do funcionario é determinado pela faixa salarial, é preferível que o fornecimento dos campos do controle salarial seja feito através da rotina automática e não complementado posteriormente pelo usuário.

2) Certifique-se de que os valores das chaves estrangeiras sejam válidos para evitar retrabalho. Por exemplo, informe apenas um código de função que tenha correspondente na tabela de funções (SRJ).


#INCLUDE "Protheus.CH"//Esta rotina tem a finalidade de efetuar o lançamento automático de funcionários//através do mecanismo de rotina automática.//Nesse exemplo, a chamada da função U_GP010AUT deve ser realizada//a partir do menu, como demonstrado no extrato de um arquivo (*.XNU) qualquer:/*  ... Parte anterior do menu ....                                                                       	        Rotina Auto		Rotina Auto		Rotina Auto        U_GP010AUT		1		xxxxxxxxxx		07		0	 	... Continuacao do menu ...*/User Function GP010AUT()Local aCabec   := {}                                               		PRIVATE lMsErroAuto := .F.//### Primeiro Funcionario ######################################### ////-- Inclusão de 1 funcionário da matricula '880001'aCabec   := {}aadd(aCabec,{"RA_FILIAL" 		,"01 "								,Nil		})aadd(aCabec,{"RA_MAT" 			,"880001"							,Nil		})aadd(aCabec,{'RA_NOME'			,'FUNCIONARIO ROTINA AUTOMATICA'	,Nil		})aadd(aCabec,{'RA_SEXO'			,'F'								,Nil		})aadd(aCabec,{'RA_ESTCIVI'		,'C'								,Nil		})aadd(aCabec,{'RA_NATURAL'		,'SP'								,Nil		})aadd(aCabec,{'RA_NACIONA'		,'10'								,Nil		})aadd(aCabec,{'RA_NASC'			,Stod('19731215')					,Nil		})aadd(aCabec,{'RA_CC'			,'100100004'						,Nil		})aadd(aCabec,{'RA_ADMISSA'		,Stod('20080505')					,Nil		})aadd(aCabec,{'RA_OPCAO'			,Stod('20080505')					,Nil		})aadd(aCabec,{'RA_BCDPFGT'		,'34100'							,Nil		})aadd(aCabec,{'RA_CTDPFGT'		,'222285'							,Nil		})aadd(aCabec,{'RA_HRSMES'		,220 								,Nil		})aadd(aCabec,{'RA_HRSEMAN'		,44 								,Nil		})aadd(aCabec,{'RA_CODFUNC'		,'00001'							,Nil		})aadd(aCabec,{'RA_CATFUNC'		,'M'								,Nil		})aadd(aCabec,{'RA_TIPOPGT'		,'M'								,Nil		})aadd(aCabec,{'RA_TIPOADM'		,'9A'								,Nil		})aadd(aCabec,{'RA_VIEMRAI'		,'10'								,Nil		})aadd(aCabec,{'RA_GRINRAI'		,'50'								,Nil		})aadd(aCabec,{'RA_HOPARC'		,'1'								,Nil		})aadd(aCabec,{'RA_COMPSAB'		,'1'								,Nil		})aadd(aCabec,{'RA_NUMCP'			,'1234567'							,Nil		})aadd(aCabec,{'RA_SERCP'			,'150'								,Nil		})aadd(aCabec,{'RA_TNOTRAB'		,'001'								,Nil		})aadd(aCabec,{'RA_ADTPOSE'		,'***N**'							,Nil		})U_Envia(aCabec)Return(.T.)//-- Função criada para exemplificar a chamada da execução da rotina de cadastro de funcionários  USER Function Envia(aCabec)Local nX  //-- Faz a chamada da rotina de cadastro de funcionários (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 execução da rotinaIf lMsErroAuto	MostraErro()EndIfReturn(.T.)

Microsiga Protheus 11 , Protheus 10
Nível 1 (Acesso Clientes)
Português (Brasil)
Brasil
Todos
Todos


  • Sem rótulos