首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在调用RFC_READ_TABLE时检查NOT NULL?

如何在调用RFC_READ_TABLE时检查NOT NULL?
EN

Stack Overflow用户
提问于 2021-06-17 15:08:13
回答 1查看 138关注 0票数 1

我正在尝试使用python连接SAP系统来获取数据。这里我有一个问题,如何过滤一个不为空的特定字段?

例如下面,如何过滤字段QNAME不为空。在SAP中,我们可以很容易地设置。非常感谢!

代码语言:javascript
复制
table = 'LTAP'
options = [{ 'TEXT': "LGNUM = '586'" and "VLTYP = 'GPA'" and "NLTYP = 'PD2'"}]
fields = ['TANUM','VLTYP','VLPLA','NLTYP','NLPLA','QDATU','QNAME']
pp = PrettyPrinter(indent=4)
rowskips = 0

print("----Begin of Batch---")
result = conn.call("RFC_READ_TABLE",
QUERY_TABLE = table, 
DELIMITER='|',
FIELDS = fields,\
OPTIONS = options,
ROWSKIPS = rowskips, 
ROWCOUNT = 50 )
pp.pprint(result['DATA'])
EN

回答 1

Stack Overflow用户

发布于 2021-06-17 17:08:54

在ABAP SQL (又称Open SQL)中,"not equal“对应于操作符<>。使用pyrfc,它将是:

代码语言:javascript
复制
options = [{ 'TEXT': "QNAME <> '' and LGNUM = '586' and VLTYP = 'GPA' and NLTYP = 'PD2'"},
{ 'TEXT': " and QDATU = '20160422'" }]

注意,这里有两行,因为RFC_READ_TABLE中的TEXT只有72个字符。如果您有超过72个字符,请将条件拆分为几行,如解释的here,即RFC_READ_TABLE将在每行中填充空格以获得恰好72个字符,并将整理所有行,而不进行任何转换以形成WHERE子句。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68014515

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档