Professional Documents
Culture Documents
"Verifica se o flag de AP ou de AR
IF ch_ap IS NOT INITIAL OR
ch_ar IS NOT INITIAL.
"Seleciona dados em comum a AP e AR
PERFORM f_seleciona_dados_comum.
ENDIF.
ELSE.
"Tabelas internas
DATA t_bsak_aux LIKE t_bsak.
"Diferencia o mdulo
LOOP AT t_bsak INTO wa_bsak.
wa_bsad_k-modulo = 'AP'.
ENDLOOP.
t_bsak_aux[] = t_bsak[].
SORT t_bsak_aux BY lifnr.
DELETE ADJACENT DUPLICATES FROM t_bsak_aux
COMPARING lifnr.
"Dados do CNPJ
SELECT partner taxnum
FROM dfkkbptaxnum
APPENDING TABLE t_cnpj
FOR ALL ENTRIES IN t_bsak_aux
WHERE partner EQ t_bsak_aux-lifnr.
ELSE.
IF ch_ar IS INITIAL AND ch_trm IS INITIAL.
MESSAGE i009 WITH text-070. "No foi encontrada nenhuma movimentao
financeira para os parmetros selecionados.
ENDIF.
ENDIF.
ENDFORM. " F_SELECIONA_AP
*&---------------------------------------------------------------------*
*& Form F_SELECIONA_AR
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_seleciona_ar .
"Tabelas internas
DATA t_bsad_aux LIKE t_bsad.
"Diferencia o mdulo
LOOP AT t_bsad INTO wa_bsad.
wa_bsad_k-modulo = 'AR'.
ENDLOOP.
t_bsad_aux[] = t_bsad[].
SORT t_bsad_aux BY kunnr.
DELETE ADJACENT DUPLICATES FROM t_bsad_aux
COMPARING kunnr.
"Dados do CNPJ
SELECT partner taxnum
FROM dfkkbptaxnum
APPENDING TABLE t_cnpj
FOR ALL ENTRIES IN t_bsad_aux
WHERE partner EQ t_bsad_aux-kunnr.
ELSE.
IF ch_ap IS INITIAL AND ch_ar IS INITIAL.
MESSAGE i009 WITH text-070. "No foi encontrada nenhuma movimentao
financeira para os parmetros selecionados.
ENDIF.
ENDIF.
"Variveis locais
DATA vl_tabix TYPE sy-tabix.
"Tabelas internas
DATA: t_payrq_aux TYPE TABLE OF y_payrq,
t_bkpf_trm TYPE TABLE OF y_bkpf.
"Ordens de pagamento
SELECT keyno zbukr bukrs belnr buzei gjahr dmbtr
wrbtr parno hkont sgtxt augdt augbl vertn
FROM payrq
INTO CORRESPONDING FIELDS OF TABLE t_payrq
WHERE bukrs IN s_bukrs
AND belnr IN s_belnr
AND zbkon IN s_zbkon
AND zbkon IN s_zbkon
AND augbl NE space
AND xreve EQ space.
* t_payrq_aux[] = t_payrq[].
* SORT t_payrq_aux BY vertn.
* DELETE ADJACENT DUPLICATES FROM t_payrq_aux
* COMPARING vertn.
* wa_payrq-bukrs = wa_bkpf-bvorg+10(4).
* wa_bsas_comp-belnr = wa_bkpf-bvorg(10).
* CONCATENATE '20' wa_bkpf-bvorg+14(2) INTO wa_bsas_comp-gjahr.
ELSE.
ENDIF.
ENDLOOP.
ELSE.
IF ch_ar IS INITIAL AND ch_ap IS INITIAL.
MESSAGE i009 WITH text-070. "No foi encontrada nenhuma movimentao
financeira para os parmetros selecionados.
ENDIF.
ENDIF.
"Declarao de ranges
RANGES: r_modal FOR zfi_t_spbmodal-cod_mod ,
r_camara FOR zfi_t_spbcamara-cod_camara ,
r_tpagto FOR zfi_t_spbpagto-cod_tp_pagto ,
r_blart FOR t003t-blart .
"Monta o range de AP e AR
LOOP AT t_bsad_k INTO wa_bsad_k.
r_modal-low = wa_bsad_k-zzmod .
r_camara-low = wa_bsad_k-zzcamara .
r_tpagto-low = wa_bsad_k-zzpagto .
r_blart-low = wa_bsad_k-blart .
COLLECT: r_modal ,
r_camara ,
r_tpagto ,
r_blart .
ENDLOOP.
"Descrio Cmara
SELECT cod_camara nome_camara
FROM zfi_t_spbcamara
INTO TABLE t_cam
WHERE cod_camara IN r_camara.
ENDIF.
ENDIF.
ENDIF.
"Variveis locais
DATA: vl_tabix TYPE sy-tabix,
vl_bvorg TYPE bvorg.
"Tabelas internas
DATA: t_bkpf_comp_int TYPE TABLE OF y_bkpf.
"Work Areas
DATA: wa_t042 TYPE y_t042,
wa_bkpf TYPE y_bkpf,
wa_bkpf_conc TYPE y_bkpf.
"Declarao de ranges
RANGES rg_shkzg FOR bsas-shkzg.
"Ordena as tabelas
SORT t_bsad_k BY bukrs.
SORT t_t042 BY bukrs.
IF sy-subrc = 0.
wa_bsas_comp-bukrs = wa_bkpf-bvorg+10(4).
wa_bsas_comp-belnr = wa_bkpf-bvorg(10).
CONCATENATE '20' wa_bkpf-bvorg+14(2) INTO wa_bsas_comp-gjahr.
ENDIF.
ELSE.
APPEND wa_bsas_comp TO t_bsas_comp.
ENDIF.
ENDIF.
ENDLOOP.
vl_tabix = sy-tabix.
IF sy-subrc NE 0.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
*&---------------------------------------------------------------------*
*& Form F_VALOR_LIQUIDO
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_WA_PAYRQ_BUKRS text
* -->P_WA_PAYRQ_BELNR text
* -->P_WA_PAYRQ_GJAHR text
* -->P_WA_PAYRQ_BUZEI text
* <--P_WA_ALV_VL_LIQUIDO text
*----------------------------------------------------------------------*
FORM f_valor_liquido USING p_bukrs TYPE bseg-bukrs
p_belnr TYPE bseg-belnr
p_gjahr TYPE bseg-gjahr
p_buzei TYPE bseg-buzei
CHANGING p_val_liq TYPE regup-dmbtr.
CLEAR p_val_liq.
wa_key-bukrs = p_bukrs .
wa_key-belnr = p_belnr .
wa_key-gjahr = p_gjahr .
wa_key-buzei = p_buzei .
IF sy-subrc EQ 0.
p_val_liq = wa_fatura-total_liq.
ENDIF.
PERFORM f_definir_fieldcat.