Anda di halaman 1dari 19

************************************************************************

* 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 *
* ---------- -------- -------------- ------------------------------ *
************************************************************************

REPORT zfi_bat_mov_cl NO STANDARD PAGE HEADING.

*---------------------------------------------------------------------*

* 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 *
*---------------------------------------------------------------------*

DATA: wa_repid LIKE sy-repid.


DATA: wa_n_lines LIKE sy-tabix.

TYPES:

BEGIN OF ty_alv,

bukrs TYPE zficla015-bukrs,


gjahr TYPE zficla015-gjahr,
monat TYPE zficla015-monat,

budat TYPE zficla015-budat,


budatb TYPE zficla015-budat,
bldat TYPE zficla015-bldat,
bldatb TYPE zficla015-bldat,

blart TYPE zficla015-blart,


blartb TYPE zficla015-blart,

belnr TYPE zficla015-belnr,


belnrb TYPE zficla015-belnr,

buzei TYPE zficla015-buzei,


buzeib TYPE zficla015-buzei,

saknr TYPE zficla015-saknr,


hkout TYPE zficla015-saknr,

lokkt TYPE zficla015-lokkt,


lokktb TYPE zficla015-lokkt,

dmbtr TYPE zficla015-dmbtr,


dmbtrb TYPE zficla015-dmbtr,

shkzg TYPE zficla015-shkzg,


shkzgb TYPE zficla015-shkzg,

bupla TYPE zficla015-bupla,


buplab TYPE zficla015-bupla,

vbund TYPE zficla015-vbund,


vbundb TYPE zficla015-vbund,

aufnr TYPE zficla015-aufnr,


aufnrb TYPE zficla015-aufnr,

kostl TYPE zficla015-kostl,


kostlb TYPE zficla015-kostl,

zdmbtr TYPE zficla015-dmbtr,

zcpudt TYPE zficla015-zcpudt,


cputm TYPE zficla015-cputm,
nomearq TYPE zficla015-nomearq,
flagx(01) TYPE c,

END OF ty_alv.

DATA: ti_alv TYPE STANDARD TABLE OF ty_alv.


DATA: wa_alv TYPE ty_alv.
" WITH HEADER LINE.

TYPES: BEGIN OF ty_zficla015 ,

bukrs TYPE zficla015-bukrs ,


gjahr TYPE zficla015-gjahr ,
monat TYPE zficla015-monat,
budat TYPE zficla015-budat,
bldat TYPE zficla015-bldat,
blart TYPE zficla015-blart,
belnr TYPE zficla015-belnr,
buzei TYPE zficla015-buzei,
saknr TYPE zficla015-saknr,
lokkt TYPE zficla015-lokkt,
dmbtr TYPE zficla015-dmbtr,
shkzg TYPE zficla015-shkzg,
bupla TYPE zficla015-bupla,
vbund TYPE zficla015-vbund,
aufnr TYPE zficla015-aufnr,
kostl TYPE zficla015-kostl,
zcpudt TYPE zficla015-zcpudt,
cputm TYPE zficla015-cputm,
nomearq TYPE zficla015-nomearq,

END OF ty_zficla015.

DATA: ti_zficla015 TYPE TABLE OF ty_zficla015.

DATA: wa_zficla015 TYPE ty_zficla015.

TYPES: BEGIN OF ty_bseg ,


bukrs TYPE bseg-bukrs ,
gjahr TYPE bseg-gjahr ,
budat TYPE bkpf-budat,
bldat TYPE bkpf-bldat,
blart TYPE bkpf-blart,
belnr TYPE bseg-belnr,
buzei TYPE bseg-buzei,
hkont TYPE bseg-hkont ,
lokkt TYPE bseg-lokkt,
dmbtr TYPE bseg-dmbtr,
shkzg TYPE bseg-shkzg,
bupla TYPE bseg-bupla,
vbund TYPE bseg-vbund,
aufnr TYPE bseg-aufnr,
kostl TYPE bseg-kostl,

END OF ty_bseg.

DATA: ti_bseg TYPE TABLE OF ty_bseg.

DATA: wa_bseg TYPE ty_bseg.

TYPES: BEGIN OF ty_bkpf ,


bukrs TYPE bkpf-bukrs ,
belnr TYPE bkpf-belnr ,
gjahr TYPE bkpf-gjahr ,
blart TYPE bkpf-blart ,
bldat TYPE bkpf-bldat ,
budat TYPE bkpf-budat ,
monat TYPE bkpf-monat ,
cpudt TYPE bkpf-cpudt ,
cputm TYPE bkpf-cputm ,
END OF ty_bkpf .

