SAP表

2020-08-25 23:30发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

红木可以访问SAP表吗? 如果是这样,请您把我的方向正确。

此致

Chandu

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,

红木可以访问SAP表吗? 如果是这样,请您把我的方向正确。

此致

Chandu

付费偷看设置
发送
8条回答
me_for_i
1楼-- · 2020-08-26 00:19

嗨,Chandu

Redwood有JDBC定义,它们可以访问SAP AS的任何表。

请注意,SAP不建议直接更改数据库数据。

您将在JDBC进程服务器的许可证中需要一个空闲插槽。

您可以在文档中找到有关JDBC的大量信息。 请让我知道是否需要更多信息,并提及您当前正在运行的版本。

此致

HP

My梦
2楼-- · 2020-08-26 00:14

您好,Valentijn Chandu ,

您应该可以使用XBPInterface.readTable。

在API文档中,您在左下角的XBPInterface上有一个此类的" readTable"方法 ,根据API文档:

 java.util.Iterator readTable(java.lang.String tableName,java.lang.String分隔符,java.lang.String []列,java.lang.String []  whereClauses,int rowSkip,int rowCount)

读取给定SAP ABAP表的内容

参数:
tableName -ABAP表的名称
定界符-列定界符。 默认值为 |
columns -具有应检索的列名的数组。 如果数组为空或 null ,则检索所有列。
whereClauses -带有查询语句的where子句的数组。 如果数组为空或 null ,则不应用where子句。
rowSkip -从结果集的开头跳过的行数,或者 -1 获取完整的结果集
rowCount -要检索的行数,或 -1 检索所有行 行
返回:
Iterator ,其表行类型为 TableRow
问候,
HP
宇峰Kouji
3楼-- · 2020-08-25 23:55

嗨,Chandu

如果只想读取一个表,也可以通过使用Redwood脚本并调用XBP接口来实现。

这将允许直接通过RFC读取表。 如果您需要这样做,请告诉我,我有一些脚本可以做到这一点。

悻福寶寶
4楼-- · 2020-08-26 00:01

非常感谢Valentijn,我会尝试的,并让您知道并感谢HP。

此致

Chandu

太Q了
5楼-- · 2020-08-26 00:00

嗨,Chandu

以下代码从sap后端系统sapsys中读取表USR02(用您的sap系统替换

它返回字段MANDT和BNAME并将输出打印到stdout.log

--------------------------------------------------- -----------------

导入java.util。*;

导入com.redwood.scheduler.api.model。*;

导入com.redwood.scheduler.api.connector.sap.rfc.scripting。*;

导入com.redwood.scheduler.api.connector.sap.rfc.scripting.xbp。*;

{

/**

*使用XBP接口从SAP后端系统中读取表。

*

*/

//定义要连接的SAP系统

SAPSystem sapsys = BusinessKeyLookup.getSAPSystemByBusinessKey(jcsSession," ");

//定义新的rfc对象

RfcConnectionManager saprfc =新的RfcConnectionManager(sapsys);

//调用XBP接口并执行readTable

saprfc.callXBP(new XbpWork()

{

public void performWork(final XbpInterface xbp)

{

for(Iterator it = xbp.readTable(" USR02"," |",new String [] {" MANDT"," BNAME"},new String [] {},0,-1); it.hasNext ();)

{

TableRow t =(TableRow)it.next();

jcsOut.println(t.toString());

}

}

});

}

--------------------------------------------------- -------------------------


亲切的问候,

Bas Valentijn

nice_wp
6楼-- · 2020-08-26 00:15

当我使用上面的脚本读取表USR02时,出现脚本引擎表达式错误。 但是当我改用自定义Z表时,它可以成功运行

有什么主意为什么会在某些表上显示错误但在其他表上却没有显示?

谢谢

一周热门 更多>