- To provide more information on the deletion of data in RFC tables
The ARFCSDATA table is the payload table of the qOut-scheduler. It contains the data sent by the t/qRFCs. ARFCSSTATE is the status table, it contains the status of the LUW; for example: RECORDED, EXECUTED, SYSFAIL etc. The data in these tables will be generated by the RFC-cleint applications using the t/qRFC for the function call. Entries will be deleted from this table once the relevant LUW is processed successfully.
RFC tables should be kept as small as possible. Sometimes the size of the ARFCSDATA table gets very large which could lead TIME_OUT dumps in the qOut-scheduler (SAPLQOWK). To fix this problem you have to
- find the application which is responsible for most of the entries in ARFCSDATA
Run the following sql statement:
select ARFCIPID,ARFCPID,ARFCTIME,ARFCTIDCNT,count(*) from ARFCSDATA group by ARFCIPID,ARFCPID,ARFCTIME,ARFCTIDCNT order by count(*);
Open the ARFCSSTATE table and copy the ARFCIPID,ARFCPID,ARFCTIME,ARFCTIDCNT fields from the result of the sql statement into the same fields of the ARFCSSTATE table.
You can determine the respsonsible application by the RFCFNAM field with the server function and by the ARFCTCODE field with the name of the transaction which created the LUW.
- and to remove the LUWs entries after consulting with those who are responsible for the application.
- After the LUWs have been removed the application has to resend the same ammount of data in smaller packages.
You can check whether they are TRFCs or QRFCs by looking at the entry in field ARFCRETURN in table ARFCSSTATE. If arfcreturn = '' (blank)" then this means that it is a tRFC, but if there is a value in here then it is a qrfc. In the case of QRFCs you will need to delete the queue and to do this please take a look at the following SAP Note:
Note 763255 : Deleting a TID or a queue
You can get the date of these entries from ARFCSSTATE and you can also check the relevant queue (SM58 or SMQ1) to see these entries. Basically, entries will be deleted if they are finished with i.e. if you have entries in "transaction recorded" or "SYSFAIL" etc. These will not be deleted automatically as they are not finished with.
**You will need to verify if these entries need to be deleted or not**
We have a new report to check inconsistencies as described in the following SAP Note:
Note 779664 : Consistency check of qRFC queues with deletion
The report RSTRFCEF has been replaced by the report RSTRFCEG. Please just run the report RSTRFCEG. Note that the report contains a parameter CHECK_ONLY, if you mark it, then the inconsistencies will not be deleted.
You could also try running report RSTRFCES which deletes entries in the ARFCSSTATE, ARFCSDATA and TRFCQOUT tables. These reports will delete the entries in the tables. However, it will take some time to get through all the entries.