My idea is to pen down some common knowledge which i feel the Functional Consultant should know Technically.
It is very common in SAP projects where a functional and technical consultant sit across to discuss and design the developments.
A few pointers i want to highlight to the Functional Consultant to deepen there understanding about a development.
1. Architecture of SAP Product is very important from technical understanding point of view. One needs to be well versed with the workprocesss, as this can help knowing what happens after we run a transaction.
2. Whatever transactions a functional consultant runs on the SAP screen, if same needs to be done via a development then BAPI is the choice
Now to find out that one good way is to find out the IMG node for the process and generally SAP has given a list of enhancement as a node.
BAPI takes care of all the config made by the functional consultant
3. If a functional consultant wants some changes in the standard SAP process then it can be achieved using user-exits or BADI. in the point 2 even if we use BAPI to run the transaction programatically the BAPI will take care of the implemented BADI and user-exit.
4. Now an even powerful framework which SAP has given is Enhancement framework consisting implicit enhancement, explicit enhancement, pre-exit, post-exit and kernal BADIs. Lets say if a functional requirement is such that it is not meeting through exit and BADI, one can use the implicit and explicit enhancement but carefully, as we can alter the data in the hazardous manner, so the intigrity lies in the hand of the consultants.
5. A common troubleshooting of a program using BAPI which is not giving the desired result is to run the transation over the screen to ensure if it is happening correctly there, it has to work correctly with BAPI.
The above points i feel helps build the understanding of the functional consultant to pin point the correct solution approach broadly in case he is opting for a development.