调用RFC\U READ\U表时如何检查NOTNULL?

2024-06-30 12:56:48 发布

您现在位置:Python中文网/ 问答频道 /正文

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

例如,下面的示例中,如何筛选字段QNAME不是空的。在SAP中,我们可以轻松设置。 非常感谢

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'])

Tags: and示例fields系统connecttableresultpp
1条回答
网友
1楼 · 发布于 2024-06-30 12:56:48

在ABAPSQL(又称开放式SQL)中,“notequal”对应于运算符<>。有了pyrfc,它将是:

options = [{ 'TEXT': "QNAME <> '' and LGNUM = '586' and VLTYP = 'GPA' and NLTYP = 'PD2'"},
{ 'TEXT': " and QDATU = '20160422'" }]

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

相关问题 更多 >