Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

PApGetOP - Manipular informações da ordem de produção para o APP Minha Produção

Linha de Produto:

Protheus

Segmento:

Manufatura

Módulo:

SIGAPCP - Planejamento e Controle da Produção

Parâmetro(s):

NomeTipoDescriçãoDefaultObrigatórioReferência
PARAMIXB[1]Caracter

Tipo do apontamento. Pode possuir os conteúdos abaixo:

  • 1 - Apontamento simples (MATA250);
  • 3 - Apontamento modelo 2 (MATA681);
  • 4 - Apontamento chão de fábrica (SFCA314).



PARAMIXB[2]JsonObject

Json com as informações padrões da ordem de produção que será retornado pela API.

De acordo com o tipo do apontamento, o objeto Json conterá as seguintes informações:

  • 1 - Apontamento simples:
    'ProductionOrderNumber' - Ordem de produção
    'ItemCode' - Produto
    'ItemDescription' - Descrição do produto
    'ApprovedQuantity' - Quantidade
    'WarehouseCode' - Armazém
    'UnitOfMeasureCode' - Unidade de medida
    'DocumentCode' - Documento
    'StartReportDateTime' - Data de emissão
    'Part_Total' - Parcial/Total
    'LotPotency' - Potencia lote
    'CostCenter' - Centro de custo
    'LedgerAcct' - Conta contábil
    'UnitOfMeasureCode2' - Segunda unidade de medida
    'UnitOfMeasureCode2Quantity' - Quantidade na segunda unidade de medida
    'LotCode' - Lote
    'LotDueDate' - Validade do lote
    'MovimentType' - Tipo do movimento
    'ScrapQuantity' - Perda

  • 3 - Apontamento modelo 2:
    'ProductionOrderNumber' - Ordem de produção
    'ItemCode' - Produto
    'ItemDescription' - Descrição do produto
    'WarehouseCode' - Armazém
    'ActivityCode' - Operação
    'OperationDescription' - Descrição da operação
    'MachineCode' - Recurso
    'StartReportDateTime' - Data inicial
    'EndReportDateTime' - Data final
    'ReportDateTime' - Data do apontamento
    'LotCode' - Lote
    'LotDueDate' - Validade do lote
    'LotPotency' - Potencia lote
    'ApprovedQuantity' - Quantidade
    'UnitOfMeasureCode2Quantity' - Quantidade na segunda unidade de medida
    'Part_Total' - Parcial/Total
    'Apportionment' - Percentual de Rateio
    'ToolCode' - Ferramenta
    'StartReportTime' - Hora inicial
    'EndReportTime' - Hora inicial
    'ScrapQuantity' - Perda
    'Split' - Desdobramento
    'RealTime' - Tempo
    'SubLotCode' - Sub-Lote
    'Comments' - Observação
    'OperatorCode' - Operador
    'AlternativeSequence' - Sequencia do Roteiro Alternativo

  • 4 - Apontamento chão de fábrica:
    'MachineCode' - Maquina
    'ProductionOrderNumber' - Ordem de produção
    'Split' - Split
    'ActivityID' - ID da operação
    'ActivityCode' - Operação
    'ItemCode' - Item
    'StartSetupDateTime' - Data inicio preparação
    'StartSetupTime' - Hora início preparação
    'EndSetupDateTime' - Data fim preparação
    'EndSetupTime' - Hora fim preparação
    'SetupCode' - Código preparação
    'ToolCode' - Ferramenta
    'ApprovedQuantity' - Quantidade aprovada
    'ScrapQuantity' - Quantidade refugada
    'StartReportDateTime' - Data início
    'StartReportTime' - Hora início
    'EndReportDateTime' - Data fim
    'EndReportTime' - Hora fim
    'ProductionShiftCode' - Modelo turno
    'DocumentCode' - Documento
    'DocumentSeries' - Série documento
    'WarehouseCode' - Depósito
    'LotCode' - Lote/Serie
    'LotDueDate' - Data validade lote
    'OperatorName' - Operador
    'ProductionTeamCode' - Equipe



Idiomas:

Todos

País(es):

Todos

Banco(s) de Dados:

Todos

Sistema(s) Operacional(is):

Todos

Ponto de Entrada

Descrição:
O ponto de entrada PApGetOP é executado nas requisições de consulta de ordem de produção da API ProductionAppointment. Com este ponto de entrada, é possível modificar as informações que serão retornadas para o APP Minha Produção.
Localização:

API ProductionAppointment, método GET ProductionOrder - Responsável por buscar as informações de uma ordem de produção para utilização no APP Minha Produção.

Eventos:

Não se aplica.

Programa Fonte:ProductionAppointment.PRW

Sintaxe:

PApGetOP( ) --> oJsonRet

Retorno:
NomeTipoDescriçãoObrigatório
oJsonRetJsonObjectJSON que deverá ser retornado pela API, com todas as informações da ordem de produção. Mesmo que não seja realizada a alteração de nenhuma informação no ponto de entrada, o JSON deverá ser retornado com base no parâmetro PARAMIXB[2] que foi recebido pelo ponto de entrada.Sim
Observações:

Não é permitida a utilização de qualquer componente de interface gráfica nesse ponto de entrada, visto que a função será executada durante uma requisição REST.

Bloco de código
languagec#
firstline1
titleExemplo
linenumberstrue
#INCLUDE "TOTVS.CH"

User Function PApGetOP()
	Local cTipo  := PARAMIXB[1] //Tipo do apontamento
	Local oJsRet := PARAMIXB[2] //JSON padrão com as informações da ordem de produção.
	
	Conout("PE antes alteracao. Tipo: " + cTipo + " JSON: " + oJsRet:ToJson())

	Do Case
		Case cTipo == "1" // Apontamento MATA250
			oJsRet["CostCenter"] := "01"
		Case cTipo == "3" // Apontamento MATA681
			oJsRet["MachineCode"] := "REC"
		Case cTipo == "4" // Apontamento SFCA314
			oJsRet["EndReportTime"] := Time()
	EndCase
	
	Conout("PE Apos alteracao. Tipo: " + cTipo + " JSON: " + oJsRet:ToJson())
Return oJsRet