You are on page 1of 2

FUNCTION ZBWXF_AVLC_MTER_TRANS.

*"----------------------------------------------------------------------
*"*"Interface local:
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SBIWA_S_INTERFACE-REQUNR
*" VALUE(I_ISOURCE) TYPE SBIWA_S_INTERFACE-ISOURCE OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SBIWA_S_INTERFACE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SBIWA_S_INTERFACE-INITFLAG OPTIONAL
*" VALUE(I_UPDMODE) TYPE SBIWA_S_INTERFACE-UPDMODE OPTIONAL
*" VALUE(I_DATAPAKID) TYPE SBIWA_S_INTERFACE-DATAPAKID OPTIONAL
*" VALUE(I_PRIVATE_MODE) OPTIONAL
*" TABLES
*" I_T_SELECT TYPE SBIWA_T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SBIWA_T_FIELDS OPTIONAL
*" E_T_DATA STRUCTURE ZMMXR_AVLC_MTER_TRANS OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
*"----------------------------------------------------------------------
*----------------------------------------------------------------------*
* ALTERAO *
*----------------------------------------------------------------------*
* RDS: 086557 MODULO: BW *
* AUTOR: Rafael Pimentel de Oliveira FIRMA: COMPLEX *
* DATA: 10/06/2010 *
* DESCRIO: BW Suprimentos *
*----------------------------------------------------------------------*
* Maximum number of lines for DB table
STATICS: l_maxsize TYPE sbiwa_s_interface-maxsize.
* Initialization mode (first call by SAPI) or data transfer mode
* (following calls) ?
IF i_initflag = sbiwa_c_flag_on.
* Invalid second initialization call -> error exit
IF NOT g_flag_interface_initialized IS INITIAL.
MESSAGE e008(r3).
log_write 'E' "message type
'R3' "message class
'008' "message number
' ' "message variable 1
' '. "message variable 2
RAISE error_passed_to_mess_handler.
ENDIF.
APPEND LINES OF i_t_select TO g_t_select.
* Fill parameter buffer for data extraction calls
g_s_interface-requnr = i_requnr.
g_s_interface-isource = i_isource.
g_s_interface-maxsize = i_maxsize.
g_s_interface-initflag = i_initflag.
g_s_interface-datapakid = i_datapakid.
g_flag_interface_initialized = sbiwa_c_flag_on.
APPEND LINES OF i_t_fields TO g_t_segfields.
ELSE. "Initialization mode or data extraction ?
PERFORM preenche_selecao TABLES g_t_select.
* First data package -> OPEN CURSOR
IF g_counter_datapakid = 0.
l_maxsize = g_s_interface-maxsize.
*----------------------------------------------------------------------*
* Seleo dos dados *
*----------------------------------------------------------------------*
PERFORM f_select_avlc_mter.
ENDIF.
* Limpa as estruturas
REFRESH: ti_mbew, ti_avlc_mter, ti_mara, ti_empresa.
CLEAR: es_mbew, es_avlc_mter, ti_mara, ti_empresa.
*----------------------------------------------------------------------*
* Processamento dos dados *
*----------------------------------------------------------------------*
PERFORM f_return_avlc_mter USING l_maxsize.
APPEND LINES OF ti_avlc_mter TO e_t_data.
g_counter_datapakid = g_counter_datapakid + 1.
FREE: ti_avlc_mter[].
ENDIF.
ENDFUNCTION.

You might also like