Tuesday, October 11, 2011

Starting the debugger in a modal screen

Usually in ABAP, when you want to start the debugger from a certain point, you just have to write "/H" in the
command window. But if you are in a modal screen or in a message display, you cannot write the traditional
"/H", here is how to do it :
  1. Open notepad and paste these lines in a document : [FUNCTION] Command=/H Title=Debugger Type=SystemCommand
  2. Save this document anywhere on your local pc. ex: c:\breakpoint.txt
  3. Drag&drop this file from the explorer to your ABAP modal screen.... 

Sunday, August 21, 2011

INHERITANCE & POLYMORPHISM


Inheritance defines the relationship between classes, in which a class (subclass) uses the structure and behavior that has already been defined in one or more other classes (superclasses). So simply this means "Inheritance is about reuse!".
Allow me to use a concrete example to explain inheritance: Collection.
A collection is any number of objects (more precisely object references).  However, there could be many types of collection. Therefore, I will implement each type of collection as a class. In principle this approach is correct. However, you will soon establish that all collections have several components in common like:
1.                Each class requires a method in order to add objects to a collection.
2.                Each class requires a method in order to delete objects from a collection.
3.                Each class has a method which identifies the number of object references in the collection and so on.
Inheritance is the solution to this situation. You implement all of the similarities in the class which is Superclass. You then implement the individual types of collection in their own classes which are Subclassesof the Superclass. As a subclass, these classes inherit all of the components of the Superclass. Attributes, methods and events are inherited. In addition, you can implement additional attributes, methods and events in the subclass.
POLYMORPHISM
Polymorphism occurs, where classes implement the same functionality with different methods (one functionality, several methods but the same name). This can occur via an inheritance relationship, in that the methods belonging to the superclass are redefined in the subclasses and implemented differently. ABAP Objects requires the method names to be the same and the signature to be the same (signature = method interface).
Polymorphism can be achieved in 2 ways:
(1) Two independent classes implement methods with the same names and the same signature with the intention, that the methods should be called dynamically from a third location.
(2) A superclass implements a method, and in a subclass you want to re-implement the same method, as the superclass implementation is not suitable for the subclass.
The first scenario will not occur very often in ABAP Objects, as the interface concept was created precisely for such cases.

EVENTS


Events are recognized in particular by programming interfaces of the GUIs (Windows, Motif, etc.), for example, you can "ask" the GUI to trigger an event if the user moves the mouse over a specific part of the screen. When the event occurs you are telling the GUI to change the shape of the mouse pointer.
Events allow for the loose coupling of components (classes or objects) in a system. The event trigger does not normally know at the time of coding who is going to react to the event. Those components, which want to react to the event, register at the event runtime, in that they tell the runtime environment which method is to be executed when the event is raised. In this way many components can register for an event.
Event handler methods can proceed synchronously as well as asynchronously. At present, ABAP Objects only supports synchronous calling of the event handler method.
Code listing for: Z_006_EVENT
Description: EXAMPLE OF EVENTS
*---------------------------------------------------------------
THIS EXAMPLE SHOWS THE USE OF EVENTS.
*---------------------------------------------------------------
*
* The event trigger does not normally know at the time of
* coding who is going to react to the event. Those components,
* which want to react to the event, register at the event
* runtime, in that they tell the runtime environment which
* method is to be executed when the event is raised. In this way
* many components can register for an event.
*
*---------------------------------------------------------------
REPORT  Z_006_EVENT.
*----------------------------------------------------------------
*       CLASS CL_NAME
*----------------------------------------------------------------
CLASS CL_NAME DEFINITION.
  PUBLIC SECTION.
    " DEFINE EVENT
    EVENTS OBJECT_CREATED
              EXPORTING VALUE(EX_OBJ) TYPE REF TO CL_NAME.
    METHODS: CONSTRUCTOR,
             " DEFINE EVENT HANDLER METHOD
             PROCESS_EVENT FOR EVENT OBJECT_CREATED OF CL_NAME.
  PRIVATE SECTION.
    DATA MSG(16) TYPE C.
             " register method with runtime will be executed
              " when event OBJECT_CREATED fires.
ENDCLASS.                    "CL_NAME
*----------------------------------------------------------------
*       CLASS CL_NAME IMPLEMENTATION
*----------------------------------------------------------------
CLASS CL_NAME IMPLEMENTATION.
  METHOD CONSTRUCTOR.
    MSG = 'OBJECT CREATED'.
    " Register the event handlers for the corresponding/all
    " instance/s.
    SET HANDLER PROCESS_EVENT FOR ALL INSTANCES.
    " Raise event OBJECT_CREATED.
    RAISE EVENT OBJECT_CREATED EXPORTING EX_OBJ = ME.
                           "ME refers to current instance
  ENDMETHOD.                    "CL_NAME
  " EVENT HANDLER
  METHOD PROCESS_EVENT.
    WRITE: 'EVENT FIRED :', ME->MSG.
  ENDMETHOD.                    "PROCESS_EVENT
