您的位置:首页 > 其它

培训总结二

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数据抽取。通讯接口增强。--见文档。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: