Hi Experts,
I would like to know about PO triggering concept in SRM7. Particularly, I want to know what are the fields when changed triggers PO output. For example when i change price at item level PO output gets triggered, but if I change internal note / account assignment, output is not triggered.
I tried to debug a bit into this as below
In class CL_BBP_ACTION_OUTPUT_PO method CHECK_RELEVANCE_DIFF there is a FM
CALL FUNCTION 'BBP_PD_ALL_GET_DIFF'
EXPORTING
iv_guid1 = mv_object_key
iv_guid2 = mv_object_key
iv_comp_method = bbppd_comp-po_output
is_read_flags = ls_read_flags
IMPORTING
ev_objects_differ = lv_objectdiffers.
if lv_objectdiffers is 'X' then output is triggered.
If we go two levels inside we have forms get_diff_header and get_diff_itemlist to identify any kind of difference at Header/ Item level respectively. Inside each of these forms there are separate FMs to compare different sets of data. For example for comparing longtexts we have BBP_PDLTX_GET_DIFF and for Organisational data BBP_PDLTX_GET_DIFF etc., Before calling these FMs there is another FM BBP_PDH_CLEAR_FIELDS where the fields are compared with table BBPD_COMP_FIELDS.
I could not understand the role of table BBPD_COMP_FIELDS in PO triggering. Even though I maintain PRICE /GROSS_PRICE/ TOTAL_VALUE in table BBPD_COMP_FIELDS with COMPARE_KIND indicator as 'E", output still gets triggered.
Thanks,
sankar.