I am new to SAP, as well as to SRM world. Currently I have a object with me from purchase order smartform in SRM. My job is to copy the standard PO form named BBP_PO into "Z" form and to make customizations in the copied one. I don't have idea about how to proceed with it. Please give me some idea about required processing classes, methods, BADI's, FM's etc,.. Can anyone please tell me how to do this job? I am a fresher so if you help me in this means, it would be very helpful for me and for my future.
Thanks and regards,
I searched and found the below steps ...
why dont you try the same !
How to customize an existing Standard Smart form in SRM - Overview.
1. Copy existing Standard smart form in SRM, let us say, BBP_PO into "Z'' Smart form in Transaction SMARTFORMS.
2. Do changes in Z Smart form add Desired Logos in Smart form using SE78 and SMARTFORMS transactions.
3. Change in Jargon: Unlike ECC we will not have Driver program (in SE38), you will find Processing class and Processing method ( in SE24) for SRM Smart forms, where we write extraction logic.
4. So, In case of SRM we should replace the (word) "Driver Program" with (the word) "Processing Class" and Perform as "Processing Method".
5.Where to Link: Processing Class, Processing Method and Smart form? In SPRO, SRM Server -> Cross Apps -> Set Output Actions and Output Format -> Define Actions for Purchase Order Output -> Action definition -> Processing types, then select standard PO.
6. If we are using (Completely- New) Custom Smart Form instead of Changing Standard Smartform, then Do change any settings in Step5, Otherwise, if you are planned to modify existing Smartform, with Small logic changes, format changes and Logo Changes then, Just Implement BADI - BBP_OUTPUT_CHANGE_SF in SE19 transaction.
7. Put a simple code in BADI as... CASE IV_OBJECT_TYPE.
When 'BUS2201' .
CV_SMARTFORM = 'Z_CustomSF'.
8. Don't forget, you already copied Std Smartform into Custom Smartform say Z_CustomSF.
9. I am using BUS2201 only becuase I was trying to change BBP_PO Smartform which is a Purchase Order Smartform.
Hope this helps!
I already followed the above process, which I got from SDN forum only. Up to finding the function modules, classes and methods I got it correct. What are the tables that are accesses by PO form in SRM to get details like Shipping Address, Item details, Bill to address and other header details etc,. Can you elaborate me about the entire process how to proceed in this? Can anyone explain me about BADI's that I should use and what are the code changes I should do?
Thanks and regards,
In the Form interface there is one structure called SF_PO, in this structure you will get all the details.
you can also use function module BBP_PD_PO_GETDETAIL, so fetch all the details of the purchase order.
and to trigger your smartform, you can follow the steps described by Vikas. you can create an implementation of the badi
BBP_OUTPUT_CHANGE_SF and pass you z smartform name when object type is bus2201.
Quick question? I'm implementing the same BADI as well. Basing from the BADI BBP_OUTPUT_CHANGE_SF the parameters "CV_SUBJECT_MAIL" has 50 characters for the email subject and the parameter "CV_SMARTFORM_MAIL" has 30 characters. Is it really just 30 characters for the email BODY? Also, is it possible that the message (content/body of the email) be available in different languages like the SRM PO smartform? Can we implement a rule according to which: if PO language is A (supplier dependency) then email title & body text will be in language 1 also?
Hope you can heolp me guys. Thank you so much in advance.