Requirement Specification
Q-1. I am forced to make frequent changes while
developing a report . Most of the time it is because of changes in the
User requirement. How to do User Requirement Study for a Report ?
A. You need to be clear about following points of the report :
Q-2. Is Requirement specification sacrosanct ?
A. No. If you have a doubt regarding anything please get it clarified by the SAP application specialist. Sometimes when you realize that it is not possible to develop a program as mentioned in Functional Specification, talk to the SAP Application Specialist they may change their requirement.
Source-code development
Q - 1. I usually find the Table and Field keeping a data by
taking help( F1 ) on the field followed by Technical Info, but sometime
the tables don't keep data. What to do ?
A. It is not necessary that every field of the screen lies in one field of the table. Goto Q. 3 and follow the stes in there to find table and field.
Q - 2. Which tables store this Entity e.g. Purchase Order, RFQ, A/R Invoice etc. ?
A. Do 'ABAP/4 Runtime Analysis' of one of the following proceses related to the Entity:
create Entity e.g. create PO
or
change Entity e.g. change PO
or
display Entity e.g. display PO
Q - 3. Which table and Which field keeps this data e.g. Quantity
of material being requested of an RFQ, Delivery date for RFQ, GR date,the
accumulated amount for each cost center like table SKC1C holds the accumulated
amount for each G/L account ?
A. Identification of SAP table and field keeping a data is done
in three steps:
1) Identification
of relevant processe(s)
2) Identification
of relevant table(s)
3) Identification
of Field(s) of table
A field may be affected by more than one process, may
lie in more than one table and field.
Q - 4. The two fields are available in the RM06E (ANMNG and EEIND respectively) but I cannot get data from RM06E ?
A. RM06E is a structure and structures do not keep values. They
get filled during execution of programs. You have to find tables. Follow
these steps:
1) Identification
of relevant processe(s)
2) Identification
of relevant table(s)
3) Identification
of Field(s) of table
Q - 5. How can I find all the related DB tables for a perticular
process(transaction) ?
A. By doing ABAP/4
Runtime Analysis of the process(transaction).
Q - 6. If I have to generate a report for listing all the objects
which belong to a particular class and have a certain set of characteristics.
How would I go about finding the relevant & related DB tables
that I would need to write the report ?
A. Please goto :
Reports Problem Definition --> Identification
of relevant processe(s)
then,
Reports Work-instructions --> Identification
of relevant table(s)
Q - 7. I need to print the GL account codes in my layout set. How do I extract the GL account codes. Where do I find the table for the GL account codes? .
A. GL account code lies in many tables. Which table is relevant
for you will depend upon the Processes related to the report.
For identification of relevant processes:
Reports Problem Definition --> Identification
of relevant processe(s)
To find relevant tables and fields:
Reports Work-instructions -->
Identification of relevant table(s)
Q-8. I am a new programmer in SAP. I spend a lot of time in
searching ABAP/4 commands to do a particular job. I also resort to trial
and error to get a syntax working.
A. RM/1 has prepared Source code Template for different problem
domains like Reports, Batch data lode program. These Templates indicats
ABAP/4 syntax’s required for Reports and BDC programs along with examples
regarding how to use the syntax.
These has come as a result of compilation of the work-Instructions
(related to a report )using the most suitable syntax and constructs of
ABAP/4. These reduce the number of syntax required to write
a Report or Batch data load program. Needless to say, the template will
change with changes in ABAP/4 syntax library.
Q-9. Due to time pressure I usually go for Direct coding without analysis and design of problem.
A. Most of the problems of program development and maintenance
are because of this only. RM/1 has made Templates for Reports
and Batch data
load programs which is a result of generic analysis and design. Use
of these templates during development provides the benefit of Analysis
and Design in the program development and maintenance without asking for
analysis and design.
Q-10. Error in determining the records that should take part
in determining the value of the data item of a report .
A. Determine constraints for fields Tools and Techniques Example
Q-11. A no. of times I find myself doing what someone else has already done. So how to coordinate the work of different people to avoid re-inventing the wheel.
A. RM/1 has made groups of problems and developed templates for each program class. These templates reduce the re-invent the wheel in different ways:
A. Standardization of documentation and Architecture of Source code as a Template makes communication easier.
Testing & Debugging
Q-1. I spent a lot of time debugging source code to identify
errors. What is the way out ?
A. RM/1
template has tried to modularize source code such that one has two
isolated source code modules:
1. Data collection module
2. Routing data to a Destination module
One need not go through each and every line but can see the output
of modules by setting break-points at the end of the modules. These modules
has been further sub-divided into Process based totally isolated modules
which allow setting of break-points rather than line by line debugging.
Q-2. How to create test data for my program. I have rarely found my program taking care of all conditions right the first time.
A. Creating test data requires knowledge of all the process related to the report and know how to execute the process in SAP. This step is facilitated by user requirement study. Very often you will need to take help of SAP Application Specialist in doing this. Template’s Business process oriented code modules will be helpful.
Job Satisfaction
Q-1. I don’t like doing programming. It is very often frustrating.
A. Communicating with something as dumb as computer will be frustrating. But Trial and error along with detailed debugging aggravates it . Clear work-instructions with tools to be used in the work-instruction reduces it. Business process oriented source code development makes the job more meaningful and interesting. RM/1 is a result of this frustration and addresses this issue pretty well.