cancel
Showing results for 
Search instead for 
Did you mean: 

Price release need to be check while creating sale order

moazzam_ali
Active Contributor
0 Kudos

Dear Experts

I have created Processing status A Block Sales department, B Blocked Accounts Department and C Released. I have created an application to release these prices. The objective is that price should be checked and released from sales and accounts department. There are around 20 conditions in my pricing schema and only one of them is mandatory which is Sale Price. Only price is applicable on every material. Discounts and accruals are for some certain materials.

Now my issue is that I used to maintain Sale price ZCOM and discount ZMON with block status A. If user forgets to release ZCOM then system wont allow processing this order in standard because ZCOM is mandatory in standard but if user forgets to release discount ZMON system is allowing processing the order without discount ZMON and I cannot make ZMON mandatory in V/08.

I have tried to control this through pricing routine but I have checked in debugging mode that in structure XKOMV system gets only those conditions which are already released. If a condition is with A or B status system don't show that condition in this structure so there is no logic in my mind how to check this through routine now. Same is the case with MV45AFZZ program and pricing prepare user exit.

I have searched forums and didn't find anything to control this.

Requirement is that if any condition in pricing schema has valid condition record (Date wise) but with A or B status (Blocked Status) system should throw some error message.

I need expert opinions is there any way around in ABAP or standard to control this? Because if think logically release means no processing should be possible if price is not released but system is allowing processing without that condition record which is block.

Thanks in advance

Accepted Solutions (0)

Answers (3)

Answers (3)

moazzam_ali
Active Contributor
0 Kudos

Dear

I had discussed this with my ABAPER and he is very expert in his field so he asked me to go for my suggested solution. He has done coding in MV45AFZZ and USEREXIT_PRICING_PREPARE_TKOMP. This is working fine and I have tested all possible scenarios. We have followed the same logic which I had mentioned in my earlier post.

I am going to close the thread. Thanks to all of your for your suggestions and feedback.

Thank$

Shiva_Ram
Active Contributor
0 Kudos

Thanks for the updates MoazzaM.

Regards,

Lakshmipathi
Active Contributor
0 Kudos

Please try with Business Transaction Event 00503303 which will help you to define your own processing logics for the processing status.  Meanwhile, can you please paste the screen shot of the processing status to know what you have done ?

G. Lakshmipathi

moazzam_ali
Active Contributor
0 Kudos

Dear Sir

Thanks for giving your attention to my query. I will check this business transaction event with my ABAPER.

My scenario is that we maintain prices through upload on start of every month. We dont want to give access of VK12 to sales and accounts person but want them to check and release prices in SAP. For this we have developed an application in which user give selection criteria and execution is in ALV. Please check below screens of selection and output.

For Sales and AR users I have maintained a Z table. It is hard coded in program that Sales user can change status A to be or B to A only and similarly AR user can change status B to C or C to B only. We have process like first sales persons will release price and at the end AR person will release. When AR person will release it will be implemented.

For this I have three processing statuses you can see in below screen.

Now I have maintained a material price ZCOM and ZMON. ZCOM is sale price and ZMON is discount which should be auto implemented on every invoice of material. Sales and accounts person released ZCOM because it is mandatory condition and order cannot be processed without it but they forgot to release ZMON and invoices without ZMON created because I cannot make this condition mandatory . ZMON is I am taking for example. There are almost 7/8 conditions which I get release from sales and AR persons every month.

If I go to analysis screen here you can see the status of condition.

Now I hope the picture is clear what is happening and what I want. Is this process ok or do you have some other solution for this. And also is there any way that if this ZMON condition has status A or B then there should some error message in VA01.

Thanks

moazzam_ali
Active Contributor
0 Kudos

Dear Sir

I have checked this transaction event with the help of ABAPER. We found that this is for maintaining condition record in VK11. We set a breakpoint and it was going in debugging mode in VK11 not in VA01.

Please tell me if there is something else in you mind for this or Should I raise a query to SAP? I need to block this so I am thinking to contact SAP.

Thanks

Lakshmipathi
Active Contributor
0 Kudos

