enduser:erp:developer:integracao:integracaowebservice:estrutura:criaestrutura

POST - Cria nova Estrutura

Este método inclui, altera e remove componentes da estrutura de materiais no Prosyst, e também exclui ou substitui a estrutura inteira de um item, de acordo com os dados enviados.

Cada requisição é tudo ou nada: se qualquer item da lista for recusado, nenhuma alteração da requisição é gravada e a resposta traz o motivo.

api/Estrutura/Cria-Estrutura

Exemplo URL

<IP do Serviço>:<Porta liberada para o serviço>/api/Estrutura/Cria-Estrutura

Parâmetros do Header

authToken adquirido no Login.

===== Exemplo de Body =====

[{
  "CodigoItemFabricado": 123456,
  "CodigoItemFabricadoEditavel": "ABC123",
  "ExplodeEstrutura": true,
  "UsadoPPCP": false,
  "ConsideraCalculoCusto": true,
  "RemoverItemEstrutura": false,
  "ControleIndustrializacao": 2,
  "ListaComponentes": [
    {
      "CodigoComponente": 333444,
      "CodigoComponenteEditavel": "COMP333",
      "QuantidadeNecessaria": 50.25,
      "QuantidadeNecessariaLiquida": 36.25,
      "ExplodeEstrutura": false,
      "UsadoPPCP": true,
      "ConsideraCalculoCusto": false,
      "RemoverItemEstrutura": false,
      "ControleIndustrializacao": 1,
      "CaracteristicasComponente": [
             {
                 "quantidade": 1,
                 "comprimento": 1880.0000,
                 "largura": 835.0000,
                 "espessura": 100.00,
                 "posicaoDesenho": "ET H53 16 A",
                 "tipoCarregamento": "",
                 "codigoAplicacao": 1,
                 "codigoCorte": 0,
                 "unidadeMedida": "PC",
                 "unidadeMedidaDimensao": "MM",
                 "posicaoChamada": 1
             }
      ],
      "ListaComponentes": []
    }
  ]
}]

Explicação dos campos do Body

  • Item e componente: o item é informado por CodigoItemFabricado ou CodigoItemFabricadoEditavel, e o componente por CodigoComponente ou CodigoComponenteEditavel. Com os dois, vale o código numérico; o código editável é usado quando o numérico não é encontrado.
  • Subconjuntos: para mexer nos componentes de um subconjunto, informe no item que contém a ListaComponentes o CodigoItemFabricado ou o CodigoItemFabricadoEditavel do subconjunto, com o mesmo código do CodigoComponente dele. Sem isso, a requisição é recusada. No último nível (matéria-prima) não é preciso.
  • Obrigatórios: no primeiro nível, o item e o RemoverItemEstrutura. Na inclusão de componente, o componente e a QuantidadeNecessaria. Na remoção, basta o componente.

Campos:

  • CodigoItemFabricado → Long → Código identificador único do item fabricado.
  • CodigoItemFabricadoEditavel → String → Código do item fabricado em um formato editável (texto).
  • CodigoComponente → Long → Código identificador único do componente que faz parte do item fabricado.
  • CodigoComponenteEditavel → String → Código do componente em um formato editável (texto).
  • QuantidadeNecessaria → Decimal → Quantidade necessária do componente para fabricar o item. Obrigatória na inclusão.
  • QuantidadeNecessariaLiquida → Decimal → Quantidade necessária líquida do componente para fabricar o item.
  • ExplodeEstrutura → Boolean → Indica se a estrutura do item será “explodida” (expandida) para mostrar os componentes internos.
  • UsadoPPCP → Boolean → Indica se o item será utilizado no processo de Planejamento, Programação e Controle da Produção (PPCP).
  • ConsideraCalculoCusto → Boolean → Define se o componente será incluído no cálculo de custo do item fabricado.
  • RemoverItemEstrutura → Boolean? → false inclui ou altera; true remove o componente ou, sem componente no primeiro nível, exclui a estrutura inteira (veja abaixo). Obrigatório no primeiro nível; nos demais, vazio vale como false.
  • ControleIndustrializacao → Integer → Define o controle de industrialização do componente. Valores padrões: 1 - Não tem controle de industrialização / 2 - Somente Entrada / 3 - Somente Saída / 4 - Entrada/Saída.
  • ListaComponentes → List<CriaNovaEstruturaRequest> → Lista de componentes que compõem a estrutura do item, permitindo estruturas aninhadas.
  • CaracteristicasComponente → List<CaracteristicasComponente> → Lista de características possíveis para o item. Ignorada na remoção.

Inclusão, remoção e exclusão

