The purpose of this wiki is to explain why RSTRFCEG or RSTRFCEH may return a result of "No inconsistencies" even though there appears to be a differential between the tables.
This page will look at how to evaluate the "No inconsistencies" result of reports RSTRFCEG and RSTRFCEH and advise how the entries in the RFC tables can be removed.
Report RSTRFCEH will check for inconsistencies in tables TRFCQIN, TRFCQINS, TRFCQSTATE and TRFCQDATA. If you select the "Check only " option, the report will identify any inconsistencies but will not delete them:
The output of RSTRFCEH shows the direction in which the check is made:
TRFQSTATE -> TRFCQIN is checked as well as TRFCQDATA -> TRFCQSTATE.
So if there are entries in TRFCQDATA which do not have corresponding entries in TRFCQSTATE, then there will be inconsistencies reported.
Same with TRFCQSTATE -> TRFCQIN.
No inconsistencies may mean that all GUIDs do exist in all the tables.
However, it may be the case that for one entry in Table A there may be millions of corresponding entries in Table B. For example, one entry in table TRFCQIN may have millions of corresponding entries in table TRFCQSTATE. This would show a huge difference in the the amount of entries between TRFCQIN and TRFCQSTATE however there are No Inconsistencies.
If this is the case, then to remove the entries the queue would have to be deleted. This can be done via reports RSTRFCID and RSTRFCIDS. With queue name and time period as the parameters the report deletes entries from TRFCQIN, TRFCQSTATE and TRFCQDATA. Please check with the corresponding application that the queue is not needed before it is deleted.
There is no report to delete data from TRFCQDATA alone if there are no inconsistencies.
If performance problems occur when running report RSTRFCEH apply note 1621114 and test once again with ‘default’ values for ‘LUWs in Memory’ and ‘LUWs until DB Commit’.
Report RSTRFCEG will check for inconsistencies in tables TRFCQOUT, ARFCSSTATE, QREFTID, ARFCSDATA. Like RSTRFCEH, if you select the "Check only " option, the report will identify any inconsistencies but will not delete them.
The output of RSTRFCEG shows the direction in which the check is made:
The above example report inconsistencies, there are entries in table ARFCSSTATE that do not have entries in table TFCQOUT. Running the report and unticking the "Check only " option will remove the inconsistencies identified.
If there are "No inconsistencies" reported but by manually checking you can see that one entry has multiple corresponding entries then, to remove the entries you could use reports RSTRFCQD or RSTRFCQDS as mentioned in note 763255 Deleting a TID or a QUEUE. Again check with the corresponding application that the queue is not needed before it is deleted. Once a queue has been deleted via these reports it cannot be regenerated from the RFC side.
If memory shortdumps ioccur when running report RSTRFCQD try reducing the block size from the default value of 1000 to 100
or 10 or even , this should avoid the shortdumps.
In case of memory short dumps when running report RSTRFCEG try adjust the parametesr "LUWs in Memory" and "LUWs Until DB Commit" to low values.
If the RSTRFCEG or RSTRFCEH report runs on timeout because the high ammount of data in the qIn/qOut-tables cannot be handled within the timeframe specified by the rdisp/max_wprun_time fir DIA workprocesses, run the report from a background job.