Árvore de páginas

MTI650ADOP - Adicionar nova operação Adapter ordem de produção 

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP - Planejamento e Controle da Produção

Parâmetro(s):

PARAMIXB -> Array 
[1] Código da operação 
[2] Código do centro de trabalho 
[3] Tempo máquina 
[4] Tempo de Setup 
[5] Código do roteiro 
[6] Código da mão de obra 
[7] Código da máquina 
[8] Data início de programação 
[9] Data fim de programação 
[10] InternalID da operação (R_E_C_N_O_) 
[11] Descrição da operação 
[12] Lote padrão da operação 
[13] Tempo padrão da operação 
[14] Quantidade da operação 
[15] Código da ordem de produção 
[16] Código do produto 
[17] Descrição do produto 
[18] Código da unidade de medida da OP

[19] Ponteiro para recuperação das informações da SC2. Exemplo de utilização: &(cPont+"(C2_QUANT)")

Idioma:Português(Brasil)

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Versões/Release:

Todas

Descrição:

LOCALIZAÇÃO: Function MATI650 -> Adapter de integração das ordens de produção. 

 DESCRIÇÃO: É utilizado para adicionar uma nova operação na mensagem de ordens de produção. Para cada operação que está sendo enviada (operações cadastradas na base do protheus, sendo SH8 ou SHY ou SG2) este ponto de entrada será executado uma vez.

Observações:

 

Exemplos:

#Include 'Protheus.ch'

User Function MTI650ADOP()
/*
Identificação dos campos no array PARAMIXB
*/
Local CODOPER := 1 //Posição do Código da operação
Local CODCT := 2 //Posição do Código do centro de trabalho
Local TIMEMAQ := 3 //Posição do tempo máquina
Local TIMESETUP := 4 //Posição do Tempo de Setup
Local CODROTEIR := 5 //Posição do Código do roteiro
Local CODMOD := 6 //Posição do código da mão de obra
Local CODMAQ := 7 //Posição do código da máquina
Local DTINIPRG := 8 //Posição da data início de programação 
Local DTFIMPRG := 9 //Posição da data fim de programação
Local INTERNALID := 10 //Posição do InternalID da operação 
Local DESCOPER := 11 //Posição da descrição da operação
Local LOTEPAD := 12 //Posição do lote padrão da operação
Local TEMPAD := 13 //Posição do tempo padrão da operação
Local QTDOPER := 14 //Posição da quantidade da operação
Local CODOP := 15 //Posição do código da ordem de produção
Local CODPROD := 16 //Posição do código do produto
Local DESCPROD := 17 //Posição da descrição do produto
Local CODUMOP := 18 //Posição do código da unidade de medida da OP
Local cPont := PARAMIXB[Len(PARAMIXB)] //Ponteiro para recuperar as informações da SC2. Utilização: &(cPont+"(C2_QUANT)")

Local aNewOper := aClone(PARAMIXB)

/*
Caso necessário posicionar em alguma tabela, utilizar as funções GetArea() e RestArea() para não desposicionar o processamento
das operações no programa padrão.
*/

If aNewOper[CODOPER] == "90"
//Se não for adicionar uma nova operação, deve-se retornar Nil. 
aNewOper := Nil
Else
//Se for adicionar a operação, sempre deve utilizar a mesma estrutura do array PARAMIXB 
aNewOper[CODOPER] := SOMA1(aNewOper[CODOPER])
EndIf
Return aNewOper

Programa Fonte:

MATI650.prw

Retorno:

aNewOper (Array) -> Nova operação que será enviada na mensagem de ordem de produção. Deve possuir a mesma estrutura do array PARAMIXB, que foi recebido por parâmetro.