Hi Shivaprasad,
If you have defined your action as 'Partner-Dependant', the processing class and method that you had assigned against the action will be called for each partner of the selected partner function.
Taking this into account,
1. If you take a closer look at the import parameters of the method CRM_ORDER_EXEC_SMART_FORM, it accepts one recipient per call through the variable IS_MAIL_RECIPIENT and sends the mail straight through to the maintained email address of the person.
2. And if there is only one partner being processed per call to the method CRM_ORDER_EXEC_SMART_FORM, the partner will not be 'CC'ed into, but rather be the part of the 'To' section of the mail.
3. So I do not think the method that you have used would send the mail across to partners in multiple sections (To and CC to be precise).
An alternate way of achieving this could be:
1. Define an action against the primary partner function whose partner you would want to send the mail and attachment to in he 'To' section (which you would already have done) - This would ensure there would only be a CC if the primary partner is determined.
2. Instead of calling the processing class and method that you had mentioned, you will have to use a custom class and have functionality similar to the method CRM_ISA_AUCTION_SMART_FORM of class CL_DOC_PROCESSING_CRM_ORDER.
3. In this, the primary partner would be the one determined by variable IS_MAIL_RECIPIENT. For the CC partner, fetch the partner assigned against the Employee Responsible through custom coding and further look at how the method ADD_RECIPIENT of CL_BCS is used in the method CRM_ISA_AUCTION_SMART_FORM.
Hope this resolves your issue.
Regards,
Sai Kiran.