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 | .
| |||||||||||||||||||||
Retorno | .
. | |||||||||||||||||||||
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.
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.