Árvore de páginas

Versões comparadas

Chave

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

Button
TextoVoltar
Linkhttps://tdn.totvs.com/pages/viewpage.action?pageId=929926296


API para Geração de Gráficos


Nome Físico: prgfin/lco/lco728za.py

Versão de Integração: 001

Objetivo: 

Criar o objeto de negócio que será utilizado para gerar visão de dados na qual disponibilizará uma conciliação automática, dos saldos contábeis distribuídos por terceiros, com os saldos
contábeis gerados para as mesmas contas, sem a distribuição por terceiros.

Pré-requisitos: 

Não se aplica.


Considerações Gerais


  • São passados como parâmetros de input e output para a API,  como Input são: Estabelecimento Inicial, Estabelecimento Final, Data Emissão Inicial, Data Emissão Final, Fornecedor Inicial, Fornecedor Final, Grupo Fornecedores Inicial, Grupo Fornecedores Final e Somente Faturas com IVA, como Output são: RUC da Empresa, tt_iva_cprs_pry Plano de Contas, Cenário Contábil, Finalidade Econômica, Exercício, Período, Faixa de Estabelecimentos, Faixa de Unidades de Negócio e 
    Flag para indicar se deve retornar somente os saldos não conciliados, como Output são: tt_concilia_sdos_terceiros, tt_lanctos_ctbl_concil e tt_erros_api.
  • A exibição das informações da API é feita através da execução da API prgfin/lpylco/lpy724zalco728za.py.
    .

Parâmetros de Entrada 


Temp-table tt_ivaconcilia_cprssdos_pryterceiros: Na Temp-Table tt_ivaconcilia_cprssdos_pryterceiros, são definidas as características gerais e dados a serem devolvidos.

Descrição dos campos 

TEMP-TABLE tt_ivaconcilia_cprssdos_pryterceiros

Atributo

Tipo

Formato

Valor Inicial

Índice

ttvtta_cod_numfinalid_diaecon

IntegerCharacter




ttvtta_cod_titcenar_apctbl

Character

Sim

ttv_dat_docto

Date

ttv_nom_pessoa_cli




tta_cod_plano_cta_ctbl

Character




tta_cod_cta_ctbl

Character




tta_des_tit_ctbl

Character

ttv_cod_rut

Character




ttv_val_vtasdo_gravterc_2inic

Decimal

->>,>>>,>>>,>>9.99



ttv_val_mov_impuestoterc_2db

Decimal

->>,>>>,>>>,>>9.99



ttv_val_vtamov_exentoterc_2cr

Decimal

->>,>>>,>>>,>>9.99



ttv_val_origsdo_titterc_ap_2fim

Decimal

->>,>>>,>>>,>>9.99



ttv_val_basesdo_imponiblectbl_2inic

Decimal

->>>,>>>,>>>,>>>,>>9.99



ttv_cdn_fornecedor

Integer

Sim

ttv_num_estab

Integer

Sim

ttv_num_pto_vta_fatur_inic

Integer

ttv_cb1_calc_dat_term_carenc

Integer

ttv_cod_1

Character

tta_cod_espec_docto

Character

Sim

tta_cod_ser_ap

Character

Sim

ttv_val_vta_grav_3

Decimal

ttv_val_impuesto_3

Decimal

ttv_val_vta_grav_tot

Decimal

ttv_val_impuesto_tot

Decimal

ttv_cod_operac_2

Character

ttv_cod_tip_docto_2

Character

ttv_num_timbdo

Integer

ttv_cod_estab

Character

ttv_cod_tit_ap_2

Character

tta_val_cotac_indic_econ

Decimal

tta_dat_transacao

Date

ttv_num_pto_vta_fatur

Integer

tta_cod_refer

Character

Sim

ttv_cod_tip_documento

Character

ttv_cod_condicao

Character

ttv_num_parc

Integer

Sim

Atributo

Descrição

ttv_num_dia

Número de Dias

ttv_cod_tit_ap

Título Contas a Pagar

ttv_dat_docto

Data de Emissão

