You are on page 1of 71

REPORT zfi_fcx_nac MESSAGE-ID zfi.

*&---------------------------------------------------------------------*
*& Tabelas *
*&---------------------------------------------------------------------*
TABLES: t001, ekko, ekpo, bsik, bsak.
*&---------------------------------------------------------------------*
*& Ttipos *
*&---------------------------------------------------------------------*
TYPES: BEGIN OF t_datas,
texto TYPE char25,
data1 TYPE sy-datum,
data2 TYPE sy-datum,
data3 TYPE sy-datum,
data4 TYPE sy-datum,
data5 TYPE sy-datum,
data6 TYPE sy-datum,
data7 TYPE sy-datum,
data8 TYPE sy-datum,
data9 TYPE sy-datum,
data10 TYPE sy-datum,
data11 TYPE sy-datum,
data12 TYPE sy-datum,
data13 TYPE sy-datum,
data14 TYPE sy-datum,
data15 TYPE sy-datum,
data16 TYPE sy-datum,
data17 TYPE sy-datum,
data18 TYPE sy-datum,
data19 TYPE sy-datum,
data20 TYPE sy-datum,
data21 TYPE sy-datum,
data22 TYPE sy-datum,
data23 TYPE sy-datum,
data24 TYPE sy-datum,
data25 TYPE sy-datum,
data26 TYPE sy-datum,
data27 TYPE sy-datum,
data28 TYPE sy-datum,
data29 TYPE sy-datum,
data30 TYPE sy-datum,
data31 TYPE sy-datum,
data32 TYPE sy-datum,
data33 TYPE sy-datum,
data34 TYPE sy-datum,
data35 TYPE sy-datum,
data36 TYPE sy-datum,
data37 TYPE sy-datum,
data38 TYPE sy-datum,
data39 TYPE sy-datum,
data40 TYPE sy-datum,
data41 TYPE sy-datum,
data42 TYPE sy-datum,
data43 TYPE sy-datum,
data44 TYPE sy-datum,
data45 TYPE sy-datum,
data46 TYPE sy-datum,
data47 TYPE sy-datum,
data48 TYPE sy-datum,
data49 TYPE sy-datum,
data50 TYPE sy-datum,
data51 TYPE sy-datum,
data52 TYPE sy-datum,
data53 TYPE sy-datum,
data54 TYPE sy-datum,
data55 TYPE sy-datum,
data56 TYPE sy-datum,
data57 TYPE sy-datum,
data58 TYPE sy-datum,
data59 TYPE sy-datum,
data60 TYPE sy-datum,
END OF t_datas,
BEGIN OF t_dados,
conta type saknr,
texto TYPE char25,
valor1 TYPE bwert,
valor2 TYPE bwert,
valor3 TYPE bwert,
valor4 TYPE bwert,
valor5 TYPE bwert,
valor6 TYPE bwert,
valor7 TYPE bwert,
valor8 TYPE bwert,
valor9 TYPE bwert,
valor10 TYPE bwert,
valor11 TYPE bwert,
valor12 TYPE bwert,
valor13 TYPE bwert,
valor14 TYPE bwert,
valor15 TYPE bwert,
valor16 TYPE bwert,
valor17 TYPE bwert,
valor18 TYPE bwert,
valor19 TYPE bwert,
valor20 TYPE bwert,
valor21 TYPE bwert,
valor22 TYPE bwert,
valor23 TYPE bwert,
valor24 TYPE bwert,
valor25 TYPE bwert,
valor26 TYPE bwert,
valor27 TYPE bwert,
valor28 TYPE bwert,
valor29 TYPE bwert,
valor30 TYPE bwert,
valor31 TYPE bwert,
valor32 TYPE bwert,
valor33 TYPE bwert,
valor34 TYPE bwert,
valor35 TYPE bwert,
valor36 TYPE bwert,
valor37 TYPE bwert,
valor38 TYPE bwert,
valor39 TYPE bwert,
valor40 TYPE bwert,
valor41 TYPE bwert,
valor42 TYPE bwert,
valor43 TYPE bwert,
valor44 TYPE bwert,
valor45 TYPE bwert,
valor46 TYPE bwert,
valor47 TYPE bwert,
valor48 TYPE bwert,
valor49 TYPE bwert,
valor50 TYPE bwert,
valor51 TYPE bwert,
valor52 TYPE bwert,
valor53 TYPE bwert,
valor54 TYPE bwert,
valor55 TYPE bwert,
valor56 TYPE bwert,
valor57 TYPE bwert,
valor58 TYPE bwert,
valor59 TYPE bwert,
valor60 TYPE bwert,
valor00 TYPE bwert,
textref TYPE char25,
END OF t_dados,
BEGIN OF t_det,
bukrs TYPE bukrs,
texto TYPE char25,
fdtag TYPE fdtag,
controle TYPE char10,
lifnr TYPE elifn,
name1 TYPE name1_gp,
fdwbt TYPE wrshd,
fddbt TYPE dmshd,
currd TYPE currd,
xblnr TYPE xblnr1,
belnr TYPE belnr_d,
budat TYPE budat,
ebeln TYPE ebeln,
ebelp TYPE ebelp,
zlspr TYPE dzlspr,
kunnr TYPE kunnr,
gjahr TYPE gjahr,
bklas TYPE bklas,
bkbez TYPE bkbez,
saknr type saknr,
END OF t_det,
BEGIN OF t_det_a,
texto TYPE char25,
bklas TYPE bklas,
bkbez TYPE bkbez,
fdtag TYPE fdtag,
fdwbt TYPE wrshd,
currd TYPE currd,
saknr type saknr,
END OF t_det_a,
BEGIN OF t_sel,
objectid TYPE cdobjectv,
END OF t_sel,
BEGIN OF t_sele,
ebeln TYPE ebeln,
END OF t_sele.
*&---------------------------------------------------------------------*
*& Tabela interna *
*&---------------------------------------------------------------------*
DATA: lt_datas TYPE STANDARD TABLE OF t_datas,
wa_datas TYPE t_datas,
lt_dados TYPE STANDARD TABLE OF t_dados,
wa_dados TYPE t_dados,
lt_dados_a TYPE STANDARD TABLE OF t_dados,
wa_dados_a TYPE t_dados,
lt_det TYPE STANDARD TABLE OF t_det,
wa_det TYPE t_det,
lt_sel TYPE STANDARD TABLE OF t_sel,
wa_sel TYPE t_sel,
lt_sele TYPE STANDARD TABLE OF t_sele,
wa_sele TYPE t_sele,
lt_det_v TYPE STANDARD TABLE OF t_det,
wa_det_v TYPE t_det,
lt_det_a TYPE STANDARD TABLE OF t_det_a,
wa_det_a TYPE t_det_a,
lt_mara TYPE STANDARD TABLE OF mara,
wa_mara TYPE mara,
lt_ekko TYPE STANDARD TABLE OF ekko,
wa_ekko TYPE ekko,
lt_ekpo TYPE STANDARD TABLE OF ekpo,
wa_ekpo TYPE ekpo,
lt_mbew TYPE STANDARD TABLE OF mbew,
wa_mbew TYPE mbew,
lt_cdpos TYPE STANDARD TABLE OF cdpos,
wa_cdpos TYPE cdpos,
lt_cdhdr TYPE STANDARD TABLE OF cdhdr,
wa_cdhdr TYPE cdhdr,
lt_eket TYPE STANDARD TABLE OF eket,
wa_eket TYPE eket,
lt_konv TYPE STANDARD TABLE OF konv,
wa_konv TYPE konv,
lt_ekbe TYPE STANDARD TABLE OF ekbe,
wa_ekbe TYPE ekbe,
lt_ekkn TYPE STANDARD TABLE OF ekkn,
wa_ekkn TYPE ekkn,
lt_bsik TYPE STANDARD TABLE OF bsik,
wa_bsik TYPE bsik,
lt_bsid TYPE STANDARD TABLE OF bsid,
wa_bsid TYPE bsid,
lt_bsak TYPE STANDARD TABLE OF bsak,
wa_bsak TYPE bsak,
lt_bseg TYPE STANDARD TABLE OF bseg,
wa_bseg TYPE bseg,
wa_lfa1 TYPE lfa1,
wa_kna1 TYPE kna1,
lt_fdm1 TYPE STANDARD TABLE OF fdm1,
wa_fdm1 TYPE fdm1,
lt_fdfiep TYPE STANDARD TABLE OF fdfiep,
wa_fdfiep TYPE fdfiep,
lt_par_fluxo TYPE STANDARD TABLE OF ztbfi_par_fluxo,
wa_par_fluxo TYPE ztbfi_par_fluxo.
*&---------------------------------------------------------------------*
*& RANGES *
*&---------------------------------------------------------------------*
RANGES: r_data FOR ekko-aedat,
r_koart FOR fdfiep-koart,
r_fdgrp for fdfiep-fdgrp.
*----------------------------------------------------------------------*
* CLASS lcl_event_receiver DEFINITION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION .
METHODS:
handle_user_command FOR EVENT user_command OF cl_gui_alv_grid IMPORTING
e_ucomm ,
handle_double_click FOR EVENT double_click OF cl_gui_alv_grid IMPORTING
e_row e_column,
handle_toolbar FOR EVENT toolbar OF cl_gui_alv_grid IMPORTING
e_object e_interactive,
handle_hotspot_click FOR EVENT hotspot_click OF cl_gui_alv_grid IMPORTING
e_row_id e_column_id es_row_no,
handle_user_command_de FOR EVENT user_command OF cl_gui_alv_grid IMPORTING
e_ucomm ,
handle_double_click_de FOR EVENT double_click OF cl_gui_alv_grid IMPORTING
e_row e_column,
handle_toolbar_de FOR EVENT toolbar OF cl_gui_alv_grid IMPORTING
e_object e_interactive,
handle_hotspot_click_de FOR EVENT hotspot_click OF cl_gui_alv_grid IMPORTING
e_row_id e_column_id es_row_no,
handle_user_command_ag FOR EVENT user_command OF cl_gui_alv_grid IMPORTING
e_ucomm ,
handle_double_click_ag FOR EVENT double_click OF cl_gui_alv_grid IMPORTING
e_row e_column,
handle_toolbar_ag FOR EVENT toolbar OF cl_gui_alv_grid IMPORTING
e_object e_interactive,
handle_hotspot_click_ag FOR EVENT hotspot_click OF cl_gui_alv_grid IMPORTING
e_row_id e_column_id es_row_no.
PRIVATE SECTION.
ENDCLASS. "lcl_event_handler DEFINITION
*----------------------------------------------------------------------*
* CLASS lcl_event_receiver IMPLEMENTATION
*----------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
CLASS lcl_event_receiver IMPLEMENTATION.
METHOD handle_double_click .
PERFORM handle_double_click USING e_row e_column.
ENDMETHOD . "handle_double_click
METHOD handle_user_command .
PERFORM handle_user_command USING e_ucomm .
ENDMETHOD. "handle_user_command
METHOD handle_hotspot_click.
PERFORM f_event_hotspot_click USING e_row_id e_column_id es_row_no.
ENDMETHOD. "hotspot_click
METHOD handle_toolbar.
* DATA : is_btn TYPE stb_button.
ENDMETHOD. "handle_toolbar_tc
METHOD handle_double_click_de .
PERFORM handle_double_click_de USING e_row e_column.
ENDMETHOD . "handle_double_click
METHOD handle_user_command_de .
*** PERFORM handle_user_command_de USING e_ucomm .
ENDMETHOD. "handle_user_command
METHOD handle_hotspot_click_de.
PERFORM f_event_hotspot_click_de USING e_row_id e_column_id es_row_no.
ENDMETHOD. "hotspot_click
METHOD handle_toolbar_de.
ENDMETHOD. "handle_toolbar_tc
METHOD handle_double_click_ag .
PERFORM handle_double_click_ag USING e_row e_column.
ENDMETHOD . "handle_double_click
METHOD handle_user_command_ag .
* PERFORM handle_user_command_de USING e_ucomm .
ENDMETHOD. "handle_user_command
METHOD handle_hotspot_click_ag.
* PERFORM f_event_hotspot_click_ag USING e_row_id e_column_id es_row_no.
ENDMETHOD. "hotspot_click
METHOD handle_toolbar_ag.
ENDMETHOD. "handle_toolbar_tc
ENDCLASS . "lcl_event_receiver IMPLEMENTATION
*&---------------------------------------------------------------------*
*& Variveis *
*&---------------------------------------------------------------------*
DATA: lv_mes TYPE char2,
lv_ind TYPE i,
lv_return_code TYPE i,
lv_lines TYPE i,
lv_index type sytabix,
lv_obj TYPE cdobjectv,
lv_texto_data TYPE char10,
lv_data_prox TYPE sydatum,
lv_data TYPE sydatum,
lv_dat_venc TYPE sydatum,
lv_valor TYPE wrshd,
lv_flag TYPE char1,
lv_flg TYPE char1,
lv_shkzg TYPE shkzg,
lv_rebzg TYPE rebzg.
DATA: gs_fieldcatalog TYPE lvc_s_fcat OCCURS 0,
gv_fcat LIKE LINE OF gs_fieldcatalog,
gs_layout TYPE lvc_s_layo,
g_custom_container TYPE REF TO cl_gui_custom_container,
g_container TYPE scrfname VALUE 'CC_CONTAINER_GRID',
g_grid TYPE REF TO cl_gui_alv_grid,
g_event_receiver TYPE REF TO lcl_event_receiver,
gs_fieldcatalog_de TYPE lvc_s_fcat OCCURS 0,
gs_sort_de TYPE lvc_s_sort OCCURS 0,
gv_fcat_de LIKE LINE OF gs_fieldcatalog,
gv_sort_de LIKE LINE OF gs_sort_de,
gs_layout_de TYPE lvc_s_layo,
g_custom_container_de TYPE REF TO cl_gui_custom_container,
g_container_de TYPE scrfname VALUE 'CC_CONTAINER_GRID_DE',
g_grid_de TYPE REF TO cl_gui_alv_grid,
g_event_receiver_de TYPE REF TO lcl_event_receiver,
gs_fieldcatalog_ag TYPE lvc_s_fcat OCCURS 0,
gs_sort_ag TYPE lvc_s_sort OCCURS 0,
gv_fcat_ag LIKE LINE OF gs_fieldcatalog,
gv_sort_ag LIKE LINE OF gs_sort_de,
gs_layout_ag TYPE lvc_s_layo,
g_custom_container_ag TYPE REF TO cl_gui_custom_container,
g_container_ag TYPE scrfname VALUE 'CC_CONTAINER_GRID_AG',
g_grid_ag TYPE REF TO cl_gui_alv_grid,
g_event_receiver_ag TYPE REF TO lcl_event_receiver.
*&---------------------------------------------------------------------*
*& Constantes *
*&---------------------------------------------------------------------*
CONSTANTS: c_serv TYPE char25 VALUE 'SERVICOS',
c_mat TYPE char25 VALUE 'MATERIAIS',
c_fat TYPE char25 VALUE 'FATURAMENTO',
c_desadm TYPE char25 VALUE 'DESPESA ADMINISTRATIVA',
c_benef TYPE char25 VALUE 'BENEFICIOS',
c_imptax TYPE char25 VALUE 'IMPOSTOS E TAXAS',
c_aduana TYPE char25 VALUE 'ADUANEIRO',
c_mtart TYPE mtart VALUE 'DIEN',
c_frgzu type frgzu value 'X',
c_zterm type DZTERM value 'NT05',
c_buzei TYPE buzei VALUE '2',
c_x TYPE char1 VALUE 'X',
c_b TYPE char1 VALUE 'B',
c_h TYPE char1 VALUE 'H',
c_koart TYPE koart VALUE 'D',
c_koart_k TYPE koart VALUE 'K',
c_bewtp TYPE bewtp VALUE 'Q'.
*-----------------------------------------------------------------------
* Tela de Seleo
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_bukrs FOR t001-bukrs OBLIGATORY.
PARAMETERS: p_data LIKE sy-datum DEFAULT sy-datum.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-001.
PARAMETERS: p_lista TYPE char1 AS CHECKBOX.
SELECT-OPTIONS: s_per FOR sy-datum.
SELECTION-SCREEN END OF BLOCK b2.
START-OF-SELECTION.
PERFORM f_verifica_empresas.
CHECK lv_flag IS INITIAL.
PERFORM f_retorna_dias_do_mes.
PERFORM f_rotina_servicos.
PERFORM f_rotina_faturamento.
PERFORM f_rotina_da_ben_imp.
IF p_lista IS INITIAL.
CALL SCREEN 0110.
ELSE.
PERFORM f_rotina_lista_geral.
CALL SCREEN 0120.
ENDIF.
*&---------------------------------------------------------------------*
*& Form HANDLE_DOUBLE_CLICK
*&---------------------------------------------------------------------*
FORM handle_double_click USING p_e_row
p_e_column.
IF sy-dynnr = '0110'.
IF p_e_row(1) IS INITIAL.
READ TABLE lt_dados INTO wa_dados INDEX p_e_row.
ENDIF.
READ TABLE lt_datas INTO wa_datas INDEX 1.
CLEAR lv_data.
CASE p_e_column.
WHEN 'VALOR1'. lv_data = wa_datas-data1.
WHEN 'VALOR2'. lv_data = wa_datas-data2.
WHEN 'VALOR3'. lv_data = wa_datas-data3.
WHEN 'VALOR4'. lv_data = wa_datas-data4.
WHEN 'VALOR5'. lv_data = wa_datas-data5.
WHEN 'VALOR6'. lv_data = wa_datas-data6.
WHEN 'VALOR7'. lv_data = wa_datas-data7.
WHEN 'VALOR8'. lv_data = wa_datas-data8.
WHEN 'VALOR9'. lv_data = wa_datas-data9.
WHEN 'VALOR10'. lv_data = wa_datas-data10.
WHEN 'VALOR11'. lv_data = wa_datas-data11.
WHEN 'VALOR12'. lv_data = wa_datas-data12.
WHEN 'VALOR13'. lv_data = wa_datas-data13.
WHEN 'VALOR14'. lv_data = wa_datas-data14.
WHEN 'VALOR15'. lv_data = wa_datas-data15.
WHEN 'VALOR16'. lv_data = wa_datas-data16.
WHEN 'VALOR17'. lv_data = wa_datas-data17.
WHEN 'VALOR18'. lv_data = wa_datas-data18.
WHEN 'VALOR19'. lv_data = wa_datas-data19.
WHEN 'VALOR20'. lv_data = wa_datas-data20.
WHEN 'VALOR21'. lv_data = wa_datas-data21.
WHEN 'VALOR22'. lv_data = wa_datas-data22.
WHEN 'VALOR23'. lv_data = wa_datas-data23.
WHEN 'VALOR24'. lv_data = wa_datas-data24.
WHEN 'VALOR25'. lv_data = wa_datas-data25.
WHEN 'VALOR26'. lv_data = wa_datas-data26.
WHEN 'VALOR27'. lv_data = wa_datas-data27.
WHEN 'VALOR28'. lv_data = wa_datas-data28.
WHEN 'VALOR29'. lv_data = wa_datas-data29.
WHEN 'VALOR30'. lv_data = wa_datas-data30.
WHEN 'VALOR31'. lv_data = wa_datas-data31.
WHEN 'VALOR32'. lv_data = wa_datas-data32.
WHEN 'VALOR33'. lv_data = wa_datas-data33.
WHEN 'VALOR34'. lv_data = wa_datas-data34.
WHEN 'VALOR35'. lv_data = wa_datas-data35.
WHEN 'VALOR36'. lv_data = wa_datas-data36.
WHEN 'VALOR37'. lv_data = wa_datas-data37.
WHEN 'VALOR38'. lv_data = wa_datas-data38.
WHEN 'VALOR39'. lv_data = wa_datas-data39.
WHEN 'VALOR40'. lv_data = wa_datas-data40.
WHEN 'VALOR41'. lv_data = wa_datas-data41.
WHEN 'VALOR42'. lv_data = wa_datas-data42.
WHEN 'VALOR43'. lv_data = wa_datas-data43.
WHEN 'VALOR44'. lv_data = wa_datas-data44.
WHEN 'VALOR45'. lv_data = wa_datas-data45.
WHEN 'VALOR46'. lv_data = wa_datas-data46.
WHEN 'VALOR47'. lv_data = wa_datas-data47.
WHEN 'VALOR48'. lv_data = wa_datas-data48.
WHEN 'VALOR49'. lv_data = wa_datas-data49.
WHEN 'VALOR50'. lv_data = wa_datas-data50.
WHEN 'VALOR51'. lv_data = wa_datas-data51.
WHEN 'VALOR52'. lv_data = wa_datas-data52.
WHEN 'VALOR53'. lv_data = wa_datas-data53.
WHEN 'VALOR54'. lv_data = wa_datas-data54.
WHEN 'VALOR55'. lv_data = wa_datas-data55.
WHEN 'VALOR56'. lv_data = wa_datas-data56.
WHEN 'VALOR57'. lv_data = wa_datas-data57.
WHEN 'VALOR58'. lv_data = wa_datas-data58.
WHEN 'VALOR59'. lv_data = wa_datas-data59.
WHEN 'VALOR60'. lv_data = wa_datas-data60.
ENDCASE.
REFRESH lt_det_a.
CLEAR wa_det_a.
IF p_e_column = 'TEXTO'.
LOOP AT lt_det INTO wa_det
WHERE texto = wa_dados-texto.
MOVE-CORRESPONDING wa_det TO wa_det_a.
SELECT SINGLE bkbez FROM t025t INTO wa_det_a-bkbez
WHERE spras = sy-langu
AND bklas = wa_det-bklas.
* COLLECT wa_det_a INTO lt_det_a.
APPEND wa_det_a TO lt_det_a.
CLEAR wa_det_a.
ENDLOOP.
PERFORM f_monta_tabela_ag.
ENDIF.
REFRESH lt_det_v.
CLEAR wa_det_v.
** Monta o Saldo Anterior
IF p_e_column = 'VALOR00'.
IF p_e_row(1) = 'T'.
LOOP AT lt_det INTO wa_det
WHERE fdtag < wa_datas-data1 .
MOVE-CORRESPONDING wa_det TO wa_det_v.
IF wa_det-lifnr IS INITIAL.
wa_det_v-lifnr = wa_det-kunnr.
ENDIF.
SELECT SINGLE bkbez FROM t025t INTO wa_det_v-bkbez
WHERE spras = sy-langu
AND bklas = wa_det-bklas.
APPEND wa_det_v TO lt_det_v.
CLEAR wa_det_v.
ENDLOOP.
ELSE.
LOOP AT lt_det INTO wa_det
WHERE texto = wa_dados-texto
AND fdtag < wa_datas-data1 .
MOVE-CORRESPONDING wa_det TO wa_det_v.
IF wa_det-lifnr IS INITIAL.
wa_det_v-lifnr = wa_det-kunnr.
ENDIF.
SELECT SINGLE bkbez FROM t025t INTO wa_det_v-bkbez
WHERE spras = sy-langu
AND bklas = wa_det-bklas.
APPEND wa_det_v TO lt_det_v.
CLEAR wa_det_v.
ENDLOOP.
ENDIF.
ENDIF.
IF p_e_row(1) = 'T'.
* LOOP AT lt_det INTO wa_det
* WHERE texto = wa_dados-texto
* AND fdtag = lv_data.
** AND ( fdtag < wa_datas-data1 OR fdtag > wa_datas-data30 ).
* MOVE-CORRESPONDING wa_det TO wa_det_v.
* APPEND wa_det_v TO lt_det_v.
* CLEAR wa_det_v.
* ENDLOOP.
* ELSE.
LOOP AT lt_det INTO wa_det
WHERE fdtag = lv_data.
MOVE-CORRESPONDING wa_det TO wa_det_v.
IF wa_det-lifnr IS INITIAL.
wa_det_v-lifnr = wa_det-kunnr.
ENDIF.
SELECT SINGLE bkbez FROM t025t INTO wa_det_v-bkbez
WHERE spras = sy-langu
AND bklas = wa_det-bklas.
APPEND wa_det_v TO lt_det_v.
CLEAR wa_det_v.
ENDLOOP.
ENDIF.
IF p_e_row(1) IS INITIAL.
LOOP AT lt_det INTO wa_det
WHERE texto = wa_dados-texto
AND fdtag = lv_data.
MOVE-CORRESPONDING wa_det TO wa_det_v.
IF wa_det-lifnr IS INITIAL.
wa_det_v-lifnr = wa_det-kunnr.
ENDIF.
SELECT SINGLE bkbez FROM t025t INTO wa_det_v-bkbez
WHERE spras = sy-langu
AND bklas = wa_det-bklas.
APPEND wa_det_v TO lt_det_v.
CLEAR wa_det_v.
ENDLOOP.
* ELSE.
* LOOP AT lt_det INTO wa_det
* WHERE fdtag = lv_data.
* MOVE-CORRESPONDING wa_det TO wa_det_v.
* APPEND wa_det_v TO lt_det_v.
* CLEAR wa_det_v.
* ENDLOOP.
ENDIF.
IF p_e_column = 'TEXTO'.
CALL SCREEN 0125.
ELSE.
CALL SCREEN 0120.
ENDIF.
ENDIF.
ENDFORM. " HANDLE_DOUBLE_CLICK
*&---------------------------------------------------------------------*
*& Form HANDLE_USER_COMMAND
*&---------------------------------------------------------------------*
FORM handle_user_command USING p_e_ucomm.
ENDFORM. " HANDLE_USER_COMMAND
*&---------------------------------------------------------------------*
*& Form F_EVENT_HOTSPOT_CLICK
*&---------------------------------------------------------------------*
FORM f_event_hotspot_click USING p_e_row_id
p_e_column_id
p_es_row_no.
ENDFORM. " F_EVENT_HOTSPOT_CLICK
*&---------------------------------------------------------------------*
*& Form F_RETORNA_DIAS_DO_MES
*&---------------------------------------------------------------------*
FORM f_retorna_dias_do_mes .
lv_mes = p_data+4(2).
lv_data = p_data.
* lv_data = lv_data - 1.
CLEAR lv_ind.
DO 60 TIMES.
lv_ind = lv_ind + 1.
CLEAR lv_data_prox.
* CALL FUNCTION 'CATSXT_CHECK_WORK_DAY'
* EXPORTING
* im_personnel_number = '00000000'
* im_check_date = lv_data
* IMPORTING
* ex_next_work_date = lv_data_prox.
* if lv_data_prox+4(2) ne lv_mes.
* exit.
* endif.
lv_data_prox = lv_data.
CASE lv_ind.
WHEN '1'. wa_datas-data1 = lv_data_prox.
WHEN '2'. wa_datas-data2 = lv_data_prox.
WHEN '3'. wa_datas-data3 = lv_data_prox.
WHEN '4'. wa_datas-data4 = lv_data_prox.
WHEN '5'. wa_datas-data5 = lv_data_prox.
WHEN '6'. wa_datas-data6 = lv_data_prox.
WHEN '7'. wa_datas-data7 = lv_data_prox.
WHEN '8'. wa_datas-data8 = lv_data_prox.
WHEN '9'. wa_datas-data9 = lv_data_prox.
WHEN '10'. wa_datas-data10 = lv_data_prox.
WHEN '11'. wa_datas-data11 = lv_data_prox.
WHEN '12'. wa_datas-data12 = lv_data_prox.
WHEN '13'. wa_datas-data13 = lv_data_prox.
WHEN '14'. wa_datas-data14 = lv_data_prox.
WHEN '15'. wa_datas-data15 = lv_data_prox.
WHEN '16'. wa_datas-data16 = lv_data_prox.
WHEN '17'. wa_datas-data17 = lv_data_prox.
WHEN '18'. wa_datas-data18 = lv_data_prox.
WHEN '19'. wa_datas-data19 = lv_data_prox.
WHEN '20'. wa_datas-data20 = lv_data_prox.
WHEN '21'. wa_datas-data21 = lv_data_prox.
WHEN '22'. wa_datas-data22 = lv_data_prox.
WHEN '23'. wa_datas-data23 = lv_data_prox.
WHEN '24'. wa_datas-data24 = lv_data_prox.
WHEN '25'. wa_datas-data25 = lv_data_prox.
WHEN '26'. wa_datas-data26 = lv_data_prox.
WHEN '27'. wa_datas-data27 = lv_data_prox.
WHEN '28'. wa_datas-data28 = lv_data_prox.
WHEN '29'. wa_datas-data29 = lv_data_prox.
WHEN '30'. wa_datas-data30 = lv_data_prox.
WHEN '31'. wa_datas-data31 = lv_data_prox.
WHEN '32'. wa_datas-data32 = lv_data_prox.
WHEN '33'. wa_datas-data33 = lv_data_prox.
WHEN '34'. wa_datas-data34 = lv_data_prox.
WHEN '35'. wa_datas-data35 = lv_data_prox.
WHEN '36'. wa_datas-data36 = lv_data_prox.
WHEN '37'. wa_datas-data37 = lv_data_prox.
WHEN '38'. wa_datas-data38 = lv_data_prox.
WHEN '39'. wa_datas-data39 = lv_data_prox.
WHEN '40'. wa_datas-data40 = lv_data_prox.
WHEN '41'. wa_datas-data41 = lv_data_prox.
WHEN '42'. wa_datas-data42 = lv_data_prox.
WHEN '43'. wa_datas-data43 = lv_data_prox.
WHEN '44'. wa_datas-data44 = lv_data_prox.
WHEN '45'. wa_datas-data45 = lv_data_prox.
WHEN '46'. wa_datas-data46 = lv_data_prox.
WHEN '47'. wa_datas-data47 = lv_data_prox.
WHEN '48'. wa_datas-data48 = lv_data_prox.
WHEN '49'. wa_datas-data49 = lv_data_prox.
WHEN '50'. wa_datas-data50 = lv_data_prox.
WHEN '51'. wa_datas-data51 = lv_data_prox.
WHEN '52'. wa_datas-data52 = lv_data_prox.
WHEN '53'. wa_datas-data53 = lv_data_prox.
WHEN '54'. wa_datas-data54 = lv_data_prox.
WHEN '55'. wa_datas-data55 = lv_data_prox.
WHEN '56'. wa_datas-data56 = lv_data_prox.
WHEN '57'. wa_datas-data57 = lv_data_prox.
WHEN '58'. wa_datas-data58 = lv_data_prox.
WHEN '59'. wa_datas-data59 = lv_data_prox.
WHEN '60'. wa_datas-data60 = lv_data_prox.
ENDCASE.
* lv_data = lv_data + 1.
lv_data = lv_data_prox + 1.
ENDDO.
APPEND wa_datas TO lt_datas.
CLEAR wa_datas.
*** Cria textos fixos e valores zerados, dentro de cada data
clear wa_dados.
wa_dados-texto = c_serv.
append wa_dados to lt_dados.
clear wa_dados.
wa_dados-texto = c_mat.
append wa_dados to lt_dados.
clear wa_dados.
wa_dados-texto = c_fat.
append wa_dados to lt_dados.
clear wa_dados.
wa_dados-texto = c_desadm.
append wa_dados to lt_dados.
clear wa_dados.
wa_dados-texto = c_benef .
append wa_dados to lt_dados.
clear wa_dados.
wa_dados-texto = c_imptax.
append wa_dados to lt_dados.
clear wa_dados.
wa_dados-texto = c_aduana.
append wa_dados to lt_dados.
ENDFORM. " F_RETORNA_DIAS_DO_MES
*&---------------------------------------------------------------------*
*& Module STATUS_0110 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0110 OUTPUT.
SET PF-STATUS 'PF0110'.
SET TITLEBAR 'T0110'.
IF g_custom_container IS INITIAL.
CREATE OBJECT g_custom_container
EXPORTING
container_name = g_container.
CREATE OBJECT g_grid
EXPORTING
i_parent = g_custom_container
i_appl_events = 'X'.
CREATE OBJECT g_event_receiver.
SET HANDLER g_event_receiver->handle_user_command FOR g_grid.
SET HANDLER g_event_receiver->handle_double_click FOR g_grid.
PERFORM f_definir_fieldcat.
PERFORM f_definir_layout.
CALL METHOD g_grid->set_table_for_first_display
EXPORTING
is_layout = gs_layout
CHANGING
it_fieldcatalog = gs_fieldcatalog
it_outtab = lt_dados. " Data
ELSE.
CALL METHOD g_grid->refresh_table_display.
ENDIF.
ENDMODULE. " STATUS_0110 OUTPUT
*&---------------------------------------------------------------------*
*& Form F_DEFINIR_FIELDCAT
*&---------------------------------------------------------------------*
FORM f_definir_fieldcat .
CLEAR gv_fcat.
gv_fcat-fieldname = 'TEXTO'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = 'Class.Despesa'.
gv_fcat-outputlen = 25.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
READ TABLE lt_datas INTO wa_datas INDEX 1.
WRITE wa_datas-data1 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR00'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = 'SALDO ANTERIOR'.
gv_fcat-outputlen = 20.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR1'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data2 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR2'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data3 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR3'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data4 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR4'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data5 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR5'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data6 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR6'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data7 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR7'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data8 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR8'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data9 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR9'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data10 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR10'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data11 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR11'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data12 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR12'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data13 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR13'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data14 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR14'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data15 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR15'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data16 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR16'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data17 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR17'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data18 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR18'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data19 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR19'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data20 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR20'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data21 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR21'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data22 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR22'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data23 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR23'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data24 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR24'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data25 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR25'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data26 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR26'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data27 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR27'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data28 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR28'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data29 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR29'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data30 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR30'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data31 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR31'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data32 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR32'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data33 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR33'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data34 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR34'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data35 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR35'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data36 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR36'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data37 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR37'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data38 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR38'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data39 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR39'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data40 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR40'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data41 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR41'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data42 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR42'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data43 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR43'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data44 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR44'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data45 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR45'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data46 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR46'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data47 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR47'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data48 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR48'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data49 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR49'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data50 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR50'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data51 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR51'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data52 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR52'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data53 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR53'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data54 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR54'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data55 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR55'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data56 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR56'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data57 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR57'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data58 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR58'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data59 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR59'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
WRITE wa_datas-data60 TO lv_texto_data.
CLEAR gv_fcat.
gv_fcat-fieldname = 'VALOR60'.
gv_fcat-tabname = 'LT_DADOS'.
gv_fcat-coltext = lv_texto_data.
gv_fcat-outputlen = 13.
gv_fcat-no_zero = c_x.
gv_fcat-do_sum = c_x.
INSERT gv_fcat INTO TABLE gs_fieldcatalog.
* CLEAR GV_FCAT.
* GV_FCAT-FIELDNAME = 'DATA31'.
* GV_FCAT-TABNAME = 'LT_DADOS'.
* GV_FCAT-COLTEXT = lv_texto_data.
* GV_FCAT-OUTPUTLEN = 10.
* INSERT GV_FCAT INTO TABLE GS_FIELDCATALOG.
ENDFORM. " F_DEFINIR_FIELDCAT
*&---------------------------------------------------------------------*
*& Form F_DEFINIR_LAYOUT
*&---------------------------------------------------------------------*
FORM f_definir_layout .
gs_layout-zebra = 'X'.
ENDFORM. " F_DEFINIR_LAYOUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0110 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0110 INPUT.
CASE sy-ucomm.
WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
SET SCREEN 0.
WHEN 'DET' OR '&IC1'.
WHEN OTHERS.
CALL METHOD cl_gui_cfw=>dispatch
IMPORTING
return_code = lv_return_code.
ENDCASE.
ENDMODULE. " USER_COMMAND_0110 INPUT
*&---------------------------------------------------------------------*
*& Form F_BUSCA_INF_SERVIOS
*&---------------------------------------------------------------------*
FORM f_busca_inf_servicos .
CLEAR wa_datas.
READ TABLE lt_datas INTO wa_datas INDEX 1.
r_data-sign = 'I'.
r_data-option = 'BT'.
r_data-low = wa_datas-data1.
r_data-high = wa_datas-data30.
APPEND r_data.
r_fdgrp-sign = 'E'.
r_fdgrp-option = 'EQ'.
r_fdgrp-low = 'E4'.
* r_fdgrp-high = 'E4'.
APPEND r_fdgrp.
r_fdgrp-sign = 'E'.
r_fdgrp-option = 'EQ'.
r_fdgrp-low = 'A3'.
* r_fdgrp-high = 'E4'.
APPEND r_fdgrp.
SELECT * FROM fdfiep INTO TABLE lt_fdfiep
WHERE ausbk IN s_bukrs
AND koart = 'K'
and fdgrp in r_fdgrp.
SELECT * FROM bseg INTO TABLE lt_bseg
FOR ALL ENTRIES IN lt_fdfiep
WHERE bukrs = lt_fdfiep-ausbk
AND belnr = lt_fdfiep-belnr
AND gjahr = lt_fdfiep-gjahr.
REFRESH lt_sele.
LOOP AT lt_bseg INTO wa_bseg
WHERE buzei = '2'.
IF NOT wa_bseg-ebeln IS INITIAL.
wa_sele-ebeln = wa_bseg-ebeln.
APPEND wa_sele TO lt_sele.
CLEAR wa_sele.
ENDIF.
ENDLOOP.
LOOP AT lt_fdfiep INTO wa_fdfiep.
lv_index = sy-tabix.
CLEAR wa_bseg.
READ TABLE lt_bseg INTO wa_bseg WITH KEY rebzg = wa_fdfiep-belnr
rebzj = wa_fdfiep-gjahr
rebzz = wa_fdfiep-buzei.
IF sy-subrc IS INITIAL.
DELETE lt_fdfiep index lv_index.
ELSE.
CLEAR wa_bseg.
READ TABLE lt_bseg INTO wa_bseg WITH KEY belnr = wa_fdfiep-belnr
gjahr = wa_fdfiep-gjahr
buzei = wa_fdfiep-buzei.
IF sy-subrc IS INITIAL.
IF NOT wa_bseg-rebzg IS INITIAL.
DELETE lt_fdfiep index lv_index.
ENDIF.
ENDIF.
ENDIF.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM lt_sele.
SELECT * FROM fdm1 CLIENT SPECIFIED INTO TABLE lt_fdm1
WHERE mandt = sy-mandt
and bukrs IN s_bukrs
and fdgrp in r_fdgrp.
CLEAR lv_lines.
DESCRIBE TABLE lt_fdm1 LINES lv_lines.
CHECK NOT lv_lines IS INITIAL.
LOOP AT lt_fdm1 INTO wa_fdm1.
wa_sele-ebeln = wa_fdm1-ebeln.
APPEND wa_sele TO lt_sele.
CLEAR wa_sele.
ENDLOOP.
SELECT * FROM ekko INTO TABLE lt_ekko
FOR ALL ENTRIES IN lt_sele
WHERE ebeln = lt_sele-ebeln.
SELECT * FROM ekpo INTO TABLE lt_ekpo
FOR ALL ENTRIES IN lt_ekko
WHERE ebeln = lt_ekko-ebeln.
SELECT * FROM mbew INTO TABLE lt_mbew
FOR ALL ENTRIES IN lt_ekpo
WHERE matnr = lt_ekpo-matnr
AND bwkey = lt_ekpo-werks
AND bwtar = lt_ekpo-bwtar.
SELECT * FROM eket INTO TABLE lt_eket
FOR ALL ENTRIES IN lt_ekpo
WHERE ebeln = lt_ekpo-ebeln
AND ebelp = lt_ekpo-ebelp.
SELECT * FROM konv INTO TABLE lt_konv
FOR ALL ENTRIES IN lt_ekko
WHERE knumv = lt_ekko-knumv.
SELECT * FROM mara INTO TABLE lt_mara
FOR ALL ENTRIES IN lt_ekpo
WHERE matnr = lt_ekpo-matnr
AND mtart = c_mtart.
SELECT * FROM ekbe INTO TABLE lt_ekbe
FOR ALL ENTRIES IN lt_ekko
WHERE ebeln = lt_ekko-ebeln
AND bewtp = c_bewtp.
SELECT * FROM ekkn INTO TABLE lt_ekkn
FOR ALL ENTRIES IN lt_ekpo
WHERE ebeln = lt_ekpo-ebeln
AND ebelp = lt_ekpo-ebelp.
SELECT * FROM bsik INTO TABLE lt_bsik
FOR ALL ENTRIES IN lt_ekbe
WHERE bukrs IN s_bukrs
AND belnr = lt_ekbe-belnr.
SELECT * FROM bsak INTO TABLE lt_bsak
FOR ALL ENTRIES IN lt_ekbe
WHERE bukrs IN s_bukrs
AND belnr = lt_ekbe-belnr.
SELECT * FROM bsik APPENDING TABLE lt_bsik
FOR ALL ENTRIES IN lt_fdfiep
WHERE bukrs IN s_bukrs
AND belnr = lt_fdfiep-belnr.
SELECT * FROM ztbfi_par_fluxo CLIENT SPECIFIED INTO TABLE lt_par_fluxo
WHERE MANDT = SY-MANDT.
ENDFORM. " F_BUSCA_INF_SERVIOS
*&---------------------------------------------------------------------*
*& Form F_MONTA_TAB_SERVICOS
*&---------------------------------------------------------------------*
FORM f_monta_tab_servicos .
**** Rotina para FDM1
CLEAR lv_flg.
LOOP AT lt_fdm1 INTO wa_fdm1.
READ TABLE lt_ekko INTO wa_ekko WITH KEY ebeln = wa_fdm1-ebeln
frgzu = c_frgzu.
CHECK sy-subrc IS INITIAL.
LOOP AT lt_ekpo INTO wa_ekpo
WHERE ebeln = wa_fdm1-ebeln
AND ebelp = wa_fdm1-ebelp.
CLEAR wa_ekkn.
READ TABLE lt_ekkn INTO wa_ekkn WITH KEY ebeln = wa_ekpo-ebeln
ebelp = wa_ekpo-ebelp.
CLEAR wa_par_fluxo.
READ TABLE lt_par_fluxo INTO wa_par_fluxo WITH KEY bukrs = wa_ekpo-bukrs
saknr = wa_ekkn-sakto.
CHECK NOT sy-subrc IS INITIAL.
**** Verifica se o material tipo DIEN (Servio)]
CLEAR wa_mara.
READ TABLE lt_mara INTO wa_mara WITH KEY matnr = wa_ekpo-matnr
mtart = c_mtart.
IF sy-subrc IS INITIAL.
wa_dados-texto = c_serv.
ELSE.
wa_dados-texto = c_mat.
ENDIF.
CLEAR wa_mbew.
READ TABLE lt_mbew INTO wa_mbew WITH KEY matnr = wa_ekpo-matnr
bwkey = wa_ekpo-werks
bwtar = wa_ekpo-bwtar.
loop at lt_eket into wa_eket
where ebeln = wa_ekpo-ebeln
and ebelp = wa_ekpo-ebelp.
* lv_dat_venc = wa_fdm1-fdtag.
if wa_ekko-zterm = c_zterm.
lv_dat_venc = wa_ekko-aedat + wa_ekko-zbd1t.
else.
lv_dat_venc = wa_eket-eindt + wa_ekko-zbd1t.
endif.
lv_valor = wa_eket-menge * wa_ekpo-netpr.
lv_valor = lv_valor * -1.
* if wa_fdm1-fdwbt > 0.
* lv_valor = wa_fdm1-fdwbt * -1.
* else.
* lv_valor = wa_fdm1-fdwbt.
* endif.
PERFORM f_monta_tabela_interna_ser.
endloop.
ENDLOOP.
ENDLOOP.
CLEAR lv_flg.
LOOP AT lt_fdfiep INTO wa_fdfiep.
CLEAR wa_bseg.
READ TABLE lt_bseg INTO wa_bseg WITH KEY bukrs = wa_fdfiep-ausbk
belnr = wa_fdfiep-belnr
gjahr = wa_fdfiep-gjahr
buzei = '002'.
CHECK sy-subrc IS INITIAL.
clear wa_bsik.
READ TABLE lt_bsik INTO wa_bsik WITH KEY bukrs = wa_bseg-bukrs
belnr = wa_bseg-belnr
gjahr = wa_bseg-gjahr.
LOOP AT lt_ekpo INTO wa_ekpo
WHERE ebeln = wa_bseg-ebeln
AND ebelp = wa_bseg-ebelp.
* CLEAR wa_ekkn.
* READ TABLE lt_ekkn INTO wa_ekkn WITH KEY ebeln = wa_ekpo-ebeln
* ebelp = wa_ekpo-ebelp.
lv_flg = 'X'.
CLEAR wa_par_fluxo.
READ TABLE lt_par_fluxo INTO wa_par_fluxo WITH KEY bukrs = wa_ekpo-bukrs
saknr = wa_bseg-hkont.
CHECK NOT sy-subrc IS INITIAL.
**** Verifica se o material tipo DIEN (Servio)]
CLEAR wa_mara.
READ TABLE lt_mara INTO wa_mara WITH KEY matnr = wa_ekpo-matnr
mtart = c_mtart.
IF sy-subrc IS INITIAL.
wa_dados-texto = c_serv.
ELSE.
wa_dados-texto = c_mat.
ENDIF.
CLEAR wa_mbew.
READ TABLE lt_mbew INTO wa_mbew WITH KEY matnr = wa_ekpo-matnr
bwkey = wa_ekpo-werks
bwtar = wa_ekpo-bwtar.
lv_dat_venc = wa_fdfiep-fdtag.
if wa_bsik-shkzg = 'H'.
lv_valor = wa_bsik-wrbtr * -1.
else.
lv_valor = wa_bsik-wrbtr .
endif.
PERFORM f_monta_tabela_interna_ser.
ENDLOOP.
ENDLOOP.
ENDFORM. " F_MONTA_TAB_SERVICOS
*&---------------------------------------------------------------------*
*& Form F_ROTINA_SERVICOS
*&---------------------------------------------------------------------*
FORM f_rotina_servicos .
PERFORM f_busca_inf_servicos.
PERFORM f_monta_tab_servicos.
ENDFORM. " F_ROTINA_SERVICOS
*&---------------------------------------------------------------------*
*& Form F_MONTA_TABELA_INTERNA_SER
*&---------------------------------------------------------------------*
FORM f_monta_tabela_interna_ser .
CLEAR: wa_datas, lv_flag.
READ TABLE lt_datas INTO wa_datas INDEX 1.
* IF wa_dados-texto NE c_serv.
* IF NOT wa_fdm1-fdtag IS INITIAL.
* CLEAR: lv_dat_venc, lv_valor.
* lv_dat_venc = wa_fdm1-fdtag.
* lv_valor = wa_fdm1-fdwbt.
* ENDIF.
* ENDIF.
perform f_move_valor_data.
** Monta tabela de detalhe
CLEAR wa_fdm1.
READ TABLE lt_fdm1 INTO wa_fdm1 WITH KEY ebeln = wa_ekpo-ebeln
ebelp = wa_ekpo-ebelp.
CLEAR wa_lfa1.
SELECT SINGLE * FROM lfa1 INTO wa_lfa1
WHERE lifnr = wa_fdm1-lifnr.
CLEAR wa_ekkn.
READ TABLE lt_ekkn INTO wa_ekkn WITH KEY ebeln = wa_ekpo-ebeln
ebelp = wa_ekpo-ebelp.
IF sy-subrc IS INITIAL.
IF NOT wa_ekkn-prctr IS INITIAL.
wa_det-controle = wa_ekkn-prctr.
ENDIF.
IF NOT wa_ekkn-kostl IS INITIAL.
wa_det-controle = wa_ekkn-kostl.
ENDIF.
IF NOT wa_ekkn-aufnr IS INITIAL.
wa_det-controle = wa_ekkn-aufnr.
ENDIF.
ENDIF.
IF NOT wa_fdm1 IS INITIAL.
wa_det-lifnr = wa_fdm1-lifnr.
if wa_fdm1-fddbt > 0.
wa_det-fddbt = wa_fdm1-fddbt * -1.
else.
wa_det-fddbt = wa_fdm1-fddbt.
endif.
wa_det-currd = wa_fdm1-currd.
ELSE.
wa_det-lifnr = wa_fdfiep-lifnr.
if wa_fdfiep-fdwbt > 0.
wa_det-fddbt = wa_fdfiep-fdwbt * -1.
else.
wa_det-fddbt = wa_fdfiep-fdwbt.
endif.
wa_det-currd = wa_fdfiep-dispw.
ENDIF.
IF lv_flg IS INITIAL.
wa_det-ebeln = wa_ekpo-ebeln.
wa_det-ebelp = wa_ekpo-ebelp.
ELSE.
wa_det-ebeln = wa_bseg-ebeln.
wa_det-ebelp = wa_bseg-ebelp.
ENDIF.
wa_det-texto = wa_dados-texto.
wa_det-fdtag = lv_dat_venc.
wa_det-name1 = wa_lfa1-name1.
wa_det-fdwbt = lv_valor.
wa_det-xblnr = wa_bsik-xblnr.
wa_det-belnr = wa_bsik-belnr.
wa_det-budat = wa_bsik-budat.
wa_det-zlspr = wa_bsik-zlspr.
wa_det-saknr = wa_bsik-saknr.
wa_det-bukrs = wa_ekko-bukrs.
wa_det-gjahr = wa_bsik-gjahr.
wa_det-bklas = wa_mbew-bklas.
SELECT SINGLE bkbez FROM t025t INTO wa_det-bkbez
WHERE spras = sy-langu
AND bklas = wa_det-bklas.
APPEND wa_det TO lt_det.
CLEAR: wa_dados, wa_det.
**
ENDFORM. " F_MONTA_TABELA_INTERNA_SER
*&---------------------------------------------------------------------*
*& Module STATUS_0120 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0120 OUTPUT.
SET PF-STATUS 'PF0120'.
SET TITLEBAR 'T0120'.
IF g_custom_container_de IS INITIAL.
CREATE OBJECT g_custom_container_de
EXPORTING
container_name = g_container_de.
CREATE OBJECT g_grid_de
EXPORTING
i_parent = g_custom_container_de
i_appl_events = 'X'.
CREATE OBJECT g_event_receiver_de.
SET HANDLER g_event_receiver_de->handle_user_command_de FOR g_grid_de.
SET HANDLER g_event_receiver_de->handle_double_click_de FOR g_grid_de.
SET HANDLER g_event_receiver_de->handle_hotspot_click_de FOR g_grid_de.
PERFORM f_definir_fieldcat_de.
PERFORM f_definir_sort_de.
PERFORM f_definir_layout_de.
CALL METHOD g_grid_de->set_table_for_first_display
EXPORTING
is_layout = gs_layout
CHANGING
it_fieldcatalog = gs_fieldcatalog_de
it_sort = gs_sort_de
it_outtab = lt_det_v. " Data
ELSE.
CALL METHOD g_grid_de->refresh_table_display
EXPORTING I_SOFT_REFRESH = 'X'.
ENDIF.
ENDMODULE. " STATUS_0120 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0120 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0120 INPUT.
CASE sy-ucomm.
WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
SET SCREEN 0.
WHEN 'DET' OR '&IC1'.
WHEN OTHERS.
CALL METHOD cl_gui_cfw=>dispatch
IMPORTING
return_code = lv_return_code.
ENDCASE.
ENDMODULE. " USER_COMMAND_0120 INPUT
*&---------------------------------------------------------------------*
*& Form F_DEFINIR_FIELDCAT_DE
*&---------------------------------------------------------------------*
FORM f_definir_fieldcat_de .
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '1'.
gv_fcat_de-fieldname = 'FDTAG'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-020.
gv_fcat_de-outputlen = 15.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '2'.
gv_fcat_de-fieldname = 'BUKRS'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-021.
gv_fcat_de-outputlen = 10.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '3'.
gv_fcat_de-fieldname = 'TEXTO'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-022.
gv_fcat_de-outputlen = 25.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '4'.
gv_fcat_de-fieldname = 'SAKNR'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-023.
gv_fcat_de-outputlen = 10.
gv_fcat_de-no_zero = c_x.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '5'.
gv_fcat_de-fieldname = 'BKLAS'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-024.
gv_fcat_de-outputlen = 5.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '6'.
gv_fcat_de-fieldname = 'BKBEZ'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-025.
gv_fcat_de-outputlen = 25.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '7'.
gv_fcat_de-fieldname = 'CONTROLE'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-026.
gv_fcat_de-outputlen = 10.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '8'.
gv_fcat_de-fieldname = 'LIFNR'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-027.
gv_fcat_de-outputlen = 15.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '9'.
gv_fcat_de-fieldname = 'NAME1'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-028.
gv_fcat_de-outputlen = 30.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '10'.
gv_fcat_de-fieldname = 'FDWBT'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-029.
gv_fcat_de-outputlen = 16.
gv_fcat_de-do_sum = c_x.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '11'.
gv_fcat_de-fieldname = 'FDDBT'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-030.
gv_fcat_de-outputlen = 16.
gv_fcat_de-do_sum = c_x.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '12'.
gv_fcat_de-fieldname = 'CURRD'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-031.
gv_fcat_de-outputlen = 4.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '13'.
gv_fcat_de-fieldname = 'XBLNR'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-032.
gv_fcat_de-outputlen = 10.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '14'.
gv_fcat_de-fieldname = 'BELNR'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-033.
gv_fcat_de-hotspot = 'X'.
gv_fcat_de-outputlen = 14.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '15'.
gv_fcat_de-fieldname = 'BUDAT'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-034.
gv_fcat_de-outputlen = 10.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '16'.
gv_fcat_de-fieldname = 'EBELN'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-035.
gv_fcat_de-outputlen = 10.
gv_fcat_de-hotspot = 'X'.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '17'.
gv_fcat_de-fieldname = 'EBELP'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-036.
gv_fcat_de-outputlen = 10.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
CLEAR gv_fcat_de.
gv_fcat_de-col_pos = '18'.
gv_fcat_de-fieldname = 'ZLSPR'.
gv_fcat_de-tabname = 'LT_DET_V'.
gv_fcat_de-coltext = text-037.
gv_fcat_de-outputlen = 10.
INSERT gv_fcat_de INTO TABLE gs_fieldcatalog_de.
ENDFORM. " F_DEFINIR_FIELDCAT_DE
*&---------------------------------------------------------------------*
*& Form F_DEFINIR_LAYOUT_DE
*&---------------------------------------------------------------------*
FORM f_definir_layout_de .
gs_layout_de-zebra = 'X'.
gs_layout_de-sel_mode = 'A'.
gs_layout_de-NO_UTSPLIT = '1'.
* gs_layout_de-TOTALS_BEF = 'X'.
ENDFORM. " F_DEFINIR_LAYOUT_DE
*&---------------------------------------------------------------------*
*& Form F_ROTINA_FATURAMENTO
*&---------------------------------------------------------------------*
FORM f_rotina_faturamento .
PERFORM f_busca_inf_faturamento.
PERFORM f_monta_tab_faturamento.
ENDFORM. " F_ROTINA_FATURAMENTO
*&---------------------------------------------------------------------*
*& Form F_BUSCA_INF_FATURAMENTO
*&---------------------------------------------------------------------*
FORM f_busca_inf_faturamento .
refresh lt_fdfiep.
r_fdgrp-sign = 'E'.
r_fdgrp-option = 'EQ'.
r_fdgrp-low = 'E4'.
* r_fdgrp-high = 'E4'.
APPEND r_fdgrp.
r_fdgrp-sign = 'E'.
r_fdgrp-option = 'EQ'.
r_fdgrp-low = 'A3'.
* r_fdgrp-high = 'E4'.
APPEND r_fdgrp.
SELECT * FROM fdfiep INTO TABLE lt_fdfiep
WHERE ausbk IN s_bukrs
AND koart = c_koart
and fdgrp in r_fdgrp.
CLEAR lv_lines.
DESCRIBE TABLE lt_fdfiep LINES lv_lines.
CHECK NOT lv_lines IS INITIAL.
SELECT * FROM bsid INTO TABLE lt_bsid
FOR ALL ENTRIES IN lt_fdfiep
WHERE bukrs IN s_bukrs
AND belnr = lt_fdfiep-belnr.
* refresh lt_bsik.
* SELECT * FROM bsik INTO TABLE lt_bsik
* FOR ALL ENTRIES IN lt_fdfiep
* WHERE bukrs IN s_bukrs
* AND belnr = lt_fdfiep-belnr.
SELECT * FROM bsak INTO TABLE lt_bsak
FOR ALL ENTRIES IN lt_fdfiep
WHERE bukrs IN s_bukrs
AND belnr = lt_fdfiep-belnr.
ENDFORM. " F_BUSCA_INF_FATURAMENTO
*&---------------------------------------------------------------------*
*& Form F_MONTA_TAB_FATURAMENTO
*&---------------------------------------------------------------------*
FORM f_monta_tab_faturamento .
LOOP AT lt_fdfiep INTO wa_fdfiep.
LOOP AT lt_bsid INTO wa_bsid
WHERE bukrs = wa_fdfiep-ausbk
AND belnr = wa_fdfiep-belnr.
if wa_bsik-shkzg = 'H'.
lv_valor = wa_bsid-wrbtr.
else.
lv_valor = wa_bsid-wrbtr * -1.
endif.
lv_dat_venc = wa_bsid-zfbdt + wa_bsid-zbd1t.
* lv_dat_venc = wa_fdfiep-fdtag.
wa_dados-texto = c_fat.
PERFORM f_monta_tabela_faturamento.
ENDLOOP.
ENDLOOP.
ENDFORM. " F_MONTA_TAB_FATURAMENTO
*&---------------------------------------------------------------------*
*& Form F_MONTA_TABELA_FATURAMENTO
*&---------------------------------------------------------------------*
FORM f_monta_tabela_faturamento .
CLEAR: wa_datas, lv_flag.
READ TABLE lt_datas INTO wa_datas INDEX 1.
perform f_move_valor_data.
** Monta tabela de detalhe
CLEAR wa_kna1.
SELECT SINGLE * FROM kna1 INTO wa_kna1
WHERE kunnr = wa_fdfiep-kunnr.
CLEAR wa_bseg.
SELECT SINGLE * FROM bseg INTO wa_bseg
WHERE bukrs = wa_fdfiep-ausbk
AND gjahr = wa_fdfiep-gjahr
AND belnr = wa_bsid-belnr
AND buzei = c_buzei.
IF sy-subrc IS INITIAL.
IF NOT wa_bseg-prctr IS INITIAL.
wa_det-controle = wa_bseg-prctr.
ENDIF.
IF NOT wa_bseg-kostl IS INITIAL.
wa_det-controle = wa_bseg-kostl.
ENDIF.
IF NOT wa_bseg-aufnr IS INITIAL.
wa_det-controle = wa_bseg-aufnr.
ENDIF.
ENDIF.
wa_det-texto = wa_dados-texto.
wa_det-fdtag = lv_dat_venc.
wa_det-kunnr = wa_fdfiep-kunnr.
wa_det-name1 = wa_kna1-name1.
wa_det-fdwbt = lv_valor.
wa_det-currd = wa_fdfiep-dispw.
wa_det-bukrs = wa_fdfiep-ausbk.
wa_det-gjahr = wa_fdfiep-gjahr.
wa_det-fddbt = wa_bsid-dmbtr.
wa_det-xblnr = wa_bsid-xblnr.
wa_det-belnr = wa_bsid-belnr.
wa_det-budat = wa_bsid-budat.
wa_det-saknr = wa_bsid-saknr.
* wa_det-ebeln = wa_-ebeln.
wa_det-zlspr = wa_bsid-zlspr.
APPEND wa_det TO lt_det.
CLEAR: wa_dados, wa_det.
**
ENDFORM. " F_MONTA_TABELA_FATURAMENTO
*&---------------------------------------------------------------------*
*& Form F_ROTINA_LISTA_GERAL
*&---------------------------------------------------------------------*
FORM f_rotina_lista_geral .
LOOP AT lt_det INTO wa_det
WHERE fdtag IN s_per.
MOVE-CORRESPONDING wa_det TO wa_det_v.
APPEND wa_det_v TO lt_det_v.
CLEAR wa_det_v.
ENDLOOP.
SORT lt_det_v BY texto fdtag.
ENDFORM. " F_ROTINA_LISTA_GERAL
*&---------------------------------------------------------------------*
*& Form F_DEFINIR_SORT_DE
*&---------------------------------------------------------------------*
FORM f_definir_sort_de .
* CLEAR gv_sort_de.
* gv_sort_de-spos = '01'.
* gv_sort_de-fieldname = 'BUKRS'.
* gv_sort_de-up = 'X'.
* gv_sort_de-group = 'X'.
* gv_sort_de-subtot = 'X'.
** gv_sort_de-expa = 'X'.
** gv_sort_de-comp = 'X'.
* INSERT gv_sort_de INTO TABLE gs_sort_de.
**
CLEAR gv_sort_de.
gv_sort_de-spos = 1.
gv_sort_de-fieldname = 'FDTAG'.
gv_sort_de-up = 'X'.
gv_sort_de-group = '*'.
gv_sort_de-subtot = 'X'.
gv_sort_de-expa = 'X'.
gv_sort_de-comp = 'X'.
INSERT gv_sort_de INTO TABLE gs_sort_de.
** CLEAR gv_sort_de.
** gv_sort_de-spos = '03'.
** gv_sort_de-fieldname = 'TEXTO'.
** gv_sort_de-up = 'X'.
** gv_sort_de-group = 'X'.
** gv_sort_de-subtot = 'X'.
** gv_sort_de-expa = 'X'.
** gv_sort_de-comp = 'X'.
** INSERT gv_sort_de INTO TABLE gs_sort_de.
*
* CLEAR gv_sort_de.
* gv_sort_de-spos = '03'.
* gv_sort_de-fieldname = 'SAKNR'.
* gv_sort_de-up = 'X'.
* gv_sort_de-group = 'X'.
* gv_sort_de-subtot = 'X'.
* gv_sort_de-expa = 'X'.
* INSERT gv_sort_de INTO TABLE gs_sort_de.
**
* CLEAR gv_sort_de.
* gv_sort_de-spos = '04'.
* gv_sort_de-fieldname = 'BKLAS'.
* gv_sort_de-up = 'X'.
* gv_sort_de-group = 'X'.
* gv_sort_de-subtot = 'X'.
* gv_sort_de-expa = 'X'.
* INSERT gv_sort_de INTO TABLE gs_sort_de.
*
* CLEAR gv_sort_de.
* gv_sort_de-spos = '03'.
* gv_sort_de-fieldname = 'FDWBT'.
* gv_sort_de-subtot = 'X'.
* INSERT gv_sort_de INTO TABLE gs_sort_de.
ENDFORM. " F_DEFINIR_SORT_DE
*&---------------------------------------------------------------------*
*& Form HANDLE_DOUBLE_CLICK_DE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_E_ROW text
* -->P_E_COLUMN text
*----------------------------------------------------------------------*
FORM handle_double_click_de USING p_e_row
p_e_column.
ENDFORM. " HANDLE_DOUBLE_CLICK_DE
*&---------------------------------------------------------------------*
*& Form F_VERIFICA_EMPRESAS
*&---------------------------------------------------------------------*
FORM f_verifica_empresas .
CLEAR lv_flag.
LOOP AT s_bukrs.
IF NOT s_bukrs-low IS INITIAL AND
NOT s_bukrs-low(1) = c_b.
lv_flag = 'S'.
ENDIF.
IF NOT s_bukrs-high IS INITIAL AND
NOT s_bukrs-high(1) = c_b.
lv_flag = 'S'.
ENDIF.
ENDLOOP.
IF NOT lv_flag IS INITIAL.
MESSAGE s001.
ENDIF.
ENDFORM. " F_VERIFICA_EMPRESAS
*&---------------------------------------------------------------------*
*& Form F_ROTINA_DA_BEN_IMP
*&---------------------------------------------------------------------*
FORM f_rotina_da_ben_imp .
PERFORM f_busca_inf_da_ben_imp.
PERFORM f_monta_da_ben_imp.
ENDFORM. " F_ROTINA_DA_BEN_IMP
*&---------------------------------------------------------------------*
*& Form F_BUSCA_INF_DA_BEN_IMP
*&---------------------------------------------------------------------*
FORM f_busca_inf_da_ben_imp .
REFRESH: lt_bsik, lt_bsak, lt_fdfiep.
r_fdgrp-sign = 'E'.
r_fdgrp-option = 'EQ'.
r_fdgrp-low = 'E4'.
* r_fdgrp-high = 'E4'.
APPEND r_fdgrp.
r_fdgrp-sign = 'E'.
r_fdgrp-option = 'EQ'.
r_fdgrp-low = 'A3'.
* r_fdgrp-high = 'E4'.
APPEND r_fdgrp.
SELECT * FROM fdfiep INTO TABLE lt_fdfiep
WHERE ausbk IN s_bukrs
AND koart = c_koart_k
and fdgrp in r_fdgrp.
SELECT * FROM bsik INTO TABLE lt_bsik
WHERE bukrs IN s_bukrs.
* SELECT * FROM bsik INTO TABLE lt_bsik
* FOR ALL ENTRIES IN lt_fdfiep
* WHERE bukrs = lt_fdfiep-bukrs
* and belnr = lt_fdfiep-belnr.
SELECT * FROM bsak INTO TABLE lt_bsak
FOR ALL ENTRIES IN lt_bsik
WHERE bukrs IN s_bukrs
AND gjahr = lt_bsik-gjahr
AND belnr = lt_bsik-belnr.
SELECT * FROM bseg INTO TABLE lt_bseg
FOR ALL ENTRIES IN lt_bsik
WHERE bukrs IN s_bukrs
AND gjahr = lt_bsik-gjahr
AND belnr = lt_bsik-belnr
AND buzei = c_buzei.
ENDFORM. " F_BUSCA_INF_DA_BEN_IMP
*&---------------------------------------------------------------------*
*& Form F_MONTA_DA_BEN_IMP
*&---------------------------------------------------------------------*
FORM f_monta_da_ben_imp .
LOOP AT lt_ekko INTO wa_ekko
WHERE FRGZU = C_FRGZU.
LOOP AT lt_ekpo INTO wa_ekpo
WHERE ebeln = wa_ekko-ebeln.
READ TABLE lt_ekkn INTO wa_ekkn WITH KEY ebeln = wa_ekpo-ebeln
ebelp = wa_ekpo-ebelp.
READ TABLE lt_par_fluxo INTO wa_par_fluxo WITH KEY bukrs = wa_ekpo-bukrs
saknr = wa_ekkn-sakto.
CHECK sy-subrc IS INITIAL.
******* Busca documento no historico do pedido
READ TABLE lt_ekbe INTO wa_ekbe WITH KEY ebeln = wa_ekko-ebeln
bewtp = c_bewtp.
IF sy-subrc IS INITIAL.
********** Verifica se documento tem entrada BSIK
READ TABLE lt_bsik INTO wa_bsik WITH KEY bukrs = wa_ekko-bukrs
belnr = wa_ekbe-belnr.
IF sy-subrc IS INITIAL.
************* Verifica se documento tem entrada BSAK
READ TABLE lt_bsak INTO wa_bsak WITH KEY bukrs = wa_ekko-bukrs
belnr = wa_ekbe-belnr.
IF sy-subrc IS INITIAL.
EXIT.
ENDIF.
READ TABLE lt_fdm1 INTO wa_fdm1 WITH KEY bukrs = wa_ekko-bukrs
ebeln = wa_ekko-ebeln.
IF sy-subrc IS INITIAL.
CLEAR: lv_dat_venc, lv_valor, wa_fdm1.
LOOP AT lt_eket INTO wa_eket
WHERE ebeln = wa_ekpo-ebeln
AND ebelp = wa_ekpo-ebelp.
CALL FUNCTION 'NET_DUE_DATE_GET'
EXPORTING
i_zfbdt = wa_eket-eindt
i_zbd1t = wa_ekko-zbd1t
i_zbd2t = wa_ekko-zbd2t
i_zbd3t = wa_ekko-zbd3t
i_shkzg = lv_shkzg
i_rebzg = lv_rebzg
i_koart = 'D'
IMPORTING
e_faedt = lv_dat_venc.
lv_valor = wa_ekpo-netpr * wa_eket-menge.
lv_valor = lv_valor * -1.
CASE wa_par_fluxo-clades.
WHEN '1'. wa_dados-texto = c_imptax. " Impostos e Taxas
WHEN '2'. wa_dados-texto = c_desadm. " Despesas Administrativas
WHEN '3'. wa_dados-texto = c_benef. " Beneficios
WHEN '4'. wa_dados-texto = c_aduana. " Beneficios
ENDCASE.
PERFORM f_monta_tabela_interna_ser.
ENDLOOP.
ENDIF.
ELSE. "no existe na BSIK
READ TABLE lt_fdm1 INTO wa_fdm1 WITH KEY bukrs = wa_ekko-bukrs
ebeln = wa_ekko-ebeln.
IF sy-subrc IS INITIAL.
CLEAR: lv_dat_venc, lv_valor, wa_fdm1.
LOOP AT lt_eket INTO wa_eket
WHERE ebeln = wa_ekpo-ebeln
AND ebelp = wa_ekpo-ebelp.
CALL FUNCTION 'NET_DUE_DATE_GET'
EXPORTING
i_zfbdt = wa_eket-eindt
i_zbd1t = wa_ekko-zbd1t
i_zbd2t = wa_ekko-zbd2t
i_zbd3t = wa_ekko-zbd3t
i_shkzg = lv_shkzg
i_rebzg = lv_rebzg
i_koart = 'D'
IMPORTING
e_faedt = lv_dat_venc.
lv_valor = wa_ekpo-netpr * wa_eket-menge.
lv_valor = lv_valor * -1.
CASE wa_par_fluxo-clades.
WHEN '1'. wa_dados-texto = c_imptax. " Impostos e Taxas
WHEN '2'. wa_dados-texto = c_desadm. " Despesas Administrativas
WHEN '3'. wa_dados-texto = c_benef. " Beneficios
WHEN '4'. wa_dados-texto = c_aduana. " Beneficios
ENDCASE.
PERFORM f_monta_tabela_interna_ser.
ENDLOOP.
ENDIF. "fdm1
ENDIF. "bsik
ENDIF.
ENDLOOP.
ENDLOOP.
******* Colocar a rotina de leitura das contas
* LOOP AT lt_fdfiep INTO wa_fdfiep.
LOOP AT lt_bsik INTO wa_bsik.
* WHERE bukrs = wa_fdfiep-ausbk
* AND belnr = wa_fdfiep-belnr.
read table lt_fdfiep into wa_fdfiep with key ausbK = wa_bsik-bukrs
gjahr = wa_bsik-gjahr
belnr = wa_bsik-belnr.
if sy-subrc is initial.
if wa_fdfiep-fdgrp = 'A3' or wa_fdfiep-fdgrp = 'E4'.
continue.
endif.
else.
continue.
endif.
READ TABLE lt_bsak INTO wa_bsak WITH KEY bukrs = wa_bsik-bukrs
gjahr = wa_bsik-gjahr
belnr = wa_bsik-belnr.
CHECK NOT sy-subrc IS INITIAL.
READ TABLE lt_bseg INTO wa_bseg WITH KEY bukrs = wa_bsik-bukrs
belnr = wa_bsik-belnr
gjahr = wa_bsik-gjahr
buzei = c_buzei.
IF sy-subrc IS INITIAL.
READ TABLE lt_par_fluxo INTO wa_par_fluxo WITH KEY bukrs = wa_bsik-bukrs
saknr = wa_bseg-hkont
.
CHECK sy-subrc IS INITIAL.
CLEAR: lv_dat_venc, lv_valor, wa_fdm1.
CALL FUNCTION 'NET_DUE_DATE_GET'
EXPORTING
i_zfbdt = wa_bsik-zfbdt
i_zbd1t = wa_bsik-zbd1t
i_zbd2t = wa_bsik-zbd2t
i_zbd3t = wa_bsik-zbd3t
i_shkzg = lv_shkzg
i_rebzg = lv_rebzg
i_koart = 'D'
IMPORTING
e_faedt = lv_dat_venc.
if wa_bsik-wrbtr > 0.
lv_valor = wa_bsik-wrbtr * -1.
else.
lv_valor = wa_bsik-wrbtr.
endif.
* lv_valor = wa_bsik-dmbtr.
CASE wa_par_fluxo-clades.
WHEN '1'. wa_dados-texto = c_imptax. " Impostos e Taxas
WHEN '2'. wa_dados-texto = c_desadm. " Despesas Administrativas
WHEN '3'. wa_dados-texto = c_benef. " Beneficios
WHEN '4'. wa_dados-texto = c_aduana. " Beneficios
ENDCASE.
PERFORM f_monta_tabela_interna_out.
ENDIF.
ENDLOOP.
ENDFORM. " F_MONTA_DA_BEN_IMP
*&---------------------------------------------------------------------*
*& Form F_MONTA_TABELA_INTERNA_OUT
*&---------------------------------------------------------------------*
FORM f_monta_tabela_interna_out .
CLEAR: wa_datas, lv_flag.
READ TABLE lt_datas INTO wa_datas INDEX 1.
* IF wa_dados-texto NE c_serv.
* IF NOT wa_fdm1-fdtag IS INITIAL.
* CLEAR: lv_dat_venc, lv_valor.
* lv_dat_venc = wa_fdm1-fdtag.
* lv_valor = wa_fdm1-fdwbt.
* ENDIF.
* ENDIF.
IF lv_dat_venc = wa_datas-data1.
wa_dados-valor1 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data2.
wa_dados-valor2 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data3.
wa_dados-valor3 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data4.
wa_dados-valor4 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data5.
wa_dados-valor5 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data6.
wa_dados-valor6 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data7.
wa_dados-valor7 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data8.
wa_dados-valor8 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data9.
wa_dados-valor9 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data10.
wa_dados-valor10 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data11.
wa_dados-valor11 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data12.
wa_dados-valor12 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data13.
wa_dados-valor13 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data14.
wa_dados-valor14 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data15.
wa_dados-valor15 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data16.
wa_dados-valor16 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data17.
wa_dados-valor17 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data18.
wa_dados-valor18 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data19.
wa_dados-valor19 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data20.
wa_dados-valor20 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data21.
wa_dados-valor21 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data22.
wa_dados-valor22 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data23.
wa_dados-valor23 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data24.
wa_dados-valor24 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data25.
wa_dados-valor25 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data26.
wa_dados-valor26 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data27.
wa_dados-valor27 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data28.
wa_dados-valor28 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data29.
wa_dados-valor29 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data30.
wa_dados-valor30 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_flag IS INITIAL AND lv_dat_venc < wa_datas-data1.
wa_dados-valor00 = lv_valor.
ENDIF.
COLLECT wa_dados INTO lt_dados.
** Monta tabela de detalhe
CLEAR wa_lfa1.
SELECT SINGLE * FROM lfa1 INTO wa_lfa1
WHERE lifnr = wa_bsik-lifnr.
CLEAR wa_bseg.
SELECT SINGLE * FROM bseg INTO wa_bseg
WHERE bukrs = wa_bsik-bukrs
AND gjahr = wa_bsik-gjahr
AND belnr = wa_bsik-belnr
AND buzei = c_buzei.
IF sy-subrc IS INITIAL.
IF NOT wa_bseg-prctr IS INITIAL.
wa_det-controle = wa_bseg-prctr.
ENDIF.
IF NOT wa_bseg-kostl IS INITIAL.
wa_det-controle = wa_bseg-kostl.
ENDIF.
IF NOT wa_bseg-aufnr IS INITIAL.
wa_det-controle = wa_bseg-aufnr.
ENDIF.
ENDIF.
wa_det-texto = wa_dados-texto.
wa_det-fdtag = lv_dat_venc.
wa_det-lifnr = wa_bsik-lifnr.
wa_det-name1 = wa_lfa1-name1.
wa_det-fdwbt = lv_valor.
wa_det-fddbt = wa_bsik-dmbtr.
wa_det-currd = wa_bsik-waers.
wa_det-xblnr = wa_bsik-xblnr.
wa_det-belnr = wa_bsik-belnr.
wa_det-budat = wa_bsik-budat.
wa_det-saknr = wa_bsik-saknr.
* wa_det-ebeln = wa_ekko-ebeln.
* wa_det-ebelp = wa_ekpo-ebelp.
wa_det-zlspr = wa_bsik-zlspr.
wa_det-bukrs = wa_bsik-bukrs.
wa_det-gjahr = wa_bsik-gjahr.
APPEND wa_det TO lt_det.
CLEAR: wa_dados, wa_det.
**
ENDFORM. " F_MONTA_TABELA_INTERNA_OUT
*&---------------------------------------------------------------------*
*& Form F_EVENT_HOTSPOT_CLICK_DE
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_E_ROW_ID text
* -->P_E_COLUMN_ID text
* -->P_ES_ROW_NO text
*----------------------------------------------------------------------*
FORM f_event_hotspot_click_de USING p_e_row_id
p_e_column_id
p_es_row_no.
READ TABLE lt_det_v INTO wa_det_v INDEX p_e_row_id.
IF sy-subrc IS INITIAL.
IF p_e_column_id = 'BELNR'.
SET PARAMETER ID: 'BLN' FIELD wa_det_v-belnr,
'BUK' FIELD wa_det_v-bukrs,
'GJR' FIELD wa_det_v-gjahr.
CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
ENDIF.
IF p_e_column_id = 'EBELN'.
SET PARAMETER ID: 'BES' FIELD wa_det_v-ebeln.
CALL TRANSACTION 'ME23N' AND SKIP FIRST SCREEN.
ENDIF.
ENDIF.
ENDFORM. " F_EVENT_HOTSPOT_CLICK_DE
*&---------------------------------------------------------------------*
*& Module STATUS_0125 OUTPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE status_0125 OUTPUT.
* SET PF-STATUS 'xxxxxxxx'.
* SET TITLEBAR 'xxx'.
SET PF-STATUS 'PF0120'.
SET TITLEBAR 'T0120'.
IF g_custom_container_ag IS INITIAL.
CREATE OBJECT g_custom_container_ag
EXPORTING
container_name = g_container_ag.
CREATE OBJECT g_grid_ag
EXPORTING
i_parent = g_custom_container_ag
i_appl_events = 'X'.
CREATE OBJECT g_event_receiver_ag.
SET HANDLER g_event_receiver_ag->handle_user_command_ag FOR g_grid_ag.
SET HANDLER g_event_receiver_ag->handle_double_click_ag FOR g_grid_ag.
SET HANDLER g_event_receiver_ag->handle_hotspot_click_ag FOR g_grid_ag.
PERFORM f_definir_fieldcat_ag.
PERFORM f_definir_sort_ag.
PERFORM f_definir_layout_ag.
CALL METHOD g_grid_ag->set_table_for_first_display
EXPORTING
is_layout = gs_layout_ag
CHANGING
it_fieldcatalog = gs_fieldcatalog_ag
it_sort = gs_sort_ag
it_outtab = lt_dados_a. " Data
ELSE.
CALL METHOD g_grid_ag->refresh_table_display.
ENDIF.
ENDMODULE. " STATUS_0125 OUTPUT
*&---------------------------------------------------------------------*
*& Module USER_COMMAND_0125 INPUT
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
MODULE user_command_0125 INPUT.
CASE sy-ucomm.
WHEN 'BACK' OR 'CANCEL' OR 'EXIT'.
SET SCREEN 0.
WHEN 'DET' OR '&IC1'.
WHEN OTHERS.
CALL METHOD cl_gui_cfw=>dispatch
IMPORTING
return_code = lv_return_code.
ENDCASE.
ENDMODULE. " USER_COMMAND_0125 INPUT
*&---------------------------------------------------------------------*
*& Form F_DEFINIR_FIELDCAT_AG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_definir_fieldcat_ag .
READ TABLE lt_datas INTO wa_datas INDEX 1.
WRITE wa_datas-data1 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'CONTA'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = 'CONTA'.
gv_fcat_ag-outputlen = 20.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
* CLEAR gv_fcat_ag.
* gv_fcat_ag-fieldname = 'BKLAS'.
* gv_fcat_ag-tabname = 'LT_DADOS_A'.
* gv_fcat_ag-coltext = 'Classe de avaliao'.
* gv_fcat_ag-outputlen = 20.
* INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'TEXTO'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = 'CLASSE DE AVALIAO'.
gv_fcat_ag-outputlen = 30.
* gv_fcat_ag-NO_OUT = 'X'.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR00'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = 'SALDO ANTERIOR'.
gv_fcat_ag-outputlen = 20.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR1'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data2 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR2'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data3 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR3'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data4 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR4'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data5 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR5'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data6 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR6'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data7 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR7'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data8 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR8'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data9 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR9'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data10 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR10'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data11 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR11'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data12 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR12'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data13 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR13'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data14 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR14'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data15 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR15'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data16 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR16'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data17 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR17'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data18 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR18'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data19 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR19'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data20 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR20'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data21 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR21'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data22 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR22'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data23 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR23'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data24 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR24'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data25 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR25'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data26 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR26'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data27 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR27'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data28 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR28'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data29 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR29'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data30 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR30'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data31 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR31'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data32 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR32'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data33 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR33'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data34 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR34'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data35 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR35'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data36 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR36'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data37 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR37'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data38 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR38'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data39 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR39'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data40 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR40'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data41 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR41'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data42 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR42'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data43 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR43'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data44 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR44'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data45 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR45'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data46 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR46'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data47 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR47'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data48 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR48'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data49 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR49'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data50 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR50'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data51 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR51'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data52 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR52'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data53 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR53'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data54 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR54'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data55 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR55'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data56 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR56'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data57 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR57'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data58 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR58'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data59 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR59'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
WRITE wa_datas-data60 TO lv_texto_data.
CLEAR gv_fcat_ag.
gv_fcat_ag-fieldname = 'VALOR60'.
gv_fcat_ag-tabname = 'LT_DADOS_A'.
gv_fcat_ag-coltext = lv_texto_data.
gv_fcat_ag-outputlen = 13.
gv_fcat_ag-no_zero = c_x.
gv_fcat_ag-do_sum = c_x.
INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
* CLEAR gv_fcat_ag.
* gv_fcat_ag-fieldname = 'FDWBT'.
* gv_fcat_ag-tabname = 'LT_DET_A'.
* gv_fcat_ag-coltext = 'Valor'.
* gv_fcat_ag-outputlen = 20.
* INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
*
* CLEAR gv_fcat_ag.
* gv_fcat_ag-fieldname = 'CURRD'.
* gv_fcat_ag-tabname = 'LT_DET_A'.
* gv_fcat_ag-coltext = 'Moeda'.
* gv_fcat_ag-outputlen = 5.
* INSERT gv_fcat_ag INTO TABLE gs_fieldcatalog_ag.
ENDFORM. " F_DEFINIR_FIELDCAT_AG
*&---------------------------------------------------------------------*
*& Form F_DEFINIR_SORT_AG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_definir_sort_ag .
CLEAR gv_sort_ag.
gv_sort_ag-spos = '01'.
gv_sort_ag-fieldname = 'TEXTO'.
gv_sort_ag-up = 'X'.
gv_sort_ag-group = 'X'.
* gv_sort_ag-subtot = 'X'.
INSERT gv_sort_ag INTO TABLE gs_sort_ag.
* CLEAR gv_sort_ag.
* gv_sort_ag-spos = '02'.
* gv_sort_ag-fieldname = 'BKLAS'.
* gv_sort_ag-up = 'X'.
** gv_sort_de-group = 'X'.
* INSERT gv_sort_ag INTO TABLE gs_sort_ag.
ENDFORM. " F_DEFINIR_SORT_AG
*&---------------------------------------------------------------------*
*& Form F_DEFINIR_LAYOUT_AG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_definir_layout_ag .
gs_layout_ag-zebra = 'X'.
gs_layout_ag-sel_mode = 'A'.
ENDFORM. " F_DEFINIR_LAYOUT_AG
*&---------------------------------------------------------------------*
*& Form F_MONTA_TABELA_AG
*&---------------------------------------------------------------------*
FORM f_monta_tabela_ag .
REFRESH lt_dados_a.
CLEAR wa_dados_a.
LOOP AT lt_det_a INTO wa_det_a.
CLEAR: lv_valor, lv_dat_venc, lv_flag.
lv_valor = wa_det_a-fdwbt.
lv_dat_venc = wa_det_a-fdtag.
READ TABLE lt_datas INTO wa_datas INDEX 1.
IF lv_dat_venc = wa_datas-data1.
wa_dados_a-valor1 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data2.
wa_dados_a-valor2 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data3.
wa_dados_a-valor3 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data4.
wa_dados_a-valor4 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data5.
wa_dados_a-valor5 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data6.
wa_dados_a-valor6 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data7.
wa_dados_a-valor7 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data8.
wa_dados_a-valor8 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data9.
wa_dados_a-valor9 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data10.
wa_dados_a-valor10 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data11.
wa_dados_a-valor11 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data12.
wa_dados_a-valor12 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data13.
wa_dados_a-valor13 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data14.
wa_dados_a-valor14 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data15.
wa_dados_a-valor15 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data16.
wa_dados_a-valor16 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data17.
wa_dados_a-valor17 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data18.
wa_dados_a-valor18 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data19.
wa_dados_a-valor19 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data20.
wa_dados_a-valor20 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data21.
wa_dados_a-valor21 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data22.
wa_dados_a-valor22 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data23.
wa_dados_a-valor23 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data24.
wa_dados_a-valor24 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data25.
wa_dados_a-valor25 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data26.
wa_dados_a-valor26 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data27.
wa_dados_a-valor27 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data28.
wa_dados_a-valor28 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data29.
wa_dados_a-valor29 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data30.
wa_dados_a-valor30 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data31.
wa_dados_a-valor31 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data32.
wa_dados_a-valor32 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data33.
wa_dados_a-valor33 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data34.
wa_dados_a-valor34 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data35.
wa_dados_a-valor35 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data36.
wa_dados_a-valor36 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data37.
wa_dados_a-valor37 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data38.
wa_dados_a-valor38 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data39.
wa_dados_a-valor39 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data40.
wa_dados_a-valor40 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data41.
wa_dados_a-valor41 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data42.
wa_dados_a-valor42 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data43.
wa_dados_a-valor43 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data44.
wa_dados_a-valor44 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data45.
wa_dados_a-valor45 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data46.
wa_dados_a-valor46 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data47.
wa_dados_a-valor47 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data48.
wa_dados_a-valor48 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data49.
wa_dados_a-valor49 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data50.
wa_dados_a-valor50 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data51.
wa_dados_a-valor51 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data52.
wa_dados_a-valor52 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data53.
wa_dados_a-valor53 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data54.
wa_dados_a-valor54 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data55.
wa_dados_a-valor55 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data56.
wa_dados_a-valor56 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data57.
wa_dados_a-valor57 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data58.
wa_dados_a-valor58 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data59.
wa_dados_a-valor59 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data60.
wa_dados_a-valor60 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_flag IS INITIAL AND lv_dat_venc < wa_datas-data1.
wa_dados_a-valor00 = lv_valor.
ENDIF.
MOVE wa_det_a-bkbez TO: wa_dados_a-texto,
wa_dados_a-textref.
move wa_det_a-saknr to wa_dados_a-conta.
COLLECT wa_dados_a INTO lt_dados_a.
CLEAR wa_dados_a.
ENDLOOP.
ENDFORM. " F_MONTA_TABELA_AG
*&---------------------------------------------------------------------*
*& Form HANDLE_DOUBLE_CLICK_AG
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* -->P_E_ROW text
* -->P_E_COLUMN text
*----------------------------------------------------------------------*
FORM handle_double_click_ag USING p_e_row
p_e_column.
IF p_e_row(1) IS INITIAL.
READ TABLE lt_dados_a INTO wa_dados_a INDEX p_e_row.
ENDIF.
READ TABLE lt_datas INTO wa_datas INDEX 1.
CLEAR lv_data.
CASE p_e_column.
WHEN 'VALOR1'. lv_data = wa_datas-data1.
WHEN 'VALOR2'. lv_data = wa_datas-data2.
WHEN 'VALOR3'. lv_data = wa_datas-data3.
WHEN 'VALOR4'. lv_data = wa_datas-data4.
WHEN 'VALOR5'. lv_data = wa_datas-data5.
WHEN 'VALOR6'. lv_data = wa_datas-data6.
WHEN 'VALOR7'. lv_data = wa_datas-data7.
WHEN 'VALOR8'. lv_data = wa_datas-data8.
WHEN 'VALOR9'. lv_data = wa_datas-data9.
WHEN 'VALOR10'. lv_data = wa_datas-data10.
WHEN 'VALOR11'. lv_data = wa_datas-data11.
WHEN 'VALOR12'. lv_data = wa_datas-data12.
WHEN 'VALOR13'. lv_data = wa_datas-data13.
WHEN 'VALOR14'. lv_data = wa_datas-data14.
WHEN 'VALOR15'. lv_data = wa_datas-data15.
WHEN 'VALOR16'. lv_data = wa_datas-data16.
WHEN 'VALOR17'. lv_data = wa_datas-data17.
WHEN 'VALOR18'. lv_data = wa_datas-data18.
WHEN 'VALOR19'. lv_data = wa_datas-data19.
WHEN 'VALOR20'. lv_data = wa_datas-data20.
WHEN 'VALOR21'. lv_data = wa_datas-data21.
WHEN 'VALOR22'. lv_data = wa_datas-data22.
WHEN 'VALOR23'. lv_data = wa_datas-data23.
WHEN 'VALOR24'. lv_data = wa_datas-data24.
WHEN 'VALOR25'. lv_data = wa_datas-data25.
WHEN 'VALOR26'. lv_data = wa_datas-data26.
WHEN 'VALOR27'. lv_data = wa_datas-data27.
WHEN 'VALOR28'. lv_data = wa_datas-data28.
WHEN 'VALOR29'. lv_data = wa_datas-data29.
WHEN 'VALOR30'. lv_data = wa_datas-data30.
ENDCASE.
REFRESH lt_det_v.
CLEAR wa_det_v.
** Monta o Saldo Anterior
IF p_e_column = 'VALOR00'.
IF p_e_row(1) = 'T'.
LOOP AT lt_det INTO wa_det
WHERE fdtag < wa_datas-data1 .
MOVE-CORRESPONDING wa_det TO wa_det_v.
IF wa_det-lifnr IS INITIAL.
wa_det_v-lifnr = wa_det-kunnr.
ENDIF.
SELECT SINGLE bkbez FROM t025t INTO wa_det_v-bkbez
WHERE spras = sy-langu
AND bklas = wa_det-bklas.
APPEND wa_det_v TO lt_det_v.
CLEAR wa_det_v.
ENDLOOP.
ELSE.
LOOP AT lt_det INTO wa_det
WHERE texto = wa_dados-texto
AND bkbez = wa_dados_a-texto
AND saknr = wa_dados_a-conta
* WHERE texto = wa_dados-texto
AND fdtag < wa_datas-data1 .
MOVE-CORRESPONDING wa_det TO wa_det_v.
IF wa_det-lifnr IS INITIAL.
wa_det_v-lifnr = wa_det-kunnr.
ENDIF.
SELECT SINGLE bkbez FROM t025t INTO wa_det_v-bkbez
WHERE spras = sy-langu
AND bklas = wa_det-bklas.
APPEND wa_det_v TO lt_det_v.
CLEAR wa_det_v.
ENDLOOP.
ENDIF.
ENDIF.
IF p_e_row(1) = 'T'.
* LOOP AT lt_det INTO wa_det
* WHERE texto = wa_dados-texto
* AND fdtag = lv_data.
** AND ( fdtag < wa_datas-data1 OR fdtag > wa_datas-data30 ).
* MOVE-CORRESPONDING wa_det TO wa_det_v.
* APPEND wa_det_v TO lt_det_v.
* CLEAR wa_det_v.
* ENDLOOP.
* ELSE.
LOOP AT lt_det INTO wa_det
WHERE fdtag = lv_data.
MOVE-CORRESPONDING wa_det TO wa_det_v.
IF wa_det-lifnr IS INITIAL.
wa_det_v-lifnr = wa_det-kunnr.
ENDIF.
SELECT SINGLE bkbez FROM t025t INTO wa_det_v-bkbez
WHERE spras = sy-langu
AND bklas = wa_det-bklas.
APPEND wa_det_v TO lt_det_v.
CLEAR wa_det_v.
ENDLOOP.
ENDIF.
IF p_e_row(1) IS INITIAL.
LOOP AT lt_det INTO wa_det
* WHERE texto = wa_dados-texto
WHERE bkbez = wa_dados_a-texto
AND fdtag = lv_data.
MOVE-CORRESPONDING wa_det TO wa_det_v.
IF wa_det-lifnr IS INITIAL.
wa_det_v-lifnr = wa_det-kunnr.
ENDIF.
SELECT SINGLE bkbez FROM t025t INTO wa_det_v-bkbez
WHERE spras = sy-langu
AND bklas = wa_det-bklas.
APPEND wa_det_v TO lt_det_v.
CLEAR wa_det_v.
ENDLOOP.
* ELSE.
* LOOP AT lt_det INTO wa_det
* WHERE fdtag = lv_data.
* MOVE-CORRESPONDING wa_det TO wa_det_v.
* APPEND wa_det_v TO lt_det_v.
* CLEAR wa_det_v.
* ENDLOOP.
ENDIF.
CALL SCREEN 0120.
ENDFORM. " HANDLE_DOUBLE_CLICK_AG
*&---------------------------------------------------------------------*
*& Form F_BUSCA_DADOS
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
FORM f_busca_dados .
********** Verifica se documento tem entrada BSIK
CLEAR wa_bsik.
READ TABLE lt_bsik INTO wa_bsik WITH KEY bukrs = wa_ekko-bukrs
belnr = wa_ekbe-belnr.
IF sy-subrc IS INITIAL.
************* Verifica se documento tem entrada BSAK
CLEAR wa_bsak.
READ TABLE lt_bsak INTO wa_bsak WITH KEY bukrs = wa_ekko-bukrs
belnr = wa_ekbe-belnr.
IF sy-subrc IS INITIAL.
EXIT.
ENDIF.
CLEAR wa_fdm1.
READ TABLE lt_fdm1 INTO wa_fdm1 WITH KEY bukrs = wa_ekko-bukrs
ebeln = wa_ekko-ebeln.
IF sy-subrc IS INITIAL.
CLEAR wa_mbew.
READ TABLE lt_mbew INTO wa_mbew WITH KEY matnr = wa_ekpo-matnr
bwkey = wa_ekpo-werks
bwtar = wa_ekpo-bwtar.
wa_dados-texto = c_serv.
PERFORM f_monta_tabela_interna_ser.
ENDIF.
CLEAR wa_bseg.
READ TABLE lt_bseg INTO wa_bseg WITH KEY bukrs = wa_ekko-bukrs
ebeln = wa_ekko-ebeln.
IF sy-subrc IS INITIAL.
CLEAR wa_fdfiep.
READ TABLE lt_fdfiep INTO wa_fdfiep WITH KEY ausbk = wa_ekko-bukrs
belnr = wa_bseg-belnr.
IF sy-subrc IS INITIAL.
IF sy-subrc IS INITIAL.
CLEAR wa_mbew.
READ TABLE lt_mbew INTO wa_mbew WITH KEY matnr = wa_ekpo-matnr
bwkey = wa_ekpo-werks
bwtar = wa_ekpo-bwtar.
wa_dados-texto = c_serv.
PERFORM f_monta_tabela_interna_ser.
ENDIF.
ENDIF.
ENDIF.
ENDIF.
ENDFORM. " F_BUSCA_DADOS
*&---------------------------------------------------------------------*
*& Form F_MOVE_VALOR_DATA
*&---------------------------------------------------------------------*
* text
*----------------------------------------------------------------------*
* --> p1 text
* <-- p2 text
*----------------------------------------------------------------------*
form F_MOVE_VALOR_DATA .
IF lv_dat_venc = wa_datas-data1.
wa_dados-valor1 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data2.
wa_dados-valor2 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data3.
wa_dados-valor3 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data4.
wa_dados-valor4 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data5.
wa_dados-valor5 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data6.
wa_dados-valor6 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data7.
wa_dados-valor7 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data8.
wa_dados-valor8 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data9.
wa_dados-valor9 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data10.
wa_dados-valor10 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data11.
wa_dados-valor11 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data12.
wa_dados-valor12 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data13.
wa_dados-valor13 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data14.
wa_dados-valor14 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data15.
wa_dados-valor15 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data16.
wa_dados-valor16 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data17.
wa_dados-valor17 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data18.
wa_dados-valor18 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data19.
wa_dados-valor19 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data20.
wa_dados-valor20 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data21.
wa_dados-valor21 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data22.
wa_dados-valor22 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data23.
wa_dados-valor23 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data24.
wa_dados-valor24 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data25.
wa_dados-valor25 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data26.
wa_dados-valor26 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data27.
wa_dados-valor27 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data28.
wa_dados-valor28 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data29.
wa_dados-valor29 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data30.
wa_dados-valor30 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data31.
wa_dados-valor31 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data32.
wa_dados-valor32 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data33.
wa_dados-valor33 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data34.
wa_dados-valor34 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data35.
wa_dados-valor35 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data36.
wa_dados-valor36 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data37.
wa_dados-valor37 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data38.
wa_dados-valor38 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data39.
wa_dados-valor39 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data40.
wa_dados-valor40 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data41.
wa_dados-valor41 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data42.
wa_dados-valor42 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data43.
wa_dados-valor43 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data44.
wa_dados-valor44 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data45.
wa_dados-valor45 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data46.
wa_dados-valor46 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data47.
wa_dados-valor47 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data48.
wa_dados-valor48 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data49.
wa_dados-valor49 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data50.
wa_dados-valor50 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data51.
wa_dados-valor51 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data52.
wa_dados-valor52 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data53.
wa_dados-valor53 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data54.
wa_dados-valor54 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data55.
wa_dados-valor55 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data56.
wa_dados-valor56 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data57.
wa_dados-valor57 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data58.
wa_dados-valor58 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data59.
wa_dados-valor59 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_dat_venc = wa_datas-data60.
wa_dados-valor60 = lv_valor.
lv_flag = 's'.
ENDIF.
IF lv_flag IS INITIAL AND lv_dat_venc < wa_datas-data1.
wa_dados-valor00 = lv_valor.
ENDIF.
COLLECT wa_dados INTO lt_dados.
endform. " F_MOVE_VALOR_DATA

You might also like