ENDCLASS.                    "CL_NAME IMPLEMENTATION
DATA INSTANCE TYPE REF TO CL_NAME.
START-OF-SELECTION.
  CREATE OBJECT INSTANCE.
  CLEAR INSTANCE.
Program Output : 006
EVENT FIRED : OBJECT CREATED

VISIBILITY


An important feature of object-orientation is the encapsulation of attributes and methods - ultimately of functionality - in classes. A class guarantees its user specific properties and specific behavior. The sum of these properties is called the class interface. The Visibility mechanism defines the class interface which is available to the users.
There are three commonly defined types of visibility in object-oriented technology:
Public
The relevant class component (attribute, method, event etc.) is visible to all classes.
Protected
The relevant class component (attribute, method, event etc.) is visible to the class itself and all inheritors. (We will return to the terms Inheritor and Inheritance later in this document.)
Private
The relevant class component (attribute, method, event etc.) is only visible to the class itself.

OBJECT IDENTITY AND REFERENCE SEMANTICS


With the help of the previous Blog, you have established that objects belonging to a class are not created by the simple definition of the class. Neither does the instruction DATA: instance ref to CL_NAME creates an object. This instruction only creates a Reference, which in its initial state has the logical value INITIAL. Only with the instruction CREATE OBJECTinstance is the memory area for a new object requested from the system. The reference instance then refers to the object which has just been created. (The command CLEAR{{ instance. }}at this point means that the object, to which the reference variable refers, cannot be referenced. Therefore it can no longer be addressed in this program run. A Garbage Collector running in the background ensures that the object is removed from memory.
This separates object-oriented implementation from classic implementation. With the classic DATA instruction, main memory is reserved (which might never be used) and is pre-allocated the initial state of the relevant variable. With the "object-oriented" instruction DATA-x-TYPE-REF-TO, only the intention to create an object is expressed. The only storage space occupied is for an object reference.
In addition, every object has its own identity. Two references, which refer to objects, are only identical if they refer to the same object. Similarity between the attribute values of these objects is not the deciding factor. To get more idea about this see the following example.

CONSTRUCTOR


Objects must be created at runtime (using CREATE OBJECT). With their creation they also get their own identity. However, there are no fixed attribute values linked to the identity. You are probably already wondering how objects get to their initial state. How do objects recognize their initial attribute values?
TheConstructor concept exists specifically to answer this question. The constructor is a method which runs automatically during the creation of an object. The constructor allows you to define IMPORTING-parameters.
In ABAP Objects you differentiate between instance-dependent and class-dependent constructors via the language elements
METHODS{{ }}and CLASS-METHODS to be used in the definition part and via their namesconstructor and CLASS_CONSTRUCTOR:
The class constructor is called by the first access to a class element (method, attribute, event, and object), the (instance) constructor by the creation of an object (CREATE OBJECT).

Friday, August 19, 2011

Using Methods in Class


Methods describe the behavior of objects within a class. With the help of methods, the system provides operations, services and functions. Via methods, a user can manipulate the objects in a class or also the class itself. As for attributes, there are instance-dependent as well as class-dependent (static) methods. ABAP Objects differentiate between instance-dependent and class-dependent methods via the ABAP keywords METHODS or CLASS-METHODS used in the definition part.
In order to carry out instance-dependent (or instance-dependent) methods, the calling program needs a specific instance of the class. That is, the calling program must have a defined reference variable that points to a specific instance. Class methods are not instance-dependent. They can be called at any time by a user. To see how the syntax calls the various method types, see the following example.

Abap Interview Questions

A set of Abap Interview Questions.

Creating BAPI

A step by step procedure to create custom Bapi and register in BOR.

Click the below link to view

Thursday, August 18, 2011

ATTRIBUTES in CLASS


Attributes can take on values within an object at runtime. The sum of all attributes and their values describes the state of an object.
Attributes can be defined as instance dependent as well as Class dependent. Class attributes (Class attributes are also called static attributes.) are not tied to a single instance, rather they "belong" to all instances of the Class. These attributes exist only once in main memory. Instance-dependent attributes exist once per instance and are tied to a single instance.
In ABAP Objects you differentiate between instance-dependent and class-dependent attributes by means of the ABAP keywords DATA or CLASS-DATA to be used in the definition part:  

Creating Web Service

A step by step procedure to create Web Service and test the same.

Click the below link to view.

Thursday, August 11, 2011

Interactive ALV using Class

Interactive ALV Report using Class by implementing Double click Event.The sample code is follows:

Thursday, July 21, 2011

To Display Long Text In ALV

The purpose of this document is to provide an option of “word wrap” to ALV functionality. Other options may be possible; however, they only work around and doesn’t provide end user the flexibility to view the texts in single instance. Few of the other alternatives are listed below –  
·         You can make the column text as link and show truncated text so that even if the whole text in a column is not seen, the user can see the entire text on mouse over.
·         You can implement functionality where in on clicking on the required cell, a popup comes with the entire text.  
However, in the above alternatives, incase end user needs to take print out of the report output, he will miss out the truncated texts.

Wednesday, July 20, 2011

How To Do Implicit Enhancement

Enhancement options are positions where we can add our code, SAP has provides with these positions where we can put our code as per the requirement, we can add an implementation element without modifying the original code of SAP.
Enhancement implantation elements are stored in the package with own transport objects thus avoiding any conflict in modification in later stages.
 Explicit and Implicit Enhancement Options
 Implicit Enhancement options are for free, provided by the framework, while the explicit ones need to be inserted explicitly, as the name indicates.
How To Do Implicit Enhancement
Suppose we want to enhance Fun Mod:
We know Fun Mod 'popup_to_inform' is used to display popup message, I will add one more Fun Mod 'popup_to_confirm'.
And on selecting cancel the program should exit.
1.In SE37.
 2. Screen will look something like this.
 3. Select enhance source code  

 4.Screen will come white & fonts will come Gray, select show_implicit enhancement options.


5. Yellow lines will come, place your cursor on yellow strip & create enhancement.

6. Choose declaration type of enhancement.
7. Now place your required code in this section.

8. Here we have placed one popup to confirm

9. Activate the function module & run you will find the implemented enhancements.
 

How to do Explicit Enhancement

In case of explicit enhancement we can add our enhancements at any place as per our requirement.
Well in our case I don't have any standard program so I am using a Z program & enhancing the code.
Before starting explicit enhancement we have to create:
  •   One enhancement spot.
  •   In enhancement spot we have to implement spot.
  •   All these task to be done under one package.
  •   So I am creating one package in se80 first.
  1.   Right click & create Enhancement Spot.
 2.   Give the name of Enhancement Spot

3.   Now activate the enhancement spot
4.   Right click Enhancement Spots & implement it.
5.   Activate the implementation, Goto SE38 & place the cursor where enhancement is require.
6. Enter Enhancement implementation name in Enhancement Spot name & Package name.
  7.   Now enhancement-point will come in your code with Grey Fonts.
 8.  Select Enhance
9.   Place the cursor on enhancement-point & create enhancement.
10.    Give enhancement Implementation name.
 11.  Place your code & activate. 

 12.  Now run the program you will find the enhancement.
 

Thursday, July 14, 2011

Tuesday, July 12, 2011

Creating user exits for substitutions

Substitutions can be used for validating data at the time of entry in SAP system. This wiki can be used for creating custom user exits so that one can set his validations & conditions. User exits are user defined FORM routines that are used to calculate/replace values with in a substitution .I have shown demo for FI but same steps with some minor modifications can be used for other areas too.
What are substitutions?
Whenever a data is entered in a system, validations are invoked to check  its integrity .Once validations are done, one can substitute the entered value with some other value. This gives you the opportunity of having the system validate values that are to be substituted. A substitution value can be numeric or a string. The system first performs some validations and then substitutions.
Transactions used for substitutions are :                  
 GGB1 :  Substitutions  maintenance.                                                                                                                                                                                                                                                          
 OBBH :  Activation of FI substitutions.
 Substitutions can be performed using three ways:
 1.Constant values.
 2.Field -Field assignment.
 3.User exits.
In this wiki I have shown substitutions implemented using custom user exits.
Steps for creating user exits for  substitutions.
The exits used for  substitutions are stored in a Include program.RGGBS000 is a standard include given by SAP for user exits for substitutions. So for creating custom user exits, one has to copy this include to a 'Z' (Custom namespace) program.
Step1 : Create a copy of include RGGBS000 ,let say ZTEST000.The length of the name you choose should not exceed 8 characters.
Step2 : Define your user exit in the FORM routine GET_EXIT_TITLES with the correct exit type (EXITS-PARAM).
exits-name  = 'U111'.
exits-param = c_exit_param_none.
exits-title = text-100.       "Give any suitable text for your exit
APPEND exits.
Include the EXIT NAME , PARAM and TITLE in the form GET_EXIT_TITLES .This form GET_EXIT_TITLES contains name and titles of all available standard exits. Every new exit need to be  added to this from. One has to specify a parameter type to enable the code generation program to determine correctly how to generate the user exit call ,i.e. How many and what kind of paramter(s) are used in the user exit. The following parameter types exist:
TYPE                                                    Description            
 -------------------------------------------------------------------------------------------------------
 C_EXIT_PARAM_NONE                     Use no parameter except B_RESULT . If you do not want to substitute a field, use this parameter in the substitution .
 C_EXIT_PARAM_FIELD                     Use one field as param. Exactly one field is substituted.
 C_EXIT_PARAM_CLASS                    Use a type as parameter.
Step3: Create a FORM for your exit which will define its functionality.
In form GET_EXIT_TITLES we have define our EXIT-NAME as  'U111'. So wee need to create a FORM with name U111 which will define the functionality of our user exit. Here I am taking a simple example of populating the Item Text (BSEG-SGTXT).
*---------------------------------------------------------------------*
*       FORM U111                                                                  *
*---------------------------------------------------------------------*
*       Populate Item Text (BSEG-SGTXT)                                                             
*---------------------------------------------------------------------*
FORM U111.
  DATA: wl_awkey TYPE  bkpf-awkey.
  CONSTANTS: c_asterisk  TYPE c VALUE '*',
             c_hypen TYPE c VALUE '-'.
  CLEAR wl_awkey.
*-- Removing leading zeros
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
    EXPORTING
      input  = bkpf-awkey
    IMPORTING
      output = wl_awkey.
*-- Set the item text
  CONCATENATE c_asterisk bseg-zuonr c_hypen wl_awkey INTO bseg-sgtxt.
ENDFORM.                                                    "U111
You need to be cautious when writing code for your user exit. No dialog boxes, warning messages, information or error messages must be issued in an exit. Do not use any ABAP commands that cause you to leave the exit directly, for example LEAVE TO SCREEN. In the includes of the substitution exits, you must not use the commands MODIFY, INSERT or DELETE in the internally used structures such as BSEG or BKPF. These structures are interpreted internally as database tables because they are defined by a TABLES statement. As a result, the system writes, deletes or changes database records if you use the commands mentioned above. This can cause serious inconsistencies and problems in the document processing. If you want to change field contents in the exit type C_EXIT_PARAM_CLASS, you should make the changes in the internal table BOOL_DATA (for example BOLL_DATA-BSEG).
Step 4:Run transaction GCX2 to update IMG to use your new program instead of Standard SAP program for substitution exits.
Alternatively you can use   SPRO for  updating IMG. Run SPRO- Financial Accounting (New) - Special Purpose Ledger -Basic Settings - User Exits - Maintain Client Specific User Exits.
Update the program name RGGBR000 with your new program ZTEST000 for application area GBLS. Now you can use this user exit for substitutions.

How to use custom user exit for a substitution?
Go to transaction GGB1.Here you can create\change a substitution . I am not going in detail for creating a  substitution .Specify the user exit(Highlighted area in red) for a field that is to be substituted buy your exit .
 Also you can see the list of all the user exit on pressing F4 on the highlighted area in red. If your user exit is in active state, then it will be visible there. Once you have done the changes ,Save it. Now your user exit will be invoked automatically for that field.

Downloading internal tables as XML

This is simple program to convert Internal table into XML and download the same in local drive or to FTP.

Thursday, June 23, 2011

Downloading internal tables to Excel

We can use the function module XXL_FULL_API to downlpad internal table into Excel File. The Excel sheet which is generated by this function module contains the column headings and the key columns are highlighted with a different color. Other options that are available with this function module are we can swap two columns or supress a field from displaying on the Excel sheet. The simple code for the usage of this function module is given below.

Tuesday, June 21, 2011

Monday, May 16, 2011

Important Tables in SAP FI

Financial Accounting
Table Name           Description                           Important Fields
Financial Accounting
FBAS             Financial Accounting “Basis”
BKPF             Accounting Document Header              BUKRS / BELNR / GJAHR
BSEG             Accounting Document Segment             BUKRS / BELNR / GJAHR / BUZEI
BSIP             Index for Vendor Validation of Double   BUKRS / LIFNR / WAERS / BLDAT /
                 Documents                               XBLNR / WRBTR / BELNR / GJAHR / BUZEI
BVOR             Inter Company Posting Procedure         BVORG / BUKRS / GJAHR / BELNR
EBKPF            Accounting Document Header (docs from   GLSBK / BELNR / GJHAR / GLEBK
                 External Systems)
FRUN             Run Date of a Program                   PRGID
KLPA             Customer / Vendor Linking               NKULI / NBUKR / NKOAR / PNTYP
                                                         / VKULI / VBUKR / VKOAR

KNB4             Customer Payment History                KUNNR / BUKRS
KNB5             Customer Master Dunning Data            KUNNR / BUKRS / MABER
KNBK             Customer Master Bank Details            KUNNR / BANKS / BANKL / BANKN
KNC1             Customer Master Transaction Figures     KUNNR / BUKRS / GJHAR
KNC3             Customer Master Special GL Transactions KUNNR / BUKRS / GJAHR / SHBKZ
                 Figures
LFB5             Vendor Master Dunning Data              LIFNR / BUKRS / MABER
LFBK             Vendor Master Bank Details              LIFNR / BANKS / BANKL / BANKN
LFC1             Vendor Master Transaction Figures       LIFNR / BUKRS / GJHAR
LFC3             Vendor Master Special GL Transactions   LIFNR / BUKRS / GJHAR / SHBKZ
                 Figures
VBKPF            Document Header for Document Parking    AUSBK / BUKRS / BELNR / GJHAR
FBASCORE         Financial Accounting General Services “Basis”
KNB1             Customer Master (Company Code)          KUNNR / BUKRS
LFA1             Vendor Master (General Section)         LIFNR
LFB1             Vendor Master (company Code Section)    LIFNR / BUKRS
SKA1             G/L Account Master (Chart of Accounts)  KTOPL / SAKNR
SKAT             G/L Account Master (Chart of Accounts – SPRAS / KTOPL / SAKNR
                 Description)
MAHNS            Accounts Blocked by Dunning Selection   KOART / BUKRS / KONKO / MABER
MHNK             Dunning Data (Account Entries)          LAUFD / LAUFI / KOART / BUKRS /
                                                         KUNNR / LIFNR / CPDKY / SKNRZE /
                                                         SMABER / SMAHSK / BUSAB
FI-GL-GL (FBS)   General Ledger Accounting: Basic Functions- G/L Accounts
SKAS             G/L Account Master (Chart of Accounts – SPRAS / KTOPL / SAKNR / SCHLW
                 Key Word list)
SKB1             G/L Account Master (Company Code)       BUKRS / SAKNR
FI-GL-GL (FBSC)  General Ledger Accounting: Basic
                 Functions - R/3 Customizing for G/L Accounts
FIGLREP          Settings for G/L Posting Reports        MANDT
TSAKR            Create G/L account with reference       BUKRS / SAKNR
FI-GL-GL (FFE)   General Ledger Accounting: Basic
                 Functions - Fast Data Entry
KOMU             Account Assignment Templates for G/L    KMNAM / KMZEI
                 Account items
FI-AR-AR (FBD)   Accounts Receivable: Basic Functions - Customers                 
KNKA             Customer Master Credit Management :     KUNNR
                 Central Data
KNKK             Customer Master Credit Management :     KUNNR / KKBER
                 Control Area Data
KNKKF1           Credit Management : FI Status data      LOGSYS / KUNNR / KKBER / REGUL
RFRR             Accounting Data – A/R and A/P           RELID / SRTFD / SRTF2
                 Information System
FI-BL-PT         Bank Accounting: Payment (BFIBL_CHECK_D)  Transactions – General Sections
PAYR             Payment Medium File                     ZBUKR / HBKID / HKTID / RZAWE /
                                                         CHECT
PCEC             Pre-numbered Check                      ZBUKR / HBKID / HKTID / STAPL
FI-BL-PT-AP(FMZA)Bank Accounting: Payment Transactions – Automatic Payments                 
F111G            Global Settings for Payment Program for MANDT
                 Payment Requests
FDZA             Cash Management Line Items in Payment   KEYNO
                 Requests
PAYRQ            Payment Requests                        KEYNO
 
 
Table name :  SKB1 : G/L Account Master ( Company Code)

Fields:

     BUKRS : Company Code  

     SAKNR : G/L Account 

   

Table name :  SKA1 : G/L Account Master ( Chart of Accounts )

Fields:   

     KTOPL : Char of Accounts  

     SAKNR : G/L Account 

  

Table name :  SKAT : G/L Account Master Record ( Chart of Accounts)
: Description )

