Incluindo campos de resumo em páginas de detalhes existentes

Entenda e aprenda a sintaxe buc-field-details.json que define os campos exibidos no painel Resumo das páginas de detalhes. Por exemplo, é possível incluir campos como Código do Grupo de Itens em um pedido ou código SCAC para uma remessa

Locais do arquivo JSON

Atualize ou crie o arquivo JSON dentro da pasta src-custom/assets/custom do módulo Por exemplo, packages/<route>/src-custom/assets/custom/buc-field-details.json..

Se não houver customizações adicionais necessárias, além das mudanças no arquivo JSON, o arquivo JSON não precisará ser associado a nenhuma rota Em vez disso, crie o arquivo JSON em packages/<app>-root-config/src/assets/custom/buc-field-details.json.. Fazer isso assegura que as futuras liberações do Order Hub sejam aplicadas automaticamente sem sincronizar manualmente seu código de customização
Nota: essa abordagem não requer rotas de atualização no arquivo package-customization.json durante a implementação.

Sintaxe JSON

O corpo JSON principal contém atributos de objeto definidos exclusivamente que são mapeados para diferentes páginas de detalhe
  • Para páginas relacionadas a Pedidos:
    • order-summary: o nome do objeto para a seção Summary na página Order details .
    • orderline-summary: o nome do objeto para a seção Summary na página Detalhes da Linha de Pedido .
    • order-audit-summary: o nome do objeto para a seção Summary na página Detalhes da Auditoria do Pedido .
    • order-receipt-summary: O nome do objeto para a seção Summary na página Detalhes do Recebimento do Pedido
    • orderrelease-summary: o nome do objeto para a seção Resumo na página Detalhes da liberação do Pedido .
  • Para páginas relacionadas a Remessas:
    • remessa-resumo: o nome do objeto para a seção Resumo na página Detalhes da remessa
    • shipmentline-summary: o nome do objeto para a seção Summary na página Detalhes da Linha de Remessa
    • shipment-container-summary: o nome do objeto para a seção Summary na página Detalhes do contêiner de remessa .
  • Para páginas relacionadas a Exceção:
    • exception-summary: o nome do objeto para a seção de Resumo na página Detalhes de Exceções .
  • Para páginas relacionadas ao Inventário:
    • inv-audit-summary: o nome do objeto para a seção Resumo na página Detalhes da auditoria de inventário .
  • Para páginas relacionadas a Alertas:
    • alert-details-summary: o nome do objeto para a seção Summary na página Alert details .
  • Cada objeto contém atributos para definir os dados para exibir na seção Resumo .
    nome
    Um nome exclusivo para identificar o conjunto de atributos
    ID
    O ID exclusivo do campo. Os componentes podem referir-se a um campo por esta propriedade
    nome
    O texto do rótulo a ser exibido Se o texto for traduzido, será possível incluir os arquivos de conversão na pasta i18n e fazer referência ao rótulo. Por exemplo,
    "name": "SHARED.GENERAL.LABEL_ORDER_#",

    A amostra recupera o texto a ser exibido da pasta i18n e localiza o atributo que corresponde a SHARED.GENERAL.LABEL_ORDER_#.

    dataBinding
    O atributo para recuperar da resposta da API (em notação de ponto) e exibir como o valor. Por exemplo,
    orderLineDetails.Item.ItemID
    O atributo deve existir no getPage-templates.json.. Atualizar o arquivo se o atributo não existir. Para obter mais informações, consulte Configurando a API getPage para recuperar dados adicionais
    valor
    (Opcional) O valor do campo.. Use este atributo para codificar permanentemente um valor. Caso contrário, use o Atributo dataBinding para mapear o campo para a resposta da API.
    attrTID
    (Opcional) Um valor de tag que pode ser usado para identificar facilmente o elemento da UI para propósitos de teste automatizado.
    tipo
    (Opcional) O tipo de elemento. Os valores possíveis são:
    • textbox
    • label
    • dropdown
    • combobox
    • datepicker
    Se o tipo de elemento que você implementa for um campo editável, ele exigirá o atributo options com valores editPermission e editAttr
    opções
    (Opcional) Especifique as opções se estiver usando qualquer um dos atributos "type".
    editPermission
    Um tipo de modificação permitido para o item / entidade que está sendo atualizado Para obter informações adicionais, consulte Tipos de Modificação de Pedido
    Nota: se você estiver usando 10.0.2403.2 ou posterior e tiver páginas que não tenham tipos de modificação permitidos, use ALWAYS_ALLOW como o valor.
    editAttr
    O nome do atributo a ser atualizado se o usuário selecionar um valor diferente no menu suspenso. Esse atributo será especificado na solicitação Atualizar API quando o usuário clicar em Salvar na interface com o usuário.
    buscar
    O objeto fetch define os valores a serem recuperados das APIs do IBM Sterling® Order Management System e exibidos no menu suspenso. Para obter informações sobre as APIs, consulte Geração e acesso ao Javadoc .
    • api: a API a ser chamada
    • type: o tipo de API. Para propósitos de customização, o valor deve ser oms.
    • parameters: os parâmetros a serem transmitidos na solicitação da API.
    • listAttribute: o atributo para recuperar da resposta da API.
    • id: configura o ID como os valores da resposta.
    • label: o campo a ser usado para preencher os valores no menu suspenso
    formatador
    Formate os dados na coluna Cada formatador é um objeto com propriedades diferentes A propriedade type identifica o tipo de formatador. Os valores de tipo suportados são currency, dateTimee quantity Para usar o atributo formatter , você deve omitir o atributo dataBinding e, em vez disso, especificar a ligação no atributo formatter.value .
    tipo: moeda
    • value: o atributo a ser recuperado da resposta da API e exibido na coluna.
    • currencyCode: (Opcional) O código de moeda a ser usado ao formatar o valor. O código de moeda também é buscado de uma propriedade na resposta da API.
    Exemplo:
      "formatter": {
        "type": "currency",
        "value": "PriceInfo.TotalAmount",
        "currencyCode": "PriceInfo.Currency"
      }
    tipo: dateTime
    • value: o atributo a ser recuperado da resposta da API e exibido na coluna.
    • dateFormat: (Opcional) O formato de dados a ser usado. Consulte a biblioteca JS Moment para obter opções de formatação. O padrão é L LT
    Exemplo:
      "formatter": {
        "type": "dateTime",
        "value": "PriceInfo.ReportingConversionDate",
        "dateFormat": "L"
      }
    tipo: quantidade
    • value: o atributo a ser recuperado da resposta da API e exibido na coluna.
    Exemplo:
      "formatter": {
        "type": "quantity",
        "value": "OrderedQty"
      }