DATA: ti_bkpf TYPE TABLE OF ty_bkpf.

DATA: wa_bkpf TYPE ty_bkpf.


*eject
*---------------------------------------------------------------------*
* PARAMETERS UND SELECT-OPTIONS *
*---------------------------------------------------------------------*

"begin_of_block 1.
SELECTION-SCREEN:
BEGIN OF BLOCK b1 WITH FRAME TITLE text-101.

PARAMETERS: p_bukrs LIKE zficla015-bukrs OBLIGATORY.


SELECT-OPTIONS so_gjahr FOR zficla015-gjahr OBLIGATORY.
SELECT-OPTIONS so_monat FOR zficla015-monat OBLIGATORY.
SELECT-OPTIONS so_budat FOR zficla015-budat.
SELECT-OPTIONS so_belnr FOR zficla015-belnr.
SELECT-OPTIONS so_saknr FOR bseg-hkont.

SELECTION-SCREEN END OF BLOCK b1.

"begin_of_block 2.
SELECTION-SCREEN:
BEGIN OF BLOCK b2 WITH FRAME TITLE text-111.

PARAMETERS: pa_vari TYPE disvariant-variant,


pa_nmax LIKE itemset-nmax,
x_aisel1 LIKE itemset-xaisel RADIOBUTTON GROUP rad1, " exibe tudo
x_aisel2 LIKE itemset-xaisel RADIOBUTTON GROUP rad1. " exibe somente
diferenas

SELECTION-SCREEN END OF BLOCK b2.

*---------------------------------------------------------------------*
* FELDSYMBOLE *
*---------------------------------------------------------------------*
FIELD-SYMBOLS: <f1>.

*---------------------------------------------------------------------*
* INITIALIZATION *
*---------------------------------------------------------------------*
INITIALIZATION.

PERFORM alv_init_variante USING pa_vari.

AT SELECTION-SCREEN.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR pa_vari.

PERFORM variant_f4_help CHANGING pa_vari.

AT SELECTION-SCREEN ON pa_vari.

* Check for the variant ..


PERFORM check_variant_existance CHANGING pa_vari.
*---------------------------------------------------------------------*
* START-OF-SELECTION *
*---------------------------------------------------------------------*
START-OF-SELECTION.

PERFORM busca_conta_alternativa CHANGING ti_zficla015.

IF ti_zficla015 IS INITIAL.

IF x_aisel1 = 'X'. " CCampbell --- em 25.07.2014


MESSAGE s043(zficla).
EXIT.
ENDIF.
ELSE.

DESCRIBE TABLE ti_zficla015 LINES wa_n_lines.


IF pa_nmax > 0 AND wa_n_lines GE pa_nmax.
MESSAGE s045(zficla) WITH pa_nmax..
EXIT.
ENDIF.

ENDIF.

PERFORM busca_bkpf_bseg CHANGING ti_bseg.

SORT ti_zficla015 BY bukrs gjahr belnr buzei ASCENDING.


SORT ti_bseg BY bukrs gjahr belnr buzei ASCENDING.
PERFORM seleciona_dados CHANGING ti_alv.

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.

ENDFORM. " BUSCA_CONTA_ALTERNATIVA

*&---------------------------------------------------------------------*
*& Form BUSCA_BKPF_BSEG
*&---------------------------------------------------------------------*
FORM busca_bkpf_bseg CHANGING p_ti_bseg TYPE STANDARD TABLE.

DATA: wa_cputm1 TYPE zficla011-cputm.

TYPES: BEGIN OF ty_zficla011 ,


cpudt TYPE zficla011-cpudt ,
cputm TYPE zficla011-cputm ,
END OF ty_zficla011 .

DATA: ti_zficla011 TYPE TABLE OF ty_zficla011.

DATA: wa_zficla011 TYPE ty_zficla011.

*---------- CCampbell ----- start ----- 25.07.2024


DATA: c_msg1(67) TYPE c VALUE 'Processamento no ser executado pois no foi
processado nenhum JOB',
c_msg2(67) TYPE c VALUE 'para o movimento'.
*---------- CCampbell ----- end ----- 25.07.2024

REFRESH p_ti_bseg.
SELECT SINGLE * FROM zficla005
WHERE bukrs = p_bukrs.

IF sy-subrc = 0.

SELECT cpudt cputm


