Home

Línea Datasul

Páginas filhas
  • LUY702ZA - API Generación - Compras

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

generación de

Gráficos

gráficos


Nome

Nombre Físico: prgfin/luy/luy702za.py

Versão Versión de Integraçãointegración: 001

Objetivo: 

Criar o Crear el objeto de negócio negocio que será utilizado para gerar visão de dados na qual permitirá conferir as informações do Listado em detalhe das Compras e exportar no formato desejado.

Pré-requisitos: 

Não se aplica.

se utilizará para generar una visión de datos que permita verificar la información del Listado en detalle de las Compras y exportar en el formato deseado.

Requisito previo: 

No se aplica.


Consideraciones generales


  • Se pasan como parámetros a la API, como Input el mes y el año de la declaración y como Output el archivo con las declaraciones y la tabla temporal de errores.
  • La visualización de la información de la API se realiza a través de la ejecución de la

Considerações Gerais

  • São passados como parâmetros para a API, como Input o mês e o ano da declaração e Output o arquivo com as declarações e temp table de erros.
  • A exibição das informações da API é feita através da execução da API prgfin/luy/luy702za.py.
Parâmetros

Parámetros de

Entrada

entrada 


Temp-table tt-atributos: Na En la Temp-Table tt_dados_formulario, são definidas as características gerais do formulário de apresentação para cumprir com a legislação F2181.se definen las características generales del formulario de presentación para cumplir con la legislación F2181.


Descripción de los Descrição dos campos 

TEMP-TABLE tt_dados_formulario

Atributo

Tipo

Formato

Valor Inicial

Índice

ttv_num_form

Integer


1

sim

ttv_cod_periodo

Character



sim

ttv_cod_docto_pessoa

Character



sim

ttv_cod_dat_emis_docto

Character



sim

ttv_cod_rubr

Character



sim

ttv_val_operac

Decimal




Atributo

DescriçãoDescripción

ttv_num_form

Identifica o el número de formulario da declaraçãode la declaración.

ttv_cod_periodo

Período.

ttv_cod_docto_pessoa

Documento da pessoade la persona.

ttv_cod_dat_emis_docto

Data Fecha de Emissão do emisión del documento.

ttv_cod_rubr

Rubro.

ttv_val_operac

Valor total da operaçãode la operación.



Temp-Table tt_fornec_F2181_apb:Na En la Temp-Table tt_fornec_F2181_apb são definidas informações referidas ao fornecedor do se definen las informaciones relacionadas al proveedor del documento.

TEMP-TABLE tt-points

Atributo

Tipo

Formato

Valor Inicial

Índice

tta_cod_empresa

Character



sim

tta_cdn_fornecedor

Integer


1

sim

tta_nom_pessoa

Character


“”


tta_cod_id_feder

Character




ttv_log_estrang

Character




Atributo

DescriçãoDescripción

tta_cod_empresa

Código da de la empresa.

tta_cdn_fornecedor

Número do fornecedordel proveedor.

tta_nom_pessoa

Nome da pessoaNombre de la persona.

tta_cod_id_feder

Documento.

ttv_log_estrang

É estrangeiro¿Es extranjero?



Temp-Table tt_impostos_F2181_apb:Na En la Temp-Table tt_impostos_F2181_apb são definidos os impostos vinculados aos se definen los impuestos vinculados a los documentos.

 

TEMP-TABLE tt_impostos_F2181_apb

Atributo

Tipo

Formato

Valor Inicial

Índice

tta_cod_estab

Character



sim

tta_num_id_tit_ap

Integer


1

sim

tta_cod_pais

Character



sim

tta_cod_unid_federac

Integer



sim

tta_cod_imposto

Character



sim

tta_ind_tip_impto

Character




tta_ind_clas_impto

Character




tta_ind_tip_tax

Character




ttv_val_base

Decimal




ttv_val_imposto 

Decimal




Atributo

DescriçãoDescripción

tta_cod_estab

Estabelecimento.Sucursal

tta_num_id_tit_ap

Token título.

tta_cod_pais

PaisPaís.

tta_cod_unid_federac

Estado./Provincia/Región

tta_cod_imposto

Imposto.Impuesto

tta_ind_tip_impto

Tipo Imposto.impuesto

tta_ind_clas_impto

Classificação ImpostoClasificación Impuesto.

tta_ind_tip_tax

Tipo TaxaTasa.

ttv_val_base

Valor tributáveltributable.

ttv_val_imposto 

Valor

Imposto.

Impuesto




Temp-Table tt_rubros_F2181_apb:Informações referentes aos rubros dos fornecedores Información relacionada a los rubros de los proveedores.