Exemplo de JSON

O exemplo a seguir fornece alguns casos de uso com diferentes tipos de campo:
{
    "orderline-summary": {
        "name": "orderline-summary",
        "attributes": [
            {
                "id": "orderLineKey",
                "name": "Order line key",
                "value": "",
                "attrTID": "ordLineDetails - orderLineKey",
                "type": "label",
                "dataBinding": "OrderLineKey"
            },
            {
                "id": "serialNo",
                "name": "Serial number",
                "value": "",
                "attrTID": "ordLineDetails - serialNo",
                "type": "textbox",
                "dataBinding": "SerialNo",
                "options": {
            	"editPermission": "OTHERS",
            	"editAttr": "SerialNo"
            		}
            },
            {
            	"id": "reqShipDate",
            	"name": "Requested ship date",
            	"attrTID": "ordLineDetails - reqShipDate",
            	"type": "datepicker",
            	"dataBinding": "ReqShipDate",
            	"options": {
            		"editPermission": "REQ_SHIP_DATE",
            		"editAttr": "ReqShipDate"
            		}
            },
            {
            	"id": "fulfillmentType",
            	"name": "Fulfillment type",
            	"value": "",
            	"attrTID": "ordLineDetails - fulfillmentType",
            	"type": "dropdown",
            	"dataBinding": "FulfillmentType",
            	"options": {
            		"editPermission": "OTHERS",
            		"editAttr": "FulfillmentType",
            		"fetch": {
            			"api": "getCommonCodeList",
            			"type": "oms",
            			"parameters": {
            				"CallingOrganizationCode": "Sales2",
            				"CodeType": "FULFILLMENT_TYPE"},
            			"response": {
            				"listAttribute": "CommonCode",
            				"map": {
            				"id": "CodeValue",
            				"label": "CodeShortDescription"
            				}
            			}
            		}
            	}
            },
            {            	"id": "deliveryMethod",
            	"name": "Delivery method",
            	"value": "",
            	"attrTID": "ordLineDetails - deliveryMethod",
            	"type": "combobox",
            	"dataBinding": "DeliveryMethod",
            	"options": {
            		"editPermission": "OTHERS",
            		"editAttr": "DeliveryMethod",
            		"fetch": {
            			"api": "getCommonCodeList",
            			"type": "oms",
            			"parameters": {
            				"CallingOrganizationCode": "Sales2",
            				"CodeType": "DELIVERY_METHOD"},
            			"response": {
            				"listAttribute": "CommonCode",
            				"map": {
            				"id": "CodeValue",
            				"label": "CodeShortDescription"
            				}
            			}
            		}
            	}
            }		
        ]
    }
}

Exemplo de interface com o usuário:

A imagem a seguir ilustra a página de procura de saída da linha de pedido após fazer upload do exemplo JSON para IBM.
Captura de tela exibindo a página de resumo da linha de pedido de saída O painel de resumo é aberto e os novos campos com resumo são destacados com uma caixa vermelha. Os novos campos incluem ID do item, ItemGroupCode,Order Header Key e preço unitário.