Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- *&---------------------------------------------------------------------*
- *& Include Z_AF_AJUSTES_NIIF_ENEL_FORM *
- *&---------------------------------------------------------------------*
- *&---------------------------------------------------------------------*
- *& Form Z_AF_modificar_screen
- *&---------------------------------------------------------------------*
- * Permite modificar la pantalla de selección con los
- * requerimientos solicitados.
- * --> Fecha Inicio de Trabajo: por defecto bloqueado.
- * --> Año en curso: sy-datum.
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_modificar_screen .
- gv_af_anio_en_curso = sy-datum.
- ENDFORM. " Z_AF_modificar_screen
- *&---------------------------------------------------------------------*
- *& Form Z_AF_ajustes_informe
- *&---------------------------------------------------------------------*
- * Función de control que permite activar el parámetro Fecha Inicio de
- * Trabajo según corresponda e invoca a la función asociada de
- * procesamiento de datos.
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_ajustes_informe .
- IF r_aei EQ 'X'.
- PERFORM z_af_activar_fit.
- PERFORM z_af_aei.
- ELSEIF r_aes EQ 'X'.
- PERFORM z_af_bloquear_fit.
- PERFORM z_af_aes.
- ELSEIF r_ans EQ 'X'.
- PERFORM z_af_bloquear_fit.
- PERFORM z_af_ans.
- ENDIF.
- ENDFORM. " Z_AF_ajustes_informe
- *&---------------------------------------------------------------------*
- *& Form Z_AF_AEI
- *&---------------------------------------------------------------------*
- *
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_aei.
- PERFORM z_af_limpiar_so.
- " Fecha Inicio de Trabajos
- DATA : fecini_date(10) TYPE c VALUE gc_fecini.
- fecini = fecini_date.
- " Modificamos fecha contabilización
- DATA : lv_date(10) TYPE c VALUE gc_datab_aei.
- datab-low = lv_date.
- " Fecha limite 31.12.año en curso
- DATA:
- dia(2) TYPE c,
- mes(2) TYPE c,
- anio(4) TYPE c,
- lv_actual(10) TYPE c.
- anio = sy-datum.
- mes = '12'.
- dia = '31'.
- CONCATENATE anio mes dia INTO lv_actual.
- datab-high = lv_actual.
- APPEND datab.
- " Modificamos área de valoración.
- so_afabe-low = gc_afabe_aei_low.
- so_afabe-high = gc_afabe_aei_high.
- APPEND so_afabe.
- " Activar como obligatorio el campo FIT
- ENDFORM. " Z_AF_AEI
- *&--------------------------------------------------------------------*
- *& Form z_af_activar_fit
- *&--------------------------------------------------------------------*
- * text
- *---------------------------------------------------------------------*
- FORM z_af_activar_fit.
- LOOP AT SCREEN.
- CHECK screen-group1 = 'FIT' .
- screen-input = 1.
- MODIFY SCREEN.
- ENDLOOP.
- ENDFORM. "z_af_activar_fit
- *&---------------------------------------------------------------------*
- *& Form z_af_AES
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_aes .
- PERFORM z_af_limpiar_so.
- " Modificamos fecha contabilización
- DATA : lv_date(10) TYPE c VALUE gc_datab_aes.
- datab-high = lv_date.
- datab-low = ''.
- APPEND datab.
- " Modificamos área de valoración.
- so_afabe-low = gc_afabe_aes_low.
- so_afabe-high = gc_afabe_aes_high.
- APPEND so_afabe.
- ENDFORM. " z_af_AES
- *&---------------------------------------------------------------------*
- *& Form z_af_ANS
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_ans .
- PERFORM z_af_limpiar_so.
- PERFORM z_af_bloquear_fit.
- " Modificamos fecha contabilización
- DATA : lv_date(10) TYPE c VALUE gc_datab_ans_low.
- datab-low = lv_date.
- DATA : lv_date_h(10) TYPE c VALUE gc_datab_ans_high.
- datab-high = lv_date_h.
- APPEND datab.
- " Modificamos área de valoración.
- so_afabe-low = gc_afabe_ans_low.
- so_afabe-high = gc_afabe_ans_high.
- APPEND so_afabe.
- ENDFORM. " z_af_ANS
- *&---------------------------------------------------------------------*
- *& Form z_af_bloquear_fit
- *&---------------------------------------------------------------------*
- * Bloquea para el ingreso de datos el campo con ID=FIT,
- * "Fecha Inicio de Trabajos"
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_bloquear_fit .
- LOOP AT SCREEN.
- CHECK screen-group1 = 'FIT' .
- screen-input = 0.
- MODIFY SCREEN.
- ENDLOOP.
- ENDFORM. " z_af_bloquear_fit
- *&---------------------------------------------------------------------*
- *& Form z_af_gestionar_alv
- *&---------------------------------------------------------------------*
- * Se encarga de llamar a las funciones intervinientes en la creación,
- * implementación del ALV requerido.
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_gestionar_alv .
- PERFORM z_af_init_fieldcat.
- PERFORM z_af_init_layout.
- PERFORM z_af_vista.
- ENDFORM. " z_af_gestionar_alv
- *&---------------------------------------------------------------------*
- *& Form z_af_listar_af
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_listar_af .
- ENDFORM. " z_af_listar_af
- *&---------------------------------------------------------------------*
- *& Form z_af_listar_np
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_listar_np .
- ENDFORM. " z_af_listar_np
- *&---------------------------------------------------------------------*
- *& Form z_af_listar_tg
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_listar_tg .
- ENDFORM. " z_af_listar_tg
- *&---------------------------------------------------------------------*
- *& Form init_fieldcat
- *&---------------------------------------------------------------------*
- * Inicia el catálogo.
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_init_fieldcat .
- "--------------------------------------------------------------------
- " -------- Inicio datos comunes ------------
- "--------------------------------------------------------------------
- "-------------------------------------------------------------------*
- " Sociedad
- "-------------------------------------------------------------------*
- gv_af_wa_fieldcat-fieldname = 'BUKRS'.
- gv_af_wa_fieldcat-ref_tabname = 'ANLA'.
- gv_af_wa_fieldcat-seltext_l = text-060.
- gv_af_wa_fieldcat-key = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- " Lo incorporamos a la cabecera del Excel.
- gv_it_tabla_af_cabecera-titulo = text-060.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- " Permite agrupas celdas iguales
- CLEAR wa_sort.
- wa_sort-fieldname = 'BUKRS'.
- wa_sort-spos = '2'.
- wa_sort-up = 'X'.
- APPEND wa_sort TO d_sortcat.
- "--------------------------------------------------------------------
- " Nro. Activo Fijo
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'ANLN1'.
- gv_af_wa_fieldcat-ref_tabname = 'ANLA'.
- gv_af_wa_fieldcat-seltext_l = text-061.
- gv_af_wa_fieldcat-key = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- " Permite agrupas celdas iguales
- CLEAR wa_sort.
- wa_sort-fieldname = 'ANLN1'.
- wa_sort-spos = '3'.
- wa_sort-up = 'X'.
- APPEND wa_sort TO d_sortcat.
- " Lo incorporamos a la cabecera del Excel.
- gv_it_tabla_af_cabecera-titulo = text-061.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- "--------------------------------------------------------------------
- " Sub. Nro. Activo Fijo.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'ANLN2'.
- gv_af_wa_fieldcat-ref_tabname = 'ANLA'.
- gv_af_wa_fieldcat-seltext_l = text-062.
- gv_af_wa_fieldcat-key = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- " Permite agrupas celdas iguales
- CLEAR wa_sort.
- wa_sort-fieldname = 'ANLN2'.
- wa_sort-spos = '3'.
- wa_sort-up = 'X'.
- APPEND wa_sort TO d_sortcat.
- " Lo incorporamos a la cabecera del Excel.
- gv_it_tabla_af_cabecera-titulo = text-062.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- "--------------------------------------------------------------------
- " Clase de Activo Fijo
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'ANLKL'.
- gv_af_wa_fieldcat-ref_tabname = 'ANLA'.
- gv_af_wa_fieldcat-seltext_l = text-063.
- gv_af_wa_fieldcat-key = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- " Permite agrupas celdas iguales
- CLEAR wa_sort.
- wa_sort-fieldname = 'ANLKL'.
- wa_sort-spos = '3'.
- wa_sort-up = 'X'.
- APPEND wa_sort TO d_sortcat.
- " Lo incorporamos a la cabecera del Excel.
- gv_it_tabla_af_cabecera-titulo = text-063.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- "--------------------------------------------------------------------
- " División
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'GSBER'.
- gv_af_wa_fieldcat-ref_tabname = 'ANLZ'.
- gv_af_wa_fieldcat-seltext_l = text-064.
- "gv_af_wa_fieldcat-key = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- " Lo incorporamos a la cabecera del Excel.
- gv_it_tabla_af_cabecera-titulo = text-064.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- "--------------------------------------------------------------------
- " CeCo
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'KOSTL'.
- gv_af_wa_fieldcat-ref_tabname = 'ANLZ'.
- gv_af_wa_fieldcat-seltext_l = text-065.
- "gv_af_wa_fieldcat-key = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- " Lo incorporamos a la cabecera del Excel.
- gv_it_tabla_af_cabecera-titulo = text-065.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- "--------------------------------------------------------------------
- " Centro
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'WERKS'.
- gv_af_wa_fieldcat-ref_tabname = 'ANLZ'.
- gv_af_wa_fieldcat-seltext_l = text-066.
- "gv_af_wa_fieldcat-key = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- " Lo incorporamos a la cabecera del Excel.
- gv_it_tabla_af_cabecera-titulo = text-066.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- "--------------------------------------------------------------------
- " Emplazamiento
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'STORT'.
- gv_af_wa_fieldcat-ref_tabname = 'ANLZ'.
- gv_af_wa_fieldcat-seltext_l = text-067.
- "gv_af_wa_fieldcat-key = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- " Lo incorporamos a la cabecera del Excel.
- gv_it_tabla_af_cabecera-titulo = text-067.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- "--------------------------------------------------------------------
- " Supran° Activo
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'ANLUE'.
- gv_af_wa_fieldcat-ref_tabname = 'ANLA'.
- gv_af_wa_fieldcat-seltext_l = text-068.
- "gv_af_wa_fieldcat-key = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- " Lo incorporamos a la cabecera del Excel.
- gv_it_tabla_af_cabecera-titulo = text-068.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- "--------------------------------------------------------------------
- " Área de Valoración
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AFABE'.
- gv_af_wa_fieldcat-ref_tabname = 'ANLC'.
- gv_af_wa_fieldcat-seltext_l = text-069.
- "gv_af_wa_fieldcat-key = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- " Lo incorporamos a la cabecera del Excel.
- gv_it_tabla_af_cabecera-titulo = text-069.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- " Permite agrupas celdas iguales
- CLEAR wa_sort.
- wa_sort-fieldname = 'AFABE'.
- wa_sort-spos = '3'.
- wa_sort-up = 'X'.
- APPEND wa_sort TO d_sortcat.
- "--------------------------------------------------------------------
- " -------- Fin datos comunes ------------
- "--------------------------------------------------------------------
- "--------------------------------------------------------------------
- " Ejercicio 1
- " Inversión en curso.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_CURSO_1'.
- gv_af_wa_fieldcat-seltext_l = text-009.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- " Verificamos si mostramos el ejercicio o no.
- IF 1 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera para el excel.
- gv_it_tabla_af_cabecera-titulo = text-009.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 1
- " Inversión en explotación.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_EXPLO_1'.
- gv_af_wa_fieldcat-seltext_l = text-010.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 1 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-010.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 1
- " Amortización.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_1'.
- gv_af_wa_fieldcat-seltext_l = text-011.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 1 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-011.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 2
- " Inversión en curso.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_CURSO_2'.
- gv_af_wa_fieldcat-seltext_l = text-012.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 2 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-012.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 2
- " Inversión en explotación.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_EXPLO_2'.
- gv_af_wa_fieldcat-seltext_l = text-013.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 2 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-013.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 2
- " Amortización
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_2'.
- gv_af_wa_fieldcat-seltext_l = text-014.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 2 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-014.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 3
- " Inversión en curso.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_CURSO_3'.
- gv_af_wa_fieldcat-seltext_l = text-015.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 3 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-015.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 3
- " Inversión en explotación.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_EXPLO_3'.
- gv_af_wa_fieldcat-seltext_l = text-016.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 3 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-016.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 3
- " Amortización
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_3'.
- gv_af_wa_fieldcat-seltext_l = text-017.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 3 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-017.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 4
- " Inversión en curso.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_CURSO_4'.
- gv_af_wa_fieldcat-seltext_l = text-018.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 4 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-018.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 4
- " Inversión en explotación.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_EXPLO_4'.
- gv_af_wa_fieldcat-seltext_l = text-019.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 4 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-019.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 4
- " Amortización
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_4'.
- gv_af_wa_fieldcat-seltext_l = text-020.
- gv_af_wa_fieldcat-do_sum = 'X'.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- IF 4 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-020.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 5
- " Inversión en curso.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_CURSO_5'.
- gv_af_wa_fieldcat-seltext_l = text-021.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 5 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-021.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 5
- " Inversión en explotación.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_EXPLO_5'.
- gv_af_wa_fieldcat-seltext_l = text-022.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 5 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-022.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 5
- " Amortización
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_5'.
- gv_af_wa_fieldcat-seltext_l = text-023.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 5 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-023.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 6
- " Inversión en curso.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_CURSO_6'.
- gv_af_wa_fieldcat-seltext_l = text-024.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 6 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-024.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- " Ejercicio 6
- " Inversión en explotación.
- gv_af_wa_fieldcat-fieldname = 'INVERSION_EXPLO_6'.
- gv_af_wa_fieldcat-seltext_l = text-025.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 6 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-025.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 6
- " Amortización
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_6'.
- gv_af_wa_fieldcat-seltext_l = text-026.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 6 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-026.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 7
- " Inversión en curso.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_CURSO_7'.
- gv_af_wa_fieldcat-seltext_l = text-027.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 7 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-027.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 7
- " Inversión en explotación.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_EXPLO_7'.
- gv_af_wa_fieldcat-seltext_l = text-028.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 7 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-028.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 7
- " Amortización
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_7'.
- gv_af_wa_fieldcat-seltext_l = text-029.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 7 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-029.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 8
- " Inversión en curso.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_CURSO_8'.
- gv_af_wa_fieldcat-seltext_l = text-030.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 8 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-030.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 8
- " Inversión en explotación.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_EXPLO_8'.
- gv_af_wa_fieldcat-seltext_l = text-031.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 8 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-031.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 8
- " Amortización
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_8'.
- gv_af_wa_fieldcat-seltext_l = text-032.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 8 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-032.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 9
- " Inversión en curso.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_CURSO_9'.
- gv_af_wa_fieldcat-seltext_l = text-033.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 9 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-033.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 9
- " Inversión en explotación.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_EXPLO_9'.
- gv_af_wa_fieldcat-seltext_l = text-034.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 9 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-034.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 9
- " Amortización
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_9'.
- gv_af_wa_fieldcat-seltext_l = text-035.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 9 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-035.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 10
- " Inversión en curso.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_CURSO_10'.
- gv_af_wa_fieldcat-seltext_l = text-036.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 10 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-036.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 10
- " Inversión en explotación.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_EXPLO_10'.
- gv_af_wa_fieldcat-seltext_l = text-037.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 10 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-037.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio 10
- " Amortización
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_10'.
- gv_af_wa_fieldcat-seltext_l = text-038.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 10 NOT IN gv_rango_ejercicios.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-038.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " -------- Fin datos variantes ------------
- "--------------------------------------------------------------------
- "--------------------------------------------------------------------
- " Ejercicio Actual
- " Inversión en curso.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_CURSO_ACTUAL'.
- gv_af_wa_fieldcat-seltext_l = text-039.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- * gv_af_wa_fieldcat-ref_tabname = 'KINVZ'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Ejercicio Actual
- " Inversión en explotación.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_EXPLO_ACTUAL'.
- gv_af_wa_fieldcat-seltext_l = text-040.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " NOTA:
- " tener en cuenta que solo se muestran los periodos hasta el mes actual
- " inclusive.
- "--------------------------------------------------------------------
- "--------------------------------------------------------------------
- " Amortización p1
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_ACTUAL_P1'.
- gv_af_wa_fieldcat-seltext_l = text-041.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 1 > gv_af_mes_en_curso.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-041.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Amortización p2
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_ACTUAL_P2'.
- gv_af_wa_fieldcat-seltext_l = text-042.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 2 > gv_af_mes_en_curso.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-042.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Amortización p3
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_ACTUAL_P3'.
- gv_af_wa_fieldcat-seltext_l = text-043.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 3 > gv_af_mes_en_curso.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-043.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Amortización p4
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_ACTUAL_P4'.
- gv_af_wa_fieldcat-seltext_l = text-044.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 4 > gv_af_mes_en_curso.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-044.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Amortización p5
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_ACTUAL_P5'.
- gv_af_wa_fieldcat-seltext_l = text-045.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 5 > gv_af_mes_en_curso.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-045.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Amortización p6
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_ACTUAL_P6'.
- gv_af_wa_fieldcat-seltext_l = text-046.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 6 > gv_af_mes_en_curso.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-046.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Amortización p7
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_ACTUAL_P7'.
- gv_af_wa_fieldcat-seltext_l = text-047.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 7 > gv_af_mes_en_curso.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-047.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Amortización p8
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_ACTUAL_P8'.
- gv_af_wa_fieldcat-seltext_l = text-048.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 8 > gv_af_mes_en_curso.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-048.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Amortización p9
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_ACTUAL_P9'.
- gv_af_wa_fieldcat-seltext_l = text-049.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 9 > gv_af_mes_en_curso.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-049.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Amortización p10
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_ACTUAL_P10'.
- gv_af_wa_fieldcat-seltext_l = text-050.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 10 > gv_af_mes_en_curso.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-050.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Amortización p11
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_ACTUAL_P11'.
- gv_af_wa_fieldcat-seltext_l = text-051.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 11 > gv_af_mes_en_curso.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-051.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Amortización p12
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZA_EXPLO_ACTUAL_P12'.
- gv_af_wa_fieldcat-seltext_l = text-052.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- IF 12 > gv_af_mes_en_curso.
- gv_af_wa_fieldcat-no_out = 'X'.
- ELSE.
- " Si debemos mostrar incorporamos a la cabecera.
- gv_it_tabla_af_cabecera-titulo = text-052.
- APPEND gv_it_tabla_af_cabecera.
- CLEAR gv_it_tabla_af_cabecera.
- ENDIF.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- "----------Fin datos ejercicios----------
- "--------------------------------------------------------------------
- "--------------------------------------------------------------------
- " Ejercicio Actual
- " Inversión en curso total.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_CURSO_TOTAL'.
- gv_af_wa_fieldcat-seltext_l = text-053.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Inversión en explotación total.
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'INVERSION_EXPLO_TOTAL'.
- gv_af_wa_fieldcat-seltext_l = text-054.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Amortización Total
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'AMORTIZACION_TOTAL'.
- gv_af_wa_fieldcat-seltext_l = text-055.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- "--------------------------------------------------------------------
- " Porcentaje de la Amortización
- "--------------------------------------------------------------------
- gv_af_wa_fieldcat-fieldname = 'PORCENTAJE_AMORTIZACION'.
- gv_af_wa_fieldcat-seltext_l = text-056.
- gv_af_wa_fieldcat-tabname = 'GV_IT_TABLA_AF'.
- gv_af_wa_fieldcat-do_sum = 'X'.
- APPEND gv_af_wa_fieldcat TO gv_af_it_fieldcat.
- CLEAR gv_af_wa_fieldcat.
- ENDFORM. " init_fieldcat
- *&---------------------------------------------------------------------*
- *& Form init_layout
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_init_layout .
- gs_layout-zebra = 'X'.
- gs_layout-colwidth_optimize = 'X'.
- ENDFORM. " init_layout
- *&---------------------------------------------------------------------*
- *& Form vista_clasica
- *&---------------------------------------------------------------------*
- *
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_vista .
- CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
- EXPORTING
- i_callback_program = repid
- i_callback_user_command = 'Z_AF_USERCOMMAND'
- is_layout = gs_layout
- it_fieldcat = gv_af_it_fieldcat[]
- i_callback_pf_status_set = 'Z_AF_PF_STATUS'
- i_save = 'A'
- it_events = gv_events
- is_variant = gs_disvariant
- it_sort = d_sortcat[]
- TABLES
- t_outtab = gv_it_tabla_af_informe
- EXCEPTIONS
- program_error = 1
- OTHERS = 2.
- IF sy-subrc <> 0.
- MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
- ENDIF.
- ENDFORM. " vista_clasica
- *&--------------------------------------------------------------------*
- *& Form PF_STATUS
- *&--------------------------------------------------------------------*
- * text
- *---------------------------------------------------------------------*
- * -->CE_FUNC_EXCtext
- *---------------------------------------------------------------------*
- FORM z_af_pf_status USING ce_func_exclude TYPE slis_t_extab. "#EC CALLED
- DATA fcode_attrib_tab LIKE smp_dyntxt OCCURS 4 WITH HEADER LINE.
- CLEAR: fcode_attrib_tab, fcode_attrib_tab[].
- " Botón exportar excel.
- fcode_attrib_tab-text = text-005.
- fcode_attrib_tab-icon_id = '@04@'.
- fcode_attrib_tab-icon_text = text-005.
- fcode_attrib_tab-quickinfo = text-070.
- fcode_attrib_tab-path = space.
- APPEND fcode_attrib_tab.
- " Botón mandar a simular.
- fcode_attrib_tab-text = text-006.
- fcode_attrib_tab-icon_id = '@04@'.
- fcode_attrib_tab-icon_text = text-006.
- fcode_attrib_tab-quickinfo = text-071.
- fcode_attrib_tab-path = space.
- APPEND fcode_attrib_tab.
- PERFORM dynamic_report_fcodes(rhteiln0) TABLES fcode_attrib_tab
- USING ce_func_exclude ' ' ' '.
- SET PF-STATUS 'ALVLIST' EXCLUDING
- ce_func_exclude OF PROGRAM 'RHTEILN0'.
- ENDFORM. " PF_STATUS
- *&---------------------------------------------------------------------*
- *& Form USERCOMMAND
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_usercommand USING l_ucomm LIKE sy-ucomm
- l_selfield TYPE slis_selfield."#EC CALLED
- FIELD-SYMBOLS: <lv_fs> LIKE LINE OF gv_it_tabla_af.
- READ TABLE gv_it_tabla_af INDEX l_selfield-tabindex INTO <lv_fs>.
- DATA: res TYPE c VALUE ' '."#EC NEEDED
- COMMIT WORK.
- IF sy-subrc = 0.
- CASE l_ucomm.
- WHEN '&IC1'.
- " El usuario todavía no definió cómo requiere este detalle.
- " Por el momento se utiliza la AS03.
- SET PARAMETER ID 'BUK' FIELD <lv_fs>-bukrs.
- SET PARAMETER ID 'AN1' FIELD <lv_fs>-anln1.
- SET PARAMETER ID 'AN2' FIELD <lv_fs>-anln2.
- CALL TRANSACTION 'AS03' AND SKIP FIRST SCREEN.
- " Desreferenciamos
- UNASSIGN <lv_fs>.
- WHEN 'FC01'.
- PERFORM z_af_bajar_excel.
- WHEN 'FC02'.
- "--------------------------------------------------------------------
- " Llamar a la rutina INFORME_TRAZA, la cual mostrará un segundo
- " un segundo informe de detalle en el que se indicarán los cálculos
- " de estimaciones y simulaciones de valores económicos para el AF.
- "--------------------------------------------------------------------
- CALL FUNCTION 'POPUP_CONTINUE_YES_NO'
- EXPORTING
- defaultoption = 'J'
- textline1 = text-072
- titel = text-073
- start_column = 45
- start_row = 15
- IMPORTING
- answer = res.
- " perform z_af_informe_traza
- ENDCASE.
- l_selfield-refresh = 'X'.
- ENDIF.
- ENDFORM. " USERCOMMAND
- *&---------------------------------------------------------------------*
- *& Form z_af_limpiar_screen
- *&---------------------------------------------------------------------*
- * Permite setear a cero los campos de la entrada de selección.
- *
- * TODO
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_limpiar_screen .
- ENDFORM. " z_af_limpiar_screen
- *&---------------------------------------------------------------------*
- *& Form z_af_gestionar_busqueda
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_gestionar_consulta .
- IF r_aei EQ 'X'.
- " Ajustes Enel Intercalarios.
- " Join select + cálculo de inversión.
- PERFORM z_af_gestionar_consulta_a_b.
- PERFORM z_af_gestionar_consulta_c_bis.
- PERFORM z_af_gestionar_consulta_d .
- PERFORM z_af_gestionar_consulta_e . " Fecha de contabilizacion
- PERFORM z_af_gestionar_consulta_f . " Fecha inicio trabajo.
- PERFORM z_af_gestionar_salida.
- PERFORM z_af_gestionar_select_single.
- ELSEIF r_aes EQ 'X'.
- " Ajustes Enel Subvenciones
- ELSEIF r_ans EQ 'X'.
- " Ajustes NIIF Subvenciones
- ENDIF.
- " TODO: z_af_listar_*
- IF r_op_af EQ 'X'.
- PERFORM z_af_listar_af.
- ELSEIF r_op_np EQ 'X'.
- PERFORM z_af_listar_np.
- ELSEIF r_op_tg EQ 'X'.
- PERFORM z_af_listar_tg.
- ENDIF.
- ENDFORM. " z_af_gestionar_busqueda
- *&---------------------------------------------------------------------*
- *& Form z_af_gestionar_consulta_c
- *&---------------------------------------------------------------------*
- * Intentaremos bajar el tpo.
- * de 0.35 bajamos a 0.19
- *
- * FIXME:
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_gestionar_consulta_c_bis .
- " Limpiamos las tablas auxiliares
- PERFORM z_af_limpiar_tablas_aux.
- " Probando con tiempos.
- DATA: lv_rt_str TYPE i,
- lv_rt_end TYPE i,
- lv_lines TYPE n.
- DATA: lv_run_time2 TYPE p DECIMALS 2 VALUE 0."#EC NEEDED
- DESCRIBE TABLE gv_it_tabla_af LINES lv_lines.
- IF lv_lines NE 0.
- GET RUN TIME FIELD lv_rt_str.
- SORT gv_it_tabla_af BY bukrs anln1 anln2.
- SELECT bukrs anln1 anln2 afabe kansw kinvz answl invzm gjahr
- FROM anlc
- INTO CORRESPONDING FIELDS OF TABLE gv_it_tabla_af_aux
- FOR ALL ENTRIES IN gv_it_tabla_af
- WHERE
- bukrs = gv_it_tabla_af-bukrs AND
- anln1 = gv_it_tabla_af-anln1 AND
- anln2 = gv_it_tabla_af-anln2 AND
- afabe IN so_afabe AND
- gjahr IN r_periodo.
- SORT gv_it_tabla_af_aux.
- DELETE ADJACENT DUPLICATES FROM gv_it_tabla_af_aux.
- "IF sy-subrc EQ 0.
- " Movemos los datos auxiliares junto al AF a la tabla aux_dos.
- LOOP AT gv_it_tabla_af_aux ASSIGNING <fs_gv_it_tabla_af_aux>.
- " Datos comunes
- MOVE <fs_gv_it_tabla_af_aux>-bukrs TO gv_wa_tabla_af-bukrs.
- MOVE <fs_gv_it_tabla_af_aux>-anln1 TO gv_wa_tabla_af-anln1.
- MOVE <fs_gv_it_tabla_af_aux>-anln2 TO gv_wa_tabla_af-anln2.
- "MOVE <fs_gv_it_tabla_af>-anlkl TO gv_wa_tabla_af-anlkl.
- "MOVE <fs_gv_it_tabla_af_aux>-anlue TO gv_wa_tabla_af-anlue.
- "MOVE <fs_gv_it_tabla_af>-werks TO gv_wa_tabla_af-werks.
- " MOVE <fs_gv_it_tabla_af>-gsber TO gv_wa_tabla_af-gsber.
- " MOVE <fs_gv_it_tabla_af>-stort TO gv_wa_tabla_af-stort.
- "MOVE <fs_gv_it_tabla_af>-kostl TO gv_wa_tabla_af-kostl.
- " Datos diferentes
- MOVE <fs_gv_it_tabla_af_aux>-afabe TO gv_wa_tabla_af-afabe.
- MOVE <fs_gv_it_tabla_af_aux>-kansw TO gv_wa_tabla_af-kansw.
- MOVE <fs_gv_it_tabla_af_aux>-kinvz TO gv_wa_tabla_af-kinvz.
- MOVE <fs_gv_it_tabla_af_aux>-answl TO gv_wa_tabla_af-answl.
- MOVE <fs_gv_it_tabla_af_aux>-invzm TO gv_wa_tabla_af-invzm.
- MOVE <fs_gv_it_tabla_af_aux>-gjahr TO gv_wa_tabla_af-gjahr.
- PERFORM z_af_obtener_inversion.
- APPEND gv_wa_tabla_af TO gv_it_tabla_af_aux_dos.
- CLEAR gv_wa_tabla_af.
- ENDLOOP.
- "ENDIF.
- " desvinculamos
- UNASSIGN <fs_gv_it_tabla_af>.
- UNASSIGN <fs_gv_it_tabla_af_aux>.
- GET RUN TIME FIELD lv_rt_end.
- lv_run_time2 = ( lv_rt_end - lv_rt_str ) / 1000000 .
- "WRITE:/ 'Runtime para perform c_bis', RUN_TIME2.
- ENDIF.
- " Limpiarmos la tabla principal.
- REFRESH gv_it_tabla_af.
- " Asignamos la tabla principla a la auxiliar.
- gv_it_tabla_af[] = gv_it_tabla_af_aux_dos[].
- " Limpiamos la tabla auxiliar
- REFRESH gv_it_tabla_af_aux_dos.
- ENDFORM. " z_af_gestionar_consulta_c
- *&---------------------------------------------------------------------*
- *& Form z_af_gestionar_consulta_d
- *&---------------------------------------------------------------------*
- * Para cada combinación (AFABER + GJAHR) recuperar los valores de las
- * amortizaciones (NAFAP - NAFAG - NAFAZ) más BELNR: nro. de documento.
- *
- * AFABER: Área de valoración real o derivada.
- * GJAHR: Ejercicio contable.
- *
- * NOTA:
- * - Las áreas de valoración que nos interesan son las del rango
- * del select-option afabe
- * - El ejercicio varia segun ajuste de informe: campo datab.
- * --> Enel Intercalarios: (01.10.2007 a 31.12.sy-datum-year).
- * --> Enel Subvenciones: ( a 01.07.2009).
- * --> NIIF Subvenciones: (01.01.2010 a 31.12.9999).
- * - Los activos en curso (4*) no se tienen en cuenta para obtener
- * las amortizaciones.
- * - La inversión se calcula sumando el campo KANSW + ANSWL
- * - Verificar los datos del ejercicio NUMC(4)
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_gestionar_consulta_d .
- " Limpiamos las tablas auxiliares
- PERFORM z_af_limpiar_tablas_aux.
- LOOP AT gv_it_tabla_af ASSIGNING <fs_gv_it_tabla_af>.
- " Consultamos si necesitamos obtener amortizacíones o no.
- IF <fs_gv_it_tabla_af>-anln1 >= gc_af_explo_inicio AND
- <fs_gv_it_tabla_af>-anln1 < gc_af_explo_fin .
- " Agregamos las amortizaciones a los activos en explotación.
- PERFORM z_af_obtener_amortizaciones.
- ELSE.
- " Agregamos los activos en curso.
- APPEND <fs_gv_it_tabla_af> TO gv_it_tabla_af_aux_dos.
- ENDIF.
- ENDLOOP.
- REFRESH gv_it_tabla_af.
- " Asignamos gv_it_tabla_af_aux_dos a gv_it_tabla_af
- gv_it_tabla_af[] = gv_it_tabla_af_aux_dos[].
- " Limpiamos las tablas auxiliares
- PERFORM z_af_limpiar_tablas_aux.
- " Desvinculamos el fs: check si es óptimo o no este paso.
- UNASSIGN <fs_gv_it_tabla_af>.
- ENDFORM. " z_af_gestionar_consulta_d
- *&---------------------------------------------------------------------*
- *& Form z_af_gestionar_consulta_e
- *&---------------------------------------------------------------------*
- * Buscar todos los documentos contables en la BKPF y BSEG de los
- * AF que se encuentren el en rango "Fecha de Contabilizacion" (DATAB).
- *
- * Nota: se utiliza la variable r_periodo en vez del datab, que es la
- * variable de rango que se creó para almacenar el rango de ejercicios
- * contables.
- *
- * TODO: implementar FOR ALL ENTRIES.
- * TODO: comprobar porqué me esta agregando dos x registro.
- * TODO: esperando respuesta del funcional para realizar esta subrutina.
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_gestionar_consulta_e .
- ENDFORM. " z_af_gestionar_consulta_e
- *&---------------------------------------------------------------------*
- *& Form z_af_limpiar_so
- *&---------------------------------------------------------------------*
- * Permite setar en blanco los so utilizados para otras opciones.
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_limpiar_so .
- CLEAR datab.
- CLEAR so_afabe.
- CLEAR fecini.
- FREE datab.
- FREE so_afabe.
- FREE fecini.
- ENDFORM. " z_af_limpiar_so
- *&---------------------------------------------------------------------*
- *& Form z_af_limpiar_tablas_aux
- *&---------------------------------------------------------------------*
- * Permite limpiar las tablas internas utilizadas como memoria aux
- * en las distintas consultas realizadas.
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_limpiar_tablas_aux .
- REFRESH gv_it_tabla_af_aux_dos.
- REFRESH gv_it_tabla_af_aux.
- ENDFORM. " z_af_limpiar_tablas_aux
- *&---------------------------------------------------------------------*
- *& Form Z_AF_OBTENER_AMORTIZACIONES
- *&---------------------------------------------------------------------*
- * Permite obtener las amortizaciones del los activos fijos.
- *
- * Nota: tener en cuenta que las amortizaciones por periodo (belnr) las
- * tendremos que obtener sólo para los AF del ejercicio actual.
- *
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_obtener_amortizaciones .
- SELECT nafag belnr "sum( nafag ) as nafag "nafap nafag nafaz belnr
- FROM anlp
- INTO CORRESPONDING FIELDS OF TABLE gv_it_tabla_af_aux
- WHERE
- bukrs = <fs_gv_it_tabla_af>-bukrs AND
- anln1 = <fs_gv_it_tabla_af>-anln1 AND
- anln2 = <fs_gv_it_tabla_af>-anln2 AND
- afaber = <fs_gv_it_tabla_af>-afabe AND
- gjahr = <fs_gv_it_tabla_af>-gjahr.
- "GROUP BY anln1 anln2 afaber." belnr.
- IF sy-subrc EQ 0.
- " Movemos los campos obtenidos.
- PERFORM z_af_mover_campos.
- ENDIF.
- ENDFORM. " Z_AF_OBTENER_AMORTIZACIONES
- *&---------------------------------------------------------------------*
- *& Form Z_AF_MOVER_CAMPOS
- *&---------------------------------------------------------------------*
- * Calculo la amortizacion anual y muevo los campos.
- * - No deberiamos copiar las celdas iguales, sino que solamente una por
- * AF, ya que el belnr lo estoy discriminando antes.
- * CONSULTAR.
- *
- * Estoy haciendo lo mismo que un sum(nafag) en la consulta.
- *
- * FIXME: Tener en cuenta que hago el loop solo para obtener las amort.
- * y estoy agregando el belnr último.
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_mover_campos .
- DATA: lv_amortizacion TYPE anlp-nafag.
- " Calculamos la amortizacion anual.
- LOOP AT gv_it_tabla_af_aux ASSIGNING <fs_gv_it_tabla_af_aux>.
- lv_amortizacion = lv_amortizacion + <fs_gv_it_tabla_af_aux>-nafag.
- ENDLOOP.
- MOVE <fs_gv_it_tabla_af>-bukrs TO gv_wa_tabla_af-bukrs.
- MOVE <fs_gv_it_tabla_af>-anln1 TO gv_wa_tabla_af-anln1.
- MOVE <fs_gv_it_tabla_af>-anln2 TO gv_wa_tabla_af-anln2.
- MOVE <fs_gv_it_tabla_af>-anlkl TO gv_wa_tabla_af-anlkl.
- MOVE <fs_gv_it_tabla_af>-werks TO gv_wa_tabla_af-werks.
- MOVE <fs_gv_it_tabla_af>-gsber TO gv_wa_tabla_af-gsber.
- MOVE <fs_gv_it_tabla_af>-stort TO gv_wa_tabla_af-stort.
- MOVE <fs_gv_it_tabla_af>-kostl TO gv_wa_tabla_af-kostl.
- MOVE <fs_gv_it_tabla_af>-afabe TO gv_wa_tabla_af-afabe.
- MOVE <fs_gv_it_tabla_af>-kansw TO gv_wa_tabla_af-kansw.
- MOVE <fs_gv_it_tabla_af>-kinvz TO gv_wa_tabla_af-kinvz.
- MOVE <fs_gv_it_tabla_af>-answl TO gv_wa_tabla_af-answl.
- MOVE <fs_gv_it_tabla_af>-invzm TO gv_wa_tabla_af-invzm.
- MOVE <fs_gv_it_tabla_af>-inversion TO gv_wa_tabla_af-inversion.
- MOVE <fs_gv_it_tabla_af>-gjahr TO gv_wa_tabla_af-gjahr.
- MOVE <fs_gv_it_tabla_af_aux>-belnr TO gv_wa_tabla_af-belnr.
- MOVE lv_amortizacion TO gv_wa_tabla_af-amortizacion.
- APPEND gv_wa_tabla_af TO gv_it_tabla_af_aux_dos.
- "--------------------------------------------------------------------
- " Limpio la tabla aux
- REFRESH gv_it_tabla_af_aux.
- "--------------------------------------------------------------------
- UNASSIGN <fs_gv_it_tabla_af_aux>.
- ENDFORM. " Z_AF_MOVER_CAMPOS
- *&---------------------------------------------------------------------*
- *& Form Z_AF_OBTENER_INVERSION
- *&---------------------------------------------------------------------*
- * Permitirá obtener la inversión del activo fijo.
- *
- * Deberá consultar si el movimiento de cuenta balance se encuentra en
- * el SET de DATOS para ver si corresponde.
- *
- * Con BUKRS + ANLN1 + ANLN2 + AFABE ir a la ANEP y obtener BWASL
- * clase de movimiento de AF y ver si esta en el SET DE DATOS.
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_obtener_inversion .
- " Calculamos la inversión.
- " Valor adquisición acumulado + Movimientos cuenta balance.
- DATA: lv_inversion TYPE anlc-kansw.
- lv_inversion =
- <fs_gv_it_tabla_af_aux>-kansw +
- <fs_gv_it_tabla_af_aux>-answl.
- MOVE lv_inversion TO gv_wa_tabla_af-inversion.
- ENDFORM. " Z_AF_OBTENER_INVERSION
- *&---------------------------------------------------------------------*
- *& Form Z_AF_OBTENER_PERIODOS
- *&---------------------------------------------------------------------*
- * Permite crear y actulizar:
- * - r_periodo: rango de fechas (ejercicios contables) a tener en cuenta.
- * - r_meses: rango de meses a tener en cuenta.
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_obtener_periodos .
- " Generamos el periodo con los datos del usuario, para el campo datab.
- r_periodo-sign = 'I'.
- r_periodo-option = 'BT'.
- r_periodo-low = datab-low(4).
- r_periodo-high = datab-high(4).
- APPEND r_periodo.
- DATA: lv_date TYPE sy-datum.
- " Actualizamos la cantidad de periodos(no tener en cuenta el actual).
- IF r_periodo-high = sy-datum(4).
- lv_date(4) = sy-datum(4) - 1.
- gv_cont_periodo = lv_date(4) - datab-low(4).
- ELSE.
- gv_cont_periodo = datab-high(4) - datab-low(4).
- ENDIF.
- gv_rango_ejercicios-sign = 'I'.
- gv_rango_ejercicios-option = 'BT'.
- gv_rango_ejercicios-low = 1.
- gv_rango_ejercicios-high = gv_cont_periodo.
- APPEND gv_rango_ejercicios.
- ENDFORM. " Z_AF_OBTENER_PERIODOS
- *&---------------------------------------------------------------------*
- *& Form Z_AF_GESTIONAR_CONSULTA_A_B
- *&---------------------------------------------------------------------*
- * Permite realizar un Join para obtener los datos comunes de los AF
- * requeridos para el reporte del usuario.
- *
- * Tablas intervinientes:
- * ----------------------
- * ANLA.......as a
- * ANLZ.......as z
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_gestionar_consulta_a_b .
- SELECT
- a~bukrs a~anln1 a~anln2 a~anlkl a~anlue
- z~werks z~gsber z~stort z~kostl
- INTO CORRESPONDING FIELDS OF TABLE gv_it_tabla_af
- FROM anla AS a INNER JOIN anlz AS z
- ON
- a~bukrs = z~bukrs AND
- a~anln1 = z~anln1 AND
- a~anln2 = z~anln2
- WHERE
- a~bukrs IN so_bukrs AND
- a~anln1 IN so_anln1 AND
- a~anln2 IN so_anln2 AND
- a~anlkl IN so_anlkl AND
- z~werks IN so_werks AND
- z~gsber IN so_gsber AND
- z~stort IN so_stort AND
- z~kostl IN so_kostl.
- CHECK syst-subrc NE 0.
- MESSAGE e402(mo) WITH 'gv_it_tabla_af'.
- ENDFORM. " Z_AF_GESTIONAR_CONSULTA_A_B
- *&---------------------------------------------------------------------*
- *& Form Z_AF_GESTIONAR_SALIDA
- *&---------------------------------------------------------------------*
- * Permite gestionar la construcción de la tabla interna con el formato
- * necesario para pasarle al ALV de salida.
- *
- * LOOP AT gv_it_tabla_af e ir completando gv_it_tabla_af_informe.
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_gestionar_salida .
- PERFORM z_af_ordenar_tabla.
- PERFORM z_af_eliminar_duplicados. " Ver porque tengo que hacer esto.
- PERFORM z_af_gestionar_validaciones.
- PERFORM z_af_armar_tabla_informe.
- ENDFORM. " Z_AF_GESTIONAR_SALIDA
- *&---------------------------------------------------------------------*
- *& Form z_af_ordenar_tabla
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- FORM z_af_ordenar_tabla.
- SORT gv_it_tabla_af BY
- bukrs
- anln1
- anln2
- afabe
- gjahr.
- ENDFORM. "z_af_ordenar_tabla
- *&---------------------------------------------------------------------*
- *& Form z_af_eliminar_duplicados
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- FORM z_af_eliminar_duplicados.
- DELETE ADJACENT DUPLICATES FROM gv_it_tabla_af COMPARING bukrs
- anln1
- anln2
- afabe
- gjahr.
- ENDFORM. "z_af_eliminar_duplicados
- *&---------------------------------------------------------------------*
- *& Form Z_AF_GESTIONAR_CONSULTA_F
- *&---------------------------------------------------------------------*
- * Permitirá realizar el exclude de todos los AF que no cumplan con el
- * rango de fechas "Fecha Inicio de Trabajos" para los Ajustes Enel
- * intercalarios.
- *
- * Nota: esperando respuesta de Javier sobre este tema.
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_gestionar_consulta_f .
- ENDFORM. " Z_AF_GESTIONAR_CONSULTA_F
- *&---------------------------------------------------------------------*
- *& Form Z_AF_GESTIONAR_SELECT_SINGLE
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_gestionar_select_single .
- ENDFORM. " Z_AF_GESTIONAR_SELECT_SINGLE
- *&---------------------------------------------------------------------*
- *& Form Z_AF_CALCULAR_AMORTIZACIONES
- *&---------------------------------------------------------------------*
- * Permitirá recorrer la tabla con los AF que superaron todas las
- * pruebas y podremos obtener la amortizacion anual sumando los $$ de
- * cada periodo.
- *
- * Nota: esperando respuesta de Toni sobre este apartado.
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_gestionar_validaciones .
- ENDFORM. " Z_AF_CALCULAR_AMORTIZACIONES
- *&---------------------------------------------------------------------*
- *& Form Z_AF_ARMAR_TABLA_INFORME
- *&---------------------------------------------------------------------*
- * it_tablas:
- * - gv_it_tabla_af: tabla con los datos.
- * - gv_it_tabla_af_informe: tabla a armar.
- *
- * cont_eje:
- * permitirá llevar el contador de los distintos ejercicios
- * BUKRS + ANLN1 + ANLN2 + AFABE. Necesario para determinar a que
- * campo agregar de la tabla informe.
- *
- * FIXME:
- * - lv_total_inv_explo - puede ser 0, gestionar excepción.
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_armar_tabla_informe .
- DATA: lv_cont_eje TYPE n VALUE 1,
- lv_total_inv_curso LIKE anlc-kansw,
- lv_total_inv_explo LIKE anlc-kansw,
- lv_total_amortizacion LIKE anlp-nafag,
- lv_bandera TYPE i VALUE 0,
- temp_string TYPE string.
- " Declaramos las referencias a las celdas.
- FIELD-SYMBOLS: <inversion_explo_n>,
- <inversion_curso_n>,
- <amortiza_explo_n>.
- LOOP AT gv_it_tabla_af ASSIGNING <fs_gv_it_tabla_af>.
- AT NEW afabe.
- " Si es la primera vez no calculo los totales.
- IF lv_bandera NE 0.
- " Primero calcular los totales de la fila.
- " Agregar la fila en el siguiente paso.
- gv_wa_tabla_af_informe-inversion_curso_total = lv_total_inv_curso.
- gv_wa_tabla_af_informe-inversion_explo_total = lv_total_inv_explo.
- gv_wa_tabla_af_informe-amortizacion_total = lv_total_amortizacion.
- " Agregamos la fila anterior.
- APPEND gv_wa_tabla_af_informe TO gv_it_tabla_af_informe.
- " Reseteo el contador de ejercicios (lo pongo en 2 porque agrego el 1 acá).
- lv_cont_eje = 1.
- " Reseteamos los totales.
- lv_total_inv_curso = 0.
- lv_total_inv_explo = 0.
- lv_total_amortizacion = 0.
- ENDIF.
- " Escribimos los datos comunes del primer registro.
- PERFORM z_af_escribir_datos_comunes.
- IF lv_bandera EQ 0.
- lv_bandera = 1.
- ENDIF.
- ENDAT.
- AT END OF gjahr.
- " Tengo que consultar a qué ejercicio pertenece para saber a que celda va
- " el valor que obtenemos.
- " Inversión en explotación n.
- CONCATENATE 'gv_it_tabla_af_informe-inversion_explo_' lv_cont_eje INTO temp_string.
- ASSIGN (temp_string) TO <inversion_explo_n>.
- " Inversión en curso n.
- CONCATENATE 'gv_it_tabla_af_informe-inversion_curso_' lv_cont_eje INTO temp_string.
- ASSIGN (temp_string) TO <inversion_curso_n>.
- " Amortización explotación n.
- CONCATENATE 'gv_it_tabla_af_informe-amortiza_explo_' lv_cont_eje INTO temp_string.
- ASSIGN (temp_string) TO <amortiza_explo_n>.
- "--------------------------------------------------------------------
- " Consultamos si es en curso o explotacion.
- "--------------------------------------------------------------------
- IF <fs_gv_it_tabla_af>-anln1 >= gc_af_explo_inicio AND
- <fs_gv_it_tabla_af>-anln1 < gc_af_explo_fin .
- " FIXME
- "MOVE <fs_gv_it_tabla_af>-inversion TO <inversion_explo_n>.
- "MOVE <fs_gv_it_tabla_af>-amortizacion TO <amortiza_explo_n>.
- MOVE <fs_gv_it_tabla_af>-inversion TO gv_wa_tabla_af_informe-inversion_explo_1.
- MOVE <fs_gv_it_tabla_af>-amortizacion TO gv_wa_tabla_af_informe-amortiza_explo_1.
- " Actualizamos los totales.
- lv_total_inv_curso = lv_total_inv_curso + <inversion_explo_n>.
- lv_total_amortizacion = lv_total_amortizacion + <amortiza_explo_n>.
- ELSE.
- "MOVE <fs_gv_it_tabla_af>-inversion TO <inversion_curso_n>.
- MOVE <fs_gv_it_tabla_af>-inversion TO gv_wa_tabla_af_informe-inversion_curso_1.
- " Actualizamos los totales.
- lv_total_inv_explo = lv_total_inv_explo + <inversion_curso_n>.
- ENDIF.
- lv_cont_eje = lv_cont_eje + 1.
- ENDAT.
- " Probando
- AT LAST.
- " Primero calcular los totales de la fila.
- " Agregar la fila en el siguiente paso.
- gv_wa_tabla_af_informe-inversion_curso_total = lv_total_inv_curso.
- gv_wa_tabla_af_informe-inversion_explo_total = lv_total_inv_explo.
- gv_wa_tabla_af_informe-amortizacion_total = lv_total_amortizacion.
- "-----------------------------------------------------------06.10.2010 10:41:47
- " FIXME:
- "gv_it_tabla_af_informe-porcentaje_amortizacion =
- " ( lv_total_amortizacion / lv_total_inv_explo ) * 100.
- "---------------------------------------------------------------------------
- " Agregamos la fila anterior.
- APPEND gv_wa_tabla_af_informe TO gv_it_tabla_af_informe.
- CLEAR gv_wa_tabla_af_informe.
- " Reseteo el contador de ejercicios (lo pongo en 2 porque agrego el 1 acá).
- lv_cont_eje = 1.
- " Reseteamos los totales.
- lv_total_inv_curso = 0.
- lv_total_inv_explo = 0.
- lv_total_amortizacion = 0.
- ENDAT.
- ENDLOOP.
- ENDFORM. " Z_AF_ARMAR_TABLA_INFORME
- *&---------------------------------------------------------------------*
- *& Form ESCRIBIR_DATOS_COMUNES
- *&---------------------------------------------------------------------*
- * text
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_escribir_datos_comunes.
- MOVE <fs_gv_it_tabla_af>-bukrs TO gv_wa_tabla_af_informe-bukrs.
- MOVE <fs_gv_it_tabla_af>-anln1 TO gv_wa_tabla_af_informe-anln1.
- MOVE <fs_gv_it_tabla_af>-anln2 TO gv_wa_tabla_af_informe-anln2.
- MOVE <fs_gv_it_tabla_af>-anlkl TO gv_wa_tabla_af_informe-anlkl.
- MOVE <fs_gv_it_tabla_af>-werks TO gv_wa_tabla_af_informe-werks.
- MOVE <fs_gv_it_tabla_af>-gsber TO gv_wa_tabla_af_informe-gsber.
- MOVE <fs_gv_it_tabla_af>-stort TO gv_wa_tabla_af_informe-stort.
- MOVE <fs_gv_it_tabla_af>-kostl TO gv_wa_tabla_af_informe-kostl.
- MOVE <fs_gv_it_tabla_af>-afabe TO gv_wa_tabla_af_informe-afabe.
- MOVE <fs_gv_it_tabla_af>-anlue TO gv_wa_tabla_af_informe-anlue.
- ENDFORM. " ESCRIBIR_DATOS_COMUNES
- *&---------------------------------------------------------------------*
- *& Form Z_AF_BAJAR_EXCEL
- *&---------------------------------------------------------------------*
- *
- *----------------------------------------------------------------------*
- * --> p1 text
- * <-- p2 text
- *----------------------------------------------------------------------*
- FORM z_af_bajar_excel .
- DATA: lv_filename TYPE string,
- lv_path TYPE string,
- lv_fullpath TYPE string,
- lv_result TYPE i,
- lv_encoding TYPE abap_encoding.
- DATA: lv_window_title TYPE STRING.
- lv_window_title = text-074.
- " Despliega la ventana de dialogo.
- CALL METHOD cl_gui_frontend_services=>file_save_dialog
- EXPORTING
- window_title = lv_window_title
- default_extension = 'XLS'
- default_file_name = ''
- initial_directory = 'c:\temp\'
- CHANGING
- filename = lv_filename
- path = lv_path
- fullpath = lv_fullpath
- user_action = lv_result
- file_encoding = lv_encoding.
- " Se chequea que el usuario no cancele la operación.
- CHECK lv_result EQ '0'.
- CALL FUNCTION 'GUI_DOWNLOAD'
- EXPORTING
- filename = lv_fullpath
- filetype = 'DAT'
- write_field_separator = 'X'
- codepage = lv_encoding
- TABLES
- data_tab = gv_it_tabla_af_informe[]
- fieldnames = gv_it_tabla_af_cabecera[]
- EXCEPTIONS
- file_write_error = 2
- OTHERS = 3.
- IF sy-subrc <> 0.
- MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
- WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
- ENDIF.
- ENDFORM. " Z_AF_BAJAR_EXCEL
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement