Árvore de páginas

Versões comparadas

Chave

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

MLAAPI018 - Validação/Configuração de parametrizações do MLA

Produto:

Datasul

Ocorrência:

Documentação de API

Nome físico:

lap/mlaapi018.p


Objetivo

Esta API tem como objetivo realizar validações e configurações de parametrizações do módulo do MLA.

...

A sintaxe para a chamada da API, que deve ser de forma persistente:


run lapl/mlaapi018.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.

...

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


pi-verifica-funcao-mla

Requisito

Nenhum.

Descrição

Verifica se a função do ativação do módulo do MLA existe e se está ativada.

Parâmetros

Tipo

Input/Output

Descrição

l-ativo

LOGICAL

OUTPUT

Indica se a função existe e está ativada

Retorno

Não se aplica.



pi-ativa-mla

Requisito

Nenhum.

Descrição

Cria e ativa a função de ativação do módulo do MLA 

Parâmetros




Não se aplica

Retorno

Não se aplica.



pi-valida-funcao-excecao-aprov-compra

Requisito

Nenhum.

Descrição

Verifica se há função de exceção ativa para gerar pendência pela aprovação de compras ao invés do MLA

Parâmetros

Tipo

Input/Output

Descrição

i-documento

INTEGER

INPUT

Código do documento do MLA a ser verificado

l-ativo

LOGICAL

OUTPUT

Indica se a função existe e está ativada

Retorno

Não se aplica.



pi-desativa-excecao-aprov-compra

Requisito

Nenhum.

Descrição

Desativa a função de exceção para gerar pendência pela aprovação de compras ao invés do MLA

Parâmetros

Tipo

Input/Output

Descrição

i-documento

INTEGER

INPUT

Código do documento do MLA

Retorno

Não se aplica.



pi-verifica-doc-contrato

Requisito

Nenhum.

Descrição

Verifica se o documento de contrato está habilitado para geração de pendência

Parâmetros

Tipo

Input/Output

Descrição

l-ativo

LOGICAL

OUTPUT

Indica se o documento está habilitado

Retorno

Não se aplica.



pi-ativa-doc-contrato

Requisito

Nenhum.

Descrição

Ativa o documento de contrato para aprovação pelo MLA 

Parâmetros




Não se aplica

Retorno

Não se aplica.



pi-verifica-doc-medicao

Requisito

Nenhum.

Descrição

Verifica se o documento de medição de contrato está habilitado para geração de pendência

Parâmetros

Tipo

Input/Output

Descrição

l-ativo

LOGICAL

OUTPUT

Indica se o documento está habilitado

Retorno

Não se aplica.



pi-ativa-doc-medicao

Requisito

Nenhum.

Descrição

Ativa o documento de medição de contrato para aprovação pelo MLA 

Parâmetros




Não se aplica

Retorno

Não se aplica.



pi-verifica-doc-evento

Requisito

Nenhum.

Descrição

Verifica se o documento de evento de contrato está habilitado para geração de pendência

Parâmetros

Tipo

Input/Output

Descrição

l-ativo

LOGICAL

OUTPUT

Indica se o documento está habilitado

Retorno

Não se aplica.



pi-ativa-doc-evento

Requisito

Nenhum.

Descrição

Ativa o documento de evento de contrato para aprovação pelo MLA 

Parâmetros




Não se aplica

Retorno

Não se aplica.



pi-exporta-ccusto

Requisito

Nenhum.

Descrição

Exportação de centros de custo conforme empresa

Parâmetros

Tipo

Input/Output

Descrição

c-empresa

CHARACTER

INPUT

Código da empresa

c-arq

CHARACTER

OUTPUT

Arquivo (.csv) gerado com os centros de custo.

Obs.: O arquivo gerado é no formato para importação através do MLA0171.

Retorno

Caso não haja centros de custo a serem exportados, a variável c-arq terá o valor branco "".




pi-exporta-ccusto-produtivo

Requisito

Nenhum.

Descrição

Exportação de centros de custo produtivos

Parâmetros

Tipo

Input/Output

Descrição

c-arq

CHARACTER

OUTPUT

Arquivo (.csv) gerado com os centros de custo

Obs.: O arquivo gerado é no formato para importação através do MLA0171.

Retorno

Não se aplica.



pi-retorna-documentos-existentes

Requisito

Nenhum.

Descrição

Retorna quais os tipos de documento cadastrados no módulo

Parâmetros

Tipo

Input/Output

Descrição

tt-docs-existentes

TEMP-TABLE

OUTPUT

Temp-table contendo os tipos 
de documento cadastrados

Retorno

Não se aplica.



pi-verifica-prog-consulta

Requisito

Nenhum.

Descrição

Verifica se há algum programa de consulta cadastrado para o documento.

Parâmetros

Tipo

Input/Output

Descrição

i-documento

INTEGER

INPUT

Código do documento do MLA

Retorno

Se existir algum programa retorna "OK", caso contrário "NOK".

pi-cria-programa-consulta

Requisito

Documento previamente cadastrado no MLA.

Descrição

Cria os programas de consulta padrões para o documento.

Parâmetros

Tipo

Input/Output

Descrição

i-documento

INTEGER

INPUT

Código do documento do MLA

c-empresaCHARACTERINPUTCódigo da empresa
tt-mla-prog-consultaTEMP-TABLEOUTPUTProgramas criados

Retorno

Caso o documento não esteja tratado pelo método, ou seja, não há programas de consulta para criar, retorna "NOK".



pi-verifica-chave-mla

Requisito

Documento previamente cadastrado no MLA.

Descrição

Verifica a existência da chave do documento.

Parâmetros

Tipo

Input/Output

Descrição

i-documento

INTEGER

INPUT

Código do documento do MLA

c-empresaCHARACTERINPUTCódigo da empresa
tt-mla-chave-doc-aprovTEMP-TABLEOUTPUTChave do documento

Retorno

Se a chave não existe, retorna "NOK".



pi-cria-chave-mla

Requisito

Documento previamente cadastrado no MLA.

Descrição

Cria as chaves dos documentos padräes no MLA0102 de acordo com o documento

Parâmetros

Tipo

Input/Output

Descrição

c-empresaCHARACTERINPUTCódigo da empresa

i-documento

INTEGER

INPUT

Código do documento do MLA

pl-efetiva-criacaoLOGICALINPUTIndica que a chave deve ser efetiva no 
banco de dados
pl-elimina-chaveLOGICALINPUTIndica que a chave atual do documento deve 
ser eliminada
tt-mla-chave-doc-aprovTEMP-TABLEOUTPUTChave do documento

Retorno

Caso o documento não esteja tratado pelo método, ou seja, não há chaves para criar, retorna "NOK".

Caso ocorra algum erro na criação da chave para o documento, retorna "NOK".


PROCEDURE pi-compara-chave-padrao-chave-doc:

/*------------------------------------------------------------------------------
Purpose: Compara a chave do documento rebida com a padrÆo do mesmo, caso esteja
diferente, retorna "NOK"
Parameters: pc-ep-codigo(CHARACTER - INPUT): C¢digo da empresa
pi-tipo-doc(INTEGER - INPUT): C¢digo do documento
tt-mla-chave-doc-aprov (TEMP-TABLE - INPUT): Chave atual do documento
Notes:
------------------------------------------------------------------------------*/
DEFINE INPUT PARAMETER pc-ep-codigo LIKE mla-tipo-doc-aprov.ep-codigo NO-UNDO.
DEFINE INPUT PARAMETER pi-tipo-doc LIKE mla-tipo-doc-aprov.cod-tip-doc NO-UNDO.
DEFINE INPUT PARAMETER TABLE FOR tt-mla-chave-doc-aprov-doc.

DEFINE VARIABLE i-num-chave-padrao AS INTEGER NO-UNDO.
DEFINE VARIABLE i-num-chave-doc AS INTEGER NO-UNDO.

IF pc-ep-codigo = "0":U THEN DO:
ASSIGN pc-ep-codigo = i-ep-codigo-usuario.
END.

/* Busca chave padrÆo do documento */
RUN pi-cria-chave-mla IN THIS-PROCEDURE (INPUT pc-ep-codigo,
INPUT pi-tipo-doc,
INPUT NO, /* NÆo realiza a cria‡Æo */
INPUT NO, /* Elimina chave antiga */
OUTPUT TABLE tt-mla-chave-doc-aprov).

FOR EACH tt-mla-chave-doc-aprov-doc NO-LOCK:
ASSIGN i-num-chave-doc = i-num-chave-doc + 1.
END.

