Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

API responsável pela geração da pendência de aprovação no MLA

Características do Requisito

Linha de Produto:

Datasul

Segmento:

Manufatura

Módulo:

MLA

Banco(s) de Dados:

MOVIND

Tabelas Utilizadas:

mla-doc-pend-aprov

Release inicialEMS 2.06B


Considerações Gerais

Objetivo

Geração de pendências Controle de geração/eliminação de pendências de aprovação para os documentos do MLA conforme detalhamento abaixo...........


Pré-requisito

Módulo do : Aprovação de compras ou MLA configurado para gerar geração de pendências para os documentos em questão.


Funcionamento

A API irá receber como parâmetros o Tipo de Documento, Tipo de transação e o Rowid do documento o qual será gerada a pendência os parâmetros documentados na sequência e fará a geração ou eliminação da(s) pendência(s) de aprovação.

A sintaxe para a chamada da API direta é:

run cdp

run lap/

cdapi171

mlaapi001.

p (input i-tipo,

                                 input i-transacao,

                                 r-documento).

 

p (INPUT i-cod-tip-doc,

                                  INPUT i-tipo-trans,
                                  INPUT c-motivo,
                                  INPUT de-valor,
                                  INPUT i-moeda,
                                  INPUT c-usuar-trans,
                                  INPUT c-usuar-doc,
                                  INPUT c-lotacao-doc,
                                  INPUT c-item,
                                  INPUT c-referencia,
                                  INPUT c-ep-codigo,
                                  INPUT c-cod-estabel,
                                  INPUT TABLE tt-mla-chave,
                                  OUTPUT TABLE tt-erro).


Exemplo da utilização:

run cdp

run lap/

cdapi171

mlaapi001.

p

(

input

INPUT 1, /* 1 - Solicitação de compra */

                                   input

                                  INPUT 1, /*

1 - Inclusão */

                                   input rowid(it-requisicao) /* Rowid do registro que deverá ser gerada a pendência */       ).

 

A execução na forma persistente é realizada através da chamada de um comando RUN conforme exemplo a seguir.

A sintaxe para executar a API em modo persistente é:

RUN cdp\cdapi171.p PERSISTENT SET h-handle.

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

Inclusão */
                                  INPUT "Aprovação de compra", /* Motivo */
                                  INPUT 150, /* Valor da pendência */
                                  INPUT 0, /* Moeda */
                                  INPUT "super", /* Usuário da transação */
                                  INPUT "requisitante", /* Usuário do documento */
                                  INPUT "1000", /* Lotação do documento */
                                  INPUT "item1", /* Item*/
                                  INPUT "01001", /* Referência */
                                  INPUT "001", /* Empresa */
                                  INPUT "Est1", /* Estabelecimento */
                                  INPUT TABLE tt-mla-chave, /* Registros contendo a chave do documento */
                                 OUTPUT TABLE tt-erro). /* Erros ocorridos durante a geração da pendência */


Para execução persistente, executar da seguinte forma (onde h-mlaapi001 é uma variável do tipo handle):

run lap/mlaapi001.p persistent set h-mlaapi001 (INPUT i-cod-tip-doc,

                                                                              INPUT i-tipo-trans,
                                                                              INPUT c-motivo,
                                                                              INPUT de-valor,
                                                                              INPUT i-moeda,
                                                                              INPUT c-usuar-trans,
                                                                              INPUT c-usuar-doc,
                                                                              INPUT c-lotacao-doc,
                                                                              INPUT c-item,
                                                                              INPUT c-referencia,
                                                                              INPUT c-ep-codigo,
                                                                              INPUT c-cod-estabel,
                                                                              INPUT TABLE tt-mla-chave,
                                                                              OUTPUT TABLE tt-erro).


Informações referentes aos parâmetros:

 

def input parameter p


Parâmetro

Tipo

Formato

Descrição

Entrada/Saída

i-cod-tip-doc

