Remove Header on Last Page in Classical Report

Posted by Krishh Webworld | 6:19 PM | , , | 1 comments »

This code provides logic to remove the Header generated by TOP-OF-PAGE from the Last Page.


CODE Snippet
*&---------------------------------------------------------------------*
*& Report ZTEST_NP_TOP_LAST *

*&---------------------------------------------------------------------*

*& Example of how to remove the header generated by TOP-OF-PAGE and *

*& Move the LIST upwards in the space of the TOP-OF-PAGE *

*& *

*&---------------------------------------------------------------------*


REPORT ZTEST_NP LINE-COUNT 10(2) NO STANDARD PAGE HEADING.


START-OF-SELECTION.
* Generating the Output
DO 30 TIMES.
WRITE: / SY-ABCDE.
ENDDO.


* Clearing the last TOP-OF-PAGE
READ LINE 1 OF PAGE SY-PAGNO.
CLEAR SY-LISEL.
MODIFY LINE 1 OF PAGE SY-PAGNO.


* Moving list upword
* Here we are moving only 2 lines, as we have only 2
* lines in our TOP-OF-PAGE
DATA: L_CNT TYPE I,
L_LINE TYPE I.
CLEAR: L_CNT, L_LINE.
L_LINE = 2.
DO.
L_CNT = L_CNT + 1.
L_LINE = L_LINE + 1.
READ LINE L_LINE OF PAGE SY-PAGNO.
IF SY-SUBRC NE 0.
EXIT.
ELSE.
MODIFY LINE L_CNT OF PAGE SY-PAGNO.
CLEAR SY-LISEL.
MODIFY LINE L_LINE OF PAGE SY-PAGNO.
ENDIF.
ENDDO.

* Top of page
TOP-OF-PAGE.
WRITE: / 'Heading from TOP OF PAGE Line 1'.
WRITE: / 'Line 2'.

Move Cursor to next Row by Pressing Enter in OO ALV

Posted by Krishh Webworld | 6:18 PM | , , | 2 comments »

I was wondering if it is possible to have the same functionality of the Excel: Press Enter and cursor will move to next row.

As OO ABAP using the class CL_GUI_ALV_GRID provides so many methods for the processing at the Cell Levels. After looking to all the methods of the CL_GUI_ALV_GRID, I found there are so many methods which can do the processing at the Cell level. I have started to give the try. After certain tries, I was able to achieve what I was looking for.


Code Snippet for the Class handler for ALV Grid Call
*&---------------------------------------------------------------------*
*& This code snippet sets the handler of the evnets for the OO ALV
*&---------------------------------------------------------------------*
* Data Declaration

DATA: g_grid type ref to cl_gui_alv_grid,
g_event_receiver type ref to lcl_event_receiver.

*
* Registering the Edit event
CALL METHOD g_grid->register_edit_event
EXPORTING
i_event_id = cl_gui_alv_grid=>mc_evt_enter.
*
* Event Handler
create object g_event_receiver.
*
* Event listner method for Edit Event
SET HANDLER g_event_receiver->handle_data_changed FOR g_grid.
*
* calling the instance of the ALV
call method g_grid->set_table_for_first_display
changing it_fieldcatalog = gt_fieldcat
it_outtab = gt_outtab[].


Code Snippet for the Class handler definition and Implementation
*&---------------------------------------------------------------------*
*& This code snippet shows the Event Handler Class's Definition
*& and implementation
*&---------------------------------------------------------------------*
* Definition

class lcl_event_receiver definition.

public section.
methods:
handle_data_changed FOR EVENT data_changed
OF cl_gui_alv_grid
IMPORTING er_data_changed.

endclass.