FOR EACH tt-mla-chave-doc-aprov NO-LOCK:
ASSIGN i-num-chave-padrao = i-num-chave-padrao + 1.
END.

IF i-num-chave-doc <> i-num-chave-padrao THEN DO:
RETURN "NOK":U.
END.

FOR EACH tt-mla-chave-doc-aprov NO-LOCK:
FIND FIRST tt-mla-chave-doc-aprov-doc NO-LOCK
WHERE tt-mla-chave-doc-aprov-doc.posicao-ini = tt-mla-chave-doc-aprov.posicao-ini
AND tt-mla-chave-doc-aprov-doc.posicao-fim = tt-mla-chave-doc-aprov.posicao-fim NO-ERROR.

IF NOT AVAIL tt-mla-chave-doc-aprov-doc THEN DO:
RETURN "NOK":U.
END.
END.

RETURN "OK":U.
END PROCEDURE.

PROCEDURE pi-existencia-tipos-aprovacao:
/*------------------------------------------------------------------------------
Purpose: Verifica existˆncia de tipos de aprova‡Æo
Parameters:
Notes:
------------------------------------------------------------------------------*/

FIND FIRST mla-tipo-aprov NO-LOCK NO-ERROR.

IF NOT AVAIL mla-tipo-aprov THEN DO:
RETURN "NOK":U.
END.

RETURN "OK":U.
END PROCEDURE.

PROCEDURE pi-cria-tipos-aprovacao:
/*------------------------------------------------------------------------------
Purpose: Cria tipos de aprova‡Æo. Um de cada tipo:
- Hierarquia
- Faixa
- Lista
- PadrÆo
- T‚cnica
Parameters:
Notes:
------------------------------------------------------------------------------*/

FIND FIRST mla-tipo-aprov NO-LOCK NO-ERROR.
IF NOT AVAIL mla-tipo-aprov THEN DO:
CREATE mla-tipo-aprov.
{utp/ut-liter.i "Hierarquia"}
ASSIGN mla-tipo-aprov.cod-tip-aprov = 1
mla-tipo-aprov.des-tip-aprov = RETURN-VALUE
mla-tipo-aprov.ep-codigo = i-ep-codigo-usuario
mla-tipo-aprov.ind-tip-aprov = 1 /* Hierarquia */
mla-tipo-aprov.nr-min-aprov = 0.

CREATE mla-tipo-aprov.
{utp/ut-liter.i "Faixa"}
ASSIGN mla-tipo-aprov.cod-tip-aprov = 2
mla-tipo-aprov.des-tip-aprov = RETURN-VALUE
mla-tipo-aprov.ep-codigo = i-ep-codigo-usuario
mla-tipo-aprov.ind-tip-aprov = 5 /* Faixa */
mla-tipo-aprov.nr-min-aprov = 0.

CREATE mla-tipo-aprov.
{utp/ut-liter.i "Lista"}
ASSIGN mla-tipo-aprov.cod-tip-aprov = 3
mla-tipo-aprov.des-tip-aprov = RETURN-VALUE
mla-tipo-aprov.ep-codigo = i-ep-codigo-usuario
mla-tipo-aprov.ind-tip-aprov = 2 /* Lista */
mla-tipo-aprov.nr-min-aprov = 0.

CREATE mla-tipo-aprov.
{utp/ut-liter.i "PadrÆo"}
ASSIGN mla-tipo-aprov.cod-tip-aprov = 4
mla-tipo-aprov.des-tip-aprov = RETURN-VALUE
mla-tipo-aprov.ep-codigo = i-ep-codigo-usuario
mla-tipo-aprov.ind-tip-aprov = 3 /* PadrÆo */
mla-tipo-aprov.nr-min-aprov = 0.

CREATE mla-tipo-aprov.
{utp/ut-liter.i "T‚cnica"}
ASSIGN mla-tipo-aprov.cod-tip-aprov = 5
mla-tipo-aprov.des-tip-aprov = RETURN-VALUE
mla-tipo-aprov.ep-codigo = i-ep-codigo-usuario
mla-tipo-aprov.ind-tip-aprov = 4 /* T‚cnica */
mla-tipo-aprov.nr-min-aprov = 0.
END.

RETURN "OK":U.
END PROCEDURE.

