cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Change Pointers in GTS

dean_hinson2
Active Contributor
0 Kudos
1,938

Hello,

Implemented change pointers to capture when a product from ERP is transferred to GTS. The logical system group has a number of ERP systems. The idea is if the material change date in /SAPSLL/PR changes, a change pointer is created so that classifications that are already present are sent to the ERP system.

However, no change pointers are being generated for table /SAPSLL/PR. The fields I have configured are KEY, CHTSP, and CRTSP.

I used Message Type /SAPSLL/BRKR_PROD_RPLCTN_REQ as a guideline and have activated to review and monitor.

So, I am not sure why change pointers are not being generated for what I configured.


Any Ideas?

Regards, Dean.

Accepted Solutions (1)

Accepted Solutions (1)

mouaz_benredjeb
Contributor
0 Kudos

Hi Dean,

One reason why you don't get change pointers created could be that data element /SAPSLL/CHTSP (for /SAPSLL/PR-CHTSP field) and data element /SAPSLL/CRTSP (for /SAPSLL/PR-CRTSP field) are not flagged to generate Change documents. You can check this by displaying the data elements in SE11.

However, data element /SAPSLL/GUID_16 (for /SAPSLL/PR-GUID_PR field, which is the KEY of the table) is flagged to generate Change Documents, so I would expect a change pointer to be created when the GTS Product is created or deleted in GTS.

In your tests, have you tried to generate a change pointer for the creation (or deletion) of a product in GTS?

Regards.

Mouaz

dean_hinson2
Active Contributor
0 Kudos

Yep, I see that now. I wonder if SAP will change that if I open an OSS Message? I really don't want to make enhancements with this foundation level topic.

mouaz_benredjeb
Contributor
0 Kudos

I doubt this will ever change, even with an OSS message...

You see, those 2 fields CHTSP and CRTSP change based on changes in other fields. So it does not make sense to have change pointers/change documents (CP/CD) for CHTSP/CRSTP, but rather to have CP/CDs on the "actual" field that changed e.g. it makes sense to have a change pointer/change document on the net weight field to capture changes made on this field, these changes in turn will change the field CHTSP, so having a change pointer on the actual change of the net weight field is enough.

I understand perfectly what you are trying to achieve (somehow retrigger the transfer of classification when a new feeder system is added). There are a couple of options, involving some coding, that can be done:

Option 1: When the feeder system sends the material to GTS, with a BADI/enhancement reset the status of the material to "New' so hopefully changing the content of the status field triggers the creation of CP/CD.

Option 2: Have an attribute (table /SAPSLL/PRGEN) that records all the feeder system that have sent the material (I.e. concatenate all feeder system in that field). When the product is coming from a new feeder system, add this feeder system as the end of the concatenation of the attribute field. Hopefully the change in table /SAPSLL/PRGEN will trigger a CP/CD.

I must warn you that the 2 options I exposed above have never been implemented/tested by me, so before anything else, a small POC or prototype is needed to gurantee that the approach could work for the whole thing.

Answers (2)

Answers (2)

former_member215181
Active Contributor
0 Kudos

Hi Dean,

Ok, I was wrong. After checking the program code in GTS 11.0, I can see that Change Pointers ought to be written whether the Product is maintained directly in GTS or via the interface - in both cases, Method SAVE_OBJECTS (/SAPSLL/CL_PR) is called, which includes the writing of Change Pointers.

If you are testing by transferring changes to an existing Product, have you checked that your trigger field CHTSP is actually changing? If it is, then it might be necessary to debug the code to find out what is going wrong.

Sorry that I couldn't help more this time.

Regards,
Dave

dean_hinson2
Active Contributor
0 Kudos

Hello Dave,

You are always great help. It is always appreciated.

Regards, Dean

former_member215181
Active Contributor
0 Kudos

Hi Dean,

I appreciate what you're trying to do, but I think the answer is that the Change Pointers are generated by the Product Maintenance transaction rather than by the interface module (although I haven't verified that in the code).

I've encountered many such instances, for example when a change in the ERP Delivery updates the Sales Order, the Delivery creates CP's, but the Order does not.

I'll wait for any other comments before I go diving in to the code!

Regards,
Dave

dean_hinson2
Active Contributor
0 Kudos

Hello Dave,

If that were true, then the Message Type /SAPSLL/BRKR_PROD_RPLCTN_REQ would not work 100%. Most Product Master changes, like net weight, gross weight, descriptions, etc. are done through the master data replication. I get where you are coming from. As I said, I have had the Message Type /SAPSLL/BRKR_PROD_RPLCTN_REQ activated for quite sometime and I see change pointers for the Product Master net weight, gross weight and UOM, which is not done in GTS, but the ERP system and then replicated.

Regards, Dean.