* Projeto : GENESIS *
* Programa : ZFI_BAT_MOV_cl *
* Ttulo : Relatrio de batimento de movimentos Claro *
* Autor : Marcio Dutra - RF07-02 - GLOBALHITSS *
* Data : 10/07/2014 *
*----------------------------------------------------------------------*
* Modificaes *
* Data Autor RNSO Descrio *
* ---------- -------- -------------- ------------------------------ *
************************************************************************
*---------------------------------------------------------------------*
* Tabelas *
*---------------------------------------------------------------------*
TABLES: bkpf,
bseg,
zficla015,
zficla011,
zficla005.
*----------------------------------------------------------------------*
*-- Estruturas para impresso do relatrio ALV
*----------------------------------------------------------------------*
TYPE-POOLS: slis.
DATA:
s_layout TYPE slis_layout_alv,
s_sort TYPE slis_t_sortinfo_alv WITH HEADER LINE,
s_fieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE,
s_print TYPE slis_print_alv,
s_variante LIKE disvariant.
*---------------------------------------------------------------------*
* VARIAVEIS *
*---------------------------------------------------------------------*
TYPES:
BEGIN OF ty_alv,
END OF ty_alv.
END OF ty_zficla015.
END OF ty_bseg.
"begin_of_block 1.
SELECTION-SCREEN:
BEGIN OF BLOCK b1 WITH FRAME TITLE text-101.
"begin_of_block 2.
SELECTION-SCREEN:
BEGIN OF BLOCK b2 WITH FRAME TITLE text-111.
*---------------------------------------------------------------------*
* FELDSYMBOLE *
*---------------------------------------------------------------------*
FIELD-SYMBOLS: <f1>.
*---------------------------------------------------------------------*
* INITIALIZATION *
*---------------------------------------------------------------------*
INITIALIZATION.
AT SELECTION-SCREEN.
AT SELECTION-SCREEN ON pa_vari.
IF ti_zficla015 IS INITIAL.
ENDIF.
IF x_aisel2 = 'X'.
IF ti_alv IS INITIAL.
MESSAGE s044(zficla).
EXIT.
ENDIF.
ENDIF.
* Monta ALV.
*********************************************************************
PERFORM preenche_s_print.
PERFORM preenche_s_layout.
PERFORM preenche_s_sort.
PERFORM preenche_s_fieldcat.
PERFORM exibe_alv.
***********************************************************************
*---------------------------------------------------------------------*
* END-OF-SELECTION *
*---------------------------------------------------------------------*
END-OF-SELECTION.
*&---------------------------------------------------------------------*
*& Form BUSCA_CONTA_ALTERNATIVA
*&---------------------------------------------------------------------*
FORM busca_conta_alternativa CHANGING p_ti_zficla15 TYPE STANDARD TABLE.
SELECT bukrs
gjahr
monat
budat
bldat
blart
belnr
buzei
saknr
lokkt
dmbtr
shkzg
bupla
vbund
aufnr
kostl
zcpudt
cputm
nomearq
INTO CORRESPONDING FIELDS OF TABLE p_ti_zficla15
FROM zficla015
WHERE bukrs = p_bukrs AND
gjahr IN so_gjahr AND
monat IN so_monat AND
budat IN so_budat AND
belnr IN so_belnr AND
saknr IN so_saknr.
*&---------------------------------------------------------------------*
*& Form BUSCA_BKPF_BSEG
*&---------------------------------------------------------------------*
FORM busca_bkpf_bseg CHANGING p_ti_bseg TYPE STANDARD TABLE.
REFRESH p_ti_bseg.
SELECT SINGLE * FROM zficla005
WHERE bukrs = p_bukrs.
IF sy-subrc = 0.
IF sy-subrc = 0.
IF sy-subrc = 0.
IF sy-subrc = 0.
SELECT bukrs gjahr belnr buzei hkont lokkt dmbtr shkzg bupla vbund aufnr
kostl
INTO CORRESPONDING FIELDS OF TABLE p_ti_bseg
FROM bseg FOR ALL ENTRIES IN ti_bkpf
WHERE bukrs = ti_bkpf-bukrs AND
belnr = ti_bkpf-belnr AND
gjahr = ti_bkpf-gjahr AND
hkont IN so_saknr.
IF sy-subrc = 0.
IF sy-subrc = 0.
MODIFY ti_bseg
FROM wa_bseg
TRANSPORTING budat bldat blart.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
*&---------------------------------------------------------------------*
*& Form SELECIONA_DADOS
*&---------------------------------------------------------------------*
FORM seleciona_dados CHANGING p_ti_alv TYPE STANDARD TABLE.
CLEAR wa_alv.
vl_index = sy-tabix.
IF sy-subrc = 0.
ELSE.
APPEND wa_alv TO ti_alv.
ENDIF.
* ---------- CCampbell ----- end ----- 25.07.2015
ENDLOOP.
CLEAR wa_alv.
IF sy-subrc <> 0.
PERFORM monta_dados_bseg CHANGING wa_bseg wa_alv.
ENDIF.
ENDLOOP.
*&---------------------------------------------------------------------*
*& Form variant_f4_help
*&---------------------------------------------------------------------*
FORM variant_f4_help CHANGING p_p_vari TYPE disvariant-variant.
s_variante-report = sy-repid.
IF sy-subrc = 2.
MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
p_p_vari = s_variante-variant.
ENDIF.
*&---------------------------------------------------------------------*
*& Form check_variant_existance
*&---------------------------------------------------------------------*
* This will check for the variant existance ..
*----------------------------------------------------------------------*
FORM check_variant_existance USING p_p_vari TYPE disvariant-variant.
s_variante-variant = p_p_vari.
s_variante-report = sy-repid.
IF sy-subrc = 2.
MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDIF.
*&---------------------------------------------------------------------*
*& Form MONTA_DADOS_ZFICLA015
*&---------------------------------------------------------------------*
FORM monta_dados_zficla015 CHANGING p_wa_zficla015 STRUCTURE wa_zficla015
p_wa_alv STRUCTURE wa_alv.
*&---------------------------------------------------------------------*
*& Form MONTA_DADOS_BSEG
*&---------------------------------------------------------------------*
FORM monta_dados_bseg CHANGING p_wa_bseg STRUCTURE wa_bseg
p_wa_alv STRUCTURE wa_alv.
*&---------------------------------------------------------------------*
**& Form ALV_INIT_VARIANTE
**&---------------------------------------------------------------------*
FORM alv_init_variante USING p_p_varia TYPE disvariant-variant.
CLEAR: s_variante.
s_variante-report = sy-repid.
IF sy-subrc = 0.
p_p_varia = s_variante-variant.
ENDIF.
*&---------------------------------------------------------------------*
*& Form YS_LIST
*&---------------------------------------------------------------------*
FORM exibe_alv .
s_sort-fieldname = 'DMBTR'.
s_sort-tabname = 'TI_ALV'.
s_sort-up = 'X'.
APPEND s_sort.
wa_repid = sy-repid.
*&---------------------------------------------------------------------*
*& Form YS_PREENCHE_S_LAYOUT
*&---------------------------------------------------------------------*
FORM preenche_s_layout .
s_layout-get_selinfos = 'X'.
s_layout-detail_popup = 'X'.
s_layout-detail_initial_lines = 'X'.
s_layout-zebra = 'X'.
s_layout-colwidth_optimize = 'X'.
s_layout-cell_merge = 'X'.
s_layout-box_fieldname = 'FLAGX'.
*&---------------------------------------------------------------------*
*& Form YS_PREENCHE_S_SORT
*&---------------------------------------------------------------------*
FORM preenche_s_sort .
* s_sort-up = 'X'.
* s_sort-fieldname = 'BANFN'.
* s_sort-tabname = 'TI_ALV'.
* s_sort-spos = '1'.
*
* APPEND s_sort.
*&---------------------------------------------------------------------*
*& Form YS_PREENCHE_S_FIELDCAT
*&---------------------------------------------------------------------*
FORM preenche_s_fieldcat .
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'BUKRS'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Empresa'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'GJAHR'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Ano'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'MONAT'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Perodo'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'BUDAT'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Data de Lanamento'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'BUDATB'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Dt.Lto BKPF'.
* s_fieldcat-ref_tabname = 'BSEG'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'BLDAT'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Data no documento'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'BLDATB'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Data no documento BKPF'.
* s_fieldcat-ref_tabname = 'BSEG'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'BLART'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Tipo de documento'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'BLARTB'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Tipo de documento BKPF'.
* s_fieldcat-ref_tabname = 'BSEG'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'BELNR'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'N documento contbil'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'BELNRB'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'N documento contbil BSEG'.
* s_fieldcat-ref_tabname = 'BSEG'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'BUZEI'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'N linha doc. contbil'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'BUZEIB'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'N linha doc. contbil BSEG'.
* s_fieldcat-ref_tabname = 'BSEG'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'SAKNR'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'N conta do Razo '.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'HKOUT'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'N conta do Razo BSEG'.
* s_fieldcat-ref_tabname = 'BSEG'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'LOKKT'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'N conta alternativo'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'LOKKTB'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'N conta alternativo BSEG'.
* s_fieldcat-ref_tabname = 'BSEG'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'DMBTR'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Montante em moeda interna '.
s_fieldcat-do_sum = 'X'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'DMBTRB'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Montante em moeda interna BSEG'.
s_fieldcat-do_sum = 'X'.
* s_fieldcat-ref_tabname = 'BSEG'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'SHKZG'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Cdigo dbito/crdito'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'SHKZGB'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Cdigo dbito/crdito BSEG'.
* s_fieldcat-ref_tabname = 'BSEG'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'BUPLA'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Local de negcios '.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'BUPLAB'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Local de negcios BSEG'.
* s_fieldcat-ref_tabname = 'BSEG'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'VBUND'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'N sociedade parceira'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'VBUNDB'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'N sociedade parceira BSEG'.
* s_fieldcat-ref_tabname = 'BSEG'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'AUFNR'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'N ordem '.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'AUFNRB'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'N ordem BSEG'.
* s_fieldcat-ref_tabname = 'BSEG'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'KOSTL'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Centro de custo '.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'KOSTLB'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Centro de custo BSEG'.
* s_fieldcat-ref_tabname = 'BSEG'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'ZDMBTR'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Diferena '.
s_fieldcat-do_sum = 'X'.
* s_fieldcat-ref_tabname = 'BSEG'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'ZCPUDT'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Data da entrada doc. contbil'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'CPUTM'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Hora da entrada'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
CLEAR s_fieldcat.
s_fieldcat-fieldname = 'NOMEARQ'.
s_fieldcat-tabname = 'TI_ALV'.
s_fieldcat-seltext_l = 'Nome do arquivo'.
* s_fieldcat-ref_tabname = 'ZFICLA015'.
APPEND s_fieldcat.
*&---------------------------------------------------------------------*
*& Form PREENCHE_S_PRINT
*&---------------------------------------------------------------------*
FORM preenche_s_print .
s_print-no_print_selinfos = 'N'.
s_print-no_print_listinfos = 'N'.
*&---------------------------------------------------------------------*
*& Form TOP_OF_PAGE
*&---------------------------------------------------------------------*
FORM top_of_page.
w_listheader-typ = 'H'.
w_listheader-info = 'RELATRIO DE BATIMENTO DE MOVIMENTOS CLARO'.
APPEND w_listheader TO gt_listheader.
*********************************************************************
* Data
*********************************************************************
w_listheader-typ = 'S'.
WRITE sy-datum TO w_listheader-info MM/DD/YYYY.
CONCATENATE 'Data:' w_listheader-info INTO w_listheader-info SEPARATED BY space.
APPEND w_listheader TO gt_listheader.
*********************************************************************
* Hora
*********************************************************************
w_listheader-typ = 'S'.
WRITE sy-uzeit USING EDIT MASK '__:__:__' TO w_listheader-info .
* write sy-uzeit to w_listheader-info mm/dd/yyyy.
CONCATENATE 'Hora:' w_listheader-info INTO w_listheader-info SEPARATED BY space.
APPEND w_listheader TO gt_listheader.
**********************************************************************
** Usurio
**********************************************************************
* w_listheader-typ = 'S'.
* write sy-uname to w_listheader-info mm/dd/yyyy.
* concatenate 'Usurio:' w_listheader-info into w_listheader-info separated by
space.
* append w_listheader to gt_listheader.
*&---------------------------------------------------------------------*
*& Form PROC_USER_COMMAND
*&---------------------------------------------------------------------*
FORM proc_user_command USING p_ucomm TYPE sy-ucomm
p_sel TYPE slis_selfield.
CASE p_ucomm.
WHEN '&IC1'.
WHEN '&F3'.
LEAVE TO SCREEN 0.
WHEN OTHERS.
ENDCASE.
* p_sel-before_action = 'X'.
* p_sel-refresh = 'X'.