as integer no-undo.
def input parameter p-tipo-trans as integer no-undo.
def input parameter p-motivo as char no-undo.
def input parameter p-valor as decimal no-undo.
def input parameter p-moeda as integer no-undo.
def input parameter p-usuar-trans as char no-undo.
def input parameter p-usuar-doc as char no-undo.
def input parameter p-lotacao-doc as char no-undo.
def input parameter p-item as char no-undo.
def input parameter p-referencia as char no-undo.
def input parameter p-ep-codigo LIKE empresa.ep-codigo no-undo.
def input parameter p-cod-estabel LIKE estabelec.cod-estabel no-undo.
def input parameter table for tt-mla-chave.
def output parameter table for tt-erro.


Inteiro

>>9

Código do tipo do documento para o qual deve ser gerada, alterada ou eliminada a(s) pendência(s)

Utilizar:

1 - Solicitação de Compra - Item

2 - Solicitação de Compra - Total

3 - Requisição de Estoque - Item

4 - Requisição de Estoque - Total

5 - Cotação de Materiais

6 - Pedido de Compra - Item

7 - Pedido de Compra - Total

8 - Pedido de Compra Emergencial - Total

9 - Processo de Compra - Item

10 - Processo de Compra - Total

13 - Contrato de Compras

14 - Medição de Contrato de Compra

16 - Evento de Contrato de Compra

18 - Solicitação de Cotação

19 - Pedido de Compra Emergencial - Item

20 - Solicitação de Serviço

21 - Avaliação de Crédito (Pedido de Venda)

24 - Documento do Contas a pagar (Documento normal)

25 - Antecipação do Contas a pagar

26 - Pagamento Extra-Fornecedor

28 - Pagamento Título Normal

29 - Negociação de Fretes

30 - Documento de Fretes

31 - Fatura de Fretes

32 - Originação - Adiantamento Valor

33 - Originação - Fechamento Financeiro

Entrada

i-tipo-transInteiro9

Transação que está sendo realizada (criação, alteração ou eliminação)

Utilizar:

1 – Inclusão

2 – Modificação

3 – Eliminação

 Entrada
c-motivoCaracterex(40)Motivo da geração da pendênciaEntrada
de-valorDecimal->>,>>>,>>9.99Valor da pendênciaEntrada
i-moedaInteiro>9Moeda referente ao valor da pendênciaEntrada
c-usuar-transCaracterex(12)Usuário que está realizando a transação (manutenindo o documento origem que deve refletir a pendência no MLA)Entrada
c-usuar-docCaracterex(12)Usuário responsável pelo documento para o qual está sendo gerada a pendênciaEntrada
c-lotacao-docCaracterex(20)

Lotação do documento para o qual está sendo gerada a pendência.

Essa informação é utilizada quando no cadastro do usuário está configurado para que o responsável pela pendência seja “Centro de Custo”, neste caso é considerada essa informação para buscar as hierarquias e faixas de aprovação. Caso não seja informada, é utilizada a lotação do usuário da transação para geração da pendência.

Entrada
c-itemCaracterex(16)Item para o qual está sendo gerada a pendência. Quando não for utilizado ou a aprovação for por total, passar em branco. Obs.: Essa informação refere-se ao código do item cadastrado no sistema.Entrada
c-referenciaCaractere x(20)

Referência a ser considerada para geração da pendência. Para informações sobre a referência de cada documento consultar: DMLA0004 - Quais são as informações consideradas como referência para os documentos do MLA?

Neste caso, se passada essa informação, e o documento deva utilizar a aprovação por referência, ela será utilizada para busca dos tipos de aprovação/aprovadores. 

Entrada
c-ep-codigoCaracterex(3)Empresa para a qual a pendência será geradaEntrada
c-cod-estabelCaracterex(5)Estabelecimento para o qual a pendência será gerada.Entrada
tt-mla-chaveTemp-table
Informações da chave do documento. Enviar cada um dos registros de chave do documento como um registro diferenciado de "extent" na temp-table.Entrada
tt-erroTemp-table
Informações sobre os erros ocorridos durante o processo de geração das pendências.Saída



tt-mla-chave

Entrada/Saída

Temp-table com as chaves do documento

