As a moderator in the ABAP spaces, I see many questions asked and answered (or more correctly attempted to be answered). I can tell pretty quickly which questions will be answered and which questions will sit for days with no response at all or with repeated requests for further information. So how can you compose a question that will attract good answers?
This blog owes a debt of gratitude to Eric Raymond and those who collaborated with him in creating How To Ask Questions The Smart Way . That document was the inspiration for this one, but the content of this is solely the responsibility of the current author.
Much of the information here is also in The Rules of Engagement but these rules are really a minimum – telling you what not to do. This will try to show you what you should be doing.
(A caveat – I’m an ABAP developer, so many of the examples here are drawn from my experience in the ABAP forms. Hopefully though, the points I am trying to make are applicable in all of the SCN spaces.)
First Things First
Before asking a question, ask yourself “Is it likely that other people have had the same sort of problem?” If the answer is “yes” (and it probably is), then your first step should be to see if the question has been asked and answered elsewhere. There are many places to seek out this information. The order in which I would do this is:
Check the online documentation. Is there an “I” button at the top of the screen? If so, pressing it will probably open a browser that takes you to help.sap.com. If it’s an ABAP problem, using F1 on a keyword will take you to the keyword documentation.
Do you have access to a book that could help?
If you have a senior colleague, asking him or her would be the next step if you still don’t have an answer. You can learn more quickly in a face to face discussion with someone you know than you can by trying to make your thoughts known to a group of strangers.
Is the problem with unmodified standard SAP code? If so, check for SAP notes. Notes will give you a SAP supported answer.
Try an internet search (using a tool like Google). There are many web sites that either cater specifically to SAP problems or have sections devoted to SAP.
Still nothing? Then it’s time to look in the SCN discussion areas. Select a specific area or sub-area for your problem. It’s not always easy to use a search facility, but you should at least try this before asking a new question. With some luck, you will find a number of discussions, documents or blogs that will help you.
It’s a good idea to “lurk” for a few days before posting a question. This will give you an idea of what sorts of questions are typically asked and answered in the discussion areas.
Step 2 – Where to ask
Despite all of searching you have done, nothing really seems to help. You decide to post a question on one of the SCN discussion areas. But which one? You should go to document: (Finding Discussion Forums Blogs and Documents). This will give you a good idea of the spaces within SCN where you can ask your question. You may find more than one that seems appropriate. What should you do? First of all, don’t even think about posting the same question in multiple spaces (see below). But you can go through the questions in the different areas and see which questions seem related to or similar to your problem. If you still can’t decide, many areas have a top space for questions that don’t seem to fit into the more specific categories.
Step 3 – What to Ask
Picking a suitable subject line may not seem important, but it is: people reading the forums looking for interesting questions to answer are going to skip over questions with subjects like “ALV Problem”, “Config Issue” or “Why does this happen?” Try to give a good brief (but informative) description (in seventy five characters or less). Subjects like “How to delete from an internal table with no structure” or “AC 5.3 SPM Owner not able to view SPM activity log” tell potential responders what the problem is and also indicate that you know what the problem is and only need some guidance to fix it and not a step by step procedure.
Object-deviation is a standard convention for creating subject lines. You first determine what object is causing the problem and then describe how this object deviates from the behavior you expect: “Program RFBIBL00 Produces no Batch Input Session.”
Step 4 – Asking the question
The first thing to remember is that there are many people who regularly monitor the discussions and try to give advice. But the depth and breadth of knowledge of these people vary widely. Most responders have day jobs and will not be willing to spend a lot of time trying to figure out something that is not clearly asked. If a question is well thought out, concise and to the point, it will attract the sort of people who can help you out. If it’s not, it will not attract their attention and you will end up getting what you paid for. Worse, it may attract the attention of the moderators who can get pretty grumpy at times.
Take your time when composing a question. Get your thoughts together before you start writing. You have to explain your problem to someone you don’t know who may have never seen your problem before. Be clear, concise and specific. Show the discussion area that you actually have a problem and that you understand it. Give all the necessary information in the original post. Nothing is more irritating for someone who is trying to help you than to find out after half a dozen attempts that your problem is entirely different from what he or she had assumed. If you are looking for a function module in CRM, then make sure you say that in the first post. If you have problems writing an ALV report, let us know whether you are using function modules or OOPS technology.
But don’t be so specific that your question runs on and on. You should try to get your question across in just a few sentences. If it takes longer, break it into paragraphs. A question that takes up fifteen or more lines and is in a single paragraph will be difficult to read. Potential responders may lose interest halfway through.
Show what you have already done to try to find the solution. If you have applied notes, say so; if you have done configuration, say so; when you searched for answers, if you found some that seemed relevant, but ultimately didn’t help, say what you found and why it didn’t help. This will save both you and your responder’s time by not having to re-invent the wheel for you.
Like it or not, English is the language of SCN. Try to use correct grammar and spelling. If your first language is English, then consistently spelling “the” as “teh” is just going to show people that you don’t really care. Proofread your question and run it through the spell checker before posting. A better option is to compose yourquestion using a word processing program; it should point out spelling and grammar mistakes automatically and will be more reliable than the ABC spell check button on the “Post Message” panel.
If your first language is not English, then do the best you can. Responders will try to take that into account but it may take them a bit longer to understand your question. There are language translation tools on the web, and while they can help, the results are usually not very satisfactory.
While you searched through the discussions looking for similar questions that might help you, you may come across a thread that is asking a question similar to yours. If it is very similar, feel free to ask a follow up question. But if it is a really old thread, the original posters and responders may not be watching it. Do not simply tack your question on to the end of someone else’s thread. You will do much better starting off your own thread.
Don’t post in ALL CAPS this is considered shouting and is hard to read.
Don’t simply post your requirements and expect others to do your work for you.
Don’t post homework questions. Don’t post interview questions
Don’t ask questions like “Is it possible to.…” The correct answer is “yes”, “no” or “maybe”. Instead, ask “How do I … (something specific).”
Don’t ask questions that have many possible answers. “What is the fastest way to …?” isn’t going to win you any friends. Instead you could say “I have done such and such. But because of such and such I am concerned about such and such. Are my concerns valid? Do you see a better way?”
The people who try to answer your questions are for the most part looking for interesting, challenging questions, so if your question is thought provoking, you will tend to get answers from those sorts of people. If you ask a lazy question, you may end up with lazy answers or a suggestion to think it out yourself.
But bear in mind that although the SCN areas are supposed to be for “experts”, not everyone who tries to help has the same level of expertise. And not everyone has the same desire to help. Some questioners compose lazy questions and my experience is that lazy questions attract lazy answers.
If you have code that isn’t working, say exactly what it is that is the problem. A really bad question would be “I tried this code but it doesn’t work.” “I tried this code, but it dumps” or “it gives an error message” aren’t much better. If it dumps, give the information from the dump that shows the problem”. If it gives an error message, post the error number, message type and error text.
If you have to post code, first use the ABAP pretty printer function in the ABAP editor. In the “old” SCN, there was a feature that allowed you to use code tags to format your code. Unfortunately, this is not available in the “new” SCN. However, you may format code by using the advanced editor and then pressing the “>>” button on the toolbar. Pick “syntax highlighting” and then whichever option seems best suited. A problem with this is that it doesn’t allow responders to cut and paste your code directly into the ABAP editor. I would prefer not to format code.
Don’t try to use words like “urgent” or “ASAP”. The moderators will edit them out.
Don’t cross post the same question in multiple discussion areas. You can have two different groups of people working on the same problem without knowing it.
Each may put a fair amount of effort into helping you only to find out that you already have a solution. A legal way to get around this is to post your question in one area and then post the same in another area but with a link to the first question asking that potential responders answer the question in the first area. You should also include a request to the moderator asking that the second one be locked.
The moderators will lock or delete duplicate or cross posts.
“Thanks in advance.” You really can’t thank someone for something they haven’t done yet. Responders know this and may think you are being lazy and won’t expect much help from you in solving your problem.
Step 5 – Waiting for Answers
You’ve followed all of the above suggestions, posted your question but no one responds within the first five minutes. If your question is interesting, challenging and has not appeared before it will take time for potential responders to mull over your problem. Most of us have real jobs that consume most of the day. Do not re-post the question. The moderators will lock or delete the duplicate. SCN is world wide and responders live and work in all time-zones. Many of them will go back through threads posted earlier in the day looking for interesting questions. If, after a respectful interval, you don’t have any response, you can either edit your question or post a follow up. This is called “bumping” and will move your question to the top of the discussion list.
Step 6 – Getting Answers
You will probably get a number of responses. How do you deal with them?
First – someone has take time out of their day to help you – a perfect stranger. Take time out of your day to read and understand the answer. If the answer appears to help, let the responder know as soon as you can that you have read and appreciate the answer and have either tried it, are trying it or will try it shortly. If it doesn’t help, thank the responder and let him or her know that it didn’t help and why.
Some things to bear in mind:
If you get five or six answers that are almost identical within a few minutes of asking the question, you have likely disobeyed the rule about searching for an answer before posting. You may find the post locked or deleted by a moderator.
There is an “Abuse” button that anyone may press if they think your question violates one or more of the rules of engagement. If this happens, the moderators will look at the question and decide if it should be rejected or not.
This is the internet and you get what you paid for. Not all of the answers will be helpful. Some may be wrong and some may cause you serious problems if you try them. (I remember suggestions to update BSEG directly through custom programs. Ouch.) It’s up to you to understand the implications and test thoroughly.
You may get a number of answers that seem to be directed to a different question than the one you think you asked. This may be an indication that you didn’t put enough thought into the original question.
You may get a number of answers that repeat an earlier answer. This may be because the repetitive answers are from people who are “point hunting” (see below) or from people who didn’t bother to read the other answers.
You may get answers back asking for clarification. So, clarify – ASAP.
If you don’t understand an answer, say so, but say what it is that you don’t understand and why.
Try to avoid long threads that go nowhere. After five or six or nine or ten answers, threads become unmanageable for both you and the responders. It’s better to close this one and start a new one (if you must) but incorporate what you have learned into the new question! And close the original one first.
Step 7 – Back and forth
Quite often, the people who are trying to help don’t entirely understand your question. Rather than immediately coming up with the best answer, they post a reply asking for more information. When this happens, try to provide the information that was requested as soon as you are able.
The responder may have misread your question and ask you a question that isn’t relevant to your problem. Rather than pointing out his or her error, try to restate your question so that it helps the responder.
If a responder suggests that you do something and you don’t entirely understand what is being said, don’t post an immediate follow-up asking for clarification. Instead, think about it (the responder’s first language may not be English) and try to see if you can get something out of it. Then if you still don’t understand, you will be able to ask a better question back. A follow up of “Please elaborate” or “I don’t understand” won’t help your responder.
If you get a response that seems rude to you, resist the temptation to return the rudeness. It may be a matter of different languages; it may be a matter of personality; or it may just be rudeness. You still need an answer to your question and if you get in a flame war, no one will remember what the original question was.
Step 8(a) – You have your Answer: now what?
Congratulations – you have done everything right and the forum has helped. So post a follow up thanking those that helped. If more than one answer helped, but did not provide the end solution, mention that and also what the solution turned out to be.
Mark helpful answers. Generally, if someone has taken the time to try to help you, press the “like”. Helpful answers should be noted and if someone has solved your problem, mark it as such. This gives the responders points and encourages people to help.
Step 8(b) – You got or did not get answers but ended up solving the problem on your own: now what?
Let the forum know that by posting a follow up that includes the solution you found. You may think of the forum just as a place to ask questions but it is really a place where people can exchange ideas. Someone else may come along with the same problem that you had. In the old SCN forums, there was a limit on the number of unanswered questions that you could have at any one time. This has disappeared in the new discussion areas but may be re-implemented.
Step 8(c) – You got lots of answers, but your problem persists: now what?
Sometimes a problem will have no solution that can be answered here. Accept that. Because of the limit on open threads, you will eventually have to close this by marking it as solved. If it is an old thread, please do not think that you have to add a comment. (Adding a comment will bring an old thread to the top of the list and push current ones down.)
If you are answering a question, not asking one
The strength of the discussion areas lies with the army of unpaid volunteers who give their time to help others. You want to take part in this. How can you best do this?
If you don’t understand the problem but think you may be able to help, ask a question that asks specifically what you don’t understand. But if the original poster did not give the question enough thought so that you can only reply “Please explain” or “Please give more information” you may want to ask yourself if it’s worth getting involved.
If you think you know the answer, but aren’t entirely sure, say so. It’s OK to say something like “I think this should work” but haven’t been able to test it. If you post an answer that you say is correct but someone else checks for you and finds that it doesn’t work, you can expect to hear about that.
If you show someone how to solve a problem, it will do them more good than if you give a complete solution. Not everybody follows the advice given here and would rather be spoon fed a solution. Is this what you really want to do? Don’t bother answering pointless questions.
If you don’t have anything new to add, don’t respond with a rehash of what’s already been said.
Do not ask for points or rewards. The moderators will remove these requests anyway.
A few words about the Point System
The point system was first developed to encourage people to help. People with problems could ask questions on the forum and then reward those who helped them by assigning points for useful answers.
Over time though, people began to think that amassing points is a useful end in itself. So we began to see answers to posts that showed that the responder didn’t really understand the question but was probably just hunting for points. Other “point hunters” would post long list of links hoping that one or more might prove useful so that the responder might get some points.
Some individuals would invite friends to join SCN and ask simple questions that they could easily and quickly answer have the friend quickly assign the points.
The moderators are aware of things like this and actively take steps to stop it. The steps include warnings and in severe cases account deletion.
As I mentioned earlier, this is the internet; you get what you pay for. OK this is a bit cynical. But we all can try to make this little corner of the internet a better place by following these guidelines.
Happy posting (or should I say “discussing”)!