INTO CORRESPONDING FIELDS OF TABLE ti_zficla011
FROM zficla011.

IF sy-subrc = 0.

SORT ti_zficla011 BY cpudt DESCENDING


cputm DESCENDING.

READ TABLE ti_zficla011 INTO wa_zficla011 INDEX 1.

IF sy-subrc = 0.

SELECT bukrs belnr gjahr blart bldat budat monat


cpudt cputm
INTO CORRESPONDING FIELDS OF TABLE ti_bkpf
FROM bkpf

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
bstat = ' ' AND
( cpudt BETWEEN zficla005-budat AND wa_zficla011-cpudt ).

*---------- CCampbell ----- start ----- 25.07.2024

** ( cputm BETWEEN wa_cputm1 AND wa_zficla011-cputm ).

LOOP AT ti_bkpf INTO wa_bkpf.


IF wa_bkpf-cpudt = wa_zficla011-cpudt.
IF wa_bkpf-cputm > wa_zficla011-cputm.
DELETE ti_bkpf INDEX sy-tabix.
ENDIF.
ENDIF.
ENDLOOP.

*---------- CCampbell ----- end ----- 25.07.2024

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.

LOOP AT ti_bseg INTO wa_bseg.


READ TABLE ti_bkpf INTO wa_bkpf WITH KEY bukrs = wa_bseg-bukrs
belnr = wa_bseg-belnr
gjahr = wa_bseg-gjahr.

IF sy-subrc = 0.

MOVE wa_bkpf-budat TO wa_bseg-budat.


MOVE wa_bkpf-bldat TO wa_bseg-bldat.
MOVE wa_bkpf-blart TO wa_bseg-blart.

MODIFY ti_bseg
FROM wa_bseg
TRANSPORTING budat bldat blart.

ENDIF.

ENDLOOP.

ENDIF.

ENDIF.

ENDIF.

*---------- CCampbell ----- start ----- 25.07.2024


ELSE.
* Processamento no ser executado pois no foi processado nenhum JOB para o
movimento
MESSAGE s000(zficla) WITH c_msg1 c_msg2 .
EXIT.
*---------- CCampbell ----- end ----- 25.07.2024

ENDIF.

ENDIF.

ENDFORM. " BUSCA_BKPF_BSEG

*&---------------------------------------------------------------------*
*& Form SELECIONA_DADOS
*&---------------------------------------------------------------------*
FORM seleciona_dados CHANGING p_ti_alv TYPE STANDARD TABLE.

DATA vl_index TYPE sy-tabix.

LOOP AT ti_zficla015 INTO wa_zficla015.

CLEAR wa_alv.

PERFORM monta_dados_zficla015 CHANGING wa_zficla015 wa_alv.

READ TABLE ti_bseg INTO wa_bseg WITH KEY bukrs = wa_zficla015-bukrs


belnr = wa_zficla015-belnr
gjahr = wa_zficla015-gjahr
buzei = wa_zficla015-buzei.

* ---------- CCampbell ----- start ----- 25.07.2015


** IF sy-subrc = 0.
**
** PERFORM monta_dados_bseg CHANGING wa_bseg wa_alv.
**
** IF x_aisel2 = 'X'. " exibe somente diferena.
**
** CONTINUE.
**
** ENDIF.
**
** ELSE.
**
** wa_alv-zdmbtr = wa_alv-dmbtrb - wa_alv-dmbtr.
**
** ENDIF.
**
** APPEND wa_alv TO ti_alv.

vl_index = sy-tabix.

IF sy-subrc = 0.

PERFORM monta_dados_bseg CHANGING wa_bseg wa_alv.


wa_alv-zdmbtr = wa_alv-dmbtrb - wa_alv-dmbtr.

IF x_aisel2 = 'X'. " exibe somente diferena.


IF wa_alv-zdmbtr <> 0.
APPEND wa_alv TO ti_alv.
DELETE ti_bseg INDEX vl_index.
ENDIF.
ENDIF.

IF x_aisel1 = 'X'. " exibe somente os corretos


IF wa_alv-zdmbtr = 0.
APPEND wa_alv TO ti_alv.
DELETE ti_bseg INDEX vl_index.
ENDIF.
ENDIF.

ELSE.
APPEND wa_alv TO ti_alv.

ENDIF.
* ---------- CCampbell ----- end ----- 25.07.2015

ENDLOOP.

LOOP AT ti_bseg INTO wa_bseg.

CLEAR wa_alv.

