Skip to Content
avatar image
Former Member

What is the difference between the CLEAR package and a factor=0 ...

Hello experts.

What is the difference between the CLEAR package and a factor=0 in a *REC instruction (BPC script logic)

A package calling a script logic has been setup for my customer. It allows users to delete records according to a scope defined through prompts in the calling package.

The script logic is below :

*XDIM_MEMBERSET PROFIT_CENTER = %PROFIT_CENTER_SET% *XDIM_MAXMEMBERS PROFIT_CENTER = 2

*XDIM_MEMBERSET PHASE = %PHASEPMT%

*XDIM_MEMBERSET TIME = %TIME_SET%

*WHEN ACCOUNT

*IS *

*REC(FACTOR = 0)

*ENDWHEN

*COMMIT

When we run this script on a scope of data of around 8 000 K records the package abort and we get a dump abap server side : TSV_TNEW_PAGE_ALLOC_FAILED. (as to say memory overflow)

The *XDIM_MAXMEMBERS instruction was not in the initial version of the script, I add it after first dump but it did not improve following trials.

A CLEAR package on the same scope has done the job with no issue. For my personal understanding, is anybody able to explain which difference of behaviour exists backend side between the script and clear solution ? (for information the script works fine also if the scope of data is short).

I expect there's maybe a link with workstatus, because the clear has been run ignoring work status ...

Thanks in advance.

Guillaume.

Add comment
10|10000 characters needed characters exceeded

  • Get RSS Feed

2 Answers

  • avatar image
    Former Member
    Apr 13 at 09:41 AM

    Thank you Vadim.

    I was expecting something a bit more "spectacular".

    Any idea why the *XDIM_MAXMEMBERS PROFIT_CENTER = 2 instruction did not improve the result ?

    (same memory over consumption error)

    Rgds.

    G.

    Add comment
    10|10000 characters needed characters exceeded

    • You can try *XDIM_MAXMEMBERS with another dimension ...

      But better to look on RUNLOGIC badi. It will split the scope and execute number of subscopes in parallel with a good performance.

  • Apr 13 at 09:24 AM

    Simply different ABAP code for script logic processing and for CLEAR package. No surprise!

    For script logic you can try to implement RUNLOGIC badi to split the scope and run parallel processes.

    Add comment
    10|10000 characters needed characters exceeded