您的位置:首页 > 其它

如何实现SAP跨系统取数

2010-06-22 14:38 651 查看
创建连接参数
公司在实施SAP后,可能会与其他业务系统进行集成。这样,就需要不同系统间进行同步数据,下面介绍SAP如何从其他数据库读取数据。以SQL为例。
第一步:创建数据库连接参数,键入DBCO,进入数据库连接总览界面。添加一个新的连接参数,输入连接名,DBS是指连接数据库的类型,SQL的为MSS,用户名,需在数据库系统中存在的,密码,连接信息:MSSQL_SERVER=IP adress MSSQL_DBNAME=dbname OBJECT_SOURCE=dbname;

ABAP编码
然后键入se38,新建一个报表程序。以下是代码内容。
REPORT YTEST003.

DATA g_conexion LIKE dbcon-con_name VALUE 'YANGTEST'.

DATA: exec_ref TYPE REF TO cx_sy_native_sql_error,
error_text TYPE string.

DATA: g_errorstr(250) TYPE c.

DATA: BEGIN OF WA_TRANS,
DEPARTMENTID TYPE N,
NAME(50) TYPE C,
DESCRIPTION(1000) TYPE C,
END OF WA_TRANS.

START-OF-SELECTION.

PERFORM sub_conndb USING g_conexion.
PERFORM getdata.
END-OF-SELECTION.

FORM sub_conndb USING conn LIKE dbcon-con_name.
CLEAR g_errorstr.
g_conexion = conn.
TRY.

EXEC SQL.
CONNECT TO :G_CONEXION
ENDEXEC.
EXEC SQL.
SET CONNECTION :G_CONEXION
ENDEXEC.
CATCH cx_sy_native_sql_error INTO exec_ref.
CONCATENATE '无法连接至SQL数据库 连接名:' g_conexion INTO g_errorstr.

ENDTRY.
ENDFORM.

FORM getdata.
TRY.
EXEC SQL.
OPEN CURSOR dbcur FOR
SELECT *
FROM DEPARTMENT
ENDEXEC.
DO.
EXEC SQL.
FETCH NEXT dbcur INTO :wa_trans.
ENDEXEC.
IF sy-subrc <> 0.
EXIT.
ELSE.
WRITE:/ WA_TRANS-NAME,WA_TRANS-DESCRIPTION.
ENDIF.
ENDDO.
EXEC SQL.
CLOSE dbcur
ENDEXEC.

CATCH cx_sy_native_sql_error INTO exec_ref.
g_errorstr = exec_ref->get_text( ).
CONCATENATE '读取数据出错, 连接名:' g_conexion g_errorstr INTO g_errorstr.

WRITE:/ g_errorstr.
ENDTRY.

ENDFORM.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: