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).
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 |
|---|---|---|
| ge-codigo-ini | Código inicial do grupo de estoque | INTEGER |
| ge-codigo-fim | Código final do grupo de estoque | INTEGER |
| fm-codigo-ini | Código inicial da família a ser considerada | CHARACTER |
| fm-codigo-fim | Código final da família | CHARACTER |
| it-codigo-ini | Item inicial da consulta | CHARACTER |
| it-codigo-fim | Item final da consulta | CHARACTER |
| dt-corte | Data de corte da estrutura | DATE |
| nr-niveis | Indica o número de níveis da estrutura que será exibido no relatório. Máx = 30 | INTEGER |
| 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 |
| 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 |
| cod-estabel | Código do estabelecimento. Será utilizado para buscar apenas os processos de fabricação correspondentes a esse estabelecimento. | CHARACTER |
| 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 |
| cod-unid-negoc | Unidade de negócio. Também usada no filtro de processos. | CHARACTER |
| 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 |
| 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 (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 |
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. Segue abaixo as definições:
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.
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.
Run pesquisaItens in h-enapi209.
Obs.: Somente serão pesquisados os itens desta faixa se não houver nenhum registro na tabela temporária tt-digita.
Esta forma também pode ser executada de forma direta ou persistente, semelhante a execução do modo por faixa.
Obs: Somente serão pesquisados, quando houver registro na tt-digita. Com esta parametrização, alguns filtros não são realizados.
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 1, /*Nivel*/
INPUT 0, /*Sequencial do item Pai*/
INPUT NO). /* */
RUN getTTEstrutura IN h-enapi209 (OUTPUT TABLE tt-estrutura).
Nos atributos das tabelas temporárias de entrada e saída:
TT-PARAM – Temp-table utilizada para seleção e filtro | |||
Atributo | Tipo | Formato |
|
Ge-codigo-ini | Integer | >>9 | |
Ge-codigo-fim | Integer | >>9 | |
Fm-codigo-ini | Char | >>>>>,>>9.9999 | |
Fm-codigo-fim | Char | >>>>>,>>9.9999 | |
It-codigo-ini | Char | >>>>>,>>9.9999 | |
It-codigo-fim | Char | xx | |
Dt-corte | Date | 99/99/9999 | |
Nr-niveis | Integer | 99/99/9999 | |
De-quantidade | Decimal | x(12) | |
Ind-process-mrp | Integer | >9 | |
Cod-estabel | Char | Sim/Não | |
Nr-linha | Integer | Sim/Não | |
Cod-unid-negoc | Char | x(3) | |
Sumariza | Logical | >>>,>>>,>>9 | |
Estado | Log (Extent 4) | 99/99/9999 | |
l-agrup-lista | Logical | x(8) | |
TT-DIGITA – Temp-table que receberá os itens que serão consultados | |||
Atributo | Tipo | Formato | Evolução |
It-codigo | Char | “x(16)” | |
Cod-refer | Char | “x(8)” | |
Descricao | Char | “x(36)” | |
Un | Char | “x(2)” | |
Quant-Orig | Decimal | “->>>>>,>>9.9999” | |
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 | >>9 | |
nivel-inv | Int | >>9 | |
c-nivel | Char | “x(20)” | |
chave | Char | “x(40)” | |
chave-pai | Char | “x(40)” | |
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