Skip to Content
0

SAP SRM - PO Item texts not copied to Confirmation Item texts

Nov 09, 2017 at 08:53 AM

369

avatar image

Hi Guys,

After upgrading SRM_SERVER to 702, out client has an error.

When creating a Confirmation referencing a PO with item text (that are copied from the SC with item texts) we found out that these texts aren't copied from PO to Conf.

I tried debugging the issue and reading lots of configuration posts but everything is there.

https://wiki.scn.sap.com/wiki/display/SRM/How+to+configure+text+schema+in+SAP+SRM

The process worked before upgrade so it must be something else.

I also tried activating some breakpoints in:

CL: CL_EX_BBP_LONGTEXT_BADI
FM: BBP_CF_ASSIGNMENT_BACKEND,
    BBP_PDH_TEXT

And I can see that the system can access the longtexts from each item (for the referenced SC and PO) but simply does not copy the data.

Any idea ?

Regards,
Marius

PS: While debugging, I found out somethin':

IN: /SAPSRM/CL_PDO_CONF_RFDOC_HLPRCM00L, method: GET_REF_BE_PO_DETAILS

LOOP AT et_item INTO ls_item.
*         Case for SERVICEs ONLY --> guids should match as the backend stores SRM item guid in extrefkey
          READ TABLE lt_po_item INTO ls_po_item
                     WITH KEY guid = ls_item-guid.
          IF sy-subrc IS NOT INITIAL.  "either MAT or LIMIT
*           For Material Items only
            IF ls_item-be_refobj_sbitm IS INITIAL.
              READ TABLE lt_po_item INTO ls_po_item
                     WITH KEY be_obj_item = ls_item-be_refobj_item+5.
            ELSE.

It's impossible for that last "READ" to have a sy-subrc different that "4" ... since

ls_po_item-be_obj_item = '0000000001'

so never will

'00001' be equal to '0000000001'

in order to make the read function. Ergo ... the text isn't copied from PO to Confirmation.

BUT if:

ls_item-be_refobj_sbitm would be NOT initial

then the texts would copy themselves to the confirmation document.

Can someone explain to me the role of this field ? Or how does it changes values ?

10 |10000 characters needed characters left characters exceeded
Former Member

Hi Maricus,

I am facing a similar issue. When confirmation is created from a PO some of the items are missing account assignment details. I debugged Method 'GET_REF_BE_PO_DETAILS' of class /SAPSRM/CL_PDO_CONF_RFDOC_HLPR and found that the items in error have different format in column BE_OBJ_ITEM (in local PO table) 10 digits Vs 5. I am wondering if you were able to find a workaround for this issue? If so, can you please let me know what did you have to do?
Appreciate you help.

Thanks much.

-Supriya

0

Hi Supriya,

Waiting for the result of a SAP Message. Not solved yet.

Regards,

Marius

0
* Please Login or Register to Answer, Follow or Comment.

2 Answers

Ricardo Cavedini
Nov 14, 2017 at 04:03 PM
0

Hi Marius,

What is your current support package level fo SRM 7.02? As I could understand, you are using extended classic scenario, right?
Not sure if you have already taken a look at note 2453539. It mentions a specific SPRO customizing for extended classic scenario, since the text transfer from shopping cart to confirmation does not work in classic one.

Also, are you using materials ou services?

Regards,

Ricardo

Show 2 Share
10 |10000 characters needed characters left characters exceeded

Hi Ricardo,

SRM_SERVER 702 0018 SAPK-70218INSRMSRV

The configurations are set and they worked before upgrade. I'll check the SNote you mentioned and I'll get back.

We are using materials not services.

Regards,

Marius

0

Hi Ricardo,

I don't know if these are ok so we can start with them. In table BBPC_TXT_MAP_EXT (the table behind the config from SNote), the values are:


o2q4h.png(11.2 kB)

Should there be any entried for "CONF" ?

ctjev.png(20.0 kB)

Can you point me to an example on how to configure these (if they are not ok)?

I debugged the FM / BADI and I found out that the message control looks like this:

but while debugging the old PO's that worked before upgrade I found out something else.

In table BBP_PDBEI I selected 2 PO's. One that worked and one that was created after the upgrade:

As you can see, the PO "3500030619" has it's positions doubled and the column "BE_OBJ_ITEM" has different items. If i rework in debugger the item no for the second PO, the texts are copied with the current SPRO configuration. Thought it might help :D

Regards,

Marius

o2q4h.png (11.2 kB)
ctjev.png (20.0 kB)
0
Ricardo Cavedini
Nov 15, 2017 at 08:30 PM
0

Hi Marius,
Actually settings from table BBPC_TXT_MAP_EXT are only relevant for classic scenario when using enterprise services (ESOA - XML transfer).
In your case, settings from customizing "Text Mapping for Internal Texts" would take effect instead.
However, I would suggest that you debug method GET_REF_BE_PO_DETAILS of class /SAPSRM/CL_PDO_CONF_RFDOC_HLPR.
This method is called when creating a confirmation with reference to SRM PO.

In the following code, PO details are taken and system tries to map it to standard local confirmation structures:

* read corresponding local PO
MOVE lv_po_number TO lv_po_id.
CALL METHOD me->get_po_detail_and_map
EXPORTING
iv_object_id = lv_po_id
iv_with_itemdata = /sapsrm/if_pdo_constants_gen_c=>gc_yes
IMPORTING
es_header = ls_po_header
et_item = lt_po_item
et_account = lt_po_account
et_longtext = lt_po_longtext.

Here, the PO longtexts are taken.

Then, in the following code they should be mapped to the confirmation:
* For Material Items only
IF ls_item-be_refobj_sbitm IS INITIAL.
READ TABLE lt_po_item INTO ls_po_item
WITH KEY be_obj_item = ls_item-be_refobj_item+5.


I suspect that there is an issue with format of be_obj_item and ls_item-be_reobj_item+5.
As indicated in your file, for local PO we have 0000000001, but for ECC PO we have 00001.

Regards,
Ricardo

Show 2 Share
10 |10000 characters needed characters left characters exceeded

Hi Ricardo,

You are right. it's exactly how I see things in our system. In table BBP_PDBEI the "old" PO had both item numbers "0000000001" and "00001" so when the debugger reaches this line:

READ TABLE lt_po_item INTO ls_po_item WITH KEY be_obj_item = ls_item-be_refobj_item+5.

always works.

The questions are:

1. Why did we had items numbers like "00001" and now we don't?

2. How can we solve this issue ?

Regards,

Marius

0

Hi Marius,

This seems to be related to the PO replication from SRM to ECC.
I think an SAP ticket is the best option in this case to check further.

Regards,
Ricardo

1