* Class Implementation
class lcl_event_receiver implementation.
method handle_data_changed.
*
* Local data
data: LE_ROW TYPE I,
LE_VALUE TYPE C,
LE_COL TYPE I,
LES_ROW_ID TYPE LVC_S_ROW,
LES_COL_ID TYPE LVC_S_COL,
LES_ROW_NO TYPE LVC_S_ROID.
*
* Getting Current Cell
CALL METHOD G_GRID->GET_CURRENT_CELL
IMPORTING
E_ROW = le_row
E_VALUE = le_value
E_COL = le_col
ES_ROW_ID = les_row_id
ES_COL_ID = les_col_id
ES_ROW_NO = les_row_no.
*
* Total number of tables
describe table gt_outtab lines sy-index.
*
* Getting next row
les_row_id-INDEX = les_row_id-INDEX + 1.
les_row_no-ROW_ID = les_row_no-ROW_ID + 1.
*
* Set the Next row
if les_row_id-index le sy-index.
CALL METHOD G_GRID->SET_CURRENT_CELL_VIA_ID
EXPORTING
IS_ROW_ID = les_row_id
IS_COLUMN_ID = LES_COL_ID
IS_ROW_NO = les_row_no.
endif.
endmethod.
endclass.

SAP ABAP Object Design Patterns: Singleton

Posted by Krishh Webworld | 6:13 PM | , , , | 2 comments »

Today we will try to explore the design patterns in the ABAP Objects. We will start with the Singleton design pattern, which is the simplest of its family of design patterns.


What is the concept of the Singleton design pattern?
The concpet of restricting the instantiation of the a class to only and only to one object is called Singleton. As name suggests, it will restrict to create only one instance of a class. The calss will have a logic in place which will deny if the application will ask for more than one instance.

Let's try to understand with an example:
We have an application which will bring the pay stub of an employee for current month. In a standarad system, there will be only one active salary account for the employee with the company. Because of this fact, we should only create one object of the employee's salary account. In program, we are creating this object in a loop. So, what happens if we don't have a design pattern which will restrict it to create more than one object. Application will create, rather overwrite an instance of the class.

In ABAP, generally we check if the instance is created or not, like:
Code Snippet to check instance
 
*&---------------------------------------------------------------------*
DATA: lo_application TYPE REF TO lcl_application.
IF lo_application IS INITIAL.
CREATE OBJECT lo_application.
ENDIF.

But, if we take another reference to the class and create a instance of that, it will definatly allow. So, we need to have Singleton design pattern implemented.

How to implement Singleton design Pattern in ABAP?
We can use the CLASS-DATA(static data) to save the created instance within the class and check with that instance, if application asks for a new instance.

We will look at this example.

UML diagrm for the example:



Code Snippet for Design Patterns: Singleton
  
*&---------------------------------------------------------------------*
*& Report shows how to use the static data of the class to
*& implement the design patterns.
*&---------------------------------------------------------------------*
REPORT ztest_singleton_pattern.
*
*----------------------------------------------------------------------*
* CLASS lcl_application DEFINITION
*----------------------------------------------------------------------*
CLASS lcl_application DEFINITION.
*
PUBLIC SECTION.
* Static Method which will return us the object reference
CLASS-METHODS:
get_apps_instance
EXPORTING
eo_apps TYPE REF TO lcl_application.
*
PRIVATE SECTION.
* static class reference to hold the existing object reference
CLASS-DATA: lo_apps TYPE REF TO lcl_application.
*
ENDCLASS. "lcl_application DEFINITION
*
*
*----------------------------------------------------------------------*
* CLASS lcl_application IMPLEMENTATION
*----------------------------------------------------------------------*
CLASS lcl_application IMPLEMENTATION.
*
* This method will return the object reference to the calling application
METHOD get_apps_instance.
IF lo_apps IS INITIAL.
* creation of the object
CREATE OBJECT lo_apps.
* assigning reference back to exporting parameter
eo_apps = lo_apps.
ENDIF.
ENDMETHOD. "get_apps_instance
ENDCLASS. "lcl_application IMPLEMENTATION
*
*
START-OF-SELECTION.
*
*.Reference: 1 .........................................
DATA: lo_application TYPE REF TO lcl_application.
WRITE: / 'LO_APPLICATION: '.
* calling the method which gets us the instance
CALL METHOD lcl_application=>get_apps_instance
IMPORTING
eo_apps = lo_application.
IF lo_application IS NOT INITIAL.
WRITE: / 'Object has been created..!'.
ELSE.
WRITE: / 'Error: Object has not been created..!'.
ENDIF.
*
*.Reference: 2............................................
DATA: lo_2nd_apps TYPE REF TO lcl_application.
SKIP 2.
WRITE: / 'LO_2ND_APPS : '.
* calling the method which gets us the instance
* Our instance will be initial here because the STATIC calss
* reference LO_APPS in the calss LCL_APPLICATION will prevent
* this call to create a new instance.
CALL METHOD lcl_application=>get_apps_instance
IMPORTING
eo_apps = lo_2nd_apps.
IF lo_2nd_apps IS NOT INITIAL.
WRITE: / 'Object has been created..!'.
ELSE.
WRITE: / 'Error: Object has not been created..!'.
ENDIF.



This will generate the output like this:

SAP Classical ALV: Change Subtotal

Posted by Krishh Webworld | 6:11 PM | , , | 1 comments »

Sometimes we need to modify the subtotals on the ALV, specially when we have to give the average of the percentages or something like that. To change the subtotal we need to follow certain steps:

1. we need to get the ALV object form the ALV function module. We can use the FM GET_GLOBALS_FROM_SLVC_FULLSCR to get the Global data of the ALV. From this FM we will get the ALV object.

2. After getting the ALV object, we need to get the subtotal using the method GET_SUBTOTALS of the ALV object. We will get the first level subtotal using the parameter EP_COLLECT01.

3. Now, we need to modify the subtotal. Here we need to take help of Field-symbols since the EP_COLLECT01 is reference to data.

4. We need to refresh the Table display. For this purpose we can use the method REFRESH_TABLE_DISPLAY.

Here is the code snippet which performs all the steps mentioned above:


Code Snippet to change the Subtotal
  
DATA: lo_grid TYPE REF TO cl_gui_alv_grid.
*
* get the global reference
CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR'
IMPORTING
e_grid = lo_grid.
*
* get the subtotal
DATA: it_01 TYPE REF TO data.
*
CALL METHOD lo_grid->get_subtotals
IMPORTING
ep_collect01 = it_01.
*
* change the data
FIELD-SYMBOLS: TYPE ANY TABLE,
TYPE ANY,
TYPE ANY.
ASSIGN it_01->* TO .
*
LOOP AT ASSIGNING .
ASSIGN COMPONENT 'PER' OF STRUCTURE TO .
= '100'.
ENDLOOP.
*
* Refresh the table display
CALL METHOD lo_grid->refresh_table_display
EXPORTING
i_soft_refresh = 'X'.



To be able to use the FM GET_GLOBALS_FROM_SLVC_FULLSCR, we need to find a spot in our program which is being called after the ALV's main FM e.g. REUSE_ALV_GRID_DISPLAY. For this purpose, I have implemented the TOP_OF_PAGE event because it will always be called after the FM. In the subroutine for the TOP_OF_PAGE, I used the code snippet to change the Subtotal.

You can download the entire source code of my test program from here --> http://smartform.googlecode.com/files/ZALV_SUBTOT_CHANGE.txt .

SAP ABAP Tricks

Posted by Krishh Webworld | 6:05 PM | | 1 comments »

In this section you will find some Tricks in ALV, Classical Report, Smartforms...


ALV

Move Cursor to next Row by Pressing Enter in OO ALV
Describes how to move the cursor to next row on Enter (like Excel) in the ALV created by class CL_GUI_ALV_GRID.

Moving Cursor to Next row by pressing Enter in Classcial ALV
Describes how to move the cursor to next row on Enter (like Excel) in the ALV created by REUSE_ALV_GRID_DISPLAY.

Classical ALV: Change Subtotal
Eloborates how to change the subtotal values in the output generated by the FM REUSE_ALV_GRID_DISPLAY.

OO ALV: Disable DELETE key on keyboard in ALV grid
Describes a way to disable the DELETE key on the keyboard in the Editable OO ALV generated using the CL_GUI_ALV_GRID to prevent users to delete any record from the ALV.

ALV: Disable DELETE key on keyboard in Classical ALV grid
Eloborates a way to disable the DELETE key on the keyboard in the editable Classical ALV grid generated by using the FM REUSE_ALV_GRID_DISPLAY.



Classical ABAP

Remove Header on Last Page in Classical Report
Shows how to remove the Header Generated by the TOP-OF-PAGE in the classical report.

Radiobutton Values using CASE
Code snippet to show how to access radiobutton values using CASE statement. To make performance efficient program, we can consider this option.

MM02 BDC: Select Specific Material Master View
Shows how to remove the Header Generated by the TOP-OF-PAGE in the classical report.



Smartforms

Dynamic Background Colors in Smartforms
Eloborates how to create dynamic background colors in Smartforms.

Smartforms: Breakpoints
Shows how to put a breakpoint in Smartforms in more efficient way.



Miscellanous

SAPConnect: Email with Formatting
Describes a way to send Rich Formatted Email from SAP (SAPConnet) using HTML.

Preserve Downloaded data formatting in Excel
Eloborates how to prevent the data formatting when we download the data from SAP and open it in Excel.

SAP Smartforms: Breakpoints

Posted by Krishh Webworld | 5:56 PM | , | 0 comments »

Debugging is necessary when we have program lines node in our Smartforms and the code in the program lines node is not working as per our expectation. Currently, we don't have the Breakpoint button as what we have in the ABAP code Editor in the Workbench. So, what are the options to put a break point in Smartforms:

1. Hardcode the BREAK-POINT: We just have to put the BREAK-POINT statement whereever we want to stop the code and look inside in Debugger. This is good option when we are developing the Smartforms. But we all, as per the Human nature, forgot to remove those BREAK-POINTs from the program lines and Users would have to face the debugger at each and every break-point and would start shouting..!! This is what we all don't want. So, this option is not good.

2. Breakpoint using BREAK user-name: We can put the break point using the statment user name addition to the break command, for example BREAK NAIMESH. These break points would not stop any other users who would run this Smartform. Still it has some disadvantages: Everytime the developer who has put the break point will stop i n the Debugger. It is fine, if we have only one or two, but we have many than it would be a problem. So, this makes the option less powerful.

3. Breakpoint on the fly: To put a break point on the fly, we can follow these simple steps to put a breakpoint as required.

Step1: Open your Smartform and Copy the text as which you want to put a break point and press the Test Button. It will bring you the Function Builder.



Step 2: Press the dispaly button to open the code of the function.

Step 3: Press the Find (control+F) button.
Step 4: In the find screen, paste the copied text (control+V) in the Text.
Select the option "In main Program"
Press Enter
Step 5: From the hit list, go to the source code by doing doubleclick on the search results. Now, put a Cursor on the line and press the "Set Breakpoint" button.
That's it. So, when you run the application it will stop to this break point.
It seems to be the lengthy steps, but they are effective.

Step by Step Legacy System Migration Workbench - LSMW

Posted by Krishh Webworld | 5:45 PM | | 0 comments »

The Legacy System Migration Workbench (LSMW) is a tool recommended by SAP that you can use to transfer data once only or periodically from legacy systems
into an R/3 System.

The LSM Workbench covers the following steps:

(1) Read the legacy data from one or several files (e.g. spreadsheet tables, sequential files).
(2) Convert the data from source format to target format.
(3) Import the data using standard interfaces (Batch Input, Direct Input, BAPI, IDoc).

The Steps for LSMW are:

Example: Customer Master upload:

LSMW to Update Customer Master Records with Transaction Recording

Call Legacy System Migration Workbench by entering transaction code LSMW. Every conversion task is grouped together as Project / Subproject / Object structure. Create a Project called LSMW_DEMO and a Subproject as CUSTOMERS and Object as CUST_REC

Step 1: Maintain Object attributes

In this example, you will be updating the customer master records with the help of recording a transaction (XD02). Choose radio button Batch Input Recording and click on the recording overview icon to record the R/3 transaction. Enter the Recording name as XD02_REC, the description as Customer Master Updates Recording, and the transaction code as XD02.

Step 2. Maintain Source Structures

Give a name and a description to the source structure.

Step 3. Maintain Source Fields

In this step, you need to list what fields are present in the source structure. The easiest way is to click on ‘Table Maintenance’ icon to enter Fieldname, Type and Length for each field.

Step 4: Maintain Structure Relations

Execute a step to ‘Maintain Structure Relations’. Since, there is only one Source and Target Structure, the relationship is defaulted automatically.

Step 5: Maintain field mapping and conversion rules

Field RF02D-D0310 represents that you chose ‘Sales view’ for the customer Master screen accordingly its value should be set to X. Keep your cursor on field
RF02D-D0310 and click on Constant rule icon to choose the constant value of ‘X’.

If your source file already has the field value, you choose rule ‘Source Field’. Keep cursor on field ‘KUNNR’ and click on ‘Assign Source field’ icon to choose source field CUSTOMER from structure XD02S

Step 6: Maintain fixed values, translations, user-defined routines

You can also maintain re-usable translations and user-defined routines, which can be used across conversion tasks. In this case, that step is not required.

Step 7: Specify files

In this step, we define how the layout of the input file is. The input file is a Tab delimited with the first row as field names. It is present on my PC (local drive) as C:\XD02.txt.

Step 8: Assign files

Execute step ‘Assign Files’ and the system automatically defaults the filename to the source structure.

Step 9: Read data

In this step, LSMW reads the data from the source file (from your PC’s local drive). You have the option to read only selected rows and convert data values to Internal format.

Step 10: Display read data

This step is optional. If required, you can review the field contents for the rows of data read.

Step 11: Convert data

This is the step that actually converts the source data (in source format) to a target format. Based on the conversion rules defined, source fields are mapped to target fields.

Step 12: Display Converted data

Again this is an optional step to view how the source data is converted to internal SAP format.

Step 13: Create batch input session

Once the source data is converted in an internal format, you can create a batch session to process updates.

Step 14: Run Batch Input Session

You can execute the BDC session by Run Batch input session. Executing a batch input session is a standard SM35 transaction for managing BDC sessions. Once you have successfully executed the batch input session, the customer master records are updated in the system. You can confirm this by viewing the customer master records (XD03).

Benefits - What Is The Benefits of SAP Implementation

Posted by Krishh Webworld | 5:44 PM | | 1 comments »

Benefits of SAP implementation :

Benefits to the suppliers :

1) SAP increases their market share and , increased business by virtue of AMCs.
2) Implementer gets business and people working at client side will build their resume.
3) Hardware manufacturer gets their share of business without any effort.

Clients :
1) Efficient , user specific, customized legacy system dies. Along with all the trained people to manage it will also loose their importance and gets demotivated.
2) Increased cost of IT by virtue of Initial expenditure on SAP licenses/ Hardware/ Net working & implementation. recurring costs /year goes up by virtue of AMC for SAP licenses and support
3) Entire Company performance goes down. Each person puts the blame on SAP for not working properly,
4) Trained manpower in SAP leaves the company in search of better ( ? ) opportunities leaving the systems department in disarray . This puts more dependence on support from AMC ( which is a mirage and clients pay heavy price )
5) One year post go live, with great difficulty , companies finalise accounts and have nightmarish times explaining the auditors.
6) Educated end users will find out lots of open ends in various clearing accounts. Due to pressure from Sr.Management, they try to pass manual entries and end up in differential account balances. ( simple inventory statement form MC.1 does not tally with sum of corresponding GL accounts )
7) End user start raising tickets on supports for flimsy issues consuming precious AMC hours
8) End of one year, the Sr management will realise that only 30 % of their actual business process were mapped in SAP and to full fill their other business needs, they need to go for other licenses in SAP modules --- more expenditure......!
9) Middle of second year, the database growth will increase and Size of Hardware needs up gradation...leading to more expenditure
10) Release notes for SAP will constantly put customised report updating..at client end. ( hope they have trained manpower to tackle it )
11) List of reports on MIS increases. End users reluctance to accept SAP reports puts more pressure on MIS
12) every transaction will be recorded which includes the mistake done by end users . All the mistakes done by respective users of MM/SD/PP ends at accounts department for answers.
13) End users and Sr management will realise that old system legacy ) was better and was answering to their needs with few exceptions like inter connectivity, web etc.
14) Dependency of legacy system and mapping it to SAP will produce replica of legacy system in the form of SAP ...! This leads to fact that all the features of SAP will never comes to light and implementers will package legacy system in SAP and run away with money. This happens at most of clients. Where all the minus of legacy systems reappears in SAP too...! ( why do you need to spend millions to get what you had earlier ..! )

Real benefits ( seen and appreciated by very very very few clients )
1) one data flows across all domains
2) Visibility of data
3) Visibility of inventory/accounts/MIS for better control
4) Planning and automated working avoiding procedural hurdles for various domains like purchase/production/sales etc
5) Inter-connectivity with other applications of PDM/SCM/CRM/ bla bla bla.....

SAP Tickets - What is SAP Production Support - Ticket Resolving

Posted by Krishh Webworld | 5:43 PM | | 0 comments »

1. How the tickets in production support are resolved?
2. Give some examples with solutions?

What are the types of ticket and its importance?

This depends on the SLA. It can be like:

1. Critical.
2. Urgent.
3. High.
4. Medium
5. Low.

The response times and resolution times again are defined in the SLA based on the clients requirement and the charges.

This is probably from the viewpoint of Criticality of the problem faced by the client as defined by SAP.

1) First Level Ticketing:

Not severe problem. Routine errors. Mostly handled by Service desk arrangement of the company (if have one).

Eg: a) Say Credit limit block in working on certain documents?
b) Pricing Condition Record not found even though conditions are maintained?
c) Unable to print a delivery document or Packing list?

PS: In the 4th phase of ASAP Implementation Methodology( i.e Final Preparations for GO-LIVE) SAP has clearly specified that a Service desk needs to be arranged for any sort of Implementation for better handling of Production errors.

Service desk lies with in the client.

2) Second Level Ticketing:

Some sort of serious problems. Those Could not be solved by Service Desk. Should be referred to the Service Company (or may be company as prescribed in SLA).

Eg: a) Credit Exposure (especially open values) doesn't update perfectly to KNKK Table.
b) Inter company Billing is taking a wrong value of the Bill.
c) Need a new order type to handle reservation process
d) New product has been added to our selling range. Need to include this into SAP. (Material Masters, Division attachements, Stock Handling etc.)

3) Third Level Ticketing:

Problems could not be solved by both of the above, are referred to Online Service Support (OSS) of SAP Itself. SAP tries to solve the Problem, sometimes by providing the perfect OSS Notes, fits to the error and rarely SAP logs into our Servers (via remote log-on)for post mortem the problem. (The Medical check-up client, connections, Login id and Passwords stuff are to be provided to SAP whenever they need or at the time of opening OSS Message.)

There are lots of OSS Notes on each issue, SAP Top Notes and Notes explaining about the process of raising a OSS Message.

Sometimes SAP Charges to the client / Service company depending on the Agreement made at the time of buying License from SAP.

Eg: 1) Business Transation for the Currency 'EUR' is not possible. Check OSS Note - This comes at the time of making Billing.
2) Transaction MMPI- Periods cannot be opened – See OSS Note.

There are many other examples on the issue.

4) Fourth Level Ticketing:

Where rarely, problems reach this level.

Those problem needs may be re-engineering of the business process due to change in the Business strategy. Upgradation to new Version. More or less this leads to extinction of the SAP Implementation.

Implement SAP - Scope of Work

Posted by Krishh Webworld | 5:42 PM | | 2 comments »

What are the scope of work when SAP is implement?

You should have a Project manager from your company, who will work or should work closely with the implementing Company Project Manager.

The Implementing company will supply the Technical/Functional Consultants. Your company should provide so-called "Super Users / Key Users. These are persons within the company who know the business and its processes inside out.

The Key Users will work closely with the Technical Consultants in designing the companies Business Process to fit with SAP.

The Technical consultants should pass on their knowledge to the Key Users. The Key User will train the End Users, so they must be also trained in SAP Business Process, this is either done by the Implementing company or your company can
send them to SAP training.

The driving person here is your Company Project Manager, in any case all company persons involved in the Implementation project should be on the project 100 percent.

You should setup five phases :
1. Preparation
2. Blueprinting,
3. Realization
4. Preparation Go Live
5. Go Live/Support

From the Project Management side, there are many thing that must be set up prior to Blueprinting, such as Project Charter, Project Plan, Risk Management Plan, Change Management plan etc.

