Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | cpp/cpapi023.p |
Considerações Gerais
Objetivo
Gerar e validar a rede-pert do item da ordem e dos itens fantasmas conforme a engenharia ou sequencialmente.
Funcionamento
A API pode ser chamada de duas formas: A padrão (batch) e a persistente.
Na forma padrão, realiza-se a chamada através de um comando RUN normal, passando-se as temp-tables carregadas com as informações necessárias ao processamento de um ou mais reportes.
A sintaxe para executar a API em modo padrão é:
run cpp/cpapi023.p (input-output table tt-gera-rede, input-output table tt-erro, input l-elimina-erros). |
A execução na forma persistente, permite apenas o “carregamento” na memória do código da API, sem a execução de nenhuma procedure, devendo as temp-tables serem passadas sem nenhum registro. Uma vez carregada, a API permite a execução de diversos “métodos”, que poderão ser chamados de forma interativa, englobando todo o processo de manutenção da rede-pert. Esses “métodos” são procedures que são acessadas através de um “handle” que é retornado quando o programa é executado de forma persistente. A sintaxe para executar a API em modo persistente é:
run cpp/cpapi023.p persistent set h-handle (input-output table tt-gera-rede, input-output table tt-erro, |
A variável denominada h-handle irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.
Parâmetros: Os parâmetros utilizados pela API são:
• tt-gera-rede – Temp-table contendo o número da ordem e o tipo de processamento a ser executado.
• tt-erro – Temp-table que retorna os erros e “avisos” retornados pela API durante o processamento.
• l-elimina-erros – Informa à API que o conteúdo anterior, eventualmente existente na temp-table de erros será eliminado logo após o início do processamento da API. Normalmente utiliza-se YES, sendo parametrizado como NO apenas se a chamada para a API fizer parte de uma transação maior, que eventualmente já tenha gerado registros na temp-table de erros e que devam permanecer após a chamada da API.
Retorno: A API irá setar o return-value de forma a informar ao programa “chamador” se a execução foi realizada com sucesso ou não. Os valores possíveis para o return-value são: OK (execução correta) e NOK (execução com problemas). Os motivos para a rejeição do movimento de reporte são especificados na temp-table tt-erro.
Tabelas Temporárias
tt-gera-rede | Entrada/Saída | ||||
- | |||||
Atributo | Tipo | Formato | Valor Inicial | Obrigatório | OBS. |
nr-ord-produ | Inteiro | Índice primário e único | |||
tipo-exec | Inteiro | ||||
rw-ult-oper | rowid | ||||
rw-pert-ordem | rowid | ||||
cod-versao-integracao | Inteiro | ||||
cod-prog-orig | Caractere |
Nr-ord-produ – Contém o número da ordem de produção que terá a rede-pert gerada/validada.
Tipo-exec – Determina o tipo de processamento que será executado, conforme tabela abaixo:
1-Geração pela Engenharia,
2-Geração Sequencial,
3-Consiste Rede-Pert,
4-Valida criação/modificação manual na rede-pert
5-Valida eliminação manual na rede-pert
6-Consiste e Atualiza Sequências da Rede-Pert
rw-ult-oper - retorna o rowid da última operação da ordem.
rw-pert-ordem - Rowid da rede-pert – utilizado quando o tipo-exec for 4.
tt-erro | Entrada/Saída | ||||
- | |||||
Atributo | Tipo | Formato | Valor Inicial | Obrigatório | Evolução |
i-sequen | Inteiro | ||||
cd-erro | Inteiro | ||||
Mensagem | Caractere | X(255) |
Execução
Execução Persistente: Quando a API for executada em modo persistente, os seguintes métodos estarão disponíveis para execução:
consisteRedePert ()
Efetua diversas validações na rede-pert da ordem de produção posicionada em memória, como looping, operações inexistentes, erros de operação final, paralelismo e pontos de controle. Os erros serão retornados na tt-erro.
validaGeracao ()
Efetua a chamada das procedures validaOrdem, validaOperOrd e navegaValidaPert, que farão a validação do processo de criação da rede-pert em sua totalidade. Todos os erros encontrados serão devolvidos na temp-table tt-erro.
posicionaOrdProd (input i-nr-ord-prod as int)
Posiciona na ordem de produção conforme o número passado como parâmetro. Todo o processamento da API será realizado na OP em questão.
retornaErros (output table tt-erro)
Retorna (através de um output parameter table) da API a temp-table.
Finalizar ()
Exclui a handle da API da memória, eliminando todas as temp-tables.
geraPertOrdem (input-output table tt-gera-rede,
input-output table tt-erro,
input l-elimina-erros).
Procedure principal da API, responsável pelo processamento, geração e manutenção da rede-pert. Recebe os mesmos parâmetros que a API quando executada em modo batch. Através do return-value verifica-se a execução da procedure. Se for “OK”, o processamento foi realizado com sucesso. Se for “NOK”, o procedimento não foi realizado. Essa procedure executa todos os métodos de validação citados anteriormente, portanto não é necessário chamá-los de forma individual.