Entrada

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

valor

Caractere (EXTENT 10)

x(20)

Valor da chave

Sim

-


Exemplo de criação para o documento 1 (Solicitação de Compra - Item): 

/* Localizar o registro da tabela requisicao e it-requisicao */

create tt-mla-chave.
assign tt-mla-chave.valor[1] = string(requisicao.nr-requisicao)
tt-mla-chave.valor[2] = string(it-requisicao.sequencia)
tt-mla-chave.valor[3] = string(it-requisicao.it-codigo).


tt-erro

Entrada/Saída

Temp-table com os erros ocorridos durante o processo

Saída

 

 

i-tipo

Entrada/Saída

Tipo do Documento

Entrada

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

i-

tipo

sequen

Inteiro

 

Tipo do Documento

Sim

 

 

Sequência do erro

Sim

-

cd-erroInteiro
Código do erroSim-
mensagemCaracterex(255)Mensagem de erroSim-



Procedures disponíveis quando a execução for persistente:


pi-executar

Requisito

Não há.

Descrição

Geração/eliminação de pendências de aprovação para os documentos do MLA conforme parâmetros

Parâmetros 

Tipo

Input/Output

Descrição

i-cod-tip-doc             

INTEGER

INPUT

Código do tipo do documento para o qual deve ser gerada, alterada ou eliminada a(s) pendência(s)

Utilizar:

1 -

Solicitiação

Solicitação de

compra

Compra - Item

2 -

Requisição

Solicitação de

estoque

Compra - Total

3 -

Cotação

Requisição de Estoque - Item

4 -

Pedido

Requisição de

compra

Estoque - Total

5 -

Solicitação

Cotação de

cotação

Materiais

6 - Pedido

emergencial

de Compra - Item

7 -

Processo

Pedido de

compra

Compra - Total

8 -

Contrato de compra

Pedido de Compra Emergencial - Total

9 -

Solicitação

Processo de

serviço

Compra - Item

10 - Processo de Compra - Total

13 - Contrato de Compras

14 - Medição de Contrato de

compra

Compra

11

16 - Evento de

contrato

12 - Medição de contrato

 

i-transacao

Entrada/Saída

Tipo da Transação

Entrada

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

i-transacao

Inteiro

 

Tipo da Transação

Sim

 

 

Utilizar:

1 - Inclusão

2 - Modificação

3 - Exclusão

 

r-documento

Entrada/Saída

Rowid do documento

Entrada

Atributo

Tipo

Formato

Descrição

Obrigatório

Evolução

r-documento

rowid

 

Rowid do documento

Sim

 

 

Informações complementares:

- Documento "1 - Solicitação de compra" passar o rowid do item da solcitação (it-requisicao)

- Documento "2 - Requisição de estoque" passar o rowid do item da solcitação(it-requisicao)

- Documento "3 - Cotação" passar o rowid da cotação (cotacao-item)

- Documento "4 - Pedido de compra" passar o rowid da ordem de compra (ordem-compra)

- Documento "5 - Solicitação de cotação" passar o rowid do item da solicitação(it-requisicao)

- Documento "6 - Pedido emergencial" passar o rowid da ordem de compra (ordem-compra)

- Documento "7 - Processo de compra" passar o rowid da cotação (cotacao-item)

- Documento "8 - Contrato de compra" passar o rowid do item do contrato (item-contrat)

- Documento "9 - Solicitação de serviço" passar o rowid da solicitação de serviço (solic-serv)

- Documento "10 - Contrato de compra" passar o rowid do contrato (contrato-for)

- Documento "11 - Evento de contrato" passar o rowid do evento (evento-ped)

- Documento "12 - Medição de contrato" passar o rowid da medição (medicao-contrat)

 

Metodo Negócio

Quando a API for executada em modo persistente, os seguintes métodos estarão disponíveis para execução:

pi-executar

Requisito

Nenhum

Sintaxe

RUN pi-executar in handle (INPUT i-tipo,

                                            INPUT i-transacao,

                                            INPUT r-documento).

Descrição

