Documentação de API - ENAPI209 - API para consultas de Estrutura Via Onde-se-usa
Produto: | Datasul |
Versões: | 12.1.10 |
Ocorrência: | API para consultas de Estrutura Via Onde-se-usa |
Objetivo
Esta API tem a funcionalidade de realizar consultas de estruturas via onde-se-usa, seja de forma item a item ou por uma faixa de itens, de forma completa ou sumarizada. Baseado nos parâmetros recebidos, a API fará a listagem da estrutura do item onde os mesmos são usados.
Funcionamento
Como parâmetros iniciais, são recebidos 3 tabelas temporárias (temp-tables).
tt-param – Tabela temporária de entrada (input)
tt-digita – Tabela temporária de entrada (input)
tt-estrutura – Tabela temporária de saída (output).
Importante: A include enapi209.i1 contém a definição das temp-tables citadas e deve ser chamada no início do programa que fará a execução da API.
A API pode ser executada de forma persistente ou de forma direta, conforme abaixo:
De forma direta:
Run enp/enapi209.p (input table tt-param,
Input table tt-digita,
Output table tt-estrutura).
Persistente:
Run enp/enapi209.p persistent set h-enapi209 (input table tt-param,
Input table tt-digita,
Output table tt-estrutura).
Detalhe da execução dos modos, serão descritos abaixo.
Existem 3 formas para realizar a consulta de estruturas.
- Por Faixa (tt-param).
Este tipo de execução pode ser executado pela API de forma direta ou persistente. Para execução persistente, basta executar o método pesquisaItens para montar a temp-table e em seguida o getTTEstrutura para retornar os resultados. Na execução direta ambos os métodos serão executados de forma transparente, não sendo necessário mais nenhum comando.
Exemplo de execução persistente:
Run pesquisaItens in h-enapi209.
RUN getTTEstrutura IN h-enapi209 (OUTPUT TABLE tt-estrutura).
Obs.: Somente serão pesquisados os itens desta faixa se não houver nenhum registro na tabela temporária tt-digita.
- Por Itens selecionados (tt-digita);
Esta forma também pode ser executada de forma direta ou persistente, semelhante a execução do modo por faixa. Não há diferença entre as chamadas dos métodos, o que muda é a existência de registros dentro da tt-digita.
- Pesquisa por item :
Este método somente pode ser executado de forma persistente e não é necessário a execução do método pesquisaitens.
Deve-se executar conforme abaixo:
RUN recebeTTParam IN h-enapi209 (INPUT TABLE tt-param).
RUN piSetaItem IN h-enapi209 (input “<Item>” ).
RUN GetOndeUsaItem IN h-enapi209 (INPUT “<Item>”,
INPUT “<Item>”,
INPUT "",
INPUT <Quantidade>, /*Quantidade */
INPUT 1,
INPUT 0, /*Nivel*/
INPUT 0, /*Sequencial do item Pai*/
INPUT NO). /* */
RUN getTTEstrutura IN h-enapi209 (OUTPUT TABLE tt-estrutura).
Tabelas Temporárias
Nos atributos das tabelas temporárias de entrada e saída:
TT-PARAM- Utilizada para filtrar os itens que farão parte da consulta. Apenas itens cujos dados se enquadrarem em todos os quesitos serão selecionados. | |||
Campo | Finalidade | Tipo | Formato |
---|---|---|---|
ge-codigo-ini | Código inicial do grupo de estoque | INTEGER | >>9 |
ge-codigo-fim | Código final do grupo de estoque | INTEGER | >>9 |
fm-codigo-ini | Código inicial da família a ser considerada | CHARACTER | x(8) |
fm-codigo-fim | Código final da família | CHARACTER | x(8) |
it-codigo-ini | Item inicial da consulta | CHARACTER | x(16) |
it-codigo-fim | Item final da consulta | CHARACTER | x(16) |
dt-corte | Data de corte da estrutura | DATE | 99/99/9999 |
nr-niveis | Indica o número de níveis da estrutura que será exibido no relatório. Máx = 30 | INTEGER | >>9 |
de-quantidade | Determina a quantidade do item pai da estrutura. Esse valor será utilizado para cálculo das quantidades de uso dos itens filhos na estrutura. | DECIMAL | >>>,>>9.9999 |
ind-process-mrp | Parâmetro lógico que, se marcado, define que serão trazidos todos os processos de fabricação dos itens. Caso contrário, será buscado apenas o processo principal. | LOGICAL | YES/NO |
cod-estabel | Código do estabelecimento. Será utilizado para buscar apenas os processos de fabricação correspondentes a esse estabelecimento. | CHARACTER | x(5) |
nr-linha | Código da linha de produção. De forma semelhante ao estabelecimento, também será utilizado no filtro dos processos de fabricação. | INTEGER | >>9 |
cod-unid-negoc | Unidade de negócio. Também usada no filtro de processos. | CHARACTER | x(3) |
sumariza | Ao ser marcado, o relatório irá resumir as informações de cada item, agrupando-as num único registro. Por exemplo, se o mesmo item for utilizado várias vezes dentro da mesma estrutura, porém possua itens pais diferentes, se o parâmetro estiver marcado, ele será exibido apenas uma vez, com as quantidades somadas. | LOGICAL | YES/NO |
estado | Parâmetro lógico com quatro posições, que permite filtrar os estados dos itens que serão exibidos, sendo 1 = Ativos, 2 - Obsoleto ordens automáticas, 3 - Obsoleto todas as Ordens e 4 - Totalmente Obsoleto. | LOGICAL | YES/NO (EXTENT 4) |
l-agrup-lista | Quando o relatório estiver parametrizado para Sumarizar, é possível definir se itens que são utilizados múltiplas vezes na mesma estrutura, porém com listas de componentes diferentes, também deverão ser sumarizados. | LOGICAL | YES/NO |
TT-DIGITA- Tabela temporária utilizada para determinar quais itens deverão ser listados na consulta. Tem precedência sobre a tt-param, portanto se existirem registros na tt-digita, os filtros serão ignorados. | |||
Atributo | Finalidade | Tipo | Formato |
it-codigo | Código do item a ser consultado. | CHARACTER | x(16) |
cod-refer | Referência do item, quando for controle por referência | CHARACTER | x(8) |
dt-corte | Data de corte da estrutura | DATE | 99/99/9999 |
cod-estabel | Código do estabelecimento para filtro dos processos | CHARACTER | x(5) |
nr-linha | Linha de produção para filtro dos processos | INTEGER | >>9 |
cod-unid-negoc | Unidade de negócio para filtro dos processos | CHARACTER | x(3) |
de-quantidade | Quantidade do item pai | DECIMAL | >>>,>>9.9999 |
Parâmetros de Saída
No retorno da execução enapi209.p, será retornado a tabela temporária tt-estrutura, conforme estrutura abaixo
TT-Estrutura – Temp-table que receberá os itens que serão consultados | |||
Atributo | Tipo | Formato | Evolução |
i-sequen | Int | ||
it-codigo | Char | x(16) | |
es-codigo | Char | x(16) | |
sequencia | Int | >>>>9 | |
row-estrutura | Rowid | ||
nivel | Int | ||
nivel-inv | Int | ||
c-nivel | Char | x(20) | |
chave | Char | ||
chave-pai | Char | ||
quant-usada | Decimal | ->>>,>>>,>>9.9999999999 | |
quant-liquid | Decimal | ->>>,>>>,>>9.9999999999 | |
quant-sumariz | Decimal | ->>>,>>>,>>9.9999999999 | |
quant-liq-sum | Decimal | ->>>,>>>,>>9.9999999999 | |
fator-perda | Decimal | >9.99 | |
cod-lista-compon | Char | x(16) | |
cod-ref-it | Char | x(10) | |
cod-ref-es | Char | x(10) | |
fantasma | Char | ||
data-valid | Char | ||
alternativo | Char |
Esta temp-table possui os índices, conforme abaixo
index tt-sum it-codigo es-codigo cod-ref-it cod-lista-compon
index tt-estr i-sequen it-codigo es-codigo sequencia cod-ref-it cod-lista-compon