Árvore de páginas

Carregando...


01. DADOS GERAIS

Produto:

TOTVS Manufatura

Linha de Produto:

Linha Protheus

Segmento:

Manufatura

Módulo:

TOTVS Manufatura (Linha Protheus) - Planejamento e controle da produção (SIGAPCP)

Função:

MATA650 - Ordem de Produção

MATR225 - Estrutura Simples

Todas as rotinas que utilizam a função ExplEstr

País:Todos


02. DESCRIÇÃO

Permite alterar a quantidade do componente utilizado na estrutura.


Localização

Fonte: SIGACUSA

Função: ExplEstr - Calcula a quantidade usada de um componente da estrutura

Parâmetros

.

Nome
Tipo
Descrição
PARAMIXB[1]NumériconQuant - Quantidade do pai da estrutura.
PARAMIXB[2]NumériconQuantItem - Quantidade do componente que esta sendo usado e calculado.
PARAMIXB[3]Lógico

lOk - Permite saber se o componente será utilizado.

Valores:  .T. será utilizado | .F. não será utilizado.

PARAMIXB[4]Numérico

nMotivo - Permite consultar o motivo quando o lOk está .F.

  • Motivo 0 = Quando o lOk está .T.
  • Motivo 1 = Componente fora das datas inicio / fim
  • Motivo 2 = Componente fora dos grupos de opcionais
  • Motivo 3 = Componente fora das revisões


PARAMIXB[5]CaracterecOpcArq - Estrutura / Grupo de Opcionais encontrado no momento
PARAMIXB[6]MemocOpcionais - Grupo Opcionais selecionado. 
Retorno

.

Nome
Tipo
Obrigatório
Descrição
nAltQuantNuméricoSimQuantidade do componente que será utilizado na estrutura.

.

Observação

O ponto de entrada MQTDESTR está localizado em uma função genérica SIGACUSA, desta forma é acionado por várias rotinas.

Para que a quantidade do componente seja alterado somente para uma determinada rotina, deve ser feita a validação da rotina no ponto de entrada, conforme exemplo.


03. DEMAIS INFORMAÇÕES

Exemplo

No exemplo será considerado a estrutura e opcionais abaixo e será realizada a geração dos empenhos pelo MATA650 - Ordem de Produção.


Na inclusão da ordem de produção foi selecionado o opcional: Grupo 01 | Item 0002

Quantidade da ordem de produção: 10

Neste exemplo, ao gerar os empenhos da ordem de produção será chamado o ponto de entrada MQTDESTR três vezes, uma vez para cada componente da estrutura.

Os valores do exemplo abaixo será considerando o terceiro componente 27181-MP2.


Exemplo
User Function MQTDESTR()

Local nQuant     := PARAMIXB[1] // 10  - Quantidade o Pai - no caso a quantidade da ordem de produção
Local nQuantItem := PARAMIXB[2] // 150 - Quantidade do componente que será usado - no caso 10 (qtd ordem) * 15 (qtd estrutura) = 150
Local lOk        := PARAMIXB[3] // .T. - Será utilizado
Local nMotivo    := PARAMIXB[4] // 0   - Como será utilizado, o motivo é 0
Local cOpcArq    := PARAMIXB[5] // 27181-PA       27181-MP2         - Estrutura considerando o Grupo de Opcionais encontrado no momento
Local cOpcionais := PARAMIXB[6] // Campo MEMO - referente ao campo C2_MOPC

Local nAltQuant  := nQuantItem

If IsInCallStack("MATA650")
	If lOk        
		If (ALLTRIM(cOpcArq) $ ALLTRIM(cOpcionais)) .And. (ALLTRIM(SG1->G1_COMP) == 'PRODOPC003')
		  nAltQuant := 10
		EndIf
	EndIf
EndIf

Return nAltQuant  


04. ASSUNTOS RELACIONADOS

  • Não se aplica.