Fields:

     SPRAS : Language

     KTOPL : Char of Accounts  

     SAKNR : G/L Account 

Monday, May 9, 2011

Maintenance Object Attributes

Within Transaction SOBJ you can maintain the object attribute 'Current Settings'. If you set this flag for a specific object, you can maintain the data of this object within a production client, where no changes are allowed. Current Settings are only working within a client with 'Client role' Production. Within clients with another role the flag 'Current Settings' has no effect. The role of the client can be seen with transaction SCC4 within field 'Client role'.
In production clients normally changes to repository objects are not allowed. Start transaction SCC4, double-click the line with the production client, take a look into frame 'Cross-Client Object Changes'. If one of those options is set, changes to repository objects are not allowed: (1 No changes to cross-client Customizing objects; 2 No changes to Repository objects). Therefore the flag 'Current Settings' needs to be set within your development system. Afterwards transport those settings to your production system.
The amount of objects, which has set the flag 'Current Settings' will be defined by SAP and represents the most commonly used requirements of our customers.

SAP Customizing Tools Overview

Application component Description Transactions Description
BC-CUS-TOL-ALO Activity Log SCU3 Table History
BC-CUS-TOL-BCD Business Configuration Sets SCPR3
SCPR20
SCPR20PR
Display and maintain BC Sets
Activate BC Sets
BC Set Activation Logs
BC-CUS-TOL-CST Cross-System Tools SCU0
SCMP
Customizing Cross-System Viewer
View/Table Comparison
BC-CUS-TOL-ECP Copy Function Entities EC01 to EC16 Org.Object Copier:...
BC-CUS-TOL-HMT Hierarchy Repository    
BC-CUS-TOL-IMG Implementation Guide SPRO
SST0
Customizing - Edit Project
Project Analysis in Customizing
BC-CUS-TOL-NAV Business Navigator    
BC-CUS-TOL-PAD Project Administration (IMG) SPRO_ADMIN Customizing - Project Management
BC-CUS-TOL-TME View Maintenance Tool SM30
SM34
SE54
SOBJ
Call View Maintenance
Viewcluster maintenance call
Generate table view
Maintenance Object Attributes

