Árvore de páginas

MATI681CRG - Adicionar informações Adapter apontamento

Ponto de Entrada

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP

Parâmetro(s):

PARAMIXB (Array) -> Array com as informações do apontamento. Essas informações não podem ser alteradas.

Ponto de Entrada:

MATI681CRG - Adicionar informações Adapter apontamento

País(es):

Todos

Banco(s) de Dados:

Todos

Tabelas utilizadas:


Sistema(s) operacional(is):

Todos

Versões/Release:

Microsiga_Protheus12

Descrição:

É utilizado para adicionar informações que serão utilizadas no apontamento da produção e no apontamento de parada, tabela SH6.

Localização:

Function MATI681 -> Adapter de apontamento da produção modelo 2. | Function MATI682 -> Adapter de apontamento de parada.

Observações:

Este ponto de entrada permite que sejam adicionadas informações para realizar o apontamento da produção e apontamento de parada no Protheus. Não será permitido alterar nenhuma informação que é recebida por meio do XML do apontamento de produção.

Para identificar se será realizada a execução para o apontamento de parada ou para o apontamento de produção, deve-se verificar o campo H6_TIPO conforme descrito no exemplo do ponto de entrada. Quando H6_TIPO for igual a "P", significa que está sendo executada a rotina de apontamento da produção. Quando for igual a "I", significa que está sendo executada a rotina de apontamento de parada.


Não é possível alterar informações recebidos pelo XML, porém, é possível ler os valores recebidos pelo XML pelo objeto oXml, conforme exemplo:

Pelo objeto oXml:_TotvsMessage:_MessageInformation é possível obter as seguintes informações:

_PRODUCT
_SOURCEAPPLICATION
_STANDARDVERSION
_TRANSACTION
_TYPE
_UUID
_VERSION
_BRANCHID
_COMPANYID
_GENERATEDON

Para obter essas informações é necessário utilizar o comando:

oXml:_TotvsMessage:_MessageInformation:<TAG>:Text

Exemplo: oXml:_TotvsMessage:_MessageInformation:_COMPANYID:Text


Pelo objeto oXml:_TotvsMessage:_MessageInformation é possível obter as seguintes informações:

_ACTIVITYCODE
_ACTIVITYID
_APPROVEDQUANTITY
_CLOSEOPERATION
_COUNTERSTART
_CQLIBERATED
_DOCUMENTCODE
_DOCUMENTSERIES
_ENDCENTREPORTTIME
_ENDCENTSETUPTIME
_ENDREPORTDATETIME
_ENDSETUPDATETIME
_EXTERNALSPLIT
_EXTRATIME
_FINALACCOUNTANT
_INTEGRATIONREPORT
_ISPRODUCTIONCONTROLREPORT
_ITEMCODE
_ITEMDESCRIPTION
_LISTOFRESOURCEAPPOINTMENTS
_LISTOFWASTEAPPOINTMENTS
_LOCATIONCODE
_LOTCODE
_LOTDUEDATE
_MACHINECODE
_MACHINEDESCRIPTION
_MODTIME
_OPTIMEDEC
_OPTIMEINT
_PRODUCTIONORDERNUMBER
_PRODUCTIONSHIFTCODE
_PRODUCTIONSHIFTDESCRIPTION
_PRODUCTIONSHIFTNUMBER
_REFERENCECODE
_REPORTCENTLTIME
_REPORTDATETIME
_REPORTQUANTITY
_REPORTSEQUENCE
_REVERSALDATE
_REVERSEDREPORT
_REWORKQUANTITY
_SCRAPQUANTITY
_SETUPCODE
_SETUPDESCRIPTION
_SINGLEOUTFLOWLOCATION
_SPLIT
_STARTCENTREPORTTIME
_STARTCENTSETUPTIME
_STARTREPORTDATETIME
_STARTSETUPDATETIME
_STOPTIME
_TOOLCODE
_TOOLDESCRIPTION
_UPDATEREPORT
_WAREHOUSECODE
_WASTELOCATIONCODE
_WASTEWAREHOUSECODE

Para obter essas informações é necessário utilizar o comando:

oXml:_TotvsMessage:_BusinessMessage:_BusinessContent:<TAG.:Text

oXml:_TotvsMessage:_BusinessMessage:_BusinessContent:_ACTIVITYCODE:Text


A descrição de cada TAG pode ser consultada pelo documento da integração: DI Integração PCP Protheus x Totvs Mes no tópico Transação Apontamento de Produção: ProductionAppointment_2_000.xsd.


Exemplos:

#Include 'Protheus.ch'

User Function MATI681CRG()
Local aRet := {} 
Local nPos := aScan(PARAMIXB,{|aX| AllTrim(aX[1]) == "H6_TIPO"})

Local cOper := oXml:_TotvsMessage:_BusinessMessage:_BusinessContent:_ACTIVITYCODE:Text

If PARAMIXB[nPos,2] == "P"
//Apontamento de produção

//Adiciona um operador para o apontamento.
aAdd(aRet,{"H6_OPERADO","Operador1", Nil}) 
Else
//Apontamento de parada
EndIf

Return aRet

Programa Fonte:

MATI681.prw

Idioma:Português(Brasil)

Retorno:

aRet (Array) -> Array com as informações que serão adicionadas no apontamento. Deve estar no formato {"CAMPO","VALOR",NIL}. Deve retornar somente campos da tabela SH6.