Vous êtes sur la page 1sur 9

*Obtener valores constantes *Obtine el valor de role BCA010 * CALL METHOD zlocl_cons_prestamo_gpal=>obt_constantes * EXPORTING * vi_sel_name = cl_role * IMPORTING * ve_parametro

= vl_parametro. * * vl_role = vl_parametro. *Obtine el valor del grupo * CALL METHOD zlocl_cons_prestamo_gpal=>obt_constantes * EXPORTING * vi_sel_name = cl_grupo * IMPORTING * ve_parametro = vl_parametro. * * vl_grupo = vl_parametro. * Obtiene el contrato interno * CALL FUNCTION 'BCA_OBJ_CN_ACPOOL_GET_INT_ID' * EXPORTING * i_acpool_ext = vi_grouploan * i_timestamp = 0 * i_layer_buffer = 'O' * IMPORTING * e_str_acpool = sl_acpool * EXCEPTIONS * not_found = 1 * OTHERS = 2. * IF sy-subrc EQ 0. "sl_acpool-contract_int. "sl_acpool-contract_int * READ TABLE tl_businesspartner * INTO sl_businesspartner * WITH KEY business_partner_role = vl_role * BINARY SEARCH. * * IF sy-subrc EQ 0. *ENDIF. "cl_role TYPE zloed_name VALUE 'ROLE', "cl_grupo TYPE zloed_name VALUE 'GRUPO', "sl_acpool TYPE bca_str_cn_acpool, * sl_group_key TYPE /fspd/str_group_key, * sl_eventos TYPE bapi_bca_str_cneventapiout,

"'BCA010'

* tl_eventos TYPE bapi_bca_tab_cneventapiout, * tl_accountlist TYPE STANDARD TABLE OF bapi_str_get_list_account_inf o, * sl_str_cn_acct TYPE BCA_STR_CN_ACCT. "vl_grouploan TYPE bca_dte_acpool_ext,* vl_bankcountry TYPE banks, * vl_bankcode TYPE bca_dte_bankkey, * vl_acnum_ext TYPE bca_dte_acext, * vl_internalid TYPE bapi_bca_str_cn_acct_ext-internal_account_id, * vl_fecha(15) TYPE c, * vl_fecha_aux(8) TYPE c, * vl_start_date TYPE bca_dte_acct_key_fig_bal_from, * * * role, * nt_id, * vl_bankcty vl_bank_code vl_role vl_grupo vl_postdate_last TYPE bapi_str_get_list_import-bank_country, TYPE bapi_str_get_list_import-bank_code, TYPE bapi_bca_str_cn_bupa_bapi_2-business_partner_ TYPE bapi_str_get_list_account_info-internal_accou TYPE bca_pstdat_y.

*Declaracin de constantes locales * CONSTANTS: cl_time_1200 TYPE bank_time * cl_event_cn_new TYPE zloed_name * cl_timezone_utc TYPE timezone

VALUE '120000', VALUE 'EVENTO', VALUE 'UTC'.

*Declaracin de Estructuras locales * DATA: sl_event TYPE bapi_bca_str_cneventapiout. "vl_f4_valid_on TYPE tzntstmps, * vl_tab_event TYPE bca_cn_event-timestamp, * * * vl_evento vl_denomina vl_parametro TYPE bapi_bca_str_cneventapiout-event, TYPE bca_dte_cn_descr, TYPE zloed_low.

*Declaracin de Tablas locales * DATA: tl_event TYPE STANDARD TABLE OF bapi_bca_str_cneventapiout. *Obtine el valor del Evento 0004 * CALL METHOD zlocl_cons_prestamo_gpal=>obt_constantes * EXPORTING * vi_sel_name = cl_event_cn_new * IMPORTING * ve_parametro = vl_parametro. * vl_evento = vl_parametro. * CALL FUNCTION 'BAPI_BCA_EVENT_GETDETAIL_A' * EXPORTING * internalid = vl_contract_int * TABLES * events = tl_event. * IF tl_event IS NOT INITIAL.

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

READ TABLE tl_event INTO sl_event WITH KEY event = vl_evento. "'0004'. IF sy-subrc = 0. CONVERT TIME STAMP sl_event-timestamp TIME ZONE sy-zonlo INTO DATE ve_fecha. ENDIF.

* ENDIF. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

* * * * * * * * * *

