Árvore de páginas

Documento de API

Produto:

Datasul

Ocorrência:

Documentação de API

Nome Físicocpp/cpapi022.p

 

Considerações Gerais

 

Objetivo

Manutenção da tabela <saldo-op-config>, criação e alteração. Esta tabela serve para controle das quantidades produzidas e atendidas das ordens de produção de um item configurado.

 

Funcionamento

A API pode ser chamada somente persistente.

A tabela <saldo-op-config> deve ser manipulada somente via esta API, pois a mesma está liberada somente no EMS2.06B, embora seja possível a utilização a partir da release 2.04, sendo necessária a criação da tabela e ativação da funcionalidade na base do cliente. (Este procedimento não é padrão, por isto deve ser evitado).

 

A execução na forma persistente, permite apenas o “carregamento” na memória do código da API, sem a execução de nenhum método. Uma vez carregada, a API permite a execução de diversos “métodos”, que poderão ser chamados de forma interativa. 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 é:

IF NOT VALID-HANDLE(h-cpapi022) THEN

   RUN cpp/cpapi022.p persistent set h-cpapi022

 

A variável denominada h-cpapi022 irá receber o “handle” do programa, permitindo o acesso aos “métodos” internos da API.

 

A include cpp/cpapi022.i está definida na release 2.04, e possui três temp-tables.

<tt-reserva-op-config> definida globalmente, logo não precisa ser passada por parâmetro.

<tt-saldo-op-config> criada sem ser “like” a tabela original <saldo-op-config>, pois existe a possibilidade de utilização na release 2.04.

<tt-res-neg-op-config> definição idêntica <tt-res-neg> da cpapi001.i

Tabelas Temporárias

 

Nos atributos das tabelas temporárias de entrada e saída:

 

tt-reserva-op-config

Entrada/Saída

 

-

Atributo

Tipo

Formato

Valor Inicial

Obrigatório

Evolução

cod-estabel

Caracter

3(x)

<aloca-reserva.cod-estabel>

 

 

it-codigo

Caracter

16(x)

<aloca-reserva.it-codigo>

 

 

cod-depos

Caracter

3(x)

<aloca-reserva.cod-depos>

 

 

cod-refer

Caracter

8(x)

<saldo-estoq.cod-refer>

 

 

cod-localiz

Caracter

10(x)

<aloca-reserva.cod-localiz>

 

 

lote-serie

Caracter

10(x)

<reservas.lote-serie>

 

 

nr-ord-filha

Inteiro

>>>,>>>,>>9

<aloca-reserva.nr-ord-produ>

 

 

rw-reserva

Rowid

 

 

 

 

quant-requis

Decimal

->>>>>,>>9.9999

<reservas.quant-orig>

 

 

<nr-ord-filha> é o número da ordem extraída a partir da al-res-op.num-ord-prod

 

tt-saldo-op-config

Entrada/Saída

 

-

Atributo

Tipo

Formato

Valor Inicial

Obrigatório

Evolução

nr-ord-produ

Inteiro

>>>,>>>,>>9

ord-prod.nr-ord-produ

 

 

cod-estabel

Caracter

3(x)

ord-prod.cod-estabel

 

 

it-codigo

Caracter

16(x)

ord-prod.it-codigo

 

 

cod-refer

Caracter

8(x)

ord-prod.cod-refer

 

 

cod-depos

Caracter

3(x)

ord-prod.cod-depos

 

 

cod-localiz

Caracter

10(x)

aloca-reserva.cod-localiz

 

 

lote

Caracter

10(x)

ord-prod.lote

 

 

qt-produzida

Decimal

>>>>>,>>9.9999

 

 

 

qt-atendida

Decimal

>>>>>,>>9.9999

 

 

 

log-saldo-disp

Lógico

 

Não

 

 

tt-res-neg-op-config

Entrada/Saída

 

-

Atributo

Tipo

Formato

Valor Inicial

Obrigatório

Evolução

nr-ord-produ

Inteiro

>>>,>>>,>>9

ord-prod.nr-ord-produ

 

 

nr-ord-filha

Inteiro

>>>,>>>,>>9

ord-prod.nr-ord-produ

 

 

it-codigo

Caracter

16(x)

reservas.it-codigo

 

 

quantidade

Decimal

>>>>>,>>9.9999

reservas.quant-orig

 

 

cod-depos

Caracter

3(x)

reservas.cod-depos

 

 

cod-localiz

Caracter

10(x)

item.cod-localiz

 

 

lote-serie

Caracter

10(x)

ord-prod.lote-serie

 

 

cod-refer

Caracter

8(x)

ord-prod.cod-refer

 

 

dt-vali-lote

Data

Dd/mm/aaaa

saldo-estoq.dt-vali-lote

 

 

positivo

Lógico

Sim/Não

 

 

 

Nro-ord-seq

Inteiro

>>>,>>>,>>9

0

 

 

codigo

Índice primário

 

nr-ord-produ, nr-ord-filha, it-codigo, cod-depos

 

 

indicador

Índice

 

positivo

 

 

Execução

 

Os seguintes métodos estão disponíveis para execução:

EMPTY TEMP-TABLE tt-saldo-op-config.

RUN buscaSaldosOpConfig IN h-cpapi022(INPUT it-codigo,

                                                                     INPUT cod-estabel,

                                                                     INPUT cod-refer,

                                                                     OUTPUT TABLE tt-saldo-op-config).

Retorna a tt-saldo-op-config populada com os saldos conforme parâmetros informados.

 

RUN estornaSaldoOP IN h-cpapi022(INPUT it-codigo,      

                                                            INPUT cod-estabel,    

                                                            INPUT cod-depos,      

                                                            INPUT cod-refer,      

                                                            INPUT cod-localiz,    

                                                            INPUT lote,

                                                            INPUT num-ord-des,    

                                                            INPUT quantidade,     

                                                            INPUT 1, /*1-Ordem Filha ou 2-Ordem Pai*/

                                                            OUTPUT TABLE tt-erro).

Estorna o saldo da OP Configurada.

 

run geraSaldo in h-cpapi022(input nr-ord-produ,

                                              input cod-estabel,

                                              input cod-depos,  

                                              input cod-localiz,

                                              input lote,       

                                              input it-codigo,

                                              input cod-refer,

                                              input qt-reporte).

Gera um novo registro de saldo para Ordem Configurada, no momento do reporte.

 

RUN pi-atualiza-saldo IN h-cpapi022 (INPUT 1 /* 1-Requisição, 2-Devolução */,

                                                            INPUT it-codigo,  

                                                            INPUT cod-depos,  

                                                            INPUT cod-refer,  

                                                            INPUT cod-localiz,

                                                            INPUT lote-serie,

                                                            INPUT rw-reserva,

                                                            OUTPUT i-nr-erro,

                                                            OUTPUT c-msg-erro).

IF RETURN-VALUE = "NOK":U THEN DO:

   RUN pi-gera-tt-erro (INPUT i-nr-erro,

                        INPUT c-msg-erro).

   RETURN "NOK":U.

END.

Atualiza a quantidade atendida da tabela <saldo-op-config>. Se for 1-Requisição, então soma a quantidade requisitada na quantidade atendida. Se for 2-Devolução, então diminui a quantidade devolvida da quantidade atendida.

 

RUN pi-troca-chave IN h-cpapi022(input rowid(tt-reserva-op-config),

                                                        input nr-ord-produ).

Altera a chave da tt-reserva-op-config, conforme a chave da ordem filha, caso a mesma já tenha sido produzida.

 

run saldoAutomatico in h-cpapi022(input tt-reservas.rw-reserva,

                                                        input nr-ord-produ,

                                                        input cod-estabel,

                                                        input cod-depos, 

                                                        input cod-localiz,

                                                        input lote,

                                                        input it-codigo, 

                                                        input cod-refer,

                                                        input quant-requis,

                                                        output table tt-erro).

Efetua o consumo automático das ordens Configuradas, obedecendo FIFO pelo número das ordens.

 

run saldoManual in h-cpapi022(input rowid(tt-reserva-op-config),

                                                  input nr-ord-produ,

                                                  output table tt-erro).

Efetua a efetivação do consumo das ordens Configuradas.

 

RUN verificaSaldo IN h-cpapi022(INPUT tt-reservas.rw-reserva,

                                                      INPUT cod-estabel,

                                                      INPUT cod-depos,

                                                      INPUT cod-localiz,

                                                      INPUT lote,

                                                      INPUT it-codigo,

                                                      INPUT cod-refer,

                                                      INPUT nr-ord-produ).

Verifica se está disponível o saldo de determinada reserva.

 

tt-erro

Entrada/Saída

 

-

Atributo

Tipo

Formato

Valor Inicial

Obrigatório

Evolução

i-sequen

Inteiro

 

 

 

 

cd-erro

Inteiro

 

 

 

 

Mensagem

Caracter

X(255)