Anda di halaman 1dari 5

*&---------------------------------------------------------------------*

*& Report ZSDDPV020_DPTENIS


*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT zsddpv020_dptenis.
*----------------------------------------------------------------------*
* DECLARACION DE TABLAS *
*----------------------------------------------------------------------*
TABLES:
zdp_periodos, zdp_aval, zdp_cartera. "Cierres de periodo
*----------------------------------------------------------------------*
* DECLARACION DE VARIABLES *
*----------------------------------------------------------------------*
DATA : v_count TYPE i. "Controla los vales leidos de la table interna.
*****Variables para Impresion.
DATA: w_ssfcompop TYPE ssfcompop.
DATA: w_ssfctrlop LIKE ssfctrlop.
DATA: w_sform LIKE tnapr-sform.
DATA: w_fm_name TYPE rs38l_fnam.
DATA: v_copies TYPE i,
v_copies_tmp TYPE i,
v_flag(01),
v_rango1 LIKE zdp_vale-numva,
v_rango2 LIKE zdp_vale-numva.
DATA : v_sobrante TYPE i,
v_fechacorte TYPE sy-datum.
*----------------------------------------------------------------------*
* DECLARACION DE TABLAS INTERNAS *
*----------------------------------------------------------------------*
DATA : ti_zssd_rec_dis LIKE zssd_rec_dis OCCURS 0 WITH HEADER LINE,
ti_zssd_rec_dis_np LIKE zssd_rec_dis OCCURS 0 WITH HEADER LINE,
s_v1_zssd_rec_dis TYPE zssd_rec_dis,
s_v2_zssd_rec_dis TYPE zssd_rec_dis,
s_v3_zssd_rec_dis TYPE zssd_rec_dis,
s_v11_zssd_rec_dis TYPE zssd_rec_dis,
s_v12_zssd_rec_dis TYPE zssd_rec_dis,
s_v13_zssd_rec_dis TYPE zssd_rec_dis.
*----------------------------------------------------------------------*
* DISEO PANTALLA DE SELECCION
*----------------------------------------------------------------------*
PARAMETERS: p_bukrs LIKE zdp_movtos-bukrs, "Sociedad
p_plaza LIKE zdp_movtos-plaza, "Plaza
p_gjahr LIKE zdp_movtos-gjahr, "Ejercicio
p_zperi LIKE zdp_movtos-zperi. "Periodo
SELECT-OPTIONS: p_kunnr FOR zdp_aval-kunnr. "Cliente
*----------------------------------------------------------------------*
* LECTURAS DE BASES DE DATOS
*----------------------------------------------------------------------*
START-OF-SELECTION.
*Aqui hago seleccion de los datos.
*en ti_zssd_rec_dis.
*----------------------------------------------------------------------*
* FIN DE SELECCION DE DATOS
*----------------------------------------------------------------------*
END-OF-SELECTION.
v_count = 0.
v_copies = 0.
v_flag = ''.
v_copies_tmp = 0.
v_sobrante = 0.
CLEAR w_ssfctrlop.
CLEAR w_ssfcompop.
LOOP AT ti_zssd_rec_dis.
v_copies = v_copies + 1.
ENDLOOP.
v_copies_tmp = v_copies DIV 6.
v_sobrante = v_copies MOD 6.
v_copies = v_copies_tmp.
LOOP AT ti_zssd_rec_dis.
IF v_count = 0.
PERFORM init_print_options.
w_sform = 'ZSDDPV020_DPTENIS'.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = w_sform
IMPORTING
fm_name = w_fm_name
EXCEPTIONS
no_form = 1
no_function_module = 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.
ENDIF.
v_count = v_count + 1.
IF v_count = 1.
MOVE-CORRESPONDING ti_zssd_rec_dis TO s_v1_zssd_rec_dis.
ELSEIF v_count = 2.
MOVE-CORRESPONDING ti_zssd_rec_dis TO s_v11_zssd_rec_dis.
ELSEIF v_count = 3.
MOVE-CORRESPONDING ti_zssd_rec_dis TO s_v2_zssd_rec_dis.
ELSEIF v_count = 4.
MOVE-CORRESPONDING ti_zssd_rec_dis TO s_v12_zssd_rec_dis.
ELSEIF v_count = 5.
MOVE-CORRESPONDING ti_zssd_rec_dis TO s_v3_zssd_rec_dis.
ELSEIF v_count = 6.
MOVE-CORRESPONDING ti_zssd_rec_dis TO s_v13_zssd_rec_dis.
ENDIF.
IF ( v_copies_tmp = 1 AND v_sobrante = 0 ) OR v_copies_tmp = 0 .
ELSEIF v_copies = v_copies_tmp.
w_ssfctrlop-no_open = ' '.
w_ssfctrlop-no_close = 'X'.
ELSEIF v_copies > 1.
w_ssfctrlop-no_open = 'X'.
w_ssfctrlop-no_close = 'X'.
ELSEIF v_copies = 1 AND v_sobrante <> 0.
w_ssfctrlop-no_open = 'X'.
w_ssfctrlop-no_close = 'X'.
ELSEIF v_copies = 1 AND v_sobrante = 0.
w_ssfctrlop-no_open = 'X'.
w_ssfctrlop-no_close = ' '.
ENDIF.
IF v_flag = 'X'.
w_ssfctrlop-no_dialog = 'X'.
ENDIF.
IF v_count = 6.
CALL FUNCTION w_fm_name
EXPORTING
control_parameters = w_ssfctrlop
output_options = w_ssfcompop
user_settings = ' '
t_v1_zssd_rec_dis = s_v1_zssd_rec_dis
t_v2_zssd_rec_dis = s_v2_zssd_rec_dis
t_v3_zssd_rec_dis = s_v3_zssd_rec_dis
t_v11_zssd_rec_dis = s_v11_zssd_rec_dis
t_v12_zssd_rec_dis = s_v12_zssd_rec_dis
t_v13_zssd_rec_dis = s_v13_zssd_rec_dis
v_fechacobranza = zdp_periodos-fecan
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CLEAR : s_v1_zssd_rec_dis ,s_v2_zssd_rec_dis, s_v3_zssd_rec_dis, s_v11_zss
d_rec_dis, s_v12_zssd_rec_dis, s_v13_zssd_rec_dis.
v_count = 0.
v_copies = v_copies - 1.
v_flag = 'X'.
ENDIF.
ENDLOOP.
IF v_count <> 0.
IF v_copies_tmp > 0.
w_ssfctrlop-no_open = 'X'.
w_ssfctrlop-no_close = ' '.
ENDIF.
CALL FUNCTION w_fm_name
EXPORTING
control_parameters = w_ssfctrlop
output_options = w_ssfcompop
user_settings = ' '
t_v1_zssd_rec_dis = s_v1_zssd_rec_dis
t_v2_zssd_rec_dis = s_v2_zssd_rec_dis
t_v3_zssd_rec_dis = s_v3_zssd_rec_dis
t_v11_zssd_rec_dis = s_v11_zssd_rec_dis
t_v12_zssd_rec_dis = s_v12_zssd_rec_dis
t_v13_zssd_rec_dis = s_v13_zssd_rec_dis
v_fechacobranza = zdp_periodos-fecan
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
CLEAR : s_v1_zssd_rec_dis ,s_v2_zssd_rec_dis, s_v3_zssd_rec_dis, s_v11_zssd_
rec_dis, s_v12_zssd_rec_dis, s_v13_zssd_rec_dis.
v_count = 0.
v_copies = v_copies - 1.
v_flag = 'X'.
ENDIF.
*&--------------------------------------------------------------------*
*& Form init_print_options
*&--------------------------------------------------------------------*
* text
*---------------------------------------------------------------------*
FORM init_print_options.
* Control parameters
w_ssfctrlop-no_dialog = ' '.
w_ssfctrlop-langu = sy-langu.
w_ssfcompop-tdtitle = 'Printing Forms Miscelanous'(t01).
w_ssfcompop-tddest = 'HPSAP'.
w_ssfcompop-tdimmed = 'X'.
w_ssfcompop-tddelete = 'X'.
w_ssfcompop-tdlifetime = '1'.
w_ssfcompop-tdnoprev = ' '.
ENDFORM. " INIT_PRINT_OPTIONS

Anda mungkin juga menyukai