1. ABAP Classes and Business Workflow ?
We can use ABAP classes in the definition and runtime components of SAP WebFlow Engine in the same way as object types defined in the Business object Repository (BOR). Before proceeding further we need to know where to create and maintain ABAP Classes and ABAP Interfaces.
2. Did you set up a workflow ? Are you familiar with all steps for setting up a workflow ?
Execute the Txn SWDD (Creating a new Workflow).
In the header of the Workflow, define the Business Object and Event you refer to for triggering the Wf.
Create the Steps required for your workflow(Activity).
Inside the Activity, Create the task and assign the Business Object and the related method for that business object.
Activate the Workflow.
3. Have you used performance tuning? What major steps will you use for these ?
The Main Transaction Code Involved in Performance Tuning is SE30-Run Time Analysis and ST05-SQL Tracer.
4. Have you created Maintenance dialog or Table Maintenance ?
At the time of creating table through, there is a check box for table maintenance allowed.So if you want to activate the table maintenance, just mark this box. Once table gets activated, u can change its contents through SM30 ot Through Table Maintenance.
5. Name the tables used for storing the event linkages ?
SWETYPECOU - Type Linkage Table
SWEINSTCOU - Instance Linkage Table
6. Have you created database tables ?
YES , IF WE HAVE CUSTOMISED DATA TO STORE IN TABLE , WE CREATE A TABLE.
7. Difference between client dependent and client independent tables?
tables which can be access by all user are client independent (no mandt field in table)
tables that can be access by some specific user are client dependent (use mandt field in table)
8. In the 'select' statement what is "group by"?
Group by clause is used to fetch the data from the table by the specified field
ex.select count (*) from emp table group by deptno where deptno = 1.
It is used to find the number of employees present in the specified department no.
9. SAP R/3 screens how will you develop a table control having 3 columns with only one editable ?
we can develop it by giving the code in PBO (process before output) giving table control line = 3. it will give only 3 lines and we can make 2 lines disable in screen painter options available in table control Elementary search helps, Collective search help.
Elementary search helps defines a search path where we will define the table from which the data has to be read and the selection criteria. Through import and export parameters. Used when we gets the data rom a single table.
Collective search helps: Combination of elementary search helps. When we need to fetch data based on multiple selection criteria's. More than one tables are Selection from multiple tables
10. Difference between Search Helps and Match Codes
Search help: adding f4 functionality is search help(adding help for any topic)
Match code: adding search help for the input field is called as math code object
11. What are the different types of WF Agents?
Users who are authorized to execute the task
Configured during Task definition (Org Unit, Position, User, Work Center, Role, Rule)
If a Task is configured as General Task, then all users become possible users.
The users to whom the work item needs to be sent.
This is set during Step definition. Note that Possible agents are defined during Task definition. (Org Unit, Position, User, Work Center, Role, Rule, Container Element)
Note: The work item recipients is determined by intersection of Possible Agents and Responsible Agents.
Actual user who executed the dialog task
Users who are not supposed to execute the dialog task (even if they are in possible agents)
12. What are the Important background Jobs for workflow?
SWWDHEX For deadline monitoring
SWWERRE For error Monitoring
SWEQSRV For Event Queue Delivery
13. How can we debug a workflow?
If it is a dialog task, you can set breakpoint in the method called by the task
If it is a method that you want to debug, use SWO1, and create a instance of the object and debug the methods
If it is a background task, and you are in development client, you can do the following. Create an infinite loop in the method you want to debug. Go to SM50 (processes overview) and select the relevant item, and select debug from option.
14. Difference between Asynchronous and Synchronous methods in a task.
A work item created as part of synchronous in locked until end of the method execution. But in asynchronous, work item is locked only until start of method execution.
At least one terminating event is required for a task using Asynchronous task.
15. Why is my workflow stuck / hanging?
Some possible reasons/solutions:
run SWU_OBUF and check SWU3 for problems (e.g. SWWDHEX or SWWERRE not running)
check for any shortdumps in transaction ST22
if a method is hanging in the background, check in transaction SWO1 that it isn’t mistakenly marked as “Dialog”
if the method is a Dialog method then check the agent hasn’t been set as WF-BATCH
check that WF-BATCH has SAP_ALL
check if there is an error handling problem, especially if a method calls a function.
16. How come my workflow works fine in DEV but not in QA? (or PROD)
Some possible reasons:
run SWU_OBUF and check SWU3 for problems
user WF-BATCH may have problems, e.g. expired password, no email address supplied
custom tables used for agent determination not filled in the same way
a different version of the workflow is being used.
17. How do I get a background step to be run as a certain user, instead of WF-BATCH?
Try having that user run a dialogue step beforehand, with advance with dialogue.
18. How can I find out which users are holding up the workflows?
Look in the workflow logs. For a large number of workflows or workflow instances, create a report which calls function module SAP_WAPI_WORKITEM_RECIPIENTS.
If you combine it with function module SAP_WAPI_GET_WORKITEM_DETAIL you could make a report which shows all users that various workflows are waiting for.
19. How can I look inside another user’s SBWP workflow inbox?
Transaction SWI5 (assuming you have sufficient privileges)
20. Where is this workflow started?
Use transaction PFTC_DIS to see if the workflow has a starting event.
If not, then the answer is beyond the scope of this brief FAQ, but you could try a where-used on function module SAP_WAPI_START_WORKFLOW.
If there is a starting event, check in transaction SWE2 that the event is actually linked to the workflow and, if so, try doing where-used on function modules SAP_WAPI_CREATE_EVENT and SWE_EVENT_CREATE (look for Z programs).