READ TABLE ti_zficla015 INTO wa_zficla015 WITH KEY bukrs = wa_bseg-bukrs


belnr = wa_bseg-belnr
gjahr = wa_bseg-gjahr
buzei = wa_bseg-
buzei.

IF sy-subrc <> 0.
PERFORM monta_dados_bseg CHANGING wa_bseg wa_alv.

* ---------- CCampbell ----- start ----- 25.07.2015


** APPEND wa_alv TO p_ti_alv.

wa_alv-zdmbtr = wa_alv-dmbtrb - wa_alv-dmbtr.

IF x_aisel2 = 'X'. " exibe somente diferena.


IF wa_alv-zdmbtr <> 0.
APPEND wa_alv TO ti_alv.
ENDIF.
ENDIF.

IF x_aisel1 = 'X'. " exibe somente os corretos


IF wa_alv-zdmbtr = 0.
APPEND wa_alv TO ti_alv.
ENDIF.
ENDIF.
* ---------- CCampbell ----- end ----- 25.07.2015

ENDIF.

ENDLOOP.

ENDFORM. " SELECIONA_DADOS

*&---------------------------------------------------------------------*
*& Form variant_f4_help
*&---------------------------------------------------------------------*
FORM variant_f4_help CHANGING p_p_vari TYPE disvariant-variant.

s_variante-report = sy-repid.

CALL FUNCTION 'REUSE_ALV_VARIANT_F4'


EXPORTING
is_variant = s_variante
i_save = 'A'
IMPORTING
es_variant = s_variante
EXCEPTIONS
not_found = 2.

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.

ENDFORM. " variant_f4_help

*&---------------------------------------------------------------------*
*& 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 p_p_vari IS NOT INITIAL.


CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
i_save = 'A'
CHANGING
cs_variant = s_variante
EXCEPTIONS
wrong_input = 1 " Inconsistent input parameters
not_found = 2 " Variant not found
program_error = 3. " Program errors

IF sy-subrc = 2.
MESSAGE ID sy-msgid TYPE 'E' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

ENDIF.

ENDFORM. " check_variant_existance

*&---------------------------------------------------------------------*
*& Form MONTA_DADOS_ZFICLA015
*&---------------------------------------------------------------------*
FORM monta_dados_zficla015 CHANGING p_wa_zficla015 STRUCTURE wa_zficla015
p_wa_alv STRUCTURE wa_alv.

MOVE p_wa_zficla015-bukrs TO p_wa_alv-bukrs .


MOVE p_wa_zficla015-gjahr TO p_wa_alv-gjahr .
MOVE p_wa_zficla015-monat TO p_wa_alv-monat.
MOVE p_wa_zficla015-budat TO p_wa_alv-budat.
MOVE p_wa_zficla015-bldat TO p_wa_alv-bldat.
MOVE p_wa_zficla015-blart TO p_wa_alv-blart.
MOVE p_wa_zficla015-belnr TO p_wa_alv-belnr.
MOVE p_wa_zficla015-buzei TO p_wa_alv-buzei.
MOVE p_wa_zficla015-saknr TO p_wa_alv-saknr.
MOVE p_wa_zficla015-lokkt TO p_wa_alv-lokkt.
MOVE p_wa_zficla015-dmbtr TO p_wa_alv-dmbtr.
MOVE p_wa_zficla015-shkzg TO p_wa_alv-shkzg.
MOVE p_wa_zficla015-bupla TO p_wa_alv-bupla.
MOVE p_wa_zficla015-vbund TO p_wa_alv-vbund.
MOVE p_wa_zficla015-aufnr TO p_wa_alv-aufnr.
MOVE p_wa_zficla015-kostl TO p_wa_alv-kostl.
MOVE p_wa_zficla015-zcpudt TO p_wa_alv-zcpudt.
MOVE p_wa_zficla015-cputm TO p_wa_alv-cputm.
MOVE p_wa_zficla015-nomearq TO p_wa_alv-nomearq.

ENDFORM. " MONTA_DADOS_ZFICLA015

*&---------------------------------------------------------------------*
*& Form MONTA_DADOS_BSEG
*&---------------------------------------------------------------------*
FORM monta_dados_bseg CHANGING p_wa_bseg STRUCTURE wa_bseg
p_wa_alv STRUCTURE wa_alv.

* ---------- CCampbell ----- start ----- 25.07.2015


