PEBCodeAct - Ação código de barras do 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
PARAMIXBJson Object

O Objeto Json recebido como parâmetro possui como atributos todos os campos visíveis no formulário com seus respectivos valores, além do atributo "formSource", que ajudará a identificar a origem da requisição, contendo os seguintes atributos:

  • formCode: Código do formulário
  • fieldCode: Nome do campo referente ao botão acionado, conforme informado na coluna "Campo" do PCPA125.
  • appointmentType: Tipo do formulário (1=Produção Simples, 3=Produção Pcp Mod2, 4=Produção Chão de Fabrica, 6=Ordem de Produção)



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 PEBCodeAct é executado assim que a leitura do código de barras é registrada. Com este ponto de entrada é possível manipular o conteúdo lido no código de barras e distribuir nos campos do formulário.
Localização:

API FormRegistration, método POST BarcodeAction - Responsável por editar e retornar informações dos formulários do APP Minha Produção.

Eventos:

Não se aplica.

Programa Fonte:FormRegistration.PRW

Sintaxe:

PEBCodeAct( ) --> oJsonRet

Retorno:
NomeTipoDescriçãoObrigatório
cJsonRetCaracter

JSON que deverá ser retornado pela API. 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 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.

User Function PEBCodeAct()
    Local cAptType   := ""
    Local cBcodeData := ""
    Local cBody      := PARAMIXB
    Local cFldCode   := ""
    Local oBody      := JsonObject():New()
    Local oJson      := JsonObject():New()

    oBody:FromJson(cBody)
    If oBody:HasProperty("formSource")
        cAptType   := oBody["formSource"]["appointmentType"]
        cBcodeData := oBody["formSource"]["barcodeData"]
        cFldCode   := oBody["formSource"]["fieldCode"]
        If cAptType == "1"
            If cFldCode == "productionOrder"
                oBody["productionOrder"] := cBcodeData
            EndIf
            If cFldCode == "D3_DOC"
                oBody["D3_DOC"] := cBcodeData
            EndIf
        ElseIf cAptType == "3"
            If cFldCode == "productionOrder" .Or. cFldCode == "activityCode"
                oBody["productionOrder"] := Substr(cBcodeData,1,14)
                oBody["activityCode"]    := Substr(cBcodeData,14,2)
            EndIf
            If cFldCode == "D4_PRDORG"
                oBody["D4_PRDORG"] := cBcodeData
            EndIf
        ElseIf cAptType == "6"
            oBody[cFldCode] := cBcodeData
        ElseIf cAptType == "7"
            If oBody["BC_LOCORIG"]
                oJson:FromJson(cBcodeData)
                oBody["BC_LOCORIG"] := oJson["local_origem"]
                oBody["BC_LOCAL"]   := oJson["local_destino"]
            EndIf
        EndIf
    EndIf
    cBody := oBody:ToJson()
    FreeObj(oBody)
    FreeObj(oJson)
Return cBody