vl_bankcty = sl_relationdata-bank_country. vl_bank_code = sl_relationdata-bank_code. vl_account = sl_relationdata-account_number. I_LAYER_BUFFER I_TIMESTAMP I_FLG_AUTH_CHECK I_FLG_CN_NEW I_ALSO_NOT_RELEASED E_FLG_CN_NEW E_STR_ACCOUNT = 'O' = = '1' = ' ' = ' ' = = sl_str_cn_acct

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

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

CALL FUNCTION 'BAPI_BCA_ACCOUNTAM_GET_LIST' EXPORTING bankcountry = vl_bankcty bankcode = vl_bank_code accountnofrom = vl_account TABLES accountlist = tl_accountlist. IF sy-subrc EQ 0 AND tl_accountlist[] IS NOT INITIAL. READ TABLE tl_accountlist INTO sl_accountlist INDEX 1.

* IF sl_str_acc_ext-acnum_ext NE se_header-cuenta AND se_header-cuenta IS N OT INITIAL. * * * DATEON = OPENLOG = 'X' PROCESSEXTENSION = ' '

* TABLES * RETURN * EXTENSIONIN * EXTENSIONOUT * . * * * "cl_mx

= = =

IF sy-subrc EQ 0 AND sl_accountlist-product_id EQ vl_grupo. IF sl_clrng_acc_ext IS NOT INITIAL. TYPE land1 VALUE 'MX',

"cl_type *

TYPE c VALUE '3', cl_shlpname TYPE zloed_name VALUE 'SHLPNAME',

"sl_partner1 *

TYPE bca_str_cn_acpool_ranges, TYPE bca_str_cn_acpool_f4_result,

sl_result

"tl_result TYPE bca_tab_cn_acpool_f4_result, * tl_partner1 TYPE bca_tab_cn_acpool_ranges,

"vl_shlpname TYPE shlpname, * Declaracin de Objetos Locales * DATA: "ol_el_context TYPE REF TO if_wd_context_element, * ol_api_controller TYPE REF TO if_wd_controller, * ol_message_manager TYPE REF TO if_wd_message_manager, * ol_nd_nodo_alv TYPE REF TO if_wd_context_node, * ol_nd_nodo_header TYPE REF TO if_wd_context_node, * ol_el_nodo_header TYPE REF TO if_wd_context_element. **Obtine el valor del dominio BCA_CNSP_ACPOOL_EXT_PAR_STAT * CALL METHOD zlocl_cons_prestamo_gpal=>obt_constantes * EXPORTING * vi_sel_name = cl_shlpname * IMPORTING * ve_parametro = vl_parametro.

* * vl_shlpname = vl_parametro. * * * * * * * * * * * * * * sl_partner1-sign = 'I'. sl_partner1-option = 'EQ'. sl_partner1-low = sl_but000-partner_guid. APPEND sl_partner1 TO tl_partner1. ELSE. CALL FUNCTION 'BCA_DYN_F4_ACPOOL_GET_RECTAB' EXPORTING i_maxrecords = vl_record i_shlp_shlpname = vl_shlpname i_tab_partner = tl_partner1 IMPORTING e_tab_result = tl_result. DELETE tl_result WHERE prodint NE vl_producto.

* Declaracin de Constantes Locales * CONSTANTS cl_event_cn_new TYPE zloed_name VALUE 'EVENTO'. "sl_eventos TYPE bapi_bca_str_cneventapiout, * sl_acct_bal TYPE bca_str_acct_key_fig_acct_bal,

* Declaracin de Tablas Locales * DATA: tl_eventos TYPE bapi_bca_tab_cneventapiout.

* * * * * *

vl_fecha(15) vl_fecha_aux(8) vl_start_date vl_denomina vl_parametro vl_evento

TYPE TYPE TYPE TYPE TYPE TYPE

c, c, bca_dte_acct_key_fig_bal_from, bca_dte_cn_descr, zloed_low, bapi_bca_str_cneventapiout-event,

**Obtiene nmero de evento 0004 * CALL METHOD zlocl_cons_prestamo_gpal=>obt_constantes * EXPORTING * vi_sel_name = cl_event_cn_new * IMPORTING * ve_parametro = vl_parametro. * * vl_evento = vl_parametro. * ** Obtiene tabla de eventos * CALL FUNCTION 'BAPI_BCA_EVENT_GETDETAIL_A'