Whatever I suggested was just a presumption when I gave that suggestion.  Hence, please take it up with SAP and update here on SAP's feedback.

G. Lakshmipathi

moazzam_ali
Active Contributor
0 Kudos

Dear Sir

Thanks for your suggestion. It was also a new learning for me because I was not familiar with transactions events. I found many others for future reference in T.code FIBF.

Now I am going to raise query to SAP and I don't know when they will response. But I will surely update their response and solution too if I get.

Thank$

former_member184065
Active Contributor
0 Kudos

Dear,

ZCOM is sale price and ZMON is discount which should be auto implemented on every invoice of material. Sales and accounts person released ZCOM because it is mandatory condition and order cannot be processed without it but they forgot to release ZMON and invoices without ZMON created because I cannot make this condition mandatory . ZMON is I am taking for example. There are almost 7/8 conditions which I get release from sales and AR persons every month .

You are talking about only ZMON as that is not mandatory so ,they can forget and might be possible to release ZCOM without ZMON  . Its OK up to here  but you have said as there was 7/8 Conditions .What about these Conditions ,How they want (are doing) exactly ?

Thanks,

Naren


moazzam_ali
Active Contributor
0 Kudos

Dear Narendra

They want same behavior for every condition. I mentioned ZMON just to save time or else I can write that there are ZCSR, ZEDA, ZDIS and so on. I need to get all conditions release from sales and accounts department. I hope whole scenario is cleared to you now. Please share your inputs if you have any suggestions.

Thanks

moazzam_ali
Active Contributor
0 Kudos

Dear   Sir

I had raised this query to SAP and their response is as follows.


"I am afraid that the circumstances you have described relate to a
consulting issue rather than giving evidence of a possible error and/or
bug with standard delivered SAP products and/or documentation
"

"Our mission is to help you, our customers, with any error and/or bug of
standard delivered software licensed from SAP. Our tasks do not include
providing suggestions about system operation, configuration, how-to
request, etc
"

Now my company is not going to pay for this consultancy issue. So what I am thinking is bit tricky but I guess it is possible. Please guide me on this.

I have a logic to check and give error message. Logic is to take Pricing procedure on VA01 from

XVBAK-KALSM. Pass this pricing procedure to T683S-KALSM and get Pricing condition KSCHL. Pass this condition to T685-KSCHL and get access sequence T685-KOZGF. Pass this access sequence to T682I-KOZGF and finally from here we will get all condition tables. Now one by one check condition tables with A e.g A304, A305, A997 etc and check if there is any valid record on date but with blocked status. If there is any condition record which is valid on dates but with status A or B (block) give error message. This query will be repeated and checked for every pricing condition and every condition table in pricing procedure found in XVBAK.

This can be done in MV45AFZZ Pricing Prepare user-exits or in requirement routine and assign that routine to every condition type.

Now I would like to know your comments, suggestions on it as you know there is no other way around. Is it ok or not what I have in my mind?

Thank$

Lakshmipathi
Active Contributor
0 Kudos

I have a feeling, the process what you are planning would be little bit complicated from ABAP point of view but it is achievable.  Rather I would prefer to have a zee table where I store all the data whatever I need including fields for Block and Release and via some zee tcode, if the authorised user releases, then via sale order exit (may be you can consider USEREXIT_PRICING_PREPARE_TKOMP in the program MV45AFZZ), whenever the users create sale order, system should validate this table.

May be you can have a brainstorming with your technical team on the above proposal and ask them which one would be more complicated based on which, you can freeze the requirement.

G. Lakshmipathi

former_member184065
Active Contributor
0 Kudos

Dear,

Regarding your Requirement , I have asked my ABAPer .He said as we can align / link  b/w Two Condition Types in User Exit as when PR00 is coming then only K004 will be appeared in Condition Tab of Sales Order until and unless K004 doesnt will come if PR00 is not there .

I thought , Better than me , you have good grip on User Exits .You can ask your ABAPer or else he can propose based on your Requirement .

Note : Please consider also our Moderator post and finally , I am asking you , please update final result of this Query Solution . It would be helpful ours .

