Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Regarding CHANGE_POINTERS_READ for material data,BDCP2 table

former_member209217
Active Contributor
0 Likes
4,284

Hi Experts,

We are using some Z function module which is copied from standard one change_pointers_read FM. In the function module for getting material data which has been changed we are using two select queries.


 SELECT * FROM bdcpv
      INTO CORRESPONDING FIELDS OF TABLE i_table
     WHERE mestype = message_type
      AND  process = process
      AND  cretime IN s_creation_time
      AND  cdobjcl IN cdobjcl
      AND  tabname IN tabname
      AND  fldname IN fldname
      AND  cdobjid IN cdobjid.

    SELECT * FROM bdcp2 APPENDING
     TABLE i_table
    WHERE  mestype = message_type
      AND  process = process
      AND  cretime IN s_creation_time
      AND  cdobjcl IN cdobjcl
      AND  tabname IN tabname
      AND  fldname IN fldname
      AND  cdobjid IN cdobjid.

.

But in ECC6 SAP begins storing change pointers data in table BDCP2.So,i feel there is no need to use BDCPV in this case.Please share your thoughts on this.

This function module is used in Z program which is scheduled as a daily running job.This program is failing at the step i.e at second select query with Run time Error TSV_NEW_PAGE_ALLOC_FAILED reason. Is there any other way to code this select query for better performance.

I mean is there any standard FM available for reading this table?.

SAP suggests a note1165059 in which it say's run the report RBDCPCLR to delete obsolete changing pointers after which the system takes into account change pointers from table BDCP2.

Please shed some light on this.

Best Regards,

Lakshman.

5 REPLIES 5
Read only

former_member209217
Active Contributor
0 Likes
2,069

Hi All,

Any updates on this issue.

Read only

soumya_jose3
Active Contributor
0 Likes
2,069

Hi Lakshman,

Run time Error TSV_NEW_PAGE_ALLOC_FAILED occurs when there is no more storage space available for extending an internal table. Here in this case, the internal table i_table could not be extended further to hold huge number of entries.

Since you are fetching from both BDCPV and BDCP2 table and filling i_table internal table, so much entries are coming which causes this error.

You can either fetch from BDCPV or BDCP2 table. Change pointers are stored either in BDCPV table or BDCP2 table. The setting of the message type in BD60 decides which table to use for storing change pointers for that particular message type. You check for your message type in BD60 detail view, if check box 'Change Pointer: Message Type Supports Table BDCP2' is checked, then BDCP2 table will be used for storing change pointer. Else, BDCPV will be used. Accordingly you can write select query either on BDCP2 or BDCPV which will rectify the run time error 'TSV_NEW_PAGE_ALLOC_FAILED '.

Regards,

Soumya.

Read only

0 Likes
2,069

Hi Soumya,

Thanks for the helpful information. I checked BD60 transaction ,and there for MATMAS ,BDCP2OK checkbox was not enabled .

Then should i enable it for using BDCP2 in my select query.

Best Regards,

Lakshman

Read only

0 Likes
2,069

Hi Lakshman,

After checking the check box for BDCP2 in BD60, change pointers will be automatically stored to BDCP2 going forward.

SAP delivers a migration program RBDCPMIG to transfer old BDCP/BDCPS entries to BDCP2.

Check the SAP note 1165059 for more details.

Regards,

Soumya.

Read only

former_member209217
Active Contributor
0 Likes
2,069

Thanks for your time Soumya.Your suggestion is helpful