我正在尝试使用python连接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'])发布于 2021-06-17 17:08:54
在ABAP SQL (又称Open SQL)中,"not equal“对应于操作符<>。使用pyrfc,它将是:
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子句。
https://stackoverflow.com/questions/68014515
复制相似问题