Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | cdp/cdapi282.p |
Objetivo
Esta API será executada na Solicitação/Requisição de Compras. Seu objetivo é alterar a boin168man.p, adicionando a chamada da API de Execução Orçamentária, a fim de verificar se o os movimentos de compras em questão ultrapassam o valor do orçamento, e se não ultrapassarem empenhar essas movimentações, recebendo os seguintes parâmetros:
RUN cdp/cdapi282.p (input ? , /** rowid it-requisicao **/
INPUT TABLE rowobject , /** registro alterado **/
INPUT 1 , /** funcao: 1-BeforeCreateRecord Item-Requisicao **/
INPUT iNrOrdProdu , /** Número da Ordem de Manutenção Industrial **/
INPUT ? , /** Rowid do registro antes de alterar **/
OUTPUT TABLE RowErrors ). /** tt que retorna erro **/
Funcionamento
Essa API será executa somente a partir de um ponto específico dentro boin168man.p.
A API irá alimentar informações na tabela tt_xml_input_1 que será envida para api de finanças “prgfin/bgc/bgc700za.py “.
Definição dos Parâmetros:
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
r-rowid-it-requisicao | Rowid | Default | Rowid Tabela Item Requisição | Não | 001 |
rowobject | Temp-Table |
| Tabela Item Requisição | Não | 001 |
i-cod | int | Default | Tipo da Operação | Não | 001 |
i-nr-ord-produ | Int | Default | Número Ordem Manutenção | Não | 001 |
r-rowid-anterior | Rowid | Default | Rowid Registro Anterior | Não | 001 |
rowerrors | Temp-Table |
| Valor Material On-line | Não | 001 |
Tabelas Temporárias
Atributos das tabelas temporárias:
Tabela Temporária | Descrição | Entrada/Saída |
Rowobject | Conterá as informações referente a tabela Item Requisição. Obs.: Ver definição na boin168.doc | Entrada |
Tabela Temporária | Descrição | Entrada/Saída |
Rowerrors | Conterá as informações dos erros gerados referente a execução orçamentária. | Saída |
Definição Atributos da Tabela Temporária Rowerrors:
Atributo | Tipo | Formato | Descrição |
ErrorSequence | Int | Default | Seqüência do Erro |
ErrorNumber | Int | x(40) | Número do Erro |
ErrorDescription | Char | x(40) | Descrição do Erro |
ErrorParameters | Char | x(40) | Parâmetros |
ErrorType | Char | x(40) | Tipo do Erro |
ErrorHelp | Char | x(40) | Help do Erro |
ErrorSubType | Char | x(40) | Sub Tipo |
Considerações Gerais:
- Devem ser passadas os parâmetros listados acima, sendo 1 (uma) temp-table de entrada e 1 (uma) de saída.
- A temp-table de entrada é passada como parâmetro através do comando INPUT PARAM TABLE.
- A temp-table de saída é passada como parâmetro através do comando OUTPUT PARAM TABLE.
Exemplo: RUN cdp/cdapi282.p (input ? , /** rowid it-requisicao **/
INPUT TABLE rowobject , /** registro alterado **/
INPUT 1 , /** funcao: 1-BeforeCreateRecord Item-Requisicao **/
INPUT iNrOrdProdu , /** Número da Ordem de Manutenção Industrial **/
INPUT ? , /** Rowid do registro antes de alterar **/
OUTPUT TABLE RowErrors ). /** tt que retorna erro **/
RUN cdp/cdapi282.p (input ? , /** rowid it-requisicao **/
INPUT TABLE rowobject , /** registro alterado **/
INPUT 3 , /** funcao: 1-BeforeCreateRecord Item-Requisicao **/
INPUT iNrOrdProdu , /** Número da Ordem de Manutenção Industrial **/
INPUT ? , /** Rowid do registro antes de alterar **/
OUTPUT TABLE RowErrors ). /** tt que retorna erro **/
RUN cdp/cdapi282.p (input ? , /** rowid it-requisicao **/
INPUT TABLE rowobject , /** registro alterado **/
INPUT 2 , /** funcao: 1-BeforeCreateRecord Item-Requisicao **/
INPUT iNrOrdProdu , /** Número da Ordem de Manutenção Industrial **/
INPUT r-rowid-anterior , /** Rowid do registro antes de alterar **/
OUTPUT TABLE RowErrors ). /** tt que retorna erro **/
- A API funciona da seguinte forma: Recebe os parâmetros, faz as criticas das mesmas, caso não tenha ocorrido nenhum problema faz o estorno ou a atualização. O primeiro parâmetro passa o rowid da tabela para que seja feita a leitura dentro desta API e gravada a temp-table, normalmente este rowid é referente o registro antes da alteração no caso do modifica. O segundo parâmetro, é o rowobject (rowobject é utilizado em bo é como uma temp-table, com o registro após a alteração) que será utilizado para gravar os dados na temp-table e fazer a Execução Orçamentária. O terceiro parâmetro indica qual a operação que foi feita pela bo, com isso sabemos a função que será criada na temp-table. O quarto parâmetro indica o número da ordem de manutenção. O quinto parâmetro passa o rowid do registro anterior ao que esta sendo alterado. E o sexto parâmetro é uma temp-table para retornar erros se estes ocorrerem durante a Execução Orçamentária.
- Essa API será executa pela boin168man (it-requisição).