培训总结二
2011-11-11 15:17
218 查看
1 dev aleremote,参数文件S_BI-WX_RFCA,SAP_ALL
BW bwuser 参数文件:S_BI-WHM_RFC
2,sm51 yteccdev_DEV_01
3,WE21处理中的idoc,WE20合作伙伴参数
4,数据源是与源系统相关的。
5,rso2维护一般数据源
6,rsa3验证是否可以在源系统提取到数据
7,rsa6激活数通用的数据源
8,函数组RSAX复制出一个函数组,选择复制RSAX_BIW_GET_DATA_SIMPLE。
代码如下
function zrsax_biw_get_data_simple.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SRSC_S_IF_SIMPLE-REQUNR
*" VALUE(I_DSOURCE) TYPE SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
*" VALUE(I_READ_ONLY) TYPE SRSC_S_IF_SIMPLE-READONLY OPTIONAL
*" VALUE(I_REMOTE_CALL) TYPE SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
*" TABLES
*" I_T_SELECT TYPE SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
*" E_T_DATA STRUCTURE ZCUST OPTIONAL
*" E_T_ZCUST STRUCTURE ZCUST OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
*"----------------------------------------------------------------------
* Example: DataSource for table SFLIGHT
* TABLES: SFLIGHT.
tables: zcust.
* Auxiliary Selection criteria structure
data: l_s_select type srsc_s_select.
* Maximum number of lines for DB table
statics: s_s_if type srsc_s_if_simple,
* counter
s_counter_datapakid like sy-tabix,
* cursor
s_cursor type cursor.
* Select ranges
* RANGES: L_R_CARRID FOR SFLIGHT-CARRID,
* L_R_CONNID FOR SFLIGHT-CONNID.
ranges:r_kunnr for zcust-kunnr.
* Initialization mode (first call by SAPI) or data transfer mode
* (following calls) ?
if i_initflag = sbiwa_c_flag_on.
************************************************************************
* Initialization: check input parameters
* buffer input parameters
* prepare data selection
************************************************************************
* Check DataSource validity
case i_dsource.
when 'ZTEST_FM'.
when others.
if 1 = 2. message e009(r3). endif.
* this is a typical log call. Please write every error message like this
log_write 'E' "message type
'R3' "message class
'009' "message number
i_dsource "message variable 1
' '. "message variable 2
raise error_passed_to_mess_handler.
endcase.
append lines of i_t_select to s_s_if-t_select.
* Fill parameter buffer for data extraction calls
s_s_if-requnr = i_requnr.
s_s_if-dsource = i_dsource.
s_s_if-maxsize = i_maxsize.
* Fill field list table for an optimized select statement
* (in case that there is no 1:1 relation between InfoSource fields
* and database table fields this may be far from beeing trivial)
append lines of i_t_fields to s_s_if-t_fields.
else. "Initialization mode or data extraction ?
************************************************************************
* Data transfer: First Call OPEN CURSOR + FETCH
* Following Calls FETCH only
************************************************************************
* First data package -> OPEN CURSOR
if s_counter_datapakid = 0.
* Fill range tables BW will only pass down simple selection criteria
* of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
loop at s_s_if-t_select into l_s_select where fieldnm = 'KUNNR'.
move-corresponding l_s_select to r_kunnr.
append r_kunnr.
endloop.
* LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'CONNID'.
* MOVE-CORRESPONDING L_S_SELECT TO L_R_CONNID.
* APPEND L_R_CONNID.
* ENDLOOP.
* Determine number of database records to be read per FETCH statement
* from input parameter I_MAXSIZE. If there is a one to one relation
* between DataSource table lines and database entries, this is trivial.
* In other cases, it may be impossible and some estimated value has to
* be determined.
open cursor with hold s_cursor for
select kunnr from kna1
where kunnr in r_kunnr .
endif. "First data package ?
* Fetch records into interface table.
* named E_T_'Name of extract structure'.
fetch next cursor s_cursor
appending corresponding fields
of table e_t_data
package size s_s_if-maxsize.
if sy-subrc <> 0.
close cursor s_cursor.
raise no_more_data.
endif.
s_counter_datapakid = s_counter_datapakid + 1.
endif. "Initialization mode or data extraction ?
endfunction.
9,标准数据源增强。使用badi的方式
RSU5_SAPI_BADI SE19
RSA6选择增强提取结构。增强字段以ZZ打头(经验证不需要)。
10 数据源增强后,默认为隐藏,需更改为显示。
11,当数据目标有数据时,数据源字段需删除数据后再修改结构。
12,lbwe,lo数据抽取。通讯接口增强。--见文档。
BW bwuser 参数文件:S_BI-WHM_RFC
2,sm51 yteccdev_DEV_01
3,WE21处理中的idoc,WE20合作伙伴参数
4,数据源是与源系统相关的。
5,rso2维护一般数据源
6,rsa3验证是否可以在源系统提取到数据
7,rsa6激活数通用的数据源
8,函数组RSAX复制出一个函数组,选择复制RSAX_BIW_GET_DATA_SIMPLE。
代码如下
function zrsax_biw_get_data_simple.
*"----------------------------------------------------------------------
*"*"Local Interface:
*" IMPORTING
*" VALUE(I_REQUNR) TYPE SRSC_S_IF_SIMPLE-REQUNR
*" VALUE(I_DSOURCE) TYPE SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
*" VALUE(I_MAXSIZE) TYPE SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
*" VALUE(I_INITFLAG) TYPE SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
*" VALUE(I_READ_ONLY) TYPE SRSC_S_IF_SIMPLE-READONLY OPTIONAL
*" VALUE(I_REMOTE_CALL) TYPE SBIWA_FLAG DEFAULT SBIWA_C_FLAG_OFF
*" TABLES
*" I_T_SELECT TYPE SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
*" I_T_FIELDS TYPE SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
*" E_T_DATA STRUCTURE ZCUST OPTIONAL
*" E_T_ZCUST STRUCTURE ZCUST OPTIONAL
*" EXCEPTIONS
*" NO_MORE_DATA
*" ERROR_PASSED_TO_MESS_HANDLER
*"----------------------------------------------------------------------
* Example: DataSource for table SFLIGHT
* TABLES: SFLIGHT.
tables: zcust.
* Auxiliary Selection criteria structure
data: l_s_select type srsc_s_select.
* Maximum number of lines for DB table
statics: s_s_if type srsc_s_if_simple,
* counter
s_counter_datapakid like sy-tabix,
* cursor
s_cursor type cursor.
* Select ranges
* RANGES: L_R_CARRID FOR SFLIGHT-CARRID,
* L_R_CONNID FOR SFLIGHT-CONNID.
ranges:r_kunnr for zcust-kunnr.
* Initialization mode (first call by SAPI) or data transfer mode
* (following calls) ?
if i_initflag = sbiwa_c_flag_on.
************************************************************************
* Initialization: check input parameters
* buffer input parameters
* prepare data selection
************************************************************************
* Check DataSource validity
case i_dsource.
when 'ZTEST_FM'.
when others.
if 1 = 2. message e009(r3). endif.
* this is a typical log call. Please write every error message like this
log_write 'E' "message type
'R3' "message class
'009' "message number
i_dsource "message variable 1
' '. "message variable 2
raise error_passed_to_mess_handler.
endcase.
append lines of i_t_select to s_s_if-t_select.
* Fill parameter buffer for data extraction calls
s_s_if-requnr = i_requnr.
s_s_if-dsource = i_dsource.
s_s_if-maxsize = i_maxsize.
* Fill field list table for an optimized select statement
* (in case that there is no 1:1 relation between InfoSource fields
* and database table fields this may be far from beeing trivial)
append lines of i_t_fields to s_s_if-t_fields.
else. "Initialization mode or data extraction ?
************************************************************************
* Data transfer: First Call OPEN CURSOR + FETCH
* Following Calls FETCH only
************************************************************************
* First data package -> OPEN CURSOR
if s_counter_datapakid = 0.
* Fill range tables BW will only pass down simple selection criteria
* of the type SIGN = 'I' and OPTION = 'EQ' or OPTION = 'BT'.
loop at s_s_if-t_select into l_s_select where fieldnm = 'KUNNR'.
move-corresponding l_s_select to r_kunnr.
append r_kunnr.
endloop.
* LOOP AT S_S_IF-T_SELECT INTO L_S_SELECT WHERE FIELDNM = 'CONNID'.
* MOVE-CORRESPONDING L_S_SELECT TO L_R_CONNID.
* APPEND L_R_CONNID.
* ENDLOOP.
* Determine number of database records to be read per FETCH statement
* from input parameter I_MAXSIZE. If there is a one to one relation
* between DataSource table lines and database entries, this is trivial.
* In other cases, it may be impossible and some estimated value has to
* be determined.
open cursor with hold s_cursor for
select kunnr from kna1
where kunnr in r_kunnr .
endif. "First data package ?
* Fetch records into interface table.
* named E_T_'Name of extract structure'.
fetch next cursor s_cursor
appending corresponding fields
of table e_t_data
package size s_s_if-maxsize.
if sy-subrc <> 0.
close cursor s_cursor.
raise no_more_data.
endif.
s_counter_datapakid = s_counter_datapakid + 1.
endif. "Initialization mode or data extraction ?
endfunction.
9,标准数据源增强。使用badi的方式
RSU5_SAPI_BADI SE19
RSA6选择增强提取结构。增强字段以ZZ打头(经验证不需要)。
10 数据源增强后,默认为隐藏,需更改为显示。
11,当数据目标有数据时,数据源字段需删除数据后再修改结构。
12,lbwe,lo数据抽取。通讯接口增强。--见文档。
相关文章推荐
- 耿后旺2012年4月在公司的培训总结
- WIZnet产品培训总结(全硬件TCP/IP协议栈芯片和模块)
- 【转载】同事对项目UI问题案例分析培训的总结
- 森纵培训第二十七天课程总结
- 培训总结---方向比努力重要
- 传智播客JAVA培训2010-5-21EMS项目总结1
- CCNA培训课总结笔记--RIPv1负载均衡(六)
- CCNA培训课总结笔记--配置OSPF实验(十一)
- 蓝懿iOS培训日志14 测试日及测试总结
- NETAPP 个人培训总结
- 金字塔结构思维培训总结
- [培训总结]海量服务培训总结
- 新员工入职培训感受总结
- 培训总结2
- 森纵培训第五天课程总结(数组)
- 新员工入职培训感受总结
- IBM AIX初级培训总结
- Sybase IQ for Data Warehouse 培训总结(三)
- [反思]关于WD李总裁的一次培训内容思考和总结
- 森纵培训第三天课程总结