Geração da tabela de documentos pendentes de aprovação.

Parâmetros

Descrição

i-tipo    

 

 

 

 

 

 

 

 

 

 

 

 

i-transacao

 

 

 

r-documento

1-Solicitação         

 2-Requisição          

 3-Cotação             

 4-Pedido              

 5-Solicitação Cotação 

 6-Pedido Emergencial  

 7-Processo Compras    

 8-Contrato Fornec     

 9-Manutenção Industrial                       

10-Documento Contrato  

11-Evento de Contrato  

12-Medição de Contrato 

 

1-Inclusão  

2-Modificação

3-Exclusão  

 

Rowid do documento

Retorno

Retorna um return-value “OK” se o processo foi executado corretamente.

Contrato de Compra

18 - Solicitação de Cotação

19 - Pedido de Compra Emergencial - Item

20 - Solicitação de Serviço

21 - Avaliação de Crédito (Pedido de Venda)

24 - Documento do Contas a pagar (Documento normal)

25 - Antecipação do Contas a pagar

26 - Pagamento Extra-Fornecedor

28 - Pagamento Título Normal

29 - Negociação de Fretes

30 - Documento de Fretes

31 - Fatura de Fretes

32 - Originação - Adiantamento Valor

33 - Originação - Fechamento Financeiro

i-tipo-trans

INTEGER

INPUT

Transação que está sendo realizada (criação, alteração ou eliminação)

Utilizar:

1 – Inclusão

2 – Modificação

3 – Eliminação

c-motivoCHARACTERINPUTMotivo da geração da pendência
de-valorDECIMALINPUTValor da pendência
i-moedaINTEGERINPUTMoeda referente ao valor da pendência
c-usuar-transCHARACTERINPUTUsuário que está realizando a transação (manutenindo o documento origem que deve refletir a pendência no MLA)
c-usuar-docCHARACTERINPUTUsuário responsável pelo documento para o qual está sendo gerada a pendência
c-lotacao-docCHARACTERINPUT

Lotação do documento para o qual está sendo gerada a pendência.

Essa informação é utilizada quando no cadastro do usuário está configurado para que o responsável pela pendência seja “Centro de Custo”, neste caso é considerada essa informação para buscar as hierarquias e faixas de aprovação. Caso não seja informada, é utilizada a lotação do usuário da transação para geração da pendência.

c-itemCHARACTERINPUTItem para o qual está sendo gerada a pendência. Quando não for utilizado ou a aprovação for por total, passar em branco. Obs.: Essa informação refere-se ao código do item cadastrado no sistema.
c-referenciaCHARACTERINPUT

Referência a ser considerada para geração da pendência. Para informações sobre a referência de cada documento consultar: DMLA0004 - Quais são as informações consideradas como referência para os documentos do MLA?

Neste caso, se passada essa informação, e o documento deva utilizar a aprovação por referência, ela será utilizada para busca dos tipos de aprovação/aprovadores. 

c-ep-codigoCHARACTERINPUTEmpresa para a qual a pendência será gerada
c-cod-estabelCHARACTERINPUTEstabelecimento para o qual a pendência será gerada
tt-mla-chaveTEMP-TABLEINPUTInformações da chave do documento. Enviar cada um dos registros de chave do documento como um registro diferenciado de "extent" na temp-table.
tt-erroTEMP-TABLEOUTPUTInformações sobre os erros ocorridos durante o processo de geração das pendências.

Retorno

O retorno desta procedure será "NOK" sempre que ocorrer algum erro durante o processamento, caso contrário o retorno será "OK".



pi-executar-2

Requisito

Não há.

Descrição

Geração/eliminação de pendências de aprovação para os documentos do MLA conforme parâmetros (mesma funcionalidade da pi-executar, com a diferença de retornar os erros na RowErrors).

Parâmetros 

Tipo

Input/Output

Descrição

i-cod-tip-doc             

INTEGER

INPUT

Código do tipo do documento para o qual deve ser gerada, alterada ou eliminada a(s) pendência(s)

Utilizar:

1 - Solicitação de Compra - Item

