Documento de API
Produto: | Datasul |
Ocorrência: | Documentação de API |
Nome Físico | prgfin/mgl/mgl204zi |
Objetivo
Retornar os dados gerados no demonstrativo contábil financeiro.
Parâmetros
Parâmetro | Descrição |
p_num_vers_integr_api | Será utilizado para determinar se o programa que está chamando está íntegro com as definições correntes da API, neste caso é 1. |
tt_prefer_demonst_ctbl_1
| Tabela temporária que conterá os dados das preferências para geração do demonstrativo(s) contábil(eis). |
tt_conjto_prefer_demonst | Tabela temporária que conterá os dados dos conjuntos das preferências para geração do(s) demonstrativo(s) contábil(eis). |
tt_retorno_demonst | Tabela temporária que compõe os dados do cabeçalho do(s) demonstrativo(s) contábil(eis) gerado(s). |
tt_retorno_demonst_lin | Tabela temporária que conterá os dados das linhas a serem impressas no(s) demonstrativo(s) contábil(eis) gerado(s). |
tt_erros_api_demonst_lote | Tabela temporária que conterá os erros ocorridos na execução da API Demonstrativo. |
Funcionamento
A API api_demonst_ctbl_fin_1 deve ser executada de forma persistente.
Primeiro executa-se a API para persistir ela, sem passagem de parâmetros. Após isto, realiza-se a chamada através de um comando RUN sobre a procedure pi_main_api_demonst_ctbl_fin, passando-se as temp-tables tt_prefer_demonst_ctbl_1 e tt_conjto_prefer_demonst carregadas com as informações necessárias.
A sintaxe para a chamada da API é:
define variable v_hdl_demonst_ctbl_1 as handle no-undo.
run prgfin/mgl/mgl204zj.py persistent set v_hdl_demonst_ctbl_1.
run pi_main_api_demonst_ctbl_fin in v_hdl_demonst_ctbl_1
(input 1,
input table tt_prefer_demonst_ctbl_1,
input table tt_conjto_prefer_demonst,
output table tt_retorno_demonst,
output table tt_retorno_demonst_lin,
output table tt_erros_api_demonst_lote).
delete procedure v_hdl_demonst_ctbl_1.
Tabelas Temporárias
Nos atributos das tabelas temporárias de entrada e saída:
Tabela Temporária | Descrição | Entrada/Saída |
tt_prefer_demonst_ctbl_1 | Temp-table passada por parâmetro que contém os dados da preferência do demonstrativo contábil. | Entrada
|
(*) A partir da 5.07A o estabelecimento passa a ter cinco dígitos.
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
tta_cod_usuario | Character | “X(12)” | Usuário que está gerando o demonstrativo. | Sim |
|
tta_cod_demonst_ctbl | Character | “X(8)” | Código do Demonstrativo Contábil. | Sim |
|
tta_cod_padr_col_demonst_ctbl | Character | “X(8)” | Padrão de Colunas do Demonstrativo. Ex.: Anual. | Sim |
|
tta_cod_exerc_ctbl | Character | “9999” | Exercício Contábil. | Sim |
|
tta_num_period_ctbl | Integer | >>9 | Período Contábil. | Sim |
|
tta_val_fator_div_demonst_ctbl | Decimal | >>,>>>,>>>,>>9.99 | Fator de Divisão. | Sim |
|
tta_log_consid_apurac_restdo | Logical | “Sim/Não” | Verifica se considera apuração no demonstrativo. | Sim |
|
tta_log_impr_cta_sem_sdo | Logical | “Sim/Não” | Verifica se inclui contas sem saldo no demonstrativo. | Sim |
|
ttv_log_impr_acum_zero | Logical | “Sim/Não” | Verifica se imprime saldo acumulado zerado no demonstrativo. | Sim |
|
tta_cod_idioma | Character | “X(8)” | Código do Idioma em que será apresentado o demonstrativo. | Sim |
|
tta_log_acum_cta_ctbl_sint | Logical | “Sim/Não” | Verifica se acumula conta contábil sintética. | Sim |
|
tta_log_unid_organ_subst | Logical | “Sim/Não” | Verifica se utiliza unidade organizacional substituição | Não |
|
tta_log_unid_negoc_subst | Logical | “Sim/Não” | Verifica se utiliza unidade de negócio substituição. | Não |
|
tta_log_estab_subst | Logical | “Sim/Não” | Verifica se utiliza estabelecimento substituição. | Não |
|
tta_log_ccusto_subst | Logical | “Sim/Não” | Verifica se utiliza centro de custo substituição. | Não |
|
tta_cod_unid_organ_subst | Character | “X(3)” | Código da unidade organizacional substituição. | Não |
|
tta_cod_unid_negoc_inic_subst | Character | “X(3)” | Código Inicial da unidade de negócio substituição. | Não |
|
tta_cod_unid_negoc_fim_subst | Caracter | “X(3)” | Código Final da unidade de negócio substituição. | Não |
|
tta_cod_estab_inic_subst | Character | “X(3)” / “X(5)*” | Código Inicial do estabelecimento substituição. | Não |
|
tta_cod_estab_fim _subst | Character | “X(3)” / “X(5)*” | Código Final do estabelecimento substituição. | Não |
|
tta_cod_ccusto_inic_subst | Character | “X(11)” | Código Inicial do centro de custo substituição. | Não |
|
tta_cod_ccusto_fim_subst | Character | “X(11)’ | Código Final do centro de custo substituição. | Não |
|
tta_cod_ccusto_pfixa_subst | Character | “X(11)” | Parte fixa do centro de custo substituição. | Não |
|
tta_cod_ccusto_exec_subst | Character | “X(11)” | Centro de Custo exceção substituição. | Não |
|
tta_cod_plano_ccusto_subst | Character | “X(8)” | Código do plano de centro de custos substituição | Não |
|
ttv_cod_carac_lim | Character | “X(1)” | Caracter Delimitador | Não |
|
ttv_log_impr_col_sem_sdo | Logical | “Sim/Não” | Indica se serão impressas colunas onde todos os valores são iguais a zero | Não | Sim |
def temp-table tt_prefer_demonst_ctbl_1 no-undo
field tta_cod_usuario as character format "x(12)" label "Usuário" column-label "Usuário"
field tta_cod_demonst_ctbl as character format "x(8)" label "Demonstrativo" column-label "Demonstrativo"
field tta_cod_padr_col_demonst_ctbl as character format "x(8)" label "Padrão Colunas" column-label "Coluna Demonstrativo"
field tta_cod_exerc_ctbl as character format "9999" label "Exercício Contábil" column-label "Exercício Contábil"
field tta_num_period_ctbl as integer format ">99" initial 0 label "Período Contábil" column-label "Período"
field tta_val_fator_div_demonst_ctbl as decimal format "->>,>>>,>>>,>>9.99" decimals 2 initial 0 label "Fator Divisão" column-label "Fator Divisão"
field tta_log_consid_apurac_restdo as logical format "Sim/Não" initial no label "Considera Apuração" column-label "Considera Apuração"
field tta_log_impr_cta_sem_sdo as logical format "Sim/Não" initial no label "Contas sem Saldo" column-label "Conta Sem Saldo"
field ttv_log_impr_acum_zero as logical format "Sim/Não" initial no label "Impr Acum Zerado"
field tta_cod_idioma as character format "x(8)" label "Idioma" column-label "Idioma"
field tta_log_acum_cta_ctbl_sint as logical format "Sim/Não" initial no label "Acum Cta Sintética" column-label "Acum Cta Sintética"
field tta_log_unid_organ_subst as logical format "Sim/Não" initial no label "Unidade Organizacion" column-label "Unidade Organizacion"
field tta_log_unid_negoc_subst as logical format "Sim/Não" initial no label "UN Substituição" column-label "UN Substituição"
field tta_log_estab_subst as logical format "Sim/Não" initial no label "Estab Substituição" column-label "Estab Substituição"
field tta_log_ccusto_subst as logical format "Sim/Não" initial no label "Centro de custo Subs" column-label "Centro de custo Subs"
field tta_cod_unid_organ_subst as character format "x(3)" label "UO Substituição" column-label "UO Substituição"
field tta_cod_unid_negoc_inic_subst as character format "x(3)" label "UN Subst Inicial" column-label "UN Subst Inicial"
field tta_cod_unid_negoc_fim_subst as character format "x(38)" label "UN Subst Fim" column-label "UN Subst Fim"
field tta_cod_estab_inic_subst as character format "x(3)" label "Estab Subst Inic" column-label "Estab Subst Inic"
field tta_cod_estab_fim_subst as character format "x(3)" label "Estab Subst Fim" column-label "Estab Subst Fim"
field tta_cod_ccusto_inic_subst as character format "x(11)" label "CCusto Subst Inic" column-label "CCusto Subst Inic"
field tta_cod_ccusto_fim_subst as character format "x(11)" label "Ccusto Subst Fim" column-label "Ccusto Subst Fim"
field tta_cod_ccusto_pfixa_subst as character format "x(11)" label "Ccusto PFixa Subst" column-label "Ccusto PFixa Subst"
field tta_cod_ccusto_exec_subst as character format "x(11)" label "Ccusto Exec Subst" column-label "Ccusto Exec Subst"
field tta_cod_plano_ccusto_subst as character format "x(8)" label "Plano Ccusto Subst" column-label "Plano Ccusto Subst"
field ttv_cod_carac_lim as character format "x(1)" initial ";" label "Caracter Delimitador"
field ttv_log_impr_col_sem_sdo as logical format "Sim/Não" initial yes label "Impr Coluna Sem Sdo"
index tt_prefer_demonst
tta_cod_demonst_ctbl ascending
index tt_prefer_id is primary unique
tta_cod_usuario ascending
tta_cod_demonst_ctbl ascending
tta_cod_padr_col_demonst_ctbl ascending
index tt_prefer_padr_col
tta_cod_padr_col_demonst_ctbl ascending.
Tabela Temporária | Descrição | Entrada/Saída |
tt_conjto_prefer_demonst | Temp-table passada por parâmetro que contém o conjunto de preferências do demonstrativo contábil. | Entrada |
(*) A partir da 5.07A o estabelecimento passa a ter cinco dígitos.
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
tta_cod_usuario | Caracter | “X(12)” | Usuário que está gerando o demonstrativo. | Sim |
|
tta_cod_demonst_ctbl | Caracter | “X(8)” | Código do Demonstrativo Contábil. | Sim |
|
tta_cod_padr_col_demonst_ctbl | Caracter | “X(8)” | Padrão de Colunas do Demonstrativo. Ex.: Anual. | Sim |
|
tta_num_conjto_param_ctbl | Integer | >9 | Número do Conjunto de Parâmetros. | Sim |
|
tta_cod_cenar_ctbl | Caracter | “X(8)” | Tipo de Cenário Contábil. Ex.: Fiscal. | Sim |
|
tta_cod_finalid_econ | Caracter | “X(10)” | Finalidade Econômica. Ex.: Corrente. | Sim |
|
tta_cod_finalid_econ_apres | Caracter | “X(10)” | Finalidade Econômica de Apresentação. | Sim |
|
tta_dat_cotac_indic_econ | Date | 99/99/9999 | Data de Cotação do Indicador Econômico. | Sim |
|
tta_cod_unid_organ_inic | Caracter | “X(3)” | Unidade Organizacional Inicial. | Não |
|
tta_cod_unid_organ_fim | Caracter | “X(3)” | Unidade Organizacional Final. | Não |
|
tta_cod_estab_inic | Caracter | “X(3)” / “X(5)*” | Estabelecimento Inicial. | Não |
|
tta_cod_estab_fim | Caracter | “X(3)” / “X(5)*” | Estabelecimento Final. | Não |
|
tta_cod_unid_negoc_inic | Caracter | “X(3)” | Unidade de Negócio Inicial. | Não |
|
tta_cod_unid_negoc_fim | Caracter | “X(3)” | Unidade de Negócio Final. | Não |
|
tta_cod_cenar_orctario | Caracter | “X(8)” | Cenário Orçamentário. | Não |
|
tta_cod_unid_orctaria | Caracter | “X(8)” | Unidade Orçamentária. | Não |
|
tta_cod_vers_orcto_ctbl | Caracter | “X(10)” | Versão do Orçamento Contábil. | Não |
|
tta_num_seq_orcto_ctbl | Integer | >>>>>>>>9 | Seqüência do Orçamento Contábil. | Não |
|
tta_val_cotac_indic_econ | Decimal | >>>>,>>9.9999999999 | Valor da Cotação do Indicador Econômico. | Sim |
|
tta_cod_cta_ctbl_inic | Caracter | “X(20)” | Conta Contábil Inicial | Não |
|
tta_cod_cta_ctbl_fim | Caracter | “X(20)” | Conta Contábil Final | Não |
|
tta_cod_cta_ctbl_prefer_pfixa | Caracter | “X(20)” | Conta Contábil da Parte Fixa. | Não |
|
tta_cod_cta_ctbl_prefer_excec | Caracter | “X(20)” | Conta Contábil da Exceção | Não |
|
tta_cod_unid_organ_prefer_inic | Caracter | “X(3)” | Código Inicial da Unidade Organizacional Prefer. | Não |
|
tta_cod_unid_organ_prefer_fim | Caracter | “X(3)” | Código Final da Unidade Organizacional Prefer. | Não |
|
tta_cod_ccusto_inic | Caracter | “X(11)” | Centro de Custo Inicial. | Não |
|
tta_cod_ccusto_fim | Caracter | “X(11)” | Centro de Custo Final. | Não |
|
tta_cod_ccusto_pfixa | Caracter | “X(11)” | Parte Fixa do Centro de Custo. | Não |
|
tta_cod_ccusto_excec | Caracter | “X(11)” | Centro de Custo Exceção. | Não |
|
tta_cod_proj_financ_inicial | Caracter | “X(20)” | Projeto Financeiro Inicial. | Não |
|
tta_cod_proj_financ_fim | Caracter | “X(20)” | Projeto Financeiro Final. | Não |
|
tta_cod_proj_financ_pfixa | Caracter | “X(20)” | Parte Fixa do Projeto Financeiro. | Não |
|
tta_cod_proj_financ_excec | Caracter | “X(20)” | Projeto Financeiro Exceção. | Não |
|
def temp-table tt_conjto_prefer_demonst no-undo
FIELD tta_cod_usuario as character format "x(12)" label "Usuário" column-label "Usuário"
FIELD tta_cod_demonst_ctbl as character format "x(8)" label "Demonstrativo" column-label "Demonstrativo"
FIELD tta_cod_padr_col_demonst_ctbl as character format "x(8)" label "Padrão Colunas" column-label "Coluna Demonstrativo"
FIELD tta_num_conjto_param_ctbl as integer format ">9" initial 1 label "Conjunto Parâmetros" column-label "Conjunto Parâmetros"
FIELD tta_cod_cenar_ctbl as character format "x(8)" label "Cenário Contábil" column-label "Cenário Contábil"
FIELD tta_cod_finalid_econ as character format "x(10)" label "Finalidade" column-label "Finalidade"
FIELD tta_cod_finalid_econ_apres as character format "x(10)" label "Finalid Apresentação" column-label "Finalid Apresent"
FIELD tta_dat_cotac_indic_econ as date format "99/99/9999" initial ? label "Data Cotação" column-label "Data Cotação"
FIELD tta_cod_unid_organ_inic as character format "x(3)" label "UO Inicial" column-label "UO Unicial"
FIELD tta_cod_unid_organ_fim as character format "x(3)" label "UO Final" column-label "UO FInal"
FIELD tta_cod_estab_inic as character format "x(5)" label "Estabelecimento" column-label "Estab Inicial"
FIELD tta_cod_estab_fim as character format "x(5)" label "até" column-label "Estabel Final"
FIELD tta_cod_unid_negoc_inic as character format "x(3)" label "Unid Negoc" column-label "UN Inicial"
FIELD tta_cod_unid_negoc_fim as character format "x(3)" label "até" column-label "UN Final"
FIELD tta_cod_cenar_orctario as character format "x(8)" label "Cenário Orçamentário" column-label "Cenário Orçamen"
FIELD tta_cod_unid_orctaria as character format "x(8)" label "Unid Orçamentária" column-label "Unid Orçamentária"
FIELD tta_cod_vers_orcto_ctbl as character format "x(10)" label "Versão Orçamento" column-label "Versão Orçamento"
FIELD tta_num_seq_orcto_ctbl as integer format ">>>>>>>>9" initial 0 label "Seq Orcto Contábil" column-label "Seq Orcto Contábil"
FIELD tta_val_cotac_indic_econ as decimal format ">>>>,>>9.9999999999" decimals 10 initial 0 label "Cotação" column-label "Cotação"
FIELD tta_cod_cta_ctbl_inic as character format "x(20)" label "Conta Contabil" column-label "Conta Contab Inicial"
FIELD tta_cod_cta_ctbl_fim as character format "x(20)" label "até" column-label "Conta Contábil Final"
FIELD tta_cod_cta_ctbl_prefer_pfixa as character format "x(20)" label "Parte Fixa" column-label "Parte Fixa"
FIELD tta_cod_cta_ctbl_prefer_excec as character format "x(20)" label "Exceção" column-label "Exceção"
FIELD tta_cod_unid_organ_prefer_inic as character format "x(3)" label "UO Prefer Inic" column-label "UO Prefer Inic"
FIELD tta_cod_unid_organ_prefer_fim as character format "x(3)" label "UO Prefer Fim" column-label "UO Prefer Fim"
FIELD tta_cod_ccusto_inic as Character format "x(11)" label "Centro Custo" column-label "Centro Custo Inicial"
FIELD tta_cod_ccusto_fim as Character format "x(11)" label "até" column-label "Centro Custo Final"
FIELD tta_cod_ccusto_pfixa as character format "x(11)" initial "..........." label "Parte Fixa CCusto" column-label "Parte Fixa CCusto"
FIELD tta_cod_ccusto_excec as character format "x(11)" initial "..........." label "Centro Custo Exceção" column-label "Centro Custo Exceção"
FIELD tta_cod_proj_financ_inicial as character format "x(20)" label "Projeto Financ Inic" column-label "Projeto Financ Inic"
FIELD tta_cod_proj_financ_fim as character format "x(20)" label "Projeto Final" column-label "Projeto Final"
FIELD tta_cod_proj_financ_pfixa as character format "x(20)" initial "################################" label "Parte Fixa" column-label "Parte Fixa"
FIELD tta_cod_proj_financ_excec as character format "x(20)" label "Projeto Exceção" column-label "Projeto Exceção"
index tt_conjto_prefer_id is primary unique
tta_cod_usuario ascending
tta_cod_demonst_ctbl ascending
tta_cod_padr_col_demonst_ctbl ascending
tta_num_conjto_param_ctbl ascending.
Tabela Temporária | Descrição | Entrada/Saída |
tt_retorno_demonst | Temp-table que será retornada por parâmetro e que irá guardar os dados do cabeçalho do demonstrativo contábil. | Saída |
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
tta_cod_demonst_ctbl | Caracter | “X(8)” | Código do Demonstrativo Contábil. | Sim |
|
tta_des_tit_ctbl | Caracter | “X(40)” | Descrição do Título Contábil. | Sim |
|
tta_cod_padr_col_demonst_ctbl | Caracter | “X(8)” | Padrão de Colunas do Demonstrativo. Ex.: Anual. | Sim |
|
ttv_des_padr | Caracter | “X(15)” | Descrição do Título do Padrão de Colunas do Demonstrativo Contábil. | Sim |
|
tta_num_seq_demonst_ctbl | Integer | >>>,>>9 | Seqüência do Demonstrativo Contábil. | Sim |
|
ttv_des_label_col | Caracter | “X(40)” | Label da Coluna do Demonstrativo. | Sim |
|
ttv_des_label_sig_indic | Caracter | “X(40)” | Label da Sigla. | Sim |
|
ttv_cod_carac_lim | Caracter | “X(1)” | Caracter Delimitador. | Sim |
|
ttv_des_linha | Caracter | “X(132)” | Dados da Linha do Demonstrativo Contábil. | Sim |
|
ttv_cod_empres_usuar | Caracter | “X(3)” | Código da Empresa em que o usuário está logado. | Sim |
|
ttv_nom_enterprise | Caracter | “X(40)” | Nome da Empresa | Sim |
|
ttv_cod_periodo | Caracter | “X(7)” | Período de geração do demonstrativo | Sim |
|
def temp-table tt_retorno_demonst no-undo
field tta_cod_demonst_ctbl as character format "x(8)" label "Demonstrativo" column-label "Demonstrativo"
field tta_des_tit_ctbl as character format "x(40)" label "Título Contábil" column-label "Título Contábil"
field tta_cod_padr_col_demonst_ctbl as character format "x(8)" label "Padrão Colunas" column-label "Coluna Demonstrativo"
field ttv_des_padr as character format "x(15)" initial "*" label "Pad" column-label "Pad"
field tta_num_seq_demonst_ctbl as integer format ">>>,>>9" initial 0 label "Sequência" column-label "Sequência"
field ttv_des_label_col as character format "x(40)"
field ttv_des_label_sig_indic as character format "x(40)"
field ttv_cod_carac_lim as character format "x(1)" initial ";" label "Caracter Delimitador"
field ttv_des_linha as character format "x(132)"
field ttv_cod_empres_usuar as character format "x(3)" label "Empresa" column-label "Empresa"
field ttv_nom_enterprise as character format "x(40)"
FIELD ttv_cod_periodo AS CHAR FORMAT "x(7)"
index tt_ret_demont_id is primary unique
tta_cod_demonst_ctbl ascending
tta_cod_padr_col_demonst_ctbl ascending
tta_num_seq_demonst_ctbl ascending.
Tabela Temporária | Descrição | Entrada/Saída |
tt_retorno_demonst_lin | Temp-table que será retornada por parâmetro e que irá guardar os dados das linhas a serem impressas no demonstrativo contábil. | Saída |
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
tta_cod_demonst_ctbl | Caracter | “X(8)” | Código do Demonstrativo Contábil. | Sim |
|
tta_cod_padr_col_demonst_ctbl | Caracter | “X(8)” | Padrão de Colunas do Demonstrativo. Ex.: Anual. | Sim |
|
ttv_num_seq_lin | Integer | >>>>,>>9 | Número de Sequência das linhas impressas. | Sim |
|
ttv_des_val_col | Caracter | “X(80)” | Descrição que será impressa em cada coluna. | Sim |
|
def temp-table tt_retorno_demonst_lin no-undo
field tta_cod_demonst_ctbl as character format "x(8)" label "Demonstrativo" column-label "Demonstrativo"
field tta_cod_padr_col_demonst_ctbl as character format "x(8)" label "Padrão Colunas" column-label "Coluna Demonstrativo"
field ttv_num_seq_lin as integer format ">>>>,>>9" label "Sequência" column-label "Sequência"
field ttv_des_val_col as character format "x(80)"
index tt_ret_lin_id is primary unique
tta_cod_demonst_ctbl ascending
tta_cod_padr_col_demonst_ctbl ascending
ttv_num_seq_lin ascending.
Tabela Temporária | Descrição | Entrada/Saída |
tt_erros_api_demonst_lote | Temp-table que será retornada por parâmetro e que irá guardar os erros ocorridos na execução da API. | Saída |
Atributo | Tipo | Formato | Descrição | Obrigatório | Evolução |
tta_cod_demonst_ctbl | Caracter | “X(8)” | Código do Demonstrativo Contábil. | Sim |
|
tta_cod_padr_col_demonst_ctbl | Caracter | “X(8)” | Padrão de Colunas do Demonstrativo. Ex.: Anual. | Sim |
|
ttv_num_erro | Integer | >>>>,>>9 | Número do erro ocorrido. | Sim |
|
ttv_des_msg_erro | Caracter | “X(60)” | Mensagem de Erro. | Sim |
|
ttv_des_msg_ajuda | Caracter | “X(40)” | Mensagem de Ajuda. | Sim |
|
def temp-table tt_erros_api_demonst_lote no-undo
field tta_cod_demonst_ctbl as character format "x(8)" label "Demonstrativo" column-label "Demonstrativo"
field tta_cod_padr_col_demonst_ctbl as character format "x(8)" label "Padrão Colunas" column-label "Coluna Demonstrativo"
field ttv_num_erro as integer format ">>>>,>>9"
field ttv_des_msg_erro as character format "x(60)" label "Mensagem Erro" column-label "Inconsistência"
field ttv_des_msg_ajuda as character format "x(40)" label "Mensagem Ajuda" column-label "Mensagem Ajuda"
index tt_erro_id is primary unique
tta_cod_demonst_ctbl ascending
tta_cod_padr_col_demonst_ctbl ascending
ttv_num_erro ascending.