cancel
Showing results for 
Search instead for 
Did you mean: 

Please help! FM "DELETE_ALL_DATA_OF_USER" won't stop runing

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

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

Former Member
0 Kudos

Hi Nameeta,

No, there are no dumps that I can aware of. In SM50, I could see the loop never end. It keeping sequential read MEREP_111 and COMMIT for a long time.

Dai

Former Member
0 Kudos

hi Dai,

Why don't you try to Debug the function module in SE37 and check the runtime values of the important parameters?

Probably it could give you an insight of what's happening!

Regards

Ak.

Former Member
0 Kudos

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 .

kishorg
Advisor
Advisor
0 Kudos

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

Former Member
0 Kudos

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