PROCEDURE pi-exporta-usuarios:
/*------------------------------------------------------------------------------
Purpose: Exporta‡Æo de usu rios
Parameters: tt-param-usuar (TEMP-TABLE - INPUT): Temp-table com par³metros para exporta‡Æo
c-arq (CHARACTER - OUTPUT): Arquivo gerado
Notes:
------------------------------------------------------------------------------*/
DEFINE INPUT PARAMETER TABLE FOR tt-param-usuar.
DEFINE OUTPUT PARAMETER c-arq AS CHARACTER NO-UNDO.
DEFINE OUTPUT PARAMETER TABLE FOR RowErrors.

DEFINE VARIABLE c-output AS CHARACTER NO-UNDO.
DEFINE VARIABLE c-lotacao AS CHARACTER NO-UNDO.
DEFINE VARIABLE l-existe-usuar AS LOGICAL NO-UNDO.

FIND FIRST tt-param-usuar NO-ERROR.

FIND FIRST bf-mla-usuar-aprov WHERE bf-mla-usuar-aprov.cod-usuar = tt-param-usuar.cod-usuar-orig NO-LOCK NO-ERROR.
IF NOT AVAIL bf-mla-usuar-aprov THEN DO:

{utp/ut-liter.i "Usu rio"}

CREATE RowErrors.
ASSIGN RowErrors.ErrorNumber = 2
RowErrors.ErrorParameters = RETURN-VALUE
RowErrors.ErrorType = "EMS":U
RowErrors.ErrorSubType = "ERROR":U.

RETURN "NOK":U.
END.

ASSIGN c-output = SESSION:TEMP-DIRECTORY + "usuarios_":U + replace(STRING(NOW, "99-99-9999HH:MM:SS":U), ":":U, "":U) + ".csv":U.
OUTPUT TO VALUE(c-output).

FOR EACH usuar_mestre FIELDS (cod_usuario nom_usuario cod_e_mail_local)
WHERE usuar_mestre.cod_usuario >= tt-param-usuar.cod-usuar-ini
AND usuar_mestre.cod_usuario <= tt-param-usuar.cod-usuar-fim NO-LOCK:

IF tt-param-usuar.l-comprador OR
tt-param-usuar.l-aprovador OR
tt-param-usuar.l-solicitante OR
tt-param-usuar.l-requis OR
tt-param-usuar.l-requis-manut OR
tt-param-usuar.sc-codigo-ini <> "" OR
tt-param-usuar.sc-codigo-fim <> "ZZZZZZZZZZZZZZZZZZZZ":U OR
tt-param-usuar.cod-lotacao-ini <> "":U OR
tt-param-usuar.cod-lotacao-fim <> "ZZZZZZZZZZZZZZZZZZZZ":U THEN DO:
FIND FIRST usuar-mater WHERE usuar-mater.cod-usuar = usuar_mestre.cod_usuario NO-LOCK NO-ERROR.

IF NOT AVAIL usuar-mater THEN DO:
NEXT.
END.

IF tt-param-usuar.l-comprador AND NOT usuar-mater.usuar-comprador THEN DO:
NEXT.
END.

IF tt-param-usuar.l-aprovador AND NOT usuar-mater.usuar-aprovador THEN DO:
NEXT.
END.

IF tt-param-usuar.l-solicitante AND NOT usuar-mater.usuar-solic THEN DO:
NEXT.
END.

IF tt-param-usuar.l-requis AND NOT usuar-mater.usuar-requis THEN DO:
NEXT.
END.

IF tt-param-usuar.l-requis-manut AND NOT usuar-mater.usuar-requis-manut THEN DO:
NEXT.
END.

IF usuar-mater.sc-codigo < tt-param-usuar.sc-codigo-ini OR
usuar-mater.sc-codigo > tt-param-usuar.sc-codigo-fim THEN DO:
NEXT.
END.

IF usuar-mater.cod-lotacao < tt-param-usuar.cod-lotacao-ini OR
usuar-mater.cod-lotacao > tt-param-usuar.cod-lotacao-fim THEN DO:
NEXT.
END.
END.

IF tt-param-usuar.l-utiliza-lotacao AND AVAIL usuar-mater THEN DO:
ASSIGN c-lotacao = usuar-mater.cod-lotacao.
END.
ELSE DO:
ASSIGN c-lotacao = bf-mla-usuar-aprov.cod-lotacao.
END.

