Page tree

712CNTSC1 - Manipulação de campos customizados na criação da tabela SC1 pelo MRP

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP - Planejamento e Controle da Produção

Rotina:

Rotina

Nome Técnico

MATA712

MRP

Ponto de Entrada:

A712CNTSC1 - Manipulação de campos customizados na criação da tabela SC1 pelo MRP

Tickets relacionados

1044221

Requisito/Story/Issue (informe o requisito relacionado):

DMANSMARTSQUAD1-1684

País(es):

Todos

Banco(s) de Dados:

Todos

Tabelas Utilizadas:

SC1; SC7

Sistema(s) Operacional(is):

Todos

Ponto de Entrada

Descrição:

Ponto de entrada para manipular as informações de campos customizados, quando a SC é criada pelo MRP. Este ponto de entrada é utilizado apenas quando o produto possui Contrato de parceria (B1_CONTRAT).

Localização:

Função A712GeraSC, antes de ser executada a função do módulo de Compras para gerar as ordens de compra quando o produto possui contrato de parceria.

Parâmetros

NomeTipoDescriçãoDefaultObrigatórioReferência
cProdCaracterCódigo do produto
Sim
nQtdNuméricoQuantidade a ser gerada da SC
Sim
aCamposArray

Array contendo informações de geração da SC.

Neste array existem as informações dos seguintes campos:

DATPRF - Data prev. da Necessidade

SEQMRP - Seq MRP que originou SC

TPOP - Tipo da Ordem de Produção

USER - Código do Usuário


Sim

Programa Fonte:

MATA712 - MRP

Retorno:

Nome

Tipo

Descrição

Obrigatório

 aFldCustom

Array

Array com os campos customizados que serão preenchidos na criação das tabelas SC1/SC7.
Este array deve possuir a seguinte estrutura:
aFldCustom[1]:Array
aFldCustom[1][1]: Nome do campo que será preenchido, sem utilizar o prefixo da tabela.
Exemplo: Para preencher o campo C1_FORNECE, esta posição do array deve ser "FORNECE".
aFldCustom[1][2]: Valor que será preenchido no campo.

Exemplo de adição de um elemento no array aFldCustom:
aAdd(aFldCustom,{"FORNECE","000001"})

Obs: As informações que são recebidas pelo array aCampos, não poderão ser alteradas.

Sim

 

Exemplo:

#Include 'Protheus.ch'

User Function A712CNTSC1()
Local cProd := PARAMIXB[1] //Código do produto que será criada a SC.
Local nQtd := PARAMIXB[2] //Quantidade
Local aCampos := PARAMIXB[3]
/*
   aCampos:
   Campos enviados pelo MRP para a criação da SC;
   São enviados apenas os campos DATPRF, SEQMRP, TPOP e USER. Sem utilizar o prefixo de tabela.
*/
Local aFldCustom := {}
/*
   aFldCustom:
   Array com os campos customizados que serão preenchidos na criação das tabelas SC1/SC7.
   Este array deve possuir a seguinte estrutura:
   aFldCustom[1]:Array
   aFldCustom[1][1]: Nome do campo que será preenchido, sem utilizar o prefixo da tabela.
   Exemplo: Para preencher o campo C1_FORNECE, esta posição do array deve ser "FORNECE".
   aFldCustom[1][2]: Valor que será preenchido no campo.

   Exemplo de adição de um elemento no array aFldCustom:
   aAdd(aFldCustom,{"FORNECE","000001"})

   Obs: As informações que são recebidas pelo array aCampos, não poderão ser alteradas.
*/
Local nPos := 0

nPos := aScan(aCampos,{|x| x[1] == "SEQMRP"})
aAdd(aFldCustom,{"OBSERVA","SC gerada pelo MRP." + Iif(nPos>0," Sequência " + aCampos[nPos,2],"")}) //Adiciona o valor para um campo customizado.

Return aFldCustom