As far as a SOW, this is part of your Charter and there are many Templates of such documents, you need more than just the template, you must know how to analysis your overall environment (Company goals, landscape, Business objectives etc)
in coming up with the Scope. More than one person is involved in the SOW defination.

What is ASAP Methodology?

Posted by Krishh Webworld | 5:41 PM | | 0 comments »

ASAP: Accelerated Systems Application and Products in Data Processing

All implementation projects have the the following phases:

Scoping - What is to be implemented i.e. which submodules are to be implemented some clients may not require credit management for example. Look at the project scope document carefully it will tell you what SAP sub-modules in SAP you should be prepared for. Usually the sales people along with project manager do it.

As is - Here you understand the existing business processes of the client . Your BPOcollect all the ISO-documentation (if client is ISO certified), reports and forms at this stage and you analyse how and when the reports/forms are generated, where the data is coming from. You also do a Level -2 training for your BPO so he is made aware of all the required transactions in SAP.

Once this is over BPO can start learning with the consultants help more about SAP. This is crucial because if you miss out any transactions the BPO may forget about some of his Business processes which may come up later. It is a good practice to ask the BPO to make flow charts to explain business processes.

To-Be - Parallely you map these processes to SAP. Processes that you are not sure of as to whether they are present in SAP or not you try to do a configuration of those processes, and along with the BPO(Business process owner he is the clients employee who knows about the clients business processes probably a middle management guy, ther can more than one), BPO involvement is required as he may be able to tell you his requirements better. Once you do the business modelling you
will also be made aware of the gaps between as-is and to-be , here decisons have to be made as to wether a ABAP development/system modification is required or not and so on. Involve the BPO as much as possible and document everything it is good practice do not be lazy about it.

Business blueprint: Here the as-is and to-be and gap analysis is explained. This is the document that you will be using to do your configuration in the realization phase.

Realization phase: Here you do the configuration in the development server (there are three clients -development,quality, production). You also decide on the master data format, so that BPO can go collect the master data. You also gove ABAP specifications for forms, reports etc, system modifications etc. Unit testing: Your BPOs and a few key users sit down and test your configuration in your module only. It is good to test the BDCs that you need for uploading data at this stage so you have more realistic data and your BDCs are tested.

Integration testing:
Once all modules unit testing is over then the configuration is trasported to the Quality server, where testing for all the modules is done by BPOs and end user, this is to check if any problems are there in integration between various modules. Once all is okay from the QA server config is transported to the production server.

Go live preparation
Data uploading: The collected master data is checked and the uploaded into production server(sever and client I have used interchangeably). Now you are ready for go live i.e. users can now use the production server.

Thirumallasetty

ASAP methodoligy means nothing but standard process for implementation of SAP, It consists of 5 phases.

1. Project preperation - consists of identifying team members and developing strategy as how to go.

2. Business Blue print - consists of identifying the client current process, reqeirement and how SAP provides solution.
Consists of detailed documentaion

3. Realization -The purpose of this phase is to implement all the business and process requirements based on the
Business Blueprint.

4. Final Preparation - The purpose of this phase is to complete testing, end-user training,

5. Go Live and Support

All the functinal consultatns need good rapo with Abapers. right from uploading of legacy data, devoloping customised reports, BDC's, Forms etc, here functinal consultatns need to give guidence as to get the requried data for reports and all.. like the table name, fields etc

Kittu Kittu

What is baseline configuration in sap?

Base line and Final config is the third phase in ASAP methadology. The purpose of this phase is to implement all the business & process requirements based on business blue print. You customize the system step by step in 2 work packages: Base Line Configuration & Final Configuration.

- Base Line Configuration: this phase comprises the priority requirements of the enterprise, ensuring that they can be implemented quickly. This phase can be completed without programming or enhancements to SAP systems.
- Final Configuration: in this phase you confirm that all your requirements are met in the R/3 system. Final configuration is a transportation process that expands that base line solution.

Different SAP Terms

