The RFC_READ_TABLE implementation is only relevant when using the v1 connector (standard BAPI).
This section illustrates in more detail how the RFC_READ_TABLE reads are implemented in j5:
Import Work Orders, Operations and Notifications from SAP
#Retrieve all notifications modified since the last sync
read_table('VIQMEL', options=[{'TEXT': "AEDAT >= '20160101' AND ERDAT >= '20160101'"}],
fields=['QMNUM', 'QMTXT', 'QMART', 'PRIOK',
'AUFNR', 'TPLNR', 'ERNAM', 'ARTPR',
'QMDAT', 'MZEIT', 'STRMN', 'STRUR',
'LTRMN', 'LTRUR', 'AEDAT', 'AEZEIT',
'ARBPL', 'EQUNR', 'ERDAT', 'ERZEIT',
'TZONSO', 'ARBPLWERK', 'AENAM', 'SWERK',
'BEZDT', 'BEZUR'])
#Retrieve all notifications
read_table('VIQMEL', options=[{'TEXT': "BEZDT >= '20160101' AND BEZUR >= '120000'"},
{'TEXT': "AND QMZAB = '000000' AND QMDAB = '00000000'"}],
fields=['QMNUM', 'QMTXT', 'QMART', 'PRIOK',
'AUFNR', 'TPLNR', 'ERNAM', 'ARTPR',
'QMDAT', 'MZEIT', 'STRMN', 'STRUR',
'LTRMN', 'LTRUR', 'AEDAT', 'AEZEIT',
'ARBPL', 'EQUNR', 'ERDAT', 'ERZEIT',
'TZONSO', 'ARBPLWERK', 'AENAM', 'SWERK',
'BEZDT', 'BEZUR'])
#Retrieve a chunk of notifications when chunking the initial synchronization by date
read_table('VIQMEL', options=[{'TEXT': "((AEDAT >= '20160101' AND AEDAT <= '20160201') OR"},
{'TEXT': "(AEDAT = '00000000' AND ERDAT >= '20160101' AND ERDAT
<= '20160201'))"}],
fields=['QMNUM', 'QMTXT', 'QMART', 'PRIOK',
'AUFNR', 'TPLNR', 'ERNAM', 'ARTPR',
'QMDAT', 'MZEIT', 'STRMN', 'STRUR',
'LTRMN', 'LTRUR', 'AEDAT', 'AEZEIT',
'ARBPL', 'EQUNR', 'ERDAT', 'ERZEIT',
'TZONSO', 'ARBPLWERK', 'AENAM', 'SWERK',
'BEZDT', 'BEZUR'])
#Retrieve all notifications for a specific Maintenance Plant
read_table('VIQMEL', options=[{'TEXT': "SWERK EQ 'PLANT01' AND"},
{'TEXT': "BEZDT >= '20160101' AND BEZUR >= '120000'"},
{'TEXT': "AND QMZAB = '000000' AND QMDAB = '00000000'"}],
fields=['QMNUM', 'QMTXT', 'QMART', 'PRIOK',
'AUFNR', 'TPLNR', 'ERNAM', 'ARTPR',
'QMDAT', 'MZEIT', 'STRMN', 'STRUR',
'LTRMN', 'LTRUR', 'AEDAT', 'AEZEIT',
'LTRMN', 'LTRUR', 'AEDAT', 'AEZEIT',
'ARBPL', 'EQUNR', 'ERDAT', 'ERZEIT',
'TZONSO', 'ARBPLWERK', 'AENAM', 'SWERK',
'BEZDT', 'BEZUR'])
#Retrieve all notifications for a specific Maintenance Plant and for specific Notification
Types
read_table('VIQMEL', options=[{'TEXT': "(QMART EQ 'PM01' OR QMART EQ 'PM2') AND"},
{'TEXT': "SWERK EQ 'PLANT01' AND"},
{'TEXT': "BEZDT >= '20160101' AND BEZUR >= '120000'"},
{'TEXT': "AND QMZAB = '000000' AND QMDAB = '00000000'"}],
fields=['QMNUM', 'QMTXT', 'QMART', 'PRIOK',
'AUFNR', 'TPLNR', 'ERNAM', 'ARTPR',
'QMDAT', 'MZEIT', 'STRMN', 'STRUR',
'LTRMN', 'LTRUR', 'AEDAT', 'AEZEIT',
'ARBPL', 'EQUNR', 'ERDAT', 'ERZEIT',
'TZONSO', 'ARBPLWERK', 'AENAM', 'SWERK',
'BEZDT', 'BEZUR'])
#Retrieve a specific notification
read_table('VIQMEL', options=[{'TEXT': "QMNUM EQ '10002012'"],
fields=['QMNUM', 'QMTXT', 'QMART', 'PRIOK',
'AUFNR', 'TPLNR', 'ERNAM', 'ARTPR',
'QMDAT', 'MZEIT', 'STRMN', 'STRUR',
'LTRMN', 'LTRUR', 'AEDAT', 'AEZEIT',
'ARBPL', 'EQUNR', 'ERDAT', 'ERZEIT',
'TZONSO', 'ARBPLWERK', 'AENAM', 'SWERK',
'BEZDT', 'BEZUR'])
#Read all timezone information in SAP
read_table('TTZCU')
read_table('TTZZ')
read_table('TTZD')
read_table('TTZR')
read_table('TTZDF')
read_table('TTZDV')
#Used to get the default timezone for each user
read_table('USR03')
#Used to retrieve labels so we can display human readable text in some cases, e.g. equipment
types
read_table('T001W')
read_table('T356A_T')
read_table('TQ80_T')
read_table('T370U')
read_table('T370F_T')
#Used to get a list of equipment changed since the last sync
read_table('EQUI', options=[{'TEXT': "ERDAT >= '20160101' OR AEDAT >= '20160101'"}],
fields=['EQUNR'])
#Used to get a listing of the equipment segments
read_table('EQUZ', options=[{'TEXT': "DATAB <= SY-DATUM"},
{'TEXT': " AND HEQUI = ''"},
{'TEXT': " AND DATBI >= SY-DATUM"}],
fields=['MANDT', 'EQUNR', 'DATBI', 'EQLFN',
'ILOAN', 'HEQUI', 'AEDAT', 'IWERK'])
#Used to get a listing of the equipment segments from a list of those changed since the last
sync
read_table('EQUZ', options=[{'TEXT': "DATAB <= SY-DATUM"},
{'TEXT': " AND HEQUI = ''"},
{'TEXT': "AND EQUNR IN ('123','456','789')"}],
fields=['MANDT', 'EQUNR', 'DATBI', 'EQLFN',
'ILOAN', 'HEQUI', 'AEDAT', 'IWERK'])
#Used to get all functional locations related to equipment
read_table("ILOA", options=[{'TEXT': 'ILOAN IN ("123", "456")'}],
fields = ['MANDT', 'ILOAN', 'TPLNR', 'BEBER'])