Application Development 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: 

Material standard price change!

Former Member
0 Kudos

I am trying to do a standard price change for a material using the message type 'materialvaluation_pricechang'

I configured the distribution model view and partner profiles for R/3 and XI.

When I tried to create an IDOC with test tool we19, it got created with status 51 (application doc not posted)

I got the following error. But in config I didn't see the step 'setup sending material prices'. I am working on SAP ECC 5.0.

The error description is as follows.

<b>No Customizing data for valuation area 0013 found

Message no. CKMLSENDPRICE701

Diagnosis

The Customizing data for sending material prices to valuation area 0013 was not found.

System response

No price changes were made

Procedure

Edit the Customizing data for valuation area 0013 under Materials Management -> Valuation and Account Assignment -> Set Up Sending Material Prices</b>

Please suggest.

Thanks,

1 ACCEPTED SOLUTION

ferry_lianto
Active Contributor
0 Kudos

Hi Somen,

Please check OSS Note 858021 perhaps it will solve the problem.

Regards,

Ferry Lianto

8 REPLIES 8

ferry_lianto
Active Contributor
0 Kudos

Hi Somen,

The issue is happened in FM CKML_MATVAL_PRICE_CHANGE. System tries to validate the input of valuation area from table CKML_PRICE_SEND and could not find any entry.

Did you try to update table CKML_PRICE_SEND?

Regards,

Ferry Lianto

0 Kudos

That table is empty. No records found. How can I update it?

ferry_lianto
Active Contributor
0 Kudos

Hi Somen,

You can use transaction SM30 to perform the necessary customizing settings in view <b>VCKML_PRICE_SEND</b>.

For more information, please check OSS Note 646630.

Hope this will help.

Regards,

Ferry Lianto

0 Kudos

Ferry,

Thanks. It is very helpful. Now the IDOC is getting posted with status 53. But the message says 'No price changes were carried out'. Why the material price is not changing? Any ideas?

Thanks,

ferry_lianto
Active Contributor
0 Kudos

Hi Somen,

The message is raised due to price change calculation error in FM CKML_MATVAL_PRICE_CHANGE.


...
* price change necessary
  IF l_dochange IS INITIAL.
    IF 1 = 0.
      MESSAGE e046(ckprch).
    ENDIF.
    CALL FUNCTION 'BALW_BAPIRETURN_GET2'
      EXPORTING
        type   = 'S'
        cl     = 'CKPRCH'
        number = '046'
      IMPORTING
        return = ls_return.
    APPEND ls_return TO return.
    EXIT.
  ENDIF.
...

Please do the debugging to see the exact root caused.

Again, hope this will help.

Regards,

Ferry Lianto

0 Kudos

Please find the code below in <b>bold</b>. I am trying to change the standard price of the material. Hence ls_ckmlcr-vprsv = 'S'. This is why the following lines in the below code never executes

<b>ls_matpr_cr-newpvprs = l_price.</b>

<b>ls_matpr_cr-newpvprs = ls_ckmlcr-pvprs.</b>

And hence the below condition fails.

IF ls_matpr_cr-newpeinh = ls_matpr_cr-peinh AND
       ls_matpr_cr-newstprs = ls_matpr_cr-stprs AND
       <b>ls_matpr_cr-newpvprs = ls_matpr_cr-pvprs.</b>
      l_nochange = 'X'.
    ENDIF.

<b>ls_matpr_cr-newpvprs = ls_matpr_cr-pvprs.</b>

ls_matpr_cr-newpvprs and ls_matpr_cr-pvprs are same in this case and the if condition fails. So no price change document is posted.

Is this a bug? Is there any OSS note available to correct this problem.

IF l_nochange IS INITIAL.
      ls_matpr_cr-newpeinh = ls_price-price_unit.
      <b>IF ls_ckmlcr-vprsv = 'S'.</b>
        ls_matpr_cr-newstprs = l_price.
      ELSE.
        <b>ls_matpr_cr-newpvprs = l_price.</b>
      ENDIF.
    ELSE.
      ls_matpr_cr-newpeinh = ls_ckmlcr-peinh.
      <b>IF ls_ckmlcr-vprsv = 'S'.</b>
        ls_matpr_cr-newstprs = ls_ckmlcr-stprs.
      ELSE.
        <b>ls_matpr_cr-newpvprs = ls_ckmlcr-pvprs.</b>
      ENDIF.
    ENDIF.
    IF ls_matpr_cr-newpeinh = ls_matpr_cr-peinh AND
       ls_matpr_cr-newstprs = ls_matpr_cr-stprs AND
       <b>ls_matpr_cr-newpvprs = ls_matpr_cr-pvprs.</b>
      l_nochange = 'X'.
    ENDIF.

Thanks,

ferry_lianto
Active Contributor
0 Kudos

Hi Somen,

Please check OSS Note 858021 perhaps it will solve the problem.

Regards,

Ferry Lianto

0 Kudos

Thanks Ferry. You have solved my problem. Full points to you.

Thanks,

Message was edited by: Somen