Posted by Krishh Webworld | 5:40 PM | | 0 comments »

  • Client type : Organization or group
    • default client 000
  • Company code : A company code is the smallest organizational unit for which has a complete self-contained set of accounts.
  • Plant : A plant is an organizational unit within a company that produces materials to make goods and renders services.
  • Storage Location : A storage location is an organizational unit that allows the differentiation of material stocks within a plant.
  • Sales Organization : A sales organization is an organizational unit that sells and distributes products, negotiates terms of sales, and is responsible for these transactions.
  • Distribution Channel : Is a channel through which materials or services reach customers.
  • Division : Is a product group that can be defined for a wide ranging spectrum of products.
  • Moving Average Price : Price that changes in consequence of goods movements at the entry of invoices and which is used for valuating a material. The moving a average price is calculated by dividing the values of the material by the quantity of the material in stock. It is recalculated automatically by the system after each goods movement or invoice entry.

  • Standard Costs : Constant price with which a material is valuated, without taking into account goods movements and invoices.

SAP Basics Feature - Diff. Configuration and Customisation

Posted by Krishh Webworld | 5:39 PM | | 0 comments »

  • Configuration of the SAP modules
    • Transaction SPRO - this is the main tree for all the configuration.
  • Function Key
    • F1 - Help
    • F4 - Possible entries or matchcode for the field you are accessing
    • F5 - Selection screen
    • F7 - Previous screen
    • F8 - Next screen
    • F9 - Technical info
    • CTRL+X - Cut
    • CTRL+C - Copy
    • CTRL+V - Paste
  • Navigation
    • /n Skip to the next record if you are processing one batch input session
    • /bend Cancel a batch input foreground process
    • /nend Close all R/3 sessions and logoff
    • /nxxx x Call the transaction xxxx in the same session
    • /o Generate a session list
    • /oxxx x Call the transaction xxxx in an additional session
    • /i Delete the current session
    • /h Turn the debug mode on
    • /$tab Reset all buffers (for System Administrators)
    • /$syn c Synchronize instances buffers (for System Administrators)

    • In 4.x, you can have long SAP transaction code up to a maximum of 20 character
What is the difference between configuration and customisation?

In a nut shell, customization is done when the client's requirement cannot be mapped with SAP standards. Here you will have to take the help of ABAPers to develop the programs/change the program codes in order to match the clients business requirements

Configuration is done with out any developed programs

What is SAP?

Posted by Krishh Webworld | 5:36 PM | | 0 comments »

  • The name SAP is acronym for Systems, Applications and Products in Data Processing. SAP is an extremely complicated system where no one individual can understand all of it.
  • SAP runs on a fourth generation programming language language called Advance Business Application Programming (ABAP). It have many of the features of other modern programming languages such as the familiar C, Visual Basic, and Power Builder. Your programs name conventions begins with a letter yxxx or zxxx.
  • SAP graphical user interfaces (SAPGUI) runs on Windows / NT / Unix / AS400. When you are using 3.x you can used the SAPGUI 4.x, there are no conflicts as the SAPGUI is basically a front end tools.
  • If you create dialog screen, remembers to tick Development Tools (utility programs for the Screen Painter) when you are installing SAPGUI 4.x.
  • In SAPGUI 4.x, you can configure whether to use the present 3.x screen design or the New 4.x Visual design (which is very graphical and computer resource hungry).
  • Disable the login image to reduce the memory usage. In transaction SM30, table SSM_CUST, create a new entries with Name HIDE_START_IMAGE and Value to be set YES.
  • SAP have move towards the Windows Explorer Screen Format (all the Menu on the left of your screen).

  • SAP is an enterprise resource planning (ERP) software product capable of integrating multiple business applications, with each application representing a specific business area. These applications update and process transactions in real time mode. It has the ability to be configured to meets the needs of the business.
  • SAP are categorized into 3 core functional areas:
    • Logistics
      • Sales and Distribution (SD)
      • Material Management (MM)
      • Warehouse Management (WM)
      • Production Planning (PP)
      • General Logistics (LO)
      • Quality Management (QM)
    • Financial
      • Financial Accounting (FI)
      • Controlling (CO)
      • Enterprise Controlling (EC)
      • Investment Management (IM)
      • Treasury (TR)
    • Human Resources
      • Personnel Administration (PA)
      • Personnel Development (PD)

Archives

Subscribe Now: Feed Icon