on 11-16-2006 12:22 AM
Hi all,
For some reason, I won't be able to execute this FM anymore. Every time I execute t, the hour glass is continue running forever. I had to manually stop the transaction but it still doesn't go away in SM50. In SM50, it keep saying "sequential read MEREP_111 and it never stop.
This is not a first time I ever execute this FM. I executed it in the past and it worked just fine. This is happening in the last couple days.
Does anyone know the cause of it and know how to fix it? Your advice would be highly appreciated.
Regards,
Dai
Hi Dai,
Please check if there are any dumps that are occuring when you are executing this. Go to transaction ST22 & check for any dumps. Otherwise I dont think there should be any problem.
Regards,
Nameeta
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I did try Debug FM and found that it got stuck in the loop and never get out. Here is the code for the loop:
----
-->PRF_SYNCBO text
-->PRF_MBLID text
----
FORM merep_111_reset_mblid
USING prf_syncbo TYPE merep_scenario
prf_mblid TYPE merep_mbl_id .
DATA:
ldt_111 TYPE table of merep_111.
FIELD-SYMBOLS: <lds_111> type merep_111.
DO .
- Select rows (SyncBO specified)
SELECT * FROM merep_111
INTO TABLE ldt_111
UP TO gcf_package_rows ROWS
WHERE scenario = prf_syncbo
AND mobile_id = prf_mbl_id
AND sync_key NOT IN
(
select sync_key from merep_207 where
scenario = prf_syncbo and
struct_id = 'TOP' and
sync_key = merep_111~sync_key
)
.
IF ( sy-subrc IS NOT INITIAL ) .
EXIT .
ENDIF .
- Mark as deleted
Loop at ldt_111 assigning <lds_111>.
<lds_111>-action = 'D'.
Endloop.
UPDATE merep_111 FROM TABLE ldt_111.
COMMIT WORK .
ENDDO .
Hi Dai Ly,
Which is the SP level of your MI Server(ABAP Stack)? .
Because i could not find the form you have mentioned in your last reply
in SP 15, SP 16 or SP 17. Even the table u mentioned, merep_111, is
not there in SP 15 & 16.
This table is there in the SP 17( merep_111 - MEREP Key Mapping Table).
Even this table is not there in the older versions.
Actually the logic behind the form you mentioned is ,
here the status is set to Delete for the entries that are deleted from
RDB, so that the purge tool can later delete these entries.
Actually this one is the fix for synckey missing problem after doing
purge(merep_purge) for the older data in the MI Server.
This fix is for syncbos of type T01 and T51.
Just go through the code you given,
<<<<<<<<<<<<<<
DO .
- Select rows (SyncBO specified)
SELECT * FROM merep_111
INTO TABLE ldt_111
UP TO gcf_package_rows ROWS
WHERE scenario = prf_syncbo
AND mobile_id = prf_mbl_id
AND sync_key NOT IN
(
select sync_key from merep_207 where
scenario = prf_syncbo and
struct_id = 'TOP' and
sync_key = merep_111~sync_key
).
IF ( sy-subrc IS NOT INITIAL ) .
EXIT .
ENDIF .
- Mark as deleted
Loop at ldt_111 assigning <lds_111>.
<lds_111>-action = 'D'.
Endloop.
<b>UPDATE merep_111 FROM TABLE ldt_111.</b>
COMMIT WORK .
ENDDO .
>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Just look into this code template you given in your last reply.
The last statement here is updating the merep_111 table.(not deleting the
entries from this table). So those entries would be there in the merep_111
table until we deleted those entries using Purge Tool.So i think
this selection statement within this DO .. ENDDO will become an infinite loop!!!...
I think , this is because of that you can see the COMMIT work with respect
merep_111 table in SM50. If i am right, this might be a bug..
Just try a purge using purge tool(merep_purge) and try using that function module.
Lets see ....
Regards,
Kishor Gopinathan
Hi Kishor,
Our SP level is 16 for both ABAP and Java stack.
You're right, the table MEREP_111 isn't in SP16. However, last time we ran into another problem, SAP recommened to apply note 954512 which added those code and create that table along with other tables as well.
About purge tool, we scheduled transaction merep_purge to run every day to delete all inbound, outbound, and log message every days with a 30 olds data. However, we didn't schedule anything for runtime data because we weren't sure about this transaction.
So what would you recommend? run purge transaction for everything? including runtime data as well?
Thanks for your helps.
Regards,
Dai
User | Count |
---|---|
88 | |
10 | |
10 | |
9 | |
7 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.