CONTEÚDO
- Visão Geral
- Melhoria
- Exemplo de utilização
01. VISÃO GERAL
O módulo SIGATRM utiliza a chamada da rotina automática (MATA110) para geração da Solicitação de Compra de Treinamentos, onde passamos para a rotina apenas os campos obrigatórios para a geração da Solicitação.
Porém caso o usuário, customize outros campos da tabela de Solicitação de Compras (SC1) deixando como obrigatório, ao chamar a rotina automática (MATA110), como não passamos estes novos campos nos parâmetros, a rotina irá retornar uma inconsistência e não realizará a gravação do registro, devido estar faltando uma informação obrigatória.
Por isso, criamos o Ponto de Entrada TR130SOL para que o usuário possa customizar os campos que desejar e informá-los através da rotina automática para que não ocorra nenhuma inconsistência na gravação dos mesmos.
02. MELHORIA
Foi criado novo ponto de entrada TR130SOL().
Na rotina padrão, o sistema já alimenta os arrays aCabec e aItens (abaixo) com os campos obrigatórios que a rotina automática exige:
Cabeçalho
Aadd(aCabec, {“C1_EMISSAO”, dDatabase, Nil})
Aadd(aCabec, {“C1_SOLICIT”, RA8->RA8_NOME, Nil})
Itens
aadd(aLinha,{"C1_ITEM" ,Nil})
aadd(aLinha,{"C1_PRODUTO" ,cProd ,Nil})
aadd(aLinha,{"C1_QUANT" ,RA8->RA8_NFUNC ,Nil})
aadd(aLinha,{"C1_DESCRI" ,cDProd ,Nil})
aadd(aLinha,{"C1_ORIGEM" ,"TRM" ,Nil})
aadd(aItens, aLinha)
Com a utilização do Ponto de Entrada, o usuário poderá adicionar novos campos e seus conteúdos e passar para a rotina automática.
Parâmetros do Ponto de Entrada:
O Ponto de entrada recebe 3 parâmetros para serem utilizados:
PARAMIXB[1] → Código do Planejamento
PARAMIXB[2] → Array com os campos de Cabeçalho
PARAMIXB[3] → Array com os campos de Itens
03. EXEMPLO DE UTILIZAÇÃO
Exemplo de utilização do Ponto de Entrada:
#include "Protheus.ch"
User Function TR130SOL()
Local cCod := PARAMIXB[1]
Local aCabec := PARAMIXB[2]
Local aItens := PARAMIXB[3]
Local cCC := ""
Local aSaveArea := GetArea()
dbSelectArea("RA8")
dbSetOrder(1)
If dbSeek(xFilial("RA8")+cCod)
cCC := RA8->RA8_CC
EndIf
aadd(aItens[1], {"C1_CC", cCC, Nil})
Mata110(aCabec, aItens, 3)
RestArea(aSaveArea)
Return