Table History

With transaction SCU3 you can evaluate change logs of table data records.

Thursday, April 21, 2011

Change log History Done in SE16N

In SE16N you can change SAP tables directly. I explained how to do  in a previous post edit table . I also warned for the risks involved in doing this. Luckily direct changes in SAP tables are also logged, so you can trace back to the culprit who messed things up. You can query the following SAP tables to report on hacks:
SE16N_CD_KEY : Change Documents – Header
SE16N_CD_DATA : Change Documents – Data

Edit SAP tables

No matter security on table editing. When in transaction SE16N use the command &SAP_EDIT in the command field in SAP and off you go: edit table content directly.

Tuesday, April 19, 2011

DEVELOPERS' TRANSACTION CODES

DEVELOPERS' TRANSACTION CODES:

Create & Delete folder on presentation server

This small piece of code help to create and delete folder on Presentation Server.

Deleting file from Windows

This small piece of code can help to delete any file from windows directory.

Converting Scripts Output Into Pdf Form

A SIMPLE PROGRAM TO CONVERTING SCRIPT FORM OUTPUT INTO PDF FORMATE.

Useful SAP System Administration Transactions


Useful SAP System Administration Transactions

TCODE
DESCRIPTION
AL01 SAP Alert Monitor
AL02 Database alert monitor
AL03 Operating system alert monitor
AL04 Monitor call distribution
AL05 Monitor current workload
AL06 Performance: Upload/Download
AL07 EarlyWatch Report
AL08 Users Logged On
AL09 Data for database expertise
AL10 Download to Early Watch
AL11 Display SAP Directories
AL12 Display table buffer (Exp. session)
AL13 Display Shared Memory (Expert mode)
AL15 Customize SAPOSCOL destination
AL16 Local Alert Monitor for Operat.Syst.
AL17 Remote Alert Monitor for Operat. Syst.
AL18 Local File System Monitor
AL19 Remote File System Monitor
AL20 EarlyWatch Data Collector List
AL21 ABAP Program analysis
AL22 Dependent objects display
CREF Cross-reference
BD64 Create a distribution model
BSVW Linkage Status Update-Workflow Event
CMOD Enhancements
DB01 Analyze exclusive lock waits
DB02 Analyze tables and indexes
DB03 Parameter changes in database
DB11 Early Watch Profile Maintenance
DB12 Overview of Backup Logs
DB13 Database administration calendar
DB14 Show SAPDBA Action Logs
DB15 Data Archiving: Database Tables
DB16 DB System Check: Monitor
DB17 DB System Check: Configuration
DMIG Start Transaction for Data Migration
DB2 Select Database Activities
DB20 DB Cost-Based Optimizer: Tab. Stats
DB21 DB Cost-Based Optimizer: Config.
DB24 Database Operations Monitor
DB26 DB Profile:Monitor and Configuration
DB2J Manage JCL jobs for OS/390
DBCO Database Connection Maintenance
FILE Cross-Client File Names/Paths
NACE WFMC: Initial Customizing Screen
OAA1 SAP ArchiveLink: Maint.user st.syst
OAA3 SAP ArchiveLink protocols
OAA4 SAP ArchiveLink applic.maintenance
OAAD ArchiveLink Administration Documents
OAC2 SAP ArchiveLink: Globaldoc. types
OAC5 SAP ArchiveLink: Bar code entry
OACA SAP ArchiveLink workflow parameters
OAD0 SAP ArchiveLink: Objectlinks
OAD2 SAP ArchiveLink document classes
OAD3 SAP ArchiveLink: Link tables
OAD4 SAP ArchiveLink: Bar code types
OAD5 SAP ArchiveLink: Customizing Wizard
OADR SAP ArchiveLink: Print list search
OAM1 SAP ArchiveLink: Monitoring
OAOR SAP ArchiveLink: Storeddocuments
OARE SAP ArchiveLink:St.syst.return codes
OS01 LAN check with ping
OS03 O/S Parameter changes
OS04 Local System Configuration
OS05 Remote System Cconfiguration
OS06 Local Operating System Activity
OS07 Remote Operating SystemActivity
OSS1 Logon to Online ServiceSystem
OY18 Table history
OY08 Development Class Overview
PFCG Activity Group
PFUD Authorization Profile comparison
RLOG Data migration logging
RZ01 Job Scheduling Monitor
RZ02 Network Graphics for SAP Instances
RZ03 Presentation, Control SAP Instances
RZ04 Maintain SAP Instances
RZ06 Alerts Thresholds Maintenance
RZ08 SAP Alert Monitor
RZ10 Maintenance of profile parameters
RZ11 Profile parameter maintenance
RZ12 Maintain RFC Server Group Assignment
RZ20 CCMS Monitoring
RZ21 Customize CCMS Alert Monitor
SA38 ABAP/4 Reporting
SAD0 Address Management call
SADC Address: Maint. communication types
SALE Display ALE Customizing
SAIN Plug-in Installation
SARI Archive Information System
SAR3 Customizing Archiving
SAR4 Define Archiving Class
SAR5 Assign Archiving Class
SAR6 Archiving Time Generator
SARA Archive management
SARL Call of ArchiveLink Monitor
SARP Reporting (Tree Structure): Execute
SART Display Reporting Tree
SB01 Business Navigator - Component View
SB02 Business Navigator - Process flow vw
SBAS Assignments to Process Model Elemts
SC38 Start Report Immediately
SCAT Computer Aided Test Tool
SCC0 Client Copy
SCC1 Client Copy - Special Selections
SCC2 Client transport
SCC3 Client Copy Log
SCC4 Client administration
SCC5 Client Delete
SCC6 Client Import
SCC7 Client Import - Post Processing
SCC8 Client Export
SCC9 Remote Client Copy
SCCL Local Client Copy
SCDO Display Change DocumentObjects
SCMP View / Table Comparison
SCOM SAPcomm: Configuration
SCON SAPconnect - Administration
SCPF Generate enterprise IMG
SCPR Customizing Profiles : Maintenance Tool
SCPR Comparing Customizing profiles
SCUA Central User Administration : Distribution Model Assigment
SCUG Central User Administration Structure Display
SCUL Idoc distribution log
SCUM Central User Administration Field Selection
SCU0 Table Analyses And Comparison
SCU1 Table Comparison - Export to Tape
SCU2 Table Comparison Against Tape
SCU3 Table History
SD11 Data Modeler
SDBE Explain an SQL Statement
SECR Audit Information System
SE01 Transport and Correction System
SE02 Environment Analyzer
SE03 Transport Utilities
SE06 Set up Workbench Organizer
SE07 Transport System Status Display
SE09 Workbench Organizer (Initial Screen)
SE10 Customizing Organizer
SE11 Data Dictionary Maintenance
SE12 Data Dictionary Display
SE13 Maintain Technical Settings (Tables)
SE14 Convert Data Dictionary tables on Database Level
SE15 Repository Info System
SE16 Display Table Content
SE17 Generate Table Display
SE30 ABAP Objects Runtime Analysis
SE32 ABAP Text Element Maintenance
SE33 Context Builder
SE35 ABAP/4 Dialog Modules
SE36 Logical databases
SE37 ABAP Function Modules
SE38 ABAP Editor
SE39 Splitscreen Editor: Program Compare
SE40 MP: Standards Maint. and Translation
SE41 Menu Painter
SE43 Maintain Area Menu
SE51 Screen Painter
SE52 Parameterized screenpainter call
SE54 Generate table view
SE55 Internal table view maintenance call
SE56 internal call: display table view
SE57 internal delete table view call
SE61 R/3 Documentation
SE62 Industry Utilities
SE63 Translation: Initial Screen
SE71 SAPscript form
SE72 SAPscript Styles
SE73 SAPscript font maintenance (revised)
SE74 SAPscript format conversion
SE75 SAPscript Settings
SE76 SAPscript: Form Translation
SE77 SAPscript Translation Styles
SE78 SAPscript: Graphics administration
SE80 Object Navigator
SE81 Application Hierarchy
SE82 Application Hierarchy
SE84 R/3 Repository Information System
SE85 ABAP/4 Repository Information System
SE86 ABAP Repository Information System
SE88 Development Coordination Info System
SE89 Maintain Trees in Information System
SE91 Maintain Messages
SE92 New SysLog Msg Maintenance as of 46A
SE93 Maintain Transaction Codes
SE94 Customer enhancement simulation
SE95 Modification Browser
SEPS SAP Electronic Parcel Service
SERP Reporting: Change Tree Structure
SEU Repository Browser
SF01 Client-Specific File Names
SFAW Field Selection Maintenance
SIAC Web Object Administration
SHDB Record Batch Input
SICK Installation Check
SIN1 SAPBPT: Inbox
SINA SAPBPT: Maintain Standard Config.
SLG0 Application Log: ObjectMaintenance
SLIN ABAP: Extended Program Check
SM01 Lock Transactions
SM02 System Messages
SM04 User Overview
SM12 Display and Delete Locks
SM13 Display Update Records
SM14 Update Program Administration
SM21 System log
SM23 System Log Analysis
SM28 Installation Check
SM29 Model Transfer for Tables
SM30 Call Up View Maintenance
SM31 Table maintenance
SM31_OLD Old Table Maintenance
SM32 Maintain Table Parameter ID TAB
SM33 Display Table ParameterID TAB
SM34 Viewcluster maintenancecall
SM35 Batch Input Monitoring
SM36 Batch request
SM37 Background job overview
SM38 Queue Maintenance Transaction
SM39 Job analysis
SM49 Execute Logical Commands
SM50 Work Process Overview
SM51 List of SAP Servers
SM54 TXCOM maintenance
SM55 THOST maintenance
SM56 Number Range Buffer
SM58 Asynchronous RFC Error Log
SM59 RFC Destinations (Display/Maintain)
SM60 Borrow/Return Objects
SM61 Backgroup control objects monitor
SM62 Create SAP events
SM63 Display/Maintain Operating Mode Sets
SM64 Release of an event
SM65 Background Processing Analysis Tool
SM66 System-wide Work Process Overview
SM67 Job scheduling
SM68 Job administration
SM69 Display/Maintain Logical Commands
SMEN Dynamic menu
SMGW Gateway Monitor
SMLG Maintain Logon Group
SMLI Language import utility
SMLT Language transport utility
SMOD SAP Enhancement Management
SMT1 Trusted Systems (Display <-> Maint.)
SMT2 Trusting systems (Display <->Maint.)
SMW0 SAP Web Repository
SMX Display Own Jobs
SNRO Number Range Objects
SO02 SAPoffice: Outbox
SO03 SAPoffice: Private Folders
SO04 SAPoffice: Shared Folders
SO05 SAPoffice: Private Trash
SO06 SAPoffice: Substitutionon/off
SO07 SAPoffice: Resubmission
SO10 SAPscript: Standard Texts
SO12 SAPoffice: User Master
SO13 SAPoffice: Substitute
SO15 SAPoffice: DistributionLists
SO16 SAPoffice: Profile
SO17 SAPoffice: Delete Shared Trash
SO18 SAPoffice: Shared Trash
SO19 SAPoffice: Default Documents
SO21 Maintain PC Work Directory
SO22 SAPoffice: Delete PC Temp. Files
SO23 SAPoffice: DistributionLists
SO24 SAPoffice: Maintenance of default PC
SO28 Maintain SOGR
SO30 SAPoffice: Reorg.
SO31 Reorganization (daily)
SO36 Create Automatic Forwarding
SO38 SAPoffice: Synchr. of Folder Auths.
SO40 SAPoffice: Cust. LayoutSet MAIL
SO41 SAPoffice: Cust. LayoutSet TELEFAX
SO42 SAPoffice: Cust.Layout Set TELEFAX_K
SO43 SAPoffice: Cust.Layout Set TELEFAX_M
SO44 SAPoffice: Cust. LayoutSet TELEX
SO70 Hypertext: Display/Maint. Structure
SO71 Test plan management
SO72 Maintain Hypertext Module
SO73 Import graphic into SAPfind
SO80 SAPfind: Free Text Retrieval Dialog
SO81 SAPfind: Free Text Indexing (Test)
SO82 SAPfind: Free Text Retrieval Batch
SO95 Pregenerated Search Queries - Selec.
SO99 Put Information System
SOA0 ArchiveLink Workflow document types
SOBJ Attribute Maintenance Objects
SOLE OLE Applications
SOLI Load OLE type info
SOPE Exclude Document Classes
SOTD SAPoffice: Maintain Object Types
SOY1 SAPoffice: Mass Maint. Users
SOY2 SAPoffice: Statistics data collect.
SOY3 SAPoffice: Statistics Evaluation
SOY4 SAPoffice: Access overview
SOY5 SAPoffice: Inbox overview
SOY6 SAPoffice: Document overview
SOY7 SAPoffice: Folder overview
SOY8 SAPoffice: Mass Archiving
SOY9 SAPoffice: Inbox Reorg.
SOYA SAPoffice: Change folder owner
SP00 Spool and Relate Area
SP01 Spool Control
SP02 Display output Requests
SP03 Spool: Load Formats
SP11 TemSe Contents
SP12 TemSe Administration
SPAD Spool Management
SPAM SAP Patch Manager (SPAM)
SPAU Display Modified DE Objects
SPCC Spool Consistency check
SPDD Display Modified DDIC objects
SPHA Telephony administration
SPIC Spool : Installation Check
SPRM Current Customizing
SPRO Customizing
SQ01 SAP Query: Maintain queries
SQ02 SAP Query: Maintain funct. areas
SQ03 SAP Query: Maintain user groups
SQ07 SAP Query: Language comparison
SQVI QuickViewer
SSAA System Administration Assistant
SSCA Appointment Diary: Administration
SRZL CCMS
SSM1 Session Manager generation call
SSM5 Create Activity Group
ST01 System Trace
ST02 Setups/Tune Buffers
ST03 Performance, SAP Statistics, Workload
ST04 Select activity of the databases
ST05 SQL Trace
ST06 Operating System Monitor
ST07 Application monitor
ST08 Network Monitor
ST09 Network Alert Monitor
ST10 Table Call Statistics
ST11 Display Developer Traces
ST12 Application Monitor
ST14 Application Analysis
ST22 ABAP Runtime Error Analysis
ST22 ABAP/4 Runtime Error Analysis
ST62 Create industry short texts
STAT Local transaction statistics
STMS Transport Management System
STUN Performance Monitoring
STW1 Test Workbench: Test catalog
STW2 Test workbench: Test plan
STW3 Test workbench: Test package
STW4 Test Workbench: Edit test package
STW5 C maintenance table TTPLA
STZA Maintain time zone act.in client
STZA Disp.time zone activat.in client
SUMM Global User Manager
SU01 Maintain User
SU01 Display users
SU02 Maintain Authorization Profiles
SU03 Maintain Authorizations
SU05 Maintain Internet Users
SU10 Mass changes to User Master
SU11 Maintain Authorizations
SU12 Mass Changes to User Master Records
SU2 Maintain User Parameter
SU20 Maintain Authorization Fields
SU21 Maintain Authorization Objects
SU22 Auth. object usage in transactions
SU24 Disables Authorization Checks
SU25 Imports SAP Check Indicators defaults
SU26 Adjust Authorization checks
SU30 Total checks in the area of auth.
SU52 Maintain own user parameters
SU53 Display check values
SU54 List for Session Manager
SU56 Analyze User Buffer
SUPC Profiles for activity groups
SUPF Integrated User Maintenance
SUPO Maintain Organization Levels
SUIM Repository Info System
SWDC Workflow Definition
SXDA Data Transfer Workbench
TU02 Display Active Parameters
USMM Customer measurement