2 - Solicitação de Compra - Total

3 - Requisição de Estoque - Item

4 - Requisição de Estoque - Total

5 - Cotação de Materiais

6 - Pedido de Compra - Item

7 - Pedido de Compra - Total

8 - Pedido de Compra Emergencial - Total

9 - Processo de Compra - Item

10 - Processo de Compra - Total

13 - Contrato de Compras

14 - Medição de Contrato de Compra

16 - Evento de Contrato de Compra

18 - Solicitação de Cotação

19 - Pedido de Compra Emergencial - Item

20 - Solicitação de Serviço

21 - Avaliação de Crédito (Pedido de Venda)

24 - Documento do Contas a pagar (Documento normal)

25 - Antecipação do Contas a pagar

26 - Pagamento Extra-Fornecedor

28 - Pagamento Título Normal

29 - Negociação de Fretes

30 - Documento de Fretes

31 - Fatura de Fretes

32 - Originação - Adiantamento Valor

33 - Originação - Fechamento Financeiro

i-tipo-trans

INTEGER

INPUT

Transação que está sendo realizada (criação, alteração ou eliminação)

Utilizar:

1 – Inclusão

2 – Modificação

3 – Eliminação

c-motivoCHARACTERINPUTMotivo da geração da pendência
de-valorDECIMALINPUTValor da pendência
i-moedaINTEGERINPUTMoeda referente ao valor da pendência
c-usuar-transCHARACTERINPUTUsuário que está realizando a transação (manutenindo o documento origem que deve refletir a pendência no MLA)
c-usuar-docCHARACTERINPUTUsuário responsável pelo documento para o qual está sendo gerada a pendência
c-lotacao-docCHARACTERINPUT

Lotação do documento para o qual está sendo gerada a pendência.

Essa informação é utilizada quando no cadastro do usuário está configurado para que o responsável pela pendência seja “Centro de Custo”, neste caso é considerada essa informação para buscar as hierarquias e faixas de aprovação. Caso não seja informada, é utilizada a lotação do usuário da transação para geração da pendência.

c-itemCHARACTERINPUTItem para o qual está sendo gerada a pendência. Quando não for utilizado ou a aprovação for por total, passar em branco. Obs.: Essa informação refere-se ao código do item cadastrado no sistema.
c-referenciaCHARACTERINPUT

Referência a ser considerada para geração da pendência. Para informações sobre a referência de cada documento consultar: DMLA0004 - Quais são as informações consideradas como referência para os documentos do MLA?

Neste caso, se passada essa informação, e o documento deva utilizar a aprovação por referência, ela será utilizada para busca dos tipos de aprovação/aprovadores. 

c-ep-codigoCHARACTERINPUTEmpresa para a qual a pendência será gerada
c-cod-estabelCHARACTERINPUTEstabelecimento para o qual a pendência será gerada
tt-mla-chaveTEMP-TABLEINPUTInformações da chave do documento. Enviar cada um dos registros de chave do documento como um registro diferenciado de "extent" na temp-table.
RowErrorsTEMP-TABLEOUTPUTInformações sobre os erros ocorridos durante o processo de geração das pendências.

Retorno

O retorno desta procedure será "NOK" sempre que ocorrer algum erro durante o processamento, caso contrário o retorno será "OK".



RowErrors

Entrada/Saída

Temp-table com dados dos erros ocorridos durante o processo

Saída

Atributo

Tipo

Descrição

Obrigatório

Evolução

ErrorSequence

 INTEGER

Número da sequência do erro

Sim

Não se aplica

ErrorNumber

INTEGER Código do erro 

Sim

Não se aplica

ErrorDescriptionCHARACTER Descrição do erro SimNão se aplica
ErrorParametersCHARACTER Parâmentros da mensagem de erro SimNão se aplica
ErrorTypeCHARACTER Tipo do erro SimNão se aplica
ErrorHelpCHARACTER Texto de ajuda da mensagem de erro SimNão se aplica
ErrorSubTypeCHARACTERSubtipo do erroSimNão se aplica