Operação Como enviar Resultado
Incluir ou alterar componente RemoverItemEstrutura false, com o componente e a QuantidadeNecessaria. Grava o componente na estrutura do item.
Remover um componente RemoverItemEstrutura true, com o componente, no primeiro nível ou dentro da ListaComponentes. Remove o componente da estrutura do item. Não exige quantidade.
Excluir a estrutura inteira No primeiro nível, RemoverItemEstrutura true, sem componente e sem ListaComponentes. Exclui todos os componentes do item.
Substituir a estrutura No primeiro nível, RemoverItemEstrutura true, sem componente e com a ListaComponentes. Exclui a estrutura inteira e grava os componentes da lista.

A remoção e a exclusão levam junto a especificação técnica, as especificações de análise, os indicadores e os anexos do componente removido, ou de todos os componentes do item na exclusão da estrutura inteira.

A exclusão da estrutura inteira, e também a substituição, exclui a estrutura dos subconjuntos do item, inclusive dos que são usados em outros itens.

Componente cancelado ou fora de uso pode ser removido da estrutura. Na inclusão, o componente cancelado é recusado, e o fora de uso também, quando o BLOQUEIO-FORA-DE-USO está ligado.

Abaixo do primeiro nível, um item com RemoverItemEstrutura true e sem componente só é aceito se trouxer a ListaComponentes: ele serve para chegar aos componentes do subconjunto, e as remoções ficam nos itens da lista.

Material intermediário: com o controle de material intermediário ligado, e o item com acabamento, tratamento superficial ou tratamento térmico feito por terceiro, a inclusão de componente abaixo do primeiro nível grava o componente na estrutura do material intermediário do item e gera o intermediário quando ele ainda não existe. A remoção retira o componente da estrutura do intermediário e do próprio item, e não gera intermediário.

Exemplos de exclusão

Remover um componente:

[{
  "CodigoItemFabricado": 123456,
  "CodigoComponente": 333444,
  "RemoverItemEstrutura": true
}]

Excluir a estrutura inteira:

[{
  "CodigoItemFabricado": 123456,
  "RemoverItemEstrutura": true
}]

Substituir a estrutura pelos componentes enviados:

[{
  "CodigoItemFabricado": 123456,
  "RemoverItemEstrutura": true,
  "ListaComponentes": [
    {
      "CodigoComponente": 333444,
      "QuantidadeNecessaria": 2,
      "RemoverItemEstrutura": false
    }
  ]
}]

Parâmetros

Parâmetro Efeito na API
API-NAO-PERMITE-EXCL-ESTRUT Recusa a remoção de componentes, a exclusão e a substituição da estrutura pela API.
API-PERMITE-ALT-ESTRUTA-COM-OP Recusa alterar a estrutura de item com ordem de produção em produção.
UTILIZA-ITEM-REVISADO Recusa alterar a estrutura de item marcado como revisado.
NAO-EXCLUIR-ESTRUT-ITEM-REVIS Com o item revisado em uso, mantém a estrutura dos subconjuntos revisados na exclusão da estrutura inteira.
UTILIZA-MATER-INTERMED Liga o controle de material intermediário.
BLOQUEIO-FORA-DE-USO Recusa incluir componente fora de uso.

Exemplos de Retorno

Sucesso

Retorno HTTP 200.

{
	"bemSucedido": true,
	"mensagemFalha": null,
	"novoCodigo": null,
	"dados": null
}

Falha

Retorno HTTP 400, com o motivo em mensagemFalha. Nenhuma alteração da requisição é gravada.

{
    "bemSucedido": false,
    "mensagemFalha": "O componente COMP333 - Chapa de aço não faz parte da estrutura do item ABC123 - Conjunto soldado.",
    "novoCodigo": null,
    "dados": null
}

Principais recusas:

Situação Mensagem
Primeiro nível sem RemoverItemEstrutura Informe se o item está sendo inserido ou removido da estrutura.
Item ou componente não encontrado Item código não existe no Prosyst
Inclusão sem quantidade É obrigatório que seja informada quantidade necessária.
Remoção de componente que não está na estrutura O componente componente não faz parte da estrutura do item item.
ListaComponentes sem o item pai informado Informe CodigoItemFabricado ou CodigoItemFabricadoEditavel no item que contém a ListaComponentes.
Item pai da ListaComponentes não encontrado O item pai código, informado para a ListaComponentes, não existe no Prosyst.
Remoção sem componente abaixo do primeiro nível, sem ListaComponentes Informe o componente a remover da estrutura do item item.
Exclusão pela API desligada A exclusão de componentes e de estruturas pela API está desabilitada na configuração do sistema.
Item revisado O item item está identificado como revisado, não é possível alterar a engenharia.
Item com ordem de produção em produção Não é possível alterar a estrutura de um item com ordem de produção em andamento
Material intermediário não gerado Não foi possível gerar o material intermediário do item item: motivo
enduser/erp/developer/integracao/integracaowebservice/estrutura/criaestrutura.txt · Última modificação: por 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki