cancel
Showing results for 
Search instead for 
Did you mean: 

Error message BBP_PD '560'

Former Member
0 Kudos

Dear Gurús,

I'm having an issue with

The user created call-off PO 5200221753 and 5200225228 against the contract 7600004381.


The PO quantity and value is under the target quantity of the contract (2nd version).


The 3rd version of the contract was released on 26.02.2016 and the POs are also well under the limit of the current version.


Unfortunately, when checking any of the PO, the error message BBP_PD '560' "Contract line Item xx exceeded by XXXXXXXXXX".


I have checked in CONSTRAINTS_VALUE_CHECK in LBBP_PDF5E and I have not found any clue about the main root of the problem.

Has anyone faced a similar issue?.

Kind Regards.

Raúl

Accepted Solutions (0)

Answers (1)

Answers (1)

laurent_burtaire
Active Contributor
0 Kudos

Hello,

do not understand your problem. Check is done in below code:


* Now check if any constraint is violated

   LOOP AT it_item INTO wa_item WHERE del_ind = space.

*   Check against contract header

     READ TABLE it_worktable INTO wa_worktable

                             WITH KEY guid = wa_item-ctr_hdr_guid

                             BINARY SEARCH.

     IF sy-subrc <> 0.

       PERFORM abort.

     ENDIF.

     IF wa_worktable-new_value > wa_worktable-max_value  AND

        wa_worktable-max_value > 0.

       lv_value1 = wa_worktable-max_value.

       lv_msgv2  = wa_worktable-currency.

       lv_value2 = wa_worktable-new_value - wa_worktable-max_value.

       lv_msgv4 = wa_worktable-currency.

       WRITE lv_value1 TO lv_msgv1 CURRENCY wa_worktable-currency

                                   LEFT-JUSTIFIED.

       WRITE lv_value2 TO lv_msgv3 CURRENCY wa_worktable-currency

                                   LEFT-JUSTIFIED.

       CALL FUNCTION 'BBP_PD_MSG_ADD'

         EXPORTING

           i_msgty       = c_msgty_e

           i_msgid       = 'BBP_PD'

           i_msgno       = 560

           i_msgv1       = lv_msgv1

           i_msgv2       = lv_msgv2

           i_msgv3       = lv_msgv3

           i_msgv4       = lv_msgv4

           i_item_guid   = wa_item-guid

         EXCEPTIONS

           log_not_found = 1

           OTHERS        = 2.

       IF sy-subrc <> 0.

         PERFORM abort.

       ENDIF.

       IF c_on = c_off.

         MESSAGE e560(bbp_pd) WITH lv_msgv1 lv_msgv2 lv_msgv3 lv_msgv4.

       ENDIF.

ENDIF.

Regards.

Laurent.

Former Member
0 Kudos

Dear Laurent,

Thank you - as usally - for your help, support and guidance!.

I have already seen and checked the coding, yes. But the main issue is to find out why - or better said - how to solve it.

I mean, the quantity of the contract are bigger than the PO's. So, I don't get the picture why it's happening that message.

Kind Regards.

laurent_burtaire
Active Contributor
0 Kudos

Hello,

why are talking about quantity whereas error message is based on value?

If the message is called, this means checked value are not correct: i cannnot help you more...

Regards.

Laurent.

Former Member
0 Kudos

Dear Laurent,

Thank you so much for your help and guidance!!.

I have asked a colleague and he suggested that the problem here is caused by the unit of measurement and price per item. In the contract the price is per 100 UN and not per 1 UN. The calculation has to consider the unit price/value per item.

The main question and doubt is:

Should we change and maintain the units in both PO and Contract??. If yes, where can it be done?.

Kind Regards.

Raúl

oliver_wurm
Active Participant
0 Kudos

Hi Raúl,

the check shown in the code above is against the total value of the contract (which is calculated as total value of the contract minus the values which were distributed to ECC Contracts). Have you checked if the total value of the contract was reached??

Regards

Oliver

Former Member
0 Kudos

Dear Oliver,

Yes, we checked the values of the PO's related, but it did not reach the total value of the Contract.

I checked on BBP_PD that UN measure was changed from 1 UN to 100 UN.

A colleague suggested - and maybe he's right - that measure unit should be changed to 1 UN from the Contract 'Condition' tabstrip.

If there's some additional information to be added, feel free to let me know.

Kind Regards.

Raúl