ttv_nom_pessoa_cli

Nome Pessoa Física 

ttv_cod_rut

Número do RUC

ttv_val_vta_grav_2

Valor Tributado 5%

ttv_val_impuesto_2

Valor Imposto 5%

ttv_val_vta_exento_2

Valor Isento

ttv_val_orig_tit_ap_2

Valor Original

ttv_val_base_imponible_2

ttv_cdn_fornecedor

Código do Fornecedor

ttv_num_estab

Numero do Estabelecimento

ttv_num_pto_vta_fatur_inic

Numero Ponto de Venda

ttv_cb1_calc_dat_term_carenc

Data Termino Carência

ttv_cod_1

Numero Timbrado

tta_cod_espec_docto

Espécie do Documento

tta_cod_ser_ap

Série do Documento

ttv_val_vta_grav_3

Valor Tributado 10%

ttv_val_impuesto_3

Valor Imposto 10%

ttv_val_vta_grav_tot

Valor Total Tributado

ttv_val_impuesto_tot

Valor Total Imposto

ttv_cod_operac_2

Código da Operação

ttv_cod_tip_docto_2

Código Tipo Documento

ttv_num_timbdo

Numero do Timbrado

ttv_cod_estab

Código do Estabelecimento

ttv_cod_tit_ap_2

Código do Título

tta_val_cotac_indic_econ

Cotação

tta_dat_transacao

Data de Transação

ttv_num_pto_vta_fatur

Ponto de Venda da Fatura

tta_cod_refer

Código de Referência

ttv_cod_tip_documento

Tipo de Documento

ttv_cod_condicao

Condição de Pagamento

ttv_num_parc

Numero de Parcelas

Execução

val_mov_ctbl_db

Decimal

->>,>>>,>>>,>>9.99



ttv_val_mov_ctbl_cr

Decimal

->>,>>>,>>>,>>9.99



ttv_val_sdo_ctbl_fim

Decimal

->>,>>>,>>>,>>9.99

0


ttv_log_dif_sdo

Logical

Sim/Não

No


ttv_log_dif_mov

Logical

Sim/Não

No


Atributo

Descrição

tta_cod_finalid_econ

Finalidade

tta_cod_cenar_ctbl

Cenário Contábil

tta_cod_plano_cta_ctbl

Plano Contas

tta_cod_cta_ctbl

Conta Contábil

tta_des_tit_ctbl

Título Contábil

ttv_val_sdo_ctbl_inic

Saldo Inicia

ttv_val_sdo_ctbl_fim

Saldo Final


Execução


Sintaxe:

Bloco de código
languageruby
IF NOT VALID-HANDLE(v_hdl_api) THEN
    RUN prgfin/lco/lco728za.r PERSISTENT SET v_hdl_api.

/* Busca Saldo Inicial */
    run pi_busca_sdo_ctbl (input v_cod_empres_usuar,
                           input p_cod_estab_ini,
                           input p_cod_estab_fim,
                           input p_cod_finalid_econ,
                           input colext_cta_ctbl.cod_plano_cta_ctbl,
                           input colext_cta_ctbl.cod_cta_ctbl,
                           input colext_cta_ctbl.cod_cta_ctbl,
                           input "",
                           input "",
                           input "ZZZZZZZZZZZ" /*l_zzzzzzzzzzz*/ ,
                           input p_cod_un_inicial,
                           input p_cod_un_final,
                           input p_cod_cenar_ctbl,
                           input "",
                           input "ZZZZZZZZZZZZZZZZZZZZ" /*l_zzzzzzzzzzzzzzzzzzzz*/ ,
                           input v_dat_sdo_inic,
                           input v_dat_sdo_inic,
                           input no,
                           input "Maior ou Igual e Menor ou Igual" /*l_maior_igual_menor_igual*/ ,
                           input "for each" /*l_for_each*/ ,
                           output table tt_retorna_sdo_ctbl).

Em caso de erro nas validações acima, o erro será retornado por meio da temp-table ttt_erros_api.