TEMP-TABLE tt_rubros_F2181_apb

Atributo

Tipo

Formato

Valor Inicial

Índice

ttv_cod_rubr

Character


1

sim

tta_cod_estab

Character



sim

tta_num_id_tit_ap

Integer



sim

ttv_val_operac_rubr 

Decimal


0


Atributo

DescriçãoDescripción

ttv_cod_rubr

Identifica o el código do del Rubro.

tta_cod_estab

Estabelecimento.Sucursal

tta_num_id_tit_ap

Token do del título.

ttv_val_operac_rubr 

Valor total da operação de la operación por rubro.




Temp-table tt_titulo_F2181_apb:

Informações referentes aos

Informaciones relacionadas a los títulos vinculados

na declaração

en la declaración.

TEMP-TABLE tt_titulo_F2181_apb


Atributo

Tipo

Formato

Valor Inicial

Índice primárioprimario

Índice secundáriosecundario

tta_cdn_fornecedor 

Integer



sim


tta_cod_estab

Character



simsim

tta_num_id_tit_ap





sim

tta_cod_espec_docto




sim


tta_cod_ser_docto




sim


tta_cod_tit_ap




sim


tta_cod_parcela




sim


tta_ind_tip_espec_docto






tta_dat_emis_docto






tta_cod_indic_econ






tta_val_origin_tit_ap






ttv_val_iva_basic






ttv_val_iva_min






ttv_val_retenc_iva






ttv_val_isento






Atributo

DescriçãoDescripción

tta_cdn_fornecedor 

Fornecedor do Proveedor del título.

tta_cod_estab

Estabelecimento.Sucursal

tta_num_id_tit_ap

Token do del título.

tta_cod_espec_docto

Espécie.Clase

tta_cod_ser_docto

Série.Serie

tta_cod_tit_ap

Código do del título.

tta_cod_parcela

Parcela.Partida

tta_ind_tip_espec_docto

Tipo de espécie.clase

tta_dat_emis_docto

Data Fecha de emissãoemisión

tta_cod_indic_econ

Moeda.Moneda

tta_val_origin_tit_ap

Valor original do del título.

ttv_val_iva_basic

Valor total IVA Taxa Básica.tasa básica

ttv_val_iva_min

Valor total IVA Taxa Mínima.tasa mínima

ttv_val_retenc_iva

Valor total Retenção Retención IVA.

ttv_val_isento

Valor total Isentoexento.


Execução

Ejecución


SintaxeSintaxis:

Bloco de código
languageruby
RUN prgfin/luy/luy702za.py PERSISTENT SET v_hdl_api (INPUT mes,
                                                     INPUT ano).
RUN pi_obter_detalhes_f2181 IN v_hdl_api (output table tt_fornec_f2181_apb,
                                          output table tt_rubros_F2181_apb,
                                          output table tt_titulo_F2181_apb,
                                          output table tt_impostos_F2181_apb,
                                          output table tt_erros_api).
Bloco de código
languageruby
RUN prgfin/luy/luy702za.py PERSISTENT SET v_hdl_api (INPUT mes,
                                                     INPUT ano).
RUN pi_main_formulario_2181 IN v_hdl_api (output v_des_arquivo,
                                          output table tt_erros_api).

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

Se os dados forem aceitos, a API devolverá as informações para geração do Formulário 2181 quando for chamada a procedure pi_main_formulario_2181 ou devolverá os detalhes dos títulos e impostos, se for chamada a procedure pi_obter_detalhes_f2181.


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

RUN prgfin/luy/luy702za.py PERSISTENT SET v_hdl_api (INPUT 2,
                                                     INPUT 2025).
RUN pi_main_formulario_2181 IN v_hdl_api (output v_des_arquivo,
                                          output table tt_erros_api).
DELETE PROCEDURE v_hdl_api.
Bloco de código
languageruby
def var v_hdl_api as Handle format ">>>>>>9":U no-undo.
def var v_des_arquivo as character no-undo.

RUN prgfin/luy/luy702za.py PERSISTENT SET v_hdl_api (INPUT 2,
                                                     INPUT 2025).
RUN pi_obter_detalhes_f2181 IN v_hdl_api (output table tt_fornec_f2181_apb,
                                          output table tt_rubros_F2181_apb,
                                          output table tt_titulo_F2181_apb,
                                          output table tt_impostos_F2181_apb,
                                          output table tt_erros_api).
DELETE PROCEDURE v_hdl_api.