READ TABLE ti_bkpf INTO wa_bkpf WITH KEY bukrs = p_wa_bseg-bukrs
belnr = p_wa_bseg-belnr
gjahr = p_wa_bseg-gjahr.
MOVE wa_bkpf-bukrs TO p_wa_alv-bukrs.
MOVE wa_bkpf-gjahr TO p_wa_alv-gjahr.
MOVE wa_bkpf-monat TO p_wa_alv-monat.
* ---------- CCampbell ----- end ----- 25.07.2015

MOVE p_wa_bseg-budat TO p_wa_alv-budatb.


MOVE p_wa_bseg-bldat TO p_wa_alv-bldatb.
MOVE p_wa_bseg-blart TO p_wa_alv-blartb.
MOVE p_wa_bseg-belnr TO p_wa_alv-belnrb.
MOVE p_wa_bseg-buzei TO p_wa_alv-buzeib.
MOVE p_wa_bseg-hkont TO p_wa_alv-hkout.
MOVE p_wa_bseg-lokkt TO p_wa_alv-lokktb.
MOVE p_wa_bseg-dmbtr TO p_wa_alv-dmbtrb.
MOVE p_wa_bseg-shkzg TO p_wa_alv-shkzgb.
MOVE p_wa_bseg-bupla TO p_wa_alv-buplab.
MOVE p_wa_bseg-vbund TO p_wa_alv-vbundb.
MOVE p_wa_bseg-aufnr TO p_wa_alv-aufnrb.
MOVE p_wa_bseg-kostl TO p_wa_alv-kostlb.

wa_alv-zdmbtr = wa_alv-dmbtrb - wa_alv-dmbtr.

ENDFORM. " MONTA_DADOS_BSEG

*&---------------------------------------------------------------------*
**& Form ALV_INIT_VARIANTE
**&---------------------------------------------------------------------*
FORM alv_init_variante USING p_p_varia TYPE disvariant-variant.

DATA: s_variante LIKE disvariant.

CLEAR: s_variante.

s_variante-report = sy-repid.

CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'


EXPORTING
i_save = 'A'
CHANGING
cs_variant = s_variante
EXCEPTIONS
not_found = 2.

IF sy-subrc = 0.
p_p_varia = s_variante-variant.
ENDIF.

ENDFORM. " ALV_INIT_VARIANTE

*&---------------------------------------------------------------------*
*& 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.

CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'


EXPORTING
i_callback_program = wa_repid
i_callback_top_of_page = 'TOP_OF_PAGE'
** i_callback_pf_status_set = 'PROC_SET_PFSTATUS'
i_callback_user_command = 'PROC_USER_COMMAND'
i_structure_name = 'TI_ALV'
i_default = 'X'
is_layout = s_layout
it_fieldcat = s_fieldcat[]
it_sort = s_sort[]
is_variant = s_variante
is_print = s_print
TABLES
t_outtab = ti_alv.

ENDFORM. " YS_LIST

*&---------------------------------------------------------------------*
*& 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'.

ENDFORM. " YS_PREENCHE_S_LAYOUT

*&---------------------------------------------------------------------*
*& 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.

ENDFORM. " YS_PREENCHE_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.

ENDFORM. " YS_PREENCHE_S_FIELDCAT

*&---------------------------------------------------------------------*
*& Form PREENCHE_S_PRINT
*&---------------------------------------------------------------------*
FORM preenche_s_print .

s_print-no_print_selinfos = 'N'.
s_print-no_print_listinfos = 'N'.

ENDFORM. " PREENCHE_S_PRINT

*&---------------------------------------------------------------------*
*& Form TOP_OF_PAGE
*&---------------------------------------------------------------------*
FORM top_of_page.

DATA: gt_listheader TYPE slis_t_listheader,


w_listheader TYPE slis_listheader.

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.

CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'


EXPORTING
it_list_commentary = gt_listheader.
" i_logo = ' '.

ENDFORM. " TOP_OF_PAGE

*FORM proc_set_pfstatus USING val_dummy.


*
** SET PF-STATUS 'STATUS_EEX'.
* SET PF-STATUS 'STANDARD_SCREEN'.
*
*ENDFORM. " PROC_SET_PFSTATUS

**FORM proc_set_pfstatus USING p_extab TYPE slis_t_extab.


** SET PF-STATUS 'STANDARD_FULLSCREEN'.
**ENDFORM. " SET_PF_STATUS

*&---------------------------------------------------------------------*
*& 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'.

ENDFORM. " PROC_USER_COMMAND

Anda mungkin juga menyukai