* EXPORTING * internalid = vi_internalid * TABLES * events = tl_eventos. * * IF tl_eventos[] IS NOT INITIAL. * * SORT tl_eventos * BY event. * * READ TABLE tl_eventos * INTO sl_eventos * WITH KEY event = vl_evento "'0004' * BINARY SEARCH. * * IF sy-subrc EQ 0. * * vl_fecha = sl_eventos-timestamp. * * CONCATENATE vl_fecha+6(2) * vl_fecha+4(2) * vl_fecha(4) * INTO vl_fecha_aux. * * vl_start_date = vl_fecha_aux. * vl_contract_int = vi_internalid. * ** Obtiene Balance * CALL FUNCTION 'BCA_API_ACCT_KEY_FIG_GET_BAL' * EXPORTING * i_contract_int = vl_contract_int * i_start_date = vl_start_date * IMPORTING * e_str_acct_bal = sl_acct_bal * EXCEPTIONS * not_found = 1 * invalid = 2 * not_qualified = 3 * system_error = 4 * lock_error = 5 * OTHERS = 6. * * IF sy-subrc EQ 0. * * se_acct_bal = sl_acct_bal. * * ENDIF. * * ENDIF. * * ENDIF. MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. BCA_DTE_CAPITALS cap_desembolso cap_balance

sl_result

TYPE bca_str_calc_result,

* DATA: ol_error TYPE REF TO CX_ROOT, * vl_mensaje TYPE CHAR200. * * * * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ve_due_amount = vl_payamount. sl_contract-next_post_date = vl_paydate.

* SORT tl_result * BY due_date. * * LOOP at tl_result * INTO sl_result * WHERE due_date > vi_postdate. * ** Obtiene Next due date * ve_due_date = sl_result-due_date. * * exit. ENDLOOP.

CLEAR: sl_result_aux.

* CATCH CX_ROOT INTO ol_error. * ** get text error * CALL METHOD ol_error->if_message~get_text * RECEIVING * result = vl_mensaje. * * * ENDTRY.

*Declaracin de estrcturas locales * DATA: sl_seleccion TYPE zloes_sel_opt_cte. "tl_seleccion TYPE zlott_sel_opt_cte,

"vl_name

TYPE ddobjname,

**Obtine el valor del campo name * CALL METHOD zlocl_cons_prestamo_gpal=>obt_constantes * EXPORTING * vi_sel_name = cl_sel_name * IMPORTING * ve_parametro = vl_parametro. * * vl_name = vl_parametro. "cl_type TYPE c VALUE '3',

"sl_accountlist TYPE bapi_str_get_list_account_info,

sl_acpool

TYPE bca_str_cn_acpool.

"vl_partner TYPE bca_dte_bupa_partner, * vl_addno TYPE bca_dte_bupa_addno, * vl_notfound TYPE bca_dte_flg_check.

*** MODIFY GAH 02-01-2012 * LOOP AT tl_result_coll * INTO sl_result_coll * WHERE f_status <> cl_estatus * and f_status = cl_status. * ** Obtiene la fecha * vl_d_due_date = sl_result_coll-d_due_date. * EXIT. * * ENDLOOP. * * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

*BCA_MAP_BPARE_POSTDATES_GET * Obtiene Fecha de BPARE * CALL FUNCTION 'BAPA_API_ACC_BPARE_GET_POSTDTE' * EXPORTING * i_bpare = vl_bpare2 * IMPORTING * e_postdate = vl_postdate * e_postdate_last = vl_postdate_last * EXCEPTIONS * not_qualified = 1 * invalid = 2

* * * * * * * * * *

no_cut_off failed OTHERS IF sy-subrc NE 0.

= 3 = 4 = 5.

MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4. ENDIF.

* CALL FUNCTION 'BAPA_API_CN_BPARE_GET' * EXPORTING * i_contract_int = vl_contract_int_m * IMPORTING * e_bpare = vl_bpare * EXCEPTIONS * not_qualified = 1 * not_found = 2 * OTHERS = 3.

* * * * * * * .

DATEON = PROCESSEXTENSION = OPENLOG = 'X' TABLES EXTENSIONIN RETURN EXTENSIONOUT

= = tl_return =

*Declaracin de variables locales * DATA: vl_contract_int TYPE bapi_bca_str_cn_acct_ext-internal_account_id.

vl_contract_int = vi_contract_int.

Vous aimerez peut-être aussi