for each tt_titulo_F2181_apb:
    if not can-find(first tt_impostos_F2181_apb
        where tt_impostos_F2181_apb.tta_cod_estab     = tt_titulo_F2181_apb.tta_cod_estab
          and tt_impostos_F2181_apb.tta_num_id_tit_ap = tt_titulo_F2181_apb.tta_num_id_tit_ap) then
    do:
        create tt_impostos_F2181_apb.
        assign tt_impostos_F2181_apb.tta_cod_estab     = tt_titulo_F2181_apb.tta_cod_estab
               tt_impostos_F2181_apb.tta_num_id_tit_ap = tt_titulo_F2181_apb.tta_num_id_tit_ap.  
    end.
end.

def stream s1.
output stream s1 to C:\tmp\Detalhes_F2181.csv convert target "ISO8859-1".
put stream s1 unformatted "Fornecedor;Nome;Titulo;Rubro;Vl Rubro;Vl Original;Vl Taxa Basica; Vl Taxa Minima;Vl Ret IVA; Vl Isento ; Imposto;Vl Base;Vl Imposto " skip.

for each tt_titulo_F2181_apb,
    each tt_rubros_F2181_apb
    where tt_rubros_F2181_apb.tta_cod_estab     = tt_titulo_F2181_apb.tta_cod_estab
      and tt_rubros_F2181_apb.tta_num_id_tit_ap = tt_titulo_F2181_apb.tta_num_id_tit_ap,    
    first tt_fornec_F2181_apb
    where tt_fornec_F2181_apb.tta_cdn_fornecedor = tt_titulo_F2181_apb.tta_cdn_fornecedor,
    each tt_impostos_F2181_apb
    where tt_impostos_F2181_apb.tta_cod_estab     = tt_titulo_F2181_apb.tta_cod_estab
      and tt_impostos_F2181_apb.tta_num_id_tit_ap = tt_titulo_F2181_apb.tta_num_id_tit_ap:
    
    put stream s1 unformatted
    string(tt_fornec_F2181_apb.tta_cdn_fornecedor)                                      + ";" +
    tt_fornec_F2181_apb.tta_nom_pessoa                                                  + ";" +
    tt_titulo_F2181_apb.tta_cod_estab + '/' +  tt_titulo_F2181_apb.tta_cod_espec_docto  + '/' + 
    tt_titulo_F2181_apb.tta_cod_ser_docto + '/' + tt_titulo_F2181_apb.tta_cod_tit_ap    + '/' + 
    tt_titulo_F2181_apb.tta_cod_parcela                                                 + ";" +
    tt_rubros_F2181_apb.ttv_cod_rubr                                                    + ";" +
    string(tt_rubros_F2181_apb.ttv_val_operac_rubr)                                     + ";" +
    string(tt_titulo_F2181_apb.tta_val_origin_tit_ap)                                   + ";" +
    string(tt_titulo_F2181_apb.ttv_val_iva_basic)                                       + ";" +
    string(tt_titulo_F2181_apb.ttv_val_iva_min)                                         + ";" +
    string(tt_titulo_F2181_apb.ttv_val_retenc_iva)                                      + ";" +       
    string(tt_titulo_F2181_apb.ttv_val_isento)                                          + ";" +   
    tt_impostos_F2181_apb.tta_cod_pais + '/' + tt_impostos_F2181_apb.tta_cod_unid_federac + '/' + 
    tt_impostos_F2181_apb.tta_cod_imposto                                               + ";" +
    string(tt_impostos_F2181_apb.ttv_val_base)                                          + ";" +                                   
    string(tt_impostos_F2181_apb.ttv_val_imposto) 
    skip.  
    
end.
output stream s1 close.





Parâmetros

Parámetros de

Saída

salida


Si el retorno es No caso do retorno ser NOK, todos os erros encontrados serão retornados na tabela los errores encontrados se devolverán en la tabla Temp-Table tt_erros_api:

A La tt-erros é uma tabela de retorno de dados referentes aos erros encontrados na manipulação  dos dados das tabelas es una tabla de devolución de datos relacionados a los errores encontrados en la manipulación de los datos de las tablas de entrada. A tt-erros retorna dados devuelve datos por meio medio de um registro contendo o código do erro e a sua descriçãoun registro que contiene el código del error y su descripción.

Obs.: Depois da chamada feita à API é imprescindível tratar os erros retornados caso existamDespués de hacer la llamada API es imprescindible tratar los errores devueltos si existieran.

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çãoDescripción

ttv_num_erro

Número do erro. Sequencial dentro da del error Secuencia dentro de la temp-table.

ttv_des_mensagem

Descrição do erroDescripción del error.

ttv_des_ajuda

Descrição ajudaDescripción ayuda.

ttv_row_id

Rowid.