Thanks,

Naren

Shiva_Ram
Active Contributor
0 Kudos

MoazzaM Ali,

I apologize; now a days I am not regular in the forum and I missed reading this posting.

Regarding your issue, I am sure you have explored many avenues. When I read your details 

"If user forgets to release ZCOM then system wont allow processing this order in standard because ZCOM is mandatory in standard but if user forgets to release discount ZMON system is allowing processing the order without discount ZMON and I cannot make ZMON mandatory in V/08."

to me it looks more of process issue than of system issue.

The users must follow defined work procedure and must release the pricing records. So it is purely process gap and not system issue. Can't stringent procedures be implemented to avoid this on the first place?

Regards,

former_member184080
Active Contributor
0 Kudos

Hi Moazzam,

We currently developing the VK11 release strategy. Yes, As Lakshmi sir mentioned its very complicated development.

We have created one Z table: Here we give User ID, approval level and amount range. We also requested our ABAPer to have a check point to see the user master mail id status, if in case the business wants to change the approver ID, at the time of maintaining that ID, system will validate with user master.

Second, we are also developing a Z t.code, whenever a condition record is maintained and changed a mail will be triggered with Zt.code name or link( yet to finalize) to the first level approver. The 1st level approver will have an option of either approving or accepting. If first level approves a mail will be triggered to next level and so on so forth. If 1st level or any levels down the line rejects the next level will not get the mail.

Once all the levels approves the condition record processing status will changed to release automatically.

If you fine with the approach, I will share complete technical details on Monday as i am not having the documents with me now.

Please let me know if you need any help.

Regards, Sai Krishna.

moazzam_ali
Active Contributor
0 Kudos

Dear Sir

Thanks for giving me this idea. I will discuss both processes with my ABAPER will see which one is easily possible to control this. I will check with him and update here.

Thank$

moazzam_ali
Active Contributor
0 Kudos

Narendra

Thanks for taking interest in this query and discussing this with your ABAPER. My issue is for every condition type in pricing procedure and as I told they are more than twenty. User exit will not work for this and I dont have some logic how to check this through user exit except one I had explained above. I will check and test both solutions and will update which is good

Thank$

moazzam_ali
Active Contributor
0 Kudos

Dear KEsari

My issue is not how to release pricing conditions. I have also created a Z application in ALV format and user can release price by pressing only one button. My issue is if a user don't release any pricing condition then system won't consider this price in calculation but system will allow order processing. I want to block order processing. Please go through the original requirement once again and then give me your feedback on this.

Thank$

moazzam_ali
Active Contributor
0 Kudos

Thank you sir for your valuable feedback. I had asked this query on this forum to have different ideas and views which I am getting.

You are right as this is process issue and users should take responsibility of releasing prices very carefully but as you know this is SAP and my management wants the system to give some error if user forgets to release.

There are two approaches in SAP data entry. One is, if some user do mistakes in data entry frequently it is considered as criminal activity and such users are punished or sometime even terminated in some companies. Second is if users do mistake frequently, management put their wish to SAP guys to put some check in SAP that if users forget then system should give error. For these errors and checks we have to bypass standards and sometime put out coding in standard programs which is I know not recommended but we have to do.

I have been working in this environment so I have to give some logic why system not give error when price is not released yet or I have to give error.

Thank$

former_member184065
Active Contributor
0 Kudos

Dear ,

Any Good News in this Thread ?

Note :1. Have you accomplished any things on this or did you stick still on this ?

2. If you have any doubts / thoughts please let me know ( I always can assist on this if It is possible by me ).

Thanks,

Naren

moazzam_ali
Active Contributor
0 Kudos

Dear Naren

Thanks a lot for your concern. I have done this with my own logic I have shared above. Currently I am testing this with all possible scenarios. If you need its coding, do let me know I will share that too.

Thank$

moazzam_ali
Active Contributor
0 Kudos

Dear Gurus of this Forum      

I need your valuable comments on this requirement. Please suggest me is it possible or not? Is there some other way around for this.

Thanks