<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic oops concepts in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops-concepts/m-p/2933176#M691157</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i want complete idea regarding oops concepts . i.e  where it can be used in abap ?&lt;/P&gt;&lt;P&gt;&amp;amp; how it can be used in abap ?&lt;/P&gt;&lt;P&gt;what are it's complete features ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;plz send me with all deatails .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 24 Oct 2007 11:11:50 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-10-24T11:11:50Z</dc:date>
    <item>
      <title>oops concepts</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops-concepts/m-p/2933176#M691157</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;i want complete idea regarding oops concepts . i.e  where it can be used in abap ?&lt;/P&gt;&lt;P&gt;&amp;amp; how it can be used in abap ?&lt;/P&gt;&lt;P&gt;what are it's complete features ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;plz send me with all deatails .&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Oct 2007 11:11:50 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/oops-concepts/m-p/2933176#M691157</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-24T11:11:50Z</dc:date>
    </item>
    <item>
      <title>Re: oops concepts</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops-concepts/m-p/2933177#M691158</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Refer these basics&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OO ABAP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/abap/OO/eg.htm" target="test_blank"&gt;http://www.sapgenie.com/abap/OO/eg.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/abap/OO/syntax.htm" target="test_blank"&gt;http://www.sapgenie.com/abap/OO/syntax.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/abap/OO/index.htm" target="test_blank"&gt;http://www.sapgenie.com/abap/OO/index.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/abap/OO/defn.htm" target="test_blank"&gt;http://www.sapgenie.com/abap/OO/defn.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Detailed&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;OOPS &amp;#150; OO ABAP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt" target="test_blank"&gt;http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf" target="test_blank"&gt;http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf" target="test_blank"&gt;http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt" target="test_blank"&gt;http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf" target="test_blank"&gt;http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt" target="test_blank"&gt;http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8" target="test_blank"&gt;http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw2004s/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw2004s/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Oct 2007 11:14:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/oops-concepts/m-p/2933177#M691158</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-24T11:14:59Z</dc:date>
    </item>
    <item>
      <title>Re: oops concepts</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops-concepts/m-p/2933178#M691159</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;ABAP &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(Advanced Business Application Programming) is a programming language for developing applications for the SAP R/3 system, a widely-installed business application subsystem. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The latest version, ABAP Objects, is object-oriented programming. SAP will run applications written using ABAP/4, the earlier ABAP version, as well as applications using ABAP Objects. &lt;/P&gt;&lt;P&gt;SAP's original business model for R/3 was developed before the idea of an object-oriented model was widespread. The transition to the object-oriented model reflects an increased customer demand for it. ABAP Objects uses a single inheritance model and full support for object features such as encapsulation, polymorphism, and persistence. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ABAP Objects &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ABAP Objects is a new concept in R/3 System and you can find its two distinct meanings --- one is for the entire ABAP runtime environment and the other represents the new object-oriented generation of this language.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Runtime Environment&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ABAP Objects, for the entire ABAP runtime environment, are an indication of how SAP has, for sometime, been moving towards object orientation. Object-oriented techniques have been used exclusively in system design. The ABAP language did not support these techniques earlier.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The ABAP Workbench will allow creating R/3 Repository objects in this regard. These objects are programs, authorization objects, lock objects, customizing objects, and so on and so forth. By using function modules, one can also encapsulate functions in separate programs with a defined lnterface. The Business Object Repository (BOR) allows you to create SAP Business Objects for internal and external use.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Object-Oriented Language Extension &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ABAP Objects support object-oriented programming. The ABAP Objects is a complete set of object-oriented statements, which has been introduced into the ABAP language. This object-oriented extension of ABAP builds on the existing language and is fully compatible with it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Object Orientation (OO), also known as the object-oriented paradigm, is a programming model that unites data and functions in objects. You can not only use ABAP Objects in existing programs, but also work with and use a conventional ABAP in new ABAP Objects programs. The rest of the ABAP language is primarily intended for structured programming, where data is stored in a structured form in database tables and function-oriented programs access and work with it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Moreover, we should know that the object-oriented enhancement of ABAP is based on the models of Java and C++. It is compatible with external object interfaces such as DCOM and CORBA. The implementation of object-oriented elements in the kernel of the ABAP language has considerably increased response times when you work with ABAP Objects. Some other objects, such as SAP Business Objects and GUI objects, which are already object-oriented by themselves, are also benefiting from being incorporated into ABAP Objects.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;About Classes &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The classes are templates for objects. An abstract description of an object is the class. You could say it is a set of instructions for building an object. The attributes of objects are defined by the components of the class, which describe the state and behavior of objects.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Local and Global Classes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;In ABAP Objects, classes can be declared either globally or locally. You define global classes and interfaces in the Class Builder (Transaction SE24.} in the ABAP Workbench. In the R/3 Repository, they are stored centrally in class pools in the class library. In an R/3 System, all of the ABAP programs can access the global classes. The local classes are defined within an ABAP program. Local classes and interfaces can only be used in the program in which they are defined. When you use a class in an ABAP program, the system first searches for a local class with the specified name. If it does not find one, then it looks for a global class. Apart from the visibility question, there is no difference between using a global class and using a local class.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, there is a significant difference in the way that local and global classes are designed. If you are defining a local class that is only used in a single program, then to define the outwardly visible components so that it fits into that program is usually sufficient. On the other hand, global classes must be able to be used anywhere. Since the system must be able to guarantee any program using an object of a global class, it can recognize the data type of each interface parameter and then certain restrictions are applied at the time of defining the interface of a global class.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Defining Local Classes &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Local classes consist of ABAP source code, where the ABAP statements CLASS...ENDCLASS are enclosed. A complete class definition consists of the following parts, a declaration part and, if required, an implementation part. It is found that the declaration part of a class . Events have a similar parameter interface to methods, but only have output parameters. These parameters are passed by the trigger (RAISE EVENT statement) to the event handler method, which receives them as input parameters.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using the SET HANDLER statement, the link between trigger and handler is established dynamically in a program. The trigger and handlers can be objects or classes, depending on whether you have instance or static events and event handler methods. When an event is triggered, the corresponding event handler methods are executed in all registered handling classes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Features &lt;/P&gt;&lt;P&gt;&lt;A href=" Back To Top "&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Encapsulation &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The three visibility areas (public section, protected section, private section) are the basis for one of the important features of object orientation, Encapsulation. You should take great care in designing the public components and try to declare as few public components as possible when you define a class. Once you have released the class, the public components of global classes may not be changed.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Public attributes are visible externally and form a part of the interface between an object and its users. If you want to encapsulate the state of an object fully, then you cannot declare any public attributes. Apart from defining the visibility of an attribute, you can also protect it from changes using the READ-ONLY addition.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Inheritance&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Inheritance allows you to derive a new class from an existing class. It is done by using the INHERITING FROM addition in the statement:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS . The new class is called the subclass of the class from which it is derived. The original class is called the superclass of the new class. It contains the same components as the superclass if you do not add any new declarations to the subclass. However, in the subclass only the public and protected components of the superclass are visible. The private components of the superclass are not visible though they exist in the subclass. You can declare private components in a subclass that have the same names as private components of the superclass. It is seen that each class works with its own private components. The another point that we note is that methods which a subclass inherits from a superclass use the private attributes of the superclass and not any private components of the subclass with the same names.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The subclass is an exact replica of the superclass if the superclass does not have any private visibility section. However, you can add a new component to the subclass because it allows you to turn the subclass into a specialized version of the superclass. If a subclass is itself the superclass of further classes, then you can introduce a new level of specialization.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Polymorphism&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reference variables are defined with reference to a superclass or an interface defined with reference to it can also contain references to any of its subclasses. A reference variable defined with reference to a superclass or an interface implemented by a superclass can contain references to instances of any of its subclasses, since subclasses contain all of the components of all of their superclasses and also convey that the interfaces of methods cannot be changed. In particular, you can define the target variable with reference to the generic class OBJECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Using the CREATE OBJECT statement, when you create an object and a reference variable typed with reference to a subclass then you can use the TY PE addition to which the reference in the reference variable will point.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A reference variable can be used by a static user to address the components visible to it in the superclass to which the reference variable refers. However, any specialization implemented in the subclass cannot be addressed by it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Depending on the position in the inheritance tree at which the referenced object occurs, you can use a single reference variable to call different implementations of the method. This is possible only if you redefine an instance method in one or more subclasses. This concept is called polymorphism, in which different classes can have the same interface and, therefore, be addressed using reference variables with a single type.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Conclusion &lt;/P&gt;&lt;P&gt;&lt;A href=" Back To Top "&gt;&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have explained object orientation which is such an important aspect in SAP. The discussion began with the features of Object Orientation and includes the runtime environment, the language extension, the classes and the class components. Apart from that I have also discussed for new first time readers event handling, inheritance encapsulation and polymorphism.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Oct 2007 11:15:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/oops-concepts/m-p/2933178#M691159</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-24T11:15:37Z</dc:date>
    </item>
    <item>
      <title>Re: oops concepts</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/oops-concepts/m-p/2933179#M691160</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;programming technique in which solutions reflect real world objects&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What are objects ?&lt;/P&gt;&lt;P&gt;An object is an instantiation of a class. E.g. If &amp;#147;Animal&amp;#148; is a class, A cat &lt;/P&gt;&lt;P&gt;can be an object of that class .&lt;/P&gt;&lt;P&gt;With respect to code, Object refers to a set of services ( methods / &lt;/P&gt;&lt;P&gt;attributes ) and can contain data &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What are classes ?&lt;/P&gt;&lt;P&gt;A class defines the properties of an object. A class can be instantiated &lt;/P&gt;&lt;P&gt;as many number of times &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Advantages of Object Orientated approach &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Easier to understand when the system is complex&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Easy to make changes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Encapsulation - Can restrict the visibility of the data ( Restrict the access to the data )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Polymorphism - Identically named methods behave differently in different classes&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Inheritance - You can use an existing class to define a new class&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Polymorphism and inheritance lead to code reuse &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Classes in abap&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Classes in ABAP are either local or global&lt;/P&gt;&lt;P&gt;Global classes are declared in class builder (SE24 )&lt;/P&gt;&lt;P&gt;Local classes are declared within programs&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Components of a class &lt;/P&gt;&lt;P&gt;Attributes : Internal data fields of class &lt;/P&gt;&lt;P&gt;Attributes can be either instance attributes &amp;#150; specific to each instance of the class ( object ) or static attributes which are common to all instances &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Methods : &lt;/P&gt;&lt;P&gt;Subroutines / procedures in a class that define the behavior of the object. Methods can also be instance methods or static methods&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Encapsulation in ABAP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Encapsulation is obtained through the restriction in visibility of attributes / methods attained through the definition of Public, Private and Protected section of a class&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Public Section&lt;/P&gt;&lt;P&gt;All of the components declared in the public section are accessible to all users of the class, and to the methods of the class and any classes that inherit from it. The public components of the class form the interface between the class and its users.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Protected Section&lt;/P&gt;&lt;P&gt;All of the components declared in the protected section are accessible to all methods of the class and of classes that inherit from it. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Private Section&lt;/P&gt;&lt;P&gt;Components that you declare in the private section are only visible in the methods of the same class. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Inheritance in ABAP &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Inheritance allows you to derive a class based on an already existing class. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CLASS &amp;lt;subclass&amp;gt; DEFINITION INHERITING FROM &amp;lt;superclass&amp;gt;. &lt;/P&gt;&lt;P&gt;&amp;#133;..&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;CLASS &amp;lt;subclass&amp;gt; IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&amp;#133;&amp;#133;&lt;/P&gt;&lt;P&gt;ENDCLASS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;All attributes / methods of super class become the property of the subclass too. Only public and protected attributes / methods are visible in the subclass&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Polymorphism in ABAP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;When methods with same name perform differently under different&lt;/P&gt;&lt;P&gt;circumstances we call it polymorphism.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Methods redefined in a subclass is an example for Polymorphism&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Interfaces&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Interfaces are used to define the model of a class.&lt;/P&gt;&lt;P&gt;They also like classes can be either local or global.&lt;/P&gt;&lt;P&gt;Global interfaces are defined through SE24 and local interfaces are defined in program.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please check this online document (starting page 1291).&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf" target="test_blank"&gt;http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also check this links as well.&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw2004s/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw2004s/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/abap/OO/" target="test_blank"&gt;http://www.sapgenie.com/abap/OO/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.futureobjects.de/content/intro_oo_e.html" target="test_blank"&gt;http://www.futureobjects.de/content/intro_oo_e.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm" target="test_blank"&gt;http://www.sap-img.com/abap/business-add-in-you-need-to-understand-abap-oo-interface-concept.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;/people/ravikumar.allampallam/blog/2005/02/11/abap-oo-in-action&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;check the below links lot of info and examples r there&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/abap/OO/index.htm" target="test_blank"&gt;http://www.sapgenie.com/abap/OO/index.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.geocities.com/victorav15/sapr3/abap_ood.html" target="test_blank"&gt;http://www.geocities.com/victorav15/sapr3/abap_ood.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.brabandt.de/html/abap_oo.html" target="test_blank"&gt;http://www.brabandt.de/html/abap_oo.html&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Check this cool weblog:&lt;/P&gt;&lt;P&gt;/people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt" target="test_blank"&gt;http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/abap/OO/" target="test_blank"&gt;http://www.sapgenie.com/abap/OO/&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.sapgenie.com/abap/OO/index.htm" target="test_blank"&gt;http://www.sapgenie.com/abap/OO/index.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For funtion module to class&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5954f411d194a60000e8353423/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5954f411d194a60000e8353423/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for classes&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5c54f411d194a60000e8353423/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5c54f411d194a60000e8353423/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for methods&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/08/d27c03b81011d194f60000e8353423/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/08/d27c03b81011d194f60000e8353423/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for inheritance&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/dd/4049c40f4611d3b9380000e8353423/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/dd/4049c40f4611d3b9380000e8353423/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;for interfaces&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b6254f411d194a60000e8353423/content.htm" target="test_blank"&gt;http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b6254f411d194a60000e8353423/content.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For Materials:&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf" target="test_blank"&gt;http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf&lt;/A&gt; -- Page no: 1291&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8" target="test_blank"&gt;http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://www.erpgenie.com/sap/abap/OO/index.htm" target="test_blank"&gt;http://www.erpgenie.com/sap/abap/OO/index.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A href="http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm" target="test_blank"&gt;http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here I am giving one example to u check it. It is very helpful to u.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Report ZEXAMPLE3&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;*&amp;amp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;REPORT ZTMW_WRKBNCH_TABS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:OKCODE LIKE SY-UCOMM. " ok code for screen 101&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:SCRNO(4) TYPE N. "FOR 101 SCREEN&lt;/P&gt;&lt;P&gt;DATA:T_NUM(2),SCR(4).&lt;/P&gt;&lt;P&gt;SELECT SINGLE WORK_BENCH_TAB INTO T_NUM FROM ZTMW_WRKBNCH_TAB&lt;/P&gt;&lt;P&gt;WHERE TAB_STATUS = 'X'.&lt;/P&gt;&lt;P&gt;IF STRLEN( T_NUM ) = 1.&lt;/P&gt;&lt;P&gt;CONCATENATE '300' T_NUM INTO SCR.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;CONCATENATE '30' T_NUM INTO SCR.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;SCRNO = SCR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONTROLS TABS TYPE TABSTRIP. "TAB STRIP IN SCREEN 101&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;perform ref_texts.&lt;/P&gt;&lt;P&gt;SET SCREEN 0101.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: h LIKE d020s,&lt;/P&gt;&lt;P&gt;f LIKE d021s OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;e LIKE d022s OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;m LIKE d023s OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;f1(100), f2(100), f3(100), dynpro_id(44).&lt;/P&gt;&lt;P&gt;DATA:TAB(5) TYPE C,&lt;/P&gt;&lt;P&gt;tab_num type ztmw_wrkbnch_tab-WORK_BENCH_TAB,&lt;/P&gt;&lt;P&gt;tab_name type ztmw_wrkbnch_tab-TAB_NAME,&lt;/P&gt;&lt;P&gt;ACT_TAB(5) TYPE C,&lt;/P&gt;&lt;P&gt;TAB_STATUS TYPE ztmw_wrkbnch_tab-TAB_STATUS,NUM(2).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:GT_ZTMW_HEADER_HIS TYPE TABLE OF ZTMW_HEADER_HIS,&lt;/P&gt;&lt;P&gt;GT_ZTMW_HEADER_WIP TYPE TABLE OF ZTMW_HEADER_WIP,&lt;/P&gt;&lt;P&gt;G_CONTAINER TYPE SCRFNAME VALUE 'TABC',&lt;/P&gt;&lt;P&gt;GRID1 TYPE REF TO CL_GUI_ALV_GRID,&lt;/P&gt;&lt;P&gt;G_CUSTOM_CONTAINER TYPE REF TO CL_GUI_CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:LAYOUT TYPE LVC_S_LAYO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA:FCAT TYPE LVC_T_FCAT.&lt;/P&gt;&lt;P&gt;Field-symbols: &amp;lt;lfs_fieldcat&amp;gt; TYPE lvc_s_fcat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Module STATUS_0101 OUTPUT&lt;/P&gt;&lt;P&gt;MODULE STATUS_0101 OUTPUT.&lt;/P&gt;&lt;P&gt;SET PF-STATUS 'MENU1'.&lt;/P&gt;&lt;P&gt;SET TITLEBAR 'TIT1'.&lt;/P&gt;&lt;P&gt;DO 20 TIMES.&lt;/P&gt;&lt;P&gt;NUM = SY-INDEX.&lt;/P&gt;&lt;P&gt;CONCATENATE 'TAB' NUM INTO ACT_TAB.&lt;/P&gt;&lt;P&gt;SELECT TAB_STATUS INTO TAB_STATUS FROM ZTMW_WRKBNCH_TAB&lt;/P&gt;&lt;P&gt;WHERE WORK_BENCH_TAB = NUM.&lt;/P&gt;&lt;P&gt;IF tab_status = 'X'.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-NAME = ACT_TAB.&lt;/P&gt;&lt;P&gt;SCREEN-INVISIBLE = '0'.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-NAME = ACT_TAB.&lt;/P&gt;&lt;P&gt;SCREEN-INVISIBLE = '1'.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;LOOP AT SCREEN.&lt;/P&gt;&lt;P&gt;IF SCREEN-NAME = ACT_TAB.&lt;/P&gt;&lt;P&gt;SCREEN-INVISIBLE = '1'.&lt;/P&gt;&lt;P&gt;MODIFY SCREEN.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE. " STATUS_0101 OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Module USER_COMMAND_0101 INPUT&lt;/P&gt;&lt;P&gt;MODULE USER_COMMAND_0101 INPUT.&lt;/P&gt;&lt;P&gt;CASE OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB1'.&lt;/P&gt;&lt;P&gt;SCRNO = 3001.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB2'.&lt;/P&gt;&lt;P&gt;SCRNO = 3002.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB3'.&lt;/P&gt;&lt;P&gt;SCRNO = 3003.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB4'.&lt;/P&gt;&lt;P&gt;SCRNO = 3004.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB5'.&lt;/P&gt;&lt;P&gt;SCRNO = 3005.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB6'.&lt;/P&gt;&lt;P&gt;SCRNO = 3006.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB7'.&lt;/P&gt;&lt;P&gt;SCRNO = 3007.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB8'.&lt;/P&gt;&lt;P&gt;SCRNO = 3008.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB9'.&lt;/P&gt;&lt;P&gt;SCRNO = 3009.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB10'.&lt;/P&gt;&lt;P&gt;SCRNO = 3010.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB11'.&lt;/P&gt;&lt;P&gt;SCRNO = 3011.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB12'.&lt;/P&gt;&lt;P&gt;SCRNO = 3012.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB13'.&lt;/P&gt;&lt;P&gt;SCRNO = 3013.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB14'.&lt;/P&gt;&lt;P&gt;SCRNO = 3014.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB15'.&lt;/P&gt;&lt;P&gt;SCRNO = 3015.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB16'.&lt;/P&gt;&lt;P&gt;SCRNO = 3016.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB17'.&lt;/P&gt;&lt;P&gt;SCRNO = 3017.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB18'.&lt;/P&gt;&lt;P&gt;SCRNO = 3018.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB19'.&lt;/P&gt;&lt;P&gt;SCRNO = 3019.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'TAB20'.&lt;/P&gt;&lt;P&gt;SCRNO = 3020.&lt;/P&gt;&lt;P&gt;TABS-ACTIVETAB = OKCODE.&lt;/P&gt;&lt;P&gt;WHEN 'BACK'.&lt;/P&gt;&lt;P&gt;set screen 0.&lt;/P&gt;&lt;P&gt;WHEN 'REFRESH'.&lt;/P&gt;&lt;P&gt;perform ref_texts.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDMODULE. " USER_COMMAND_0101 INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM ref_texts .&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Format Screen ID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;dynpro_id = sy-repid.&lt;/P&gt;&lt;P&gt;dynpro_id+40(4) = '0101'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Import Screen data in tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;IMPORT DYNPRO h f e m ID dynpro_id.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc EQ 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Modify Screen Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;SELECT WORK_BENCH_TAB TAB_NAME into (tab_num,tab_name)&lt;/P&gt;&lt;P&gt;FROM ZTMW_WRKBNCH_TAB WHERE TAB_STATUS = 'X'.&lt;/P&gt;&lt;P&gt;CONCATENATE 'TAB' tab_num INTO TAB.&lt;/P&gt;&lt;P&gt;LOOP AT f WHERE fnam EQ TAB.&lt;/P&gt;&lt;P&gt;f-stxt = tab_name.&lt;/P&gt;&lt;P&gt;MODIFY f.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDSELECT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CHECK sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Export Screen Data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;EXPORT DYNPRO h f e m ID dynpro_id.&lt;/P&gt;&lt;P&gt;CHECK sy-subrc EQ 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Generate Screen for changes to take effect&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;GENERATE DYNPRO h f e m ID dynpro_id MESSAGE f1 LINE f2 WORD f3.&lt;/P&gt;&lt;P&gt;ENDFORM. " ref_texts&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Module STATUS_3007 OUTPUT&lt;/P&gt;&lt;P&gt;MODULE GRID OUTPUT.&lt;/P&gt;&lt;P&gt;IF G_CUSTOM_CONTAINER IS INITIAL.&lt;/P&gt;&lt;P&gt;CREATE OBJECT G_CUSTOM_CONTAINER&lt;/P&gt;&lt;P&gt;EXPORTING CONTAINER_NAME = G_CONTAINER.&lt;/P&gt;&lt;P&gt;CREATE OBJECT GRID1&lt;/P&gt;&lt;P&gt;EXPORTING I_PARENT = G_CUSTOM_CONTAINER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PERFORM LAYOUT.&lt;/P&gt;&lt;P&gt;PERFORM FIELD_CAT.&lt;/P&gt;&lt;P&gt;PERFORM FILL_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CALL METHOD GRID1-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;IS_LAYOUT = LAYOUT&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;IT_FIELDCATALOG = FCAT[]&lt;/P&gt;&lt;P&gt;IT_OUTTAB = GT_ZTMW_HEADER_HIS.&lt;/P&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;P&gt;ENDMODULE. " STATUS_3007 OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form FIELD_CAT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FIELD_CAT.&lt;/P&gt;&lt;P&gt;CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;EXPORTING&lt;/P&gt;&lt;P&gt;I_STRUCTURE_NAME = 'ZTMW_HEADER_IO'&lt;/P&gt;&lt;P&gt;CHANGING&lt;/P&gt;&lt;P&gt;CT_FIELDCAT = FCAT[].&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOOP AT FCAT ASSIGNING &amp;lt;lfs_fieldcat&amp;gt;.&lt;/P&gt;&lt;P&gt;CASE &amp;lt;lfs_fieldcat&amp;gt;-fieldname.&lt;/P&gt;&lt;P&gt;WHEN 'TRANSACTION_NUM'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'IDOC no.'.&lt;/P&gt;&lt;P&gt;WHEN 'FEED_CODE'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Feed Code'.&lt;/P&gt;&lt;P&gt;WHEN 'BOL_NUM'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'EXT. BOL'.&lt;/P&gt;&lt;P&gt;WHEN 'TERMINAL_CODE'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Unc.Term Cd'.&lt;/P&gt;&lt;P&gt;WHEN 'TRANSCATION_DATE'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Trans Date'.&lt;/P&gt;&lt;P&gt;WHEN 'TRANSCATION_TIME'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Trans Time'.&lt;/P&gt;&lt;P&gt;WHEN 'TRANS_STATUS'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'BOL Status'.&lt;/P&gt;&lt;P&gt;WHEN 'VOID_STATUS'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Void Status'.&lt;/P&gt;&lt;P&gt;WHEN 'HOLD_STATUS'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Hold Status'.&lt;/P&gt;&lt;P&gt;WHEN 'PLANT'.&lt;/P&gt;&lt;P&gt;&amp;lt;lfs_fieldcat&amp;gt;-coltext = 'Plant'.&lt;/P&gt;&lt;P&gt;ENDCASE.&lt;/P&gt;&lt;P&gt;ENDLOOP.&lt;/P&gt;&lt;P&gt;ENDFORM. "FIELD_CAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp; Form FILL_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;text&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM FILL_DATA.&lt;/P&gt;&lt;P&gt;CLEAR GT_ZTMW_HEADER_HIS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;IF WIP_ONLY = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;SELECT * FROM ZTMW_HEADER_WIP INTO TABLE GT_ZTMW_HEADER_HIS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UP TO MAX_HITS ROWS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ELSEIF HIS_ONLY = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECT * FROM ZTMW_HEADER_HIS INTO TABLE GT_ZTMW_HEADER_HIS&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;UP TO MAX_HITS ROWS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ELSE.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECT * FROM ZTMW_HEADER_HIS INTO TABLE GT_ZTMW_HEADER_HIS.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SELECT * FROM ZTMW_HEADER_WIP INTO TABLE GT_ZTMW_HEADER_WIP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INSERT LINES OF GT_ZTMW_HEADER_HIS INTO TABLE&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;GT_ZTMW_HEADER_WIP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SORT GT_ZTMW_HEADER_WIP.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;CLEAR GT_ZTMW_HEADER_HIS[].&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;INSERT LINES OF GT_ZTMW_HEADER_WIP FROM 1 TO MAX_HITS INTO&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;TABLE GT_ZTMW_HEADER_HIS .&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;ENDIF.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;ENDFORM. "FILL_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;FORM LAYOUT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;LAYOUT-EDIT = 'X'.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;layout-grid_title = 'List Of Bills Of Lading'&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 24 Oct 2007 11:16:33 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/oops-concepts/m-p/2933179#M691160</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-10-24T11:16:33Z</dc:date>
    </item>
  </channel>
</rss>