PUT UNFORMATTED "mla-usuar-aprov":U ";":U STRING(bf-mla-usuar-aprov.ep-codigo) ";":U STRING(usuar_mestre.cod_usuario) ";":U
STRING(usuar_mestre.nom_usuario) ";":U STRING(bf-mla-usuar-aprov.cod-estabel) ";":U
STRING(c-lotacao) ";":U STRING(bf-mla-usuar-aprov.mo-codigo) ";":U
STRING(bf-mla-usuar-aprov.destino-lotacao) ";":U SUBSTRING(bf-mla-usuar-aprov.char-1,2,1) ";":U STRING(bf-mla-usuar-aprov.perm-aprov) ";":U
STRING(bf-mla-usuar-aprov.usuar-mestre) ";":U STRING(bf-mla-usuar-aprov.libera-verba) ";":U
STRING(bf-mla-usuar-aprov.envia-email) ";":U STRING(bf-mla-usuar-aprov.recebe-email) ";":U
STRING(bf-mla-usuar-aprov.log-html) ";":U STRING(bf-mla-usuar-aprov.log-4) ";":U
STRING(bf-mla-usuar-aprov.aprova-auto) ";":U STRING(bf-mla-usuar-aprov.aprova-auto-aprov) ";":U
STRING(usuar_mestre.cod_e_mail_local) ";":U STRING(bf-mla-usuar-aprov.idi-ordenacao-portal) ";":U
STRING(bf-mla-usuar-aprov.log-pendcia-todas-empres) ";":U STRING(bf-mla-usuar-aprov.int-1) ";":U
STRING(bf-mla-usuar-aprov.log-aprovac-unica-pendcia) ";":U SUBSTRING(bf-mla-usuar-aprov.char-1,3,1) ";":U SUBSTRING(bf-mla-usuar-aprov.char-1,4,1) SKIP.

ASSIGN l-existe-usuar = YES.
END.

IF l-existe-usuar THEN DO:
ASSIGN c-arq = c-output.
END.
ELSE DO:
ASSIGN c-arq = "".
END.

RETURN "OK":U.
END PROCEDURE.

PROCEDURE pi-verifica-permissoes-aprovadores:
/*------------------------------------------------------------------------------
Purpose: Verifica a existˆncia permissäes cadastradas para os usu rios aprovadores do MLA
Parameters: tt-aprovadores (TEMP-TABLE - OUTPUT): Aprovadores que nÆo possuem nenhuma
permissÆo cadastrada.
Notes:
------------------------------------------------------------------------------*/
DEFINE OUTPUT PARAMETER TABLE FOR tt-aprovadores.

EMPTY TEMP-TABLE tt-aprovadores.

FOR EACH mla-usuar-aprov FIELDS (cod-usuar nome-usuar perm-aprov) WHERE mla-usuar-aprov.perm-aprov = YES NO-LOCK:
IF NOT CAN-FIND(FIRST mla-perm-aprov WHERE mla-perm-aprov.cod-usuar =
mla-usuar-aprov.cod-usuar) THEN DO:
CREATE tt-aprovadores.
ASSIGN tt-aprovadores.cod-usuar = mla-usuar-aprov.cod-usuar
tt-aprovadores.nome-usuar = mla-usuar-aprov.nome-usuar.
END.
END.

RETURN "OK":U.
END PROCEDURE.

PROCEDURE pi-verifica-lotacoes-aprovadores:
/*------------------------------------------------------------------------------
Purpose: Verifica a existˆncia lota‡äes cadastradas para os usu rios aprovadores do MLA
Parameters: tt-aprovadores (TEMP-TABLE - OUTPUT): Aprovadores que nÆo possuem nenhuma
permissÆo cadastrada para lota‡äes
Notes:
------------------------------------------------------------------------------*/
DEFINE OUTPUT PARAMETER TABLE FOR tt-aprovadores.

EMPTY TEMP-TABLE tt-aprovadores.

FOR EACH mla-usuar-aprov FIELDS (cod-usuar nome-usuar perm-aprov) WHERE mla-usuar-aprov.perm-aprov = YES NO-LOCK:
IF NOT CAN-FIND(FIRST mla-perm-lotacao WHERE mla-perm-lotacao.cod-usuar =
mla-usuar-aprov.cod-usuar) THEN DO:
CREATE tt-aprovadores.
ASSIGN tt-aprovadores.cod-usuar = mla-usuar-aprov.cod-usuar
tt-aprovadores.nome-usuar = mla-usuar-aprov.nome-usuar.
END.
END.

RETURN "OK":U.
END PROCEDURE.

PROCEDURE pi-verifica-utilizacao-verba:
/*------------------------------------------------------------------------------
Purpose: Verifica se algum documento utiliza controle de verba
Parameters: l-utiliza (LOGICAL - OUTPUT): Utiliza verba
Notes:
------------------------------------------------------------------------------*/
DEFINE OUTPUT PARAMETER l-utiliza AS LOGICAL NO-UNDO.

IF CAN-FIND(FIRST mla-tipo-doc-aprov WHERE
mla-tipo-doc-aprov.verba-aprov = YES) THEN DO:
ASSIGN l-utiliza = YES.
END.
ELSE DO:
ASSIGN l-utiliza = NO.
END.

RETURN "OK":U.
END PROCEDURE.

PROCEDURE pi-verifica-prioridade-aprov-item-referencia:
/*------------------------------------------------------------------------------
Purpose: Verifica se algum documento utiliza prioridade de aprova‡Æo por item ou referˆncia
Parameters: l-utiliza (LOGICAL - OUTPUT): Utiliza prioridade por item ou referˆncia
Notes:
------------------------------------------------------------------------------*/
DEFINE OUTPUT PARAMETER l-utiliza AS LOGICAL NO-UNDO.

IF CAN-FIND(FIRST mla-tipo-doc-aprov WHERE
mla-tipo-doc-aprov.prioridade-aprov = 2 OR mla-tipo-doc-aprov.prioridade-aprov = 3) THEN DO:
ASSIGN l-utiliza = YES.
END.
ELSE DO:
ASSIGN l-utiliza = NO.
END.

RETURN "OK":U.
END PROCEDURE.

PROCEDURE pi-verifica-prioridade-aprov-referencia:
/*------------------------------------------------------------------------------
Purpose: Verifica se algum documento utiliza prioridade de aprova‡Æo por referˆncia
Parameters: l-utiliza (LOGICAL - OUTPUT): Utiliza prioridade por referˆncia
Notes:
------------------------------------------------------------------------------*/
DEFINE OUTPUT PARAMETER l-utiliza AS LOGICAL NO-UNDO.

IF CAN-FIND(FIRST mla-tipo-doc-aprov WHERE
mla-tipo-doc-aprov.prioridade-aprov = 3) THEN DO:
ASSIGN l-utiliza = YES.
END.
ELSE DO:
ASSIGN l-utiliza = NO.
END.

RETURN "OK":U.
END PROCEDURE.

PROCEDURE pi-verifica-utiliza-tipo-aprov:
/*------------------------------------------------------------------------------
Purpose: Verifica se h  cadastro de tipo de aprova‡Æo para o tipo solicitado
Parameters: i-tipo (INTEGER - INPUT): 1 - Hierarquia
2 - Lista
3 - PadrÆo
4 - T‚cnica
5 - Faixa
l-utiliza (LOGICAL - OUTPUT): Existe esse tipo de aprova‡Æo
Notes:
------------------------------------------------------------------------------*/
DEFINE INPUT PARAMETER i-tipo AS INTEGER NO-UNDO.
DEFINE OUTPUT PARAMETER l-utiliza AS LOGICAL NO-UNDO.


FOR FIRST mla-tipo-aprov FIELDS() NO-LOCK WHERE
mla-tipo-aprov.ind-tip-aprov = i-tipo:

ASSIGN l-utiliza = YES.
END.

RETURN "OK":U.
END PROCEDURE.


-----------------

DEFINE TEMP-TABLE tt-docs-existentes NO-UNDO
FIELD cod-tip-doc LIKE mla-tipo-doc-aprov.cod-tip-doc
FIELD des-tip-doc LIKE mla-tipo-doc-aprov.des-tip-doc
INDEX codigo
cod-tip-doc ASCENDING.


DEFINE TEMP-TABLE tt-mla-prog-consulta NO-UNDO LIKE mla-prog-consulta.


{inbo/boin789.i tt-mla-chave-doc-aprov}