2

我正在使用 .Net Sap 连接器 3 和函数“RFC_READ_TABLE”来读取 PA0001 表数据。

我使用的条件似乎很愚蠢,但这只是为了解释我的问题是这个表达式的长度。

如果我使用:

MANDT = '100' OR MANDT = '100' OR MANDT = '100' OR MANDT = '100'

这行得通。但是如果我使用

MANDT = '100' OR MANDT = '100' OR MANDT = '100' OR MANDT = '100' OR MANDT = '100'

我有这个例外:“动态指定的条件具有意外的格式”。

我试图用字符〜打破字符串并将这个字符指定为分隔符

function.SetValue ("DELIMITER", "~")

但问题仍然存在

帮我!

4

1 回答 1

0

添加 OP 的评论作为帮助未来访问者的答案:

OPTIONS行有 72 个字符的限制,所以如果一个条件很长,解决方案是将其分成几行:

inputTableOptions = function.GetTable("OPTIONS"); 
string[] aWhere = sWhereExpression.Split("~".ToCharArray()); foreach (string cond in aWhere) { inputTableOptions.Append(); 
inputTableOptions.SetValue("TEXT", cond);
于 2021-10-21T12:01:20.490 回答