Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome Físicocpp/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,
input l-elimina-erros).


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-ordemrowid



cod-versao-integracaoInteiro



cod-prog-origCaractere



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.

#trackbackRdf ($trackbackUtils.getContentIdentifier($page) $page.title $trackbackUtils.getPingUrl($page))