Se os dados forem aceitos, a API devolverá as informações para geração da conciliação de saldos por terceiros compras quando for chamada a procedure pi_busca_sdo_ctbl.


Expandir
titleClique aqui para visualizar...
Bloco de código
languageruby
def var v_hdl_api as Handle format ">>>>>>9":U no-undo.

run prgfin\lco\lco728za.r persistent set v_hdl_api.

if  valid-handle(v_hdl_api)
then do:
     /* Busca plano de contas */
		run prgfin\lco\lco728za.r (input "GRIFFE1",       /* Plano de Contas */

Sintaxe:

Bloco de código
languageruby
IF NOT VALID-HANDLE(v_hdl_api) THEN
    RUN prgfin/lpy/lpy724za.r PERSISTENT SET v_hdl_api.        

/* Busca linhas do livro */
RUN pi_retorna_dados_iva_compras IN v_hdl_api (INPUT v_cod_estab_ini,      /* Estabelecimento Inicial */
                                               INPUT v_cod_estab_fim,      /* Estabelecimento Final */
                                               INPUT v_dat_emis_inic,      /* Data Emissão Inicial */
                                               INPUT v_dat_emis_fim,       /* Data Emissão Final */
                                               INPUT v_cdn_fornecedor_ini, /* Fornecedor Inicial */
                                               INPUT v_cdn_fornecedor_fim, /* Fornecedor Final */
                                               INPUT v_cod_grp_fornec_ini, /* Grupo Fornecedores Inicial */
                                               INPUT v_cod_grp_fornec_fim, /* Grupo Fornecedores Final */
                                               INPUT v_log_smte_com_iva,   /* Somente Faturas com IVA */
                                               OUTPUT v_cod_ruc,           /* RUC da Empresa */
                                               OUTPUT TABLE tt_iva_cprs_pry,
                                               OUTPUT TABLE tt_erros_api).

Em caso de erro nas validações acima, o erro será retornado por meio da temp-table ttt_erros_api.

Se os dados forem aceitos, a API devolverá as informações para geração do livro IVA compras quando for chamada a procedure pi_retorna_dados_iva_compras.

Expandir
titleClique aqui para visualizar...
Bloco de código
languageruby
def var v_hdl_api as Handle format ">>>>>>9":U no-undo.

run prgfin\lpy\lpy724za.r persistent set v_hdl_api.

if  valid-handle(v_hdl_api)
then do:
     /* Busca linhas do livro */
     run pi_retorna_dados_iva_compras in v_hdl_api (input "",           /* Estabelecimento Inicial */
                                                    input "ZZZZZ",      /* Estabelecimento Final */
                                                    input 01/01/2025,   /* Data EmissÆo Inicial */
                                                    input 06/30/2025,   /* Data EmissÆo Final */
                                                    input 0,            /* Fornecedor Inicial */
                                                    input 999999,       /* Fornecedor Final */
                                                    input "",           /* Grupo Fornecedores Inicial */
                                        	        	    input "ZZZZFiscal",        /* GrupoCen rio FornecedoresCont bil Final */
                        		   input "PESO COL",      /* Finalidade Econ“mica */
		              input no,           /* Somente Faturas com IVA */
           input v_cod_exercicio, /* Exerc¡cio */
		                           input v_num_periodo,   /* Per¡odo */
		        output v_cod_ruc,   /* RUC da Empresa */
           input "IGN",           /* Estab Inicial */
		                          output table tt_iva_cprs_pry,
input "IGV",           /* Estab Final */
		                           input "008",           output/* table tt_erros_api). 
DELETE PROCEDURE v_hdl_api.
Bloco de código
languageruby
def new global shared var v_cod_empres_usuar
UN Inicial */
		            as character
    format "x(3)":U
    label "Empresa"
    column-labelinput "EmpresaVEN"
,     no-undo.
    
def var v_hdl_api     as handle   no-undo.
def var v_cod_ruc /* UN Final */
		            as char     no-undo.
def var v_num_pagina  as inte    input no-undo.

def stream s_1.

run prgfin\lpy\lpy724za.r persistent set v_hdl_api.

if  valid-handle(v_hdl_api)
then do:
,              /* BuscaRetorna linhasSomente doNÆo livroConciliados */
		        run pi_retorna_dados_iva_compras in v_hdl_api (input "",           /* Estabelecimento Inicial */
output table tt_concilia_sdos_terceiros,
		                           output table tt_lanctos_ctbl_concil,
DELETE PROCEDURE v_hdl_api.
Bloco de código
languageruby
def temp-table tt_concilia_sdos_terceiros no-undo
    field tta_cod_finalid_econ  as character format "x(10)" label     input "ZZZZZ",      /* Estabelecimento Final */"Finalidade" column-label "Finalidade"
    field tta_cod_cenar_ctbl    as character             format "x(8)" label "Cen rio Cont bil" column-label "Cen rio Cont bil"
    field tta_cod_plano_cta_ctbl as character format "x(8)" label "Plano Contas" column-label "Plano Contas"
    field tta_cod_cta_ctbl         input 01/01/2025,   /* Data EmissÆo Inicial */
as character          format "x(20)" label "Conta Cont bil" column-label "Conta Cont bil"
    field tta_des_tit_ctbl                 as character format "x(40)" label "T¡tulo Cont bil" column-label "T¡tulo Cont bil"
    field ttv_val_sdo_terc_inic     input 06/30/2025,   /* Data EmissÆo Finalas */
decimal     format "->>,>>>,>>>,>>9.99" decimals 2
    field ttv_val_mov_terc_db              as decimal format "->>,>>>,>>>,>>9.99" decimals 2
    field ttv_val_mov_terc_cr              as decimal   input 0,  format "->>,>>>,>>>,>>9.99" decimals 2
          /* Fornecedor Inicial */
field ttv_val_sdo_terc_fim             as decimal format "->>,>>>,>>>,>>9.99" decimals 2
    field ttv_val_sdo_ctbl_inic            as decimal format "->>>,>>>,>>>,>>>,>>9.99" decimals 2 label "Saldo Inicial" column-label "Saldo Inicial"
      input 999999,field ttv_val_mov_ctbl_db        /* Fornecedor Final */
   as decimal format "->>,>>>,>>>,>>9.99" decimals 2
    field ttv_val_mov_ctbl_cr              as decimal format "->>,>>>,>>>,>>9.99" decimals 2
    field ttv_val_sdo_ctbl_fim             as decimal inputformat "",       ->>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Saldo Final" column-label "Saldo Final"
    /* Grupo Fornecedores Inicial */
field ttv_log_dif_sdo                  as logical format "Sim/NÆo" initial no
    field ttv_log_dif_mov                  as logical format "Sim/NÆo" initial no
    input "ZZZZ",index tt_dfmvt       /* Grupo Fornecedores Final */
             
          ttv_log_dif_mov                  ascending
    index tt_id      input no,           /* Somente Faturas com IVA */
     is primary unique
          tta_cod_finalid_econ             ascending
          tta_cod_cenar_ctbl            output v_cod_ruc,  ascending
 /* RUC da Empresa */
     tta_cod_plano_cta_ctbl           ascending
          tta_cod_cta_ctbl                 ascending
    .
    
def output temp-table tt_ivalanctos_cprs_pry,ctbl_concil no-undo
    field tta_cod_cta_ctbl                 as character format "x(20)" label "Conta Cont bil" column-label "Conta Cont bil"
    field tta_des_tit_ctbl                output table tt_erros_api).
          as character format "x(40)" label "T¡tulo Cont bil" column-label "T¡tulo Cont bil"
    field tta_val_lancto_ctbl              as decimal format ">>>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Valor Lan‡amento" column-label "Valor Lan‡amento"
    field tta_ind_natur_lancto     
    for each tt_erros_api:
  as character format "X(5)" initial "Ambos" messagelabel "ENatureza Lan‡amento" R  R  O  S"  column-label "Natureza Lan‡amento"
    field tta_dat_lancto_ctbl              skip
as date format "99/99/9999" initial ? label "Data Lan‡amento" column-label "Data Lan‡to"
    field tttta_errosnum_api.ttv_num_errolote_ctbl      skip
          as integer format ">>>,>>>,>>9" initial 1  tt_erros_api.ttv_des_mensagem  skip
  label "Lote Cont bil" column-label "Lote Cont bil"
    field tta_num_lancto_ctbl         tt_erros_api.ttv_des_ajuda     view-as alert-box.
integer format ">>,>>>,>>9" initial end.
10 label "Lan‡amento Cont bil" 
column-label "Lan‡amento Cont bil"
  if  can-find(first tt_iva_cprs_pry)
field tta_num_seq_lancto_ctbl    then do:
     as integer format output">>>>9" streaminitial s_10 tolabel "c:\tmp\livro_iva_compras.csv" convert target "ISO8859-1".Sequˆncia Lan‡to" column-label "Sequˆncia Lan‡to"
    .    

def temp-table tt_erros_api no-undo
    field ttv_num_erro   put stream s_1 unformatted "Dia;Estab;Esp‚cie;S‚rie;Fatura;Data EmissÆo;Data Transa‡Æo;Referˆncia;Fornecedor;Nome;RUC;Opera‡Æo;Timbrado;Sucursal;Ponto Venda;Tipo Docto;Parcelas;Condi‡Æo Compra;Vlr Original;Vlr Truibutado 5%;Vlr Imposto 5%;Vlr Truibutado 10%;Vlr Imposto 10%;Vlras Totalinteger Tributado;Vlr Total Imposto;Vlr Isento;Vlr Cota‡Æo" skip.
 format ">>>>,>>9"
    field ttv_des_mensagem       for each tt_iva_cprs_pry:
        as character format  put stream s_1 unformatted"x(50)" label "Mensagem" column-label "Mensagem"
    field ttv_des_ajuda             string(tt_iva_cprs_pry.ttv_num_dia)       as character format "x(50)" label "Ajuda" column-label + ";Ajuda" +
    field ttv_row_id           string(tt_iva_cprs_pry.ttv_cod_estab)            + ";"as +Rowid
    .
    
def stream s1.
def stream s2.
def stream s3.

def  string(tt_iva_cprs_pry.ttavar v_cod_espec_docto)exercicio      as char  + ";" +
  no-undo.
def var v_num_periodo        as inte    no-undo.
def var string(ttv_ivanom_cprs_pry.tta_cod_ser_ap)arq_saldos     as char    no-undo.
def var v_nom_arq_lanctos    as char      + ";" +
  no-undo.
def var v_nom_arq_erros      as char       string(tt_iva_cprs_pry.ttv_cod_tit_ap)no-undo.    
     
  + ";" +
/* Per¡odo Conciliado */   
assign v_cod_exercicio = "2024"
       string(ttv_iva_cprs_pry.ttv_dat_docto)  num_periodo   = 1.
   
assign v_nom_arq_saldos  = "C:\tmp\saldos_" + v_cod_exercicio + ";-" +
    string(v_num_periodo,"99") + ".csv".
             string(tt_iva_cprs_pry.tta_dat_transacao)        + ";" +v_nom_arq_lanctos = "C:\tmp\lanctos_" + v_cod_exercicio + "-" + string(v_num_periodo,"99") + ".csv".
       v_nom_arq_erros   = "C:\tmp\erros_" + v_cod_exercicio + "-" + string(ttv_iva_cprs_pry.tta_cod_refer)           num_periodo,"99") + ";.csv" +.
    
output stream s1 to value(v_nom_arq_saldos) convert target "ISO8859-1".
output stream s2 to  stringvalue(ttv_ivanom_cprs_pry.ttv_cdn_fornecedorarq_lanctos)       +convert target ";" +
                string(tt_iva_cprs_pry.ttv_nom_pessoa_cli)       + ";" +
                string(tt_iva_cprs_pry.ttv_cod_rut)              + ";" +
                string(tt_iva_cprs_pry.ttv_cod_operac_2)ISO8859-1".
output stream s3 to value(v_nom_arq_erros) convert target "ISO8859-1".

put stream s1 unformatted "Fianlidade Econ“mica;Cen rio;Plano Contas;Conta Cont bil;Descri‡Æo;Sdo Inicial 3§;Movto DB 3§;Movto CR 3§; Sdo Final 3§;Sdo Inicial Ctbl;Movto DB Ctbl;Movto CR Ctbl;Sdo Final Ctbl;Dif Sld;Dif Movto" skip.
put stream s2 unformatted "Conta Cont bil;Descri‡Æo;Valor Lancto;DB/CR;Data Lancto;Lote;Lancto;Seq" skip.
put stream s3 unformatted "Erro;Descri‡Æo;Ajuda" skip.

run prgfin\lco\lco728za.r (input "GRIFFE1",       /* Plano +de ";" +Contas */
                string(tt_iva_cprs_pry.ttv_cod_1)           input "Fiscal",    + ";" +
  /* Cen rio Cont bil */
           string(tt_iva_cprs_pry.ttv_num_estab)                +input ";PESO COL", +
     /* Finalidade Econ“mica */
        string(tt_iva_cprs_pry.ttv_num_pto_vta_fatur)    + ";" +
                string(tt_iva_cprs_pry.ttv_cod_tip_documento)input v_cod_exercicio, /* Exerc¡cio */
          + ";" +
                string(tt_iva_cprs_pry.ttv_num_parc)input v_num_periodo,   /* Per¡odo */
             + ";" +
            input "IGN",   string(tt_iva_cprs_pry.ttv_cod_condicao)        /* +Estab ";" +
Inicial */
                       string(tt_iva_cprs_pry.ttv_val_orig_tit_ap_2)    +input ";IGV", +
          /* Estab Final */
     string(tt_iva_cprs_pry.ttv_val_vta_grav_2)       + ";" +
             input   string(tt_iva_cprs_pry.ttv_val_impuesto_2)"008",           /* +UN ";" +
Inicial */
                    string(tt_iva_cprs_pry.ttv_val_vta_grav_3)       +input ";VEN", +
          /* UN Final */
     string(tt_iva_cprs_pry.ttv_val_impuesto_3)       + ";" +
             input no,  string(tt_iva_cprs_pry.ttv_val_vta_grav_tot)     + ";" +
     /* Retorna Somente NÆo Conciliados */
      string(tt_iva_cprs_pry.ttv_val_impuesto_tot)     + ";" +
              output table string(tt_ivaconcilia_cprs_pry.ttv_val_vta_exento_2)sdos_terceiros,
           + ";" +
              output table string(tt_ivalanctos_cprs_pry.tta_val_cotac_indic_econ) skip.
ctbl_concil,
          end.
        output stream s_1 close.
    end.
  output table tt_erros_api).
    /*  Busca Pr¢xima P gina do Livro */
    run pi_busca_proxima_pag_iva_compras in v_hdl_api (output v_num_pagina, /* N£mero da Pr¢xima P gina */
              
for each tt_concilia_sdos_terceiros:
    put stream s1 unformatted
        string(tt_concilia_sdos_terceiros.tta_cod_finalid_econ)   + ";" +
        string(tt_concilia_sdos_terceiros.tta_cod_cenar_ctbl)     + ";" +
        string(tt_concilia_sdos_terceiros.tta_cod_plano_cta_ctbl) + ";" +
            output table string(tt_erros_api).
    for each tt_erros_api:
concilia_sdos_terceiros.tta_cod_cta_ctbl)        message+ "E  R  R;" +
   O  S"   string(tt_concilia_sdos_terceiros.tta_des_tit_ctbl)       + ";" +
    skip
    string(tt_concilia_sdos_terceiros.ttv_val_sdo_terc_inic)  + ";" +
        string(tt_errosconcilia_sdos_apiterceiros.ttv_val_num_erro      skip
mov_terc_db)    + ";" +
          string(tt_errosconcilia_sdos_apiterceiros.ttv_val_mov_desterc_mensagemcr)  skip
  + ";" +
            string(tt_errosconcilia_sdos_apiterceiros.ttv_des_ajuda     view-as alert-box.
    end.

    /* Atualiza éltima P gina do Livro */
val_sdo_terc_fim)   + ";" +
       run pistring(tt_atualizaconcilia_ultimasdos_pagterceiros.ttv_iva_compras in v_hdl_api (input (v_num_pagina + 12), /* N£mero da éltima P gina */
     val_sdo_ctbl_inic)  + ";" +
        string(tt_concilia_sdos_terceiros.ttv_val_mov_ctbl_db)    + ";" +
        string(tt_concilia_sdos_terceiros.ttv_val_mov_ctbl_cr)    + ";" +
        string(tt_concilia_sdos_terceiros.ttv_val_sdo_ctbl_fim)   + ";" +
        string(tt_concilia_sdos_terceiros.ttv_log_dif_sdo)        + ";" +
       output table string(tt_erros_api).
concilia_sdos_terceiros.ttv_log_dif_mov)    
    skip.
end.

for each tt_erroslanctos_ctbl_apiconcil:
    put stream s2  message "E  R  R  O  S"  unformatted
        string(tt_lanctos_ctbl_concil.tta_cod_cta_ctbl)           + ";" +
        string(tt_lanctos_ctbl_concil.tta_des_tit_ctbl)      skip
     + ";" +
         string(tt_erroslanctos_ctbl_apiconcil.ttvtta_val_numlancto_erroctbl)      skip
  + ";" +
            tt_erros_api.ttv_des_mensagem  skip
string(tt_lanctos_ctbl_concil.tta_ind_natur_lancto)       + ";" +
         string(tt_lanctos_errosctbl_apiconcil.ttvtta_dat_deslancto_ajudactbl)     view-as alert-box.
  + ";" end.+

      find first pry_param_livro_iva no-lock
 string(tt_lanctos_ctbl_concil.tta_num_lote_ctbl)         where pry_param_livro_iva.cod_empresa = v_cod_empres_usuar + ";" +
        no-error.
string(tt_lanctos_ctbl_concil.tta_num_lancto_ctbl)     if  avail pry_param_livro_iva then  + ";" +
        message "RUC da Empresa:" v_cod_rucstring(tt_lanctos_ctbl_concil.tta_num_seq_lancto_ctbl)    skip.
end.

for each tt_erros_api:
    put skip
stream s3 unformatted
        string(tt_erros_api.ttv_num_erro)      "Pr¢xima P gina:" v_num_pagina  skip
               + "ëltima P gina :" pry_param_livro_iva.num_pag_livro_compra ;" +
          string(tt_erros_api.ttv_des_mensagem)       view-as alert-box.
    else
        message "NÆo encontrou+ o registro de parƒmetros do Livro IVA Compras" view-as alert-box.
";" +
        string(tt_erros_api.ttv_des_ajuda)                  
    delete procedure v_hdl_api skip.
end.

output stream s1 close.
output 
endstream s2 close.
output stream s3 close.




Parâmetros de Saída


No caso do retorno ser NOK, todos os erros encontrados serão retornados na tabela Temp-Table tt_erros_api:

A tt-erros é uma tabela de retorno de dados referentes aos erros encontrados na manipulação  dos dados das tabelas de entrada. A tt-erros retorna dados por meio de um registro contendo o código do erro e a sua descrição.

Obs.: Depois da chamada feita à API é imprescindível tratar os erros retornados caso existam.

TEMP-TABLE tt_erros_api

Atributo

Tipo

Formato

Valor Inicial

ttv_num_erro

Integer



ttv_des_mensagem

Character



ttv_des_ajuda

Character



ttv_row_id

Rowid



Atributo

Descrição

ttv_num_erro

Número do erro. Sequencial dentro da temp-table.

ttv_des_mensagem

Descrição do erro.

ttv_des_ajuda

Descrição ajuda.

ttv_row_id

Rowid.

Documento Traduzido