Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
| Nome Físico | cdp/cdapi344.p |
Versão de Integração: 001
Objetivo: Consistir e gravar informações referentes a itens.
Considerações Gerais:
- Deve ser passada 3 temp-tables com informações e parâmetros para a criação de Itens.
- A temp-table TT-VERSAO-INTEGR é passada como parâmetro INPUT.
- A temp-table TT-ERROS-GERAL é passada como parâmetro OUTPUT.
- A temp-table TT-ITEM é passado como parâmetro através do comando INPUT-OUTPUT, pois além de passar parâmetros, ela retorna informações para o programa chamador.
Exemplo da chamada:
RUN cdp/cdapi344.p ( INPUT TABLE tt-versao-integr,
OUTPUT TABLE tt-erros-geral,
INPUT-OUTPUT TABLE tt-item).
Parâmetros
1) Temp-table tt-versao-integr : Temp-table que vai possuir as informações referente a tabela de integração.
TEMP-TABLE TT-VERSAO-INTEGR | ||||||
Atributo | Tipo | Formato | Valor Inicial | Obrigatório | Descrição | |
cod-versao-integracao | Integer | "999" | Código versao de integracao | |||
ind-origem-msg | Integer | "99" | Indica a origem da mensagem | |||
Exemplo:
def temp-table tt-versao-integr no-undo field cod-versao-integracao as integer format "999" field ind-origem-msg as integer format "99".
2) Temp-table tt-erros-geral: tem a finalidade de retornar os erros da api de efetivação para a pré-api, esta tt-erros-geral é padronizada para o multiplanta e EDI, pois as api's de efetivação podem ser usadas também pelo EDI.
TEMP-TABLE TT-ERROS-GERAL | |||||
Atributo | Tipo | Formato | Inicial | Obrigatório | Descrição |
Identif-msg | Character | “x(60)” | São gravados informações referente a mensagem | ||
Num-sequencia-erro | Integer | “999” | Número da sequencia de erro | ||
Cod-erro | Integer | “99999” | Código do Erro | ||
Des-erro | Character | “x(60)” | Descrição do Erro | ||
Cod-maq-origem | Integer | “999” | Código da Máquina de Origem | ||
Num-processo | Integer | “999999999” | Número do Processo | ||
Exemplo:
def temp-table tt-erros-geral no-undo field identif-msg as char format "x(60)" field num-sequencia-erro as integer format "999" field cod-erro as integer format "99999" field des-erro as char format "x(60)" field cod-maq-origem as integer format "999" field num-processo as integer format "999999999".
3) Temp-table tt-item : Temp-table que vai possuir as informações referentes ao cadastro de Itens.
Definição da Include cdp/cdapi244.i
Exemplo de código:
def temp-table tt-item no-undo like item field cod-maq-origem as integer format "9999" field num-processo as integer format ">>>>>>>>9" initial 0 field num-sequencia as integer format ">>>>>9" initial 0 field ind-tipo-movto as integer format "99" initial 1 field cod-erro as integer format "99999" field des-erro as char format "x(60)" INDEX ch-codigo IS PRIMARY cod-maq-origem num-processo num-sequencia.
A tabela temporária TT-ITEM possui todos os campos da tabela física de Item, e alguns campos adicionais:
TEMP-TABLE TT-ITEM | ||
Atributo | Obrigatório | Descrição |
cod-maq-origem | Não | Campo legado do módulo do Multi-planta. Não é mais utilizado. |
ind-origem-msg | Não | Campo legado do módulo do Multi-planta. Não é mais utilizado. |
num-sequencia | Não | Campo legado do módulo do Multi-planta. Não é mais utilizado. |
ind-tipo-movto | Sim | Indica o tipo de ação que a API deverá realizar para o item em questão, sendo:
|
cod-erro | Não | Campo que indica o código de erro ocorrido durante o processamento da API, caso houver. |
des-erro | Não | Descrição do erro ocorrido durante o processamento da API, caso houver. |
Execução
Execução: O programa cdapi344.p irá executar estas validações básicas:
1ª Validação: Versão de Integração
O programa irá verificar se o programa chamador está íntegro com a API, e isto ocorre através da verificação da versão de integração passada como parâmetro. Caso a versão esteja incompatível, a API abortará a execução retornando o código de erro 3941.
Outras Validações
Serão validadas todas as informações sobre o Item que está sendo executado. Baseia-se em verificar os valores passados como parâmetros através da temp-table.
Dentre os erros que podem ocorrDevido as validações poderão ocorrer os seguintes erros:
Número do Erro | Mensagem | Ajuda |
8 | &1 já cadastrado(a). | Já existe um registro com a chave informada. |
56 | &1 inexistente. | Verifique se existe uma ocorrência para o(a) &1 informado(a) em seu cadastro. |
164 | &1 não pode ser branco. | A informação solicitada anteriormente não pode ser branco. |
907 | Lote Múltiplo não pode ser fracionada para esse Item. | Verifique indicador de fracionamento do item. |
908 | Item deve ser acabado para ser controlado por referência. | Item deve ser produto acabado para ser controlado por referência. |
925 | Item de controle de Manutenção Industrial inválido. | Item de controle Manutenção Industrial deve ter política de Período Fixo ou Lote Econômico. |
2227 | Item &1 possui movimentos. | Item possui movimentação de estoque. |
2565 | Data de Liberação não deve ser menor que Data de Implantação. | A data de liberação deve ser maior que a data de implantação do item! |
2566 | Data de Implantação não pode ser maior que a data atual. | A data de implantação deve ser menor ou igual a data atual! |
2676 | Folha de Especificação não cadastrada para Família deste Item. | A folha de especificação não está cadastrada para família deste item! |
2712 | Item com saldo em estoque. | Item com Saldo em Estoque não permite que se altere o Grupo de Estoque! |
2763 | Item &1 possui saldo em estoque. | O Tipo de Controle não pode ser Alterado pois o Item possui saldo em estoque! |
2802 | Item com Movimento de Estoque após Cálculo do Preço Médio. | Item com Movimento de Estoque após o Calculo do Preço Médio não permite que se altere o Grupo de Estoque! |
3662 | &1 deve estar entre &1 e &2. | &1 foi informado(a) inadequadamente. |
3941 | Versão de Integração incorreta | A versão de integração é informada através de parâmetros internos e o que foi informado está incompatível. Favor contatar suporte técnico. |
4235 | Módulo de Planejamento de da Manutenção Industrial não está implantado. | |
4570 | Quantidade &1 deve ser diferente de 0 |