How to create an class object

Why we need set the 'Create object xx' between 'class definition' and  'class implementation'??
If i set the 'CREATE OBJECT' under the 'Class implementation' in a report,  the system will tell me that: 'Statement is not accessible'.
This is my code:
CLASS lcl_retal DEFINITION.
  PUBLIC SECTION.
    METHODS constructor.
  PRIVATE SECTION.
    DATA: lv_car(10) TYPE c VALUE 'CAR',
                    lv_truck(10) TYPE c VALUE 'TRUCK'.
ENDCLASS.                    "lcl_retal DEFINITION
CLASS lcl_retal IMPLEMENTATION.
  METHOD constructor .
    WRITE: lv_car, space, lv_truck.
  ENDMETHOD. "print_detaile
ENDCLASS.                    "lcl_retal IMPLEMENTATION
DATA: lo_retal TYPE REF TO lcl_retal.
CREATE OBJECT lo_retal.
Edited by: YINYAN LU on Sep 2, 2009 9:14 AM

Class definition - class implementation is treated by system as declaration part. This is similary considered as DATA, TYPES section.
Every single statement which is not part of declaration/definition is part of program to execute (is automatically embraced to START-OF-SELECTION event). In regular program when you set DATA, TYPES it can both occur in declaration part and in execution part. On the other hand CLASS...ENDCLASS is considered purely as declaration/definition (not executable code itself) so can't be placed in START-OF-SELECTION.
Assuming above, when you place CREATE OBJECT b/w CLASS....DEFINITON - CLASS .... IMPLEMENTATION it is recognized as part of executable code, but is placed within the one not intended to be executed. System can't split this code to declaration/execution part. It must be explicitly pointed. So it must be of strcuture
"------------------------- DECLARATION/DEFINITION ---------------------
CLASS lcl_retal DEFINITION.
  PUBLIC SECTION.
    METHODS constructor.
  PRIVATE SECTION.
    DATA: lv_car(10) TYPE c VALUE 'CAR',
                    lv_truck(10) TYPE c VALUE 'TRUCK'.
ENDCLASS.                    "lcl_retal DEFINITION
"<- here still part of this block, so no executable statements allowed
CLASS lcl_retal IMPLEMENTATION.
  METHOD constructor .
    WRITE: lv_car, space, lv_truck.
  ENDMETHOD. "print_detaile
ENDCLASS.                    "lcl_retal IMPLEMENTATION
"---------------------------- EXECUTABLE CODE HERE ---------------
DATA: lo_retal TYPE REF TO lcl_retal.
CREATE OBJECT lo_retal.
Hope now it is clear
Regards
Marcin

Similar Messages

  • How to create a class using java script..

    Hi all,
    Iam new to java script and I tried out the following program but its not working..I basically created a class just like a java prog' but Iam not getting any output or error.Iam attaching the code below.
    If I created one function inside the script and create one object its working fine but what should I do when I have a lot of function??so I created a class and put all the function and created an object but its not working..
    Do let me know what changes should I do..Iam attaching the code which I had written. or give me an example of how to create a class with couple of functions using JAVASCRIPT
    Thanks
    Avis_su
    <html>
    <head><title>JSP Page</title></head>
    <body>
    <SCRIPT language = "JavaScript">
    <!--
    //Created classes
    class book
    var title: String;
    var author:String;
    function author()
    doucument.write("Author is " +this.author);
    function tile()
    doucument.write("Title is " +this.title);
    function printall()
    var counter = 0;
    function author();
    function title();
    var chapters = Array[String];
    for(chapter in this chapters)
    counter++;
    document.write("Chapter" counter" :"+this.chapters[chapter]+"<br>");
    var thisbook = new book()
    thisbook.author = "Sivagami";
    thisbook.title = "MS in CS giude";
    thisbook.chapters = new Array[10];
    thisbook[0] = "Prepare to Excell in all ";
    thisbook[1] = "Learn to be happy";
    thisbook[2] = "Learn to be healthy mentally emotionally physically";
    thisbook[3] = "Siva and Subbu along with kidssssss will be successful in future";
    thisbook.printall();
    //-->
    </script>
    </body>
    </html>

    Run this program to get your answer:
    public class AnswerToYourPost {
    public static void main(String args[]) {
    System.out.println("TRUE/FALSE: This question
    ion belongs on a Java forum.\n"
    + "ANSWER: " + ("Javascript" == "Java"));
    }Since when do we compare objects for equality using operator == ?

  • ADF Faces: RichTable - How to create a RichTable object

    Hi. How to create a RichTable object to put in a JSF page ? I need to make a method that receive a list of name of columns and a list of list of data. This code that I have writing don't work. What's my error?
            public RichTable getADFTable(
            List<String> lstCols, List< List<String> > lstLstData
            RichColumn adfCol = null;
            List<RichColumn> lstRichCols = new ArrayList<RichColumn>();
            int cont = 0;
            for( String col : lstCols ){
                adfCol = new RichColumn();
                adfCol.setDisplayIndex(cont++);
                adfCol.setHeaderText( col );
                adfCol.setMinimumWidth( "60" );
                lstRichCols.add( adfCol );
            int contCols = 0;
            RichOutputText text = null;
            RichTable AdfTab = new RichTable();
            for( List<String> lstData : lstLstData){
                for( String data : lstData ){
                    text = new RichOutputText();
                    text.setValue(data);
                    lstRichCols.get( contCols ).getChildren().add( text );
                    contCols++;
                contCols = 0;
            AdfTab.setRows(this.lstEntit.size());
            cont = 0;
            for( RichColumn col : lstRichCols ){
                AdfTab.getChildren().add( col );
            return AdfTab;
        }

    I was searching for an example and i found it but whit errors, finally i fixed and it works.
    You just have to generate the data from your webservices and "put" into this structure.
    The java file (Bean)
    package view;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    import org.apache.myfaces.trinidad.model.CollectionModel;
    import org.apache.myfaces.trinidad.model.SortableModel;
    public class DynamicTable {
        private SortableModel model;
        private List<String> columnNames;
        public DynamicTable() {
            columnNames = new ArrayList<String>();
            columnNames.add("Col-1");
            columnNames.add("Col-2");
            generateColumnModel();
        public void generateColumnModel() {
            this.model = new SortableModel(createRows(columnNames));
        private List<Map> createRows(List<String> columnNames) {
            int i = 0;
            List<Map> mapListforRows = new ArrayList<Map>();
            for (String name : columnNames) {
                Map newRow = new HashMap();
                mapListforRows.add(newRow);
                for (String col : columnNames) {
                    newRow.put(col, "data");
            return mapListforRows;
        // Get table model
        public CollectionModel getCollectionModel() {
            return model;
        public void setColumnNames(List<String> columnNames) {
            this.columnNames = columnNames;
        public List<String> getColumnNames() {
            return columnNames;
    }The jspx file (page)
               <af:table varStatus="rowStat" summary="table"
                            value="#{pageFlowScope.DynamicTable.collectionModel}"
                            rows="#{pageFlowScope.DynamicTable.collectionModel.rowCount}"
                            rowSelection="none" contentDelivery="immediate"
                            var="row" rendered="true" id="t1">
                    <af:forEach items="#{pageFlowScope.DynamicTable.columnNames}"
                                var="name">
                      <af:column sortable="true" sortProperty="#{name}"
                                 rowHeader="unstyled" headerText="#{name}"
                                 inlineStyle="width:100px;" id="c1">
                        <af:activeOutputText value="#{row[name]}" id="aot1"/>
                      </af:column>
                    </af:forEach>
                  </af:table>

  • How to create a class pool

    Hi how to create a class pool when i tried to create it has shown the following error
    <b>Unable to change program from or to type K
    Message no. DS165
    Diagnosis
    You tried to assign a type to a program that cannot be assigned in the program attributes, but can only be set internally by one of the tools in the ABAP Workbench.
    The following program types are reserved:
    F Reserved for Function Groups
    Function groups are adminstered by the Function Builder, and you can only create or delete them using the Function Builder or the Object Navigator (Transaction SE80).
    K Reserved for Class Defintions
    Class definitions are administered in the Class Builder. You can only create or delete them using the Clas Builder or the Object Navigator.
    J Reserved for Interface Definitions
    Interface definitions are administered in the Clas Builder. You can only create or delete them using the class Builder or the Object Navigator.</b>

    Hi,
    Though you get a popup for different options for different program types like Class pools, function groups etc in SE 38 Program attributes, you can't create them from Se38 transaction.
    They have to be created from different places.
    Class Pools are nothing but creating CLASSes and INTERFACEs using the T Code SE24.
    This needs little Java/OOPs concepts to create and use them.
    Hope this helps.
    Regards,
    Anji

  • How to create new authorisation object for Transactions?

    Hi,
    How to create new authorisaton object and how to assign that object on a transaction code?
    Case ->
    The transaction code VL01N have the object called V_LIKP_VST under Class "LE_V" that have two auth. fields. one is 'Activity' and other one is "Shipping Point/Receiving Point".
    Here I want to add "Storage location" also. I have created one object called "Z_LIKP_VST" under same calass "LE_V". and added "Activity", "Shipping Poing/Receiving Poing" and "Storage Location". After that I added that object ("Z_LIKP_VST") for particular transaction through "SU24". I maintained the "Display check indicator" for VL01N.
    I created one new role and assigend the particular transacation for a user. but still SAP taking  V_LIKP_VST insted of Z_LIKP_VST.
    How can I change my Z_LIKP_VST on profile.
    Please help
    Thanks in Advance
    Lal

    Hi Kariyath,
    I suppose its not about interest but a MUST.. sorry but.. unless u include the Logic in the program how can SAP pick these custom Z objects ?
    after u create them and assign to a Tcode in SU24 there is no logic to check these objects. Frankly i see no other chance.... unless SAP comes to us with a great easy way to input these Custom objects
    Keep looking and please Update me if u have any Inputs....on this front..
    All the Best
    Br,
    Sri
    Award points for helpful answers

  • How to create Authority check object

    Hello Gurus,
    How to create Authority-check object 'ZABC'
                                                             ID 'TABLE' FIELD 'ZTABLE'.
    Please tell me detailed procedure.
    Thanks in advance.
    Best Regards,
    zubera

    Dear Zubera,
    Creating Authorization Fields
    In authorization objects, authorization fields represent the values to be tested during authorization checks.
    To create authorization fields, choose Tools --> ABAP Workbench --> Development --> Other tools --> Authorization objects ® Fields.
    To create a authorization field:
    1. Choose Create authorization field.
    2. On the next screen, enter the name of the field. Field names    must be unique and must begin with the letter Y or Z.
    3. Assign a data element from the ABAP Dictionary to the field.
    4. If desired, enter a check table for the possible entries. For    more information about check tables.
    For more information about AUTHORITY-CHECK, see the keyword documentation of the ABAP Editor.
    You can often use the fields defined by SAP in your own authorization objects. If you create a new authorization object, you do not need to define your own fields. For example, you can use the SAP field ACTVT in your own authorization objects to represent a wide variety of actions in the system.
    Assigning an Authorization Object to an Object Class
    Each authorization object must be assigned to an object class when it is created.
    Choose Tools --> ABAP Workbench --> Development --> Other tools --> Authorization objects --> Objects.
    You can also create authorization objects in the Object Navigator (SE80).
    Creating / Choosing Object Classes
    The system displays a list of existing object classes.
    Object classes are organized according to the components of the system.
    Before you can create a new object, you must define the object class for the component in which you are working. The objects are not overwritten when you install new releases.
    You can also define your own object classes. If you do so, select class names that begin with Y or Z to avoid conflicts with SAP names.
    Creating an Object
    Enter a unique object name and the fields that belong to the object. Object names must begin with the letter Y or Z in accordance with the naming convention for customer-specific objects.
    You can enter up to ten authorization fields in an object definition. You must also enter a description of the object and create documentation for it.
    Ensure that the object definition matches the AUTHORITY-CHECK calls that refer to the object.
    Do not change or delete authorization objects defined by SAP. This disables SAP programs that use the objects.
    You can regenerate the profile SAP_ALL after creating an authorization object.
    Best Regards,
    Rajesh
    Please reward points if found helpful.

  • How to create a view object and attach with extended AM

    Hi,
    I tried to create new vo and attach this vo with the extended AM. But it is throwing error like 'PC.NAME : invalid identifier' (Actually this PC.NAME is exiting one).
    Now i want to know how to create a view object similar like seeded one but with one additional condition in the where clause.
    It is possible though extension, but i want to create two view object similar like seeded one, one with some other condition in the where clause
    and another one with some other condition.
    So for my requirement, i'll extend one VO and i'll add my condition but how to do it for second condition.
    But i want same seeded VO with two different condition.
    Any suggestions please,
    SAN

    SAN,
    There is no need to attach the newly created VO with extended AM. You need to attach the same with the standard AM.
    Regards,
    Gyan

  • How to create development class (package)

    Hi
    Can anybody help me out in creating development class (package) to store ABAP programs.
    Thanks in advance
    Raghav

    Hi
    go with abap dictionary->select database table->provide the table for dev classs eg. V_TDEVC-> go for display option-> select utilities->select contents option-> select create dev class,
    provide the name and short text,software component->create req.no.
    with this dev class will be created
    or
    Use the transaction SE80.
    1. Select "Package" from the list box.
    2. Enter "ZEST" in the below text box
    3. Press "Enter".
    4. It will ask you whether to create.
    5. Sy "Yes".
    6. Give Short Description
    7. Click Save button.
    check this
    How to create development class
    If u find it useful plz reward the points
    charitha
    Message was edited by:
            charitha kolla

  • Can I create a Class object without the VM?

    Using byte-code engineering, is it possible to create a class object?
    What about if I serialize a Class object to a file, can I byte-code engineer that and then reinstantiate it?

    Thanks I'll check it out. Basically I want to try it
    for fixing a problem of running two apps in the same
    VM.There's a world of problems when you try to run two programs within the same JVM. I wouldn't suggest even trying it unless it's a last resort. Why do you want to do that?

  • How to create a georaster object?

    Hi,
    I type this codes to create a georaster object. but there is error msg.
    SDO_GEOR.createBlank(
    rasterType IN INTEGER,
    ultCoord IN SDO_NUMBER_ARRAY,
    dimSizes IN SDO_NUMBER_ARRAY,
    cellValue IN NUMBER,
    rasterDataTable IN VARCHAR2 DEFAULT NULL,
    rasterID IN NUMBER DEFAULT NULL
    ) RETURN SDO_GEORASTER;
    Error Message:
    Error starting at line 1 in command:
    SDO_GEOR.createBlank(
    Error report:
    Unknown Command
    Error starting at line 3 in command:
    rasterType IN INTEGER,
    Error report:
    Unknown Command
    Error starting at line 5 in command:
    ultCoord IN SDO_NUMBER_ARRAY,
    Error report:
    Unknown Command
    Error starting at line 7 in command:
    dimSizes IN SDO_NUMBER_ARRAY,
    Error report:
    Unknown Command
    Error starting at line 9 in command:
    cellValue IN NUMBER,
    Error report:
    Unknown Command
    Error starting at line 11 in command:
    rasterDataTable IN VARCHAR2 DEFAULT NULL,
    Error report:
    Unknown Command
    Error starting at line 13 in command:
    rasterID IN NUMBER DEFAULT NULL
    Error report:
    Unknown Command
    Error starting at line 15 in command:
    ) RETURN SDO_GEORASTER;
    Error report:
    Unknown Command
    Please advise me on how to create a georaster object as i am very new to the technology.
    Thanks and regards,
    Esther

    http://download.oracle.com/docs/cd/B19306_01/appdev.102/b14254/geor_intro.htm

  • How to create authority check object and assign to  ztcode which is of modu

    Dear ,
             how to create authority check object and assign to  ztcode which is of custom module pool program.its urgent kindly help points rewarded.

    Manoj,
    You can check with your Basis team to create authorisation object and assigining tcodes to the user profiles.
    K.Kiran.

  • Plz tell me how to create authority check objects and how to usein prg

    dear sir,
    plz tell me how to create authority check objects and how to usein prg

    http://help.sap.com/saphelp_46c/helpdata/en/5c/deaa74d3d411d3970a0000e82de14a/content.htm
    http://help.sap.com/saphelp_nw70/helpdata/en/52/6716a6439b11d1896f0000e8322d00/content.ht
    Create custom authorization – Customer specific object
    If you have requirements that cannot be met using the P_ORGIN and P_ORGXX authorization objects (for example, because you want to build your authorization checks on additional fields of the Organizational Assignment infotype (0001) that are customer-specific), you can include an authorization object in the authorization checks yourself.
    Create the authorization object using transaction SU21. Make sure you keep to the customer name range (Z/Y). To be able to use the new authorization object you have created in the master data authorization check, the object must contain the INFTY, SUBTY, and AUTHC fields. You can use any of the fields of the Organizational Assignment infotype (0001) for the other fields. You can also use customer-specific additional fields provided they are CHAR or NUMC type fields.
    After you have created the object, you must start the RPUACG00 report. This report overwrites the MPPAUTZZ standard include with the code that is needed to evaluate the authorization object you created. Note: Technically speaking, this involves a modification. However, SAP fully supports this procedure. And you should not have more maintenance work as a result of this modification.
              Note: that if you use customer-specific authorization objects, you must maintain these objects in transaction SU24 (Maintain Assignment of Authorization Objects to Transactions) in the same way as you maintain the authorization objects P_ORGIN, P_ORGXX, and P_PERNR
    AUTHORITY CHECK OBJECT Object_name
                ID fieldname1 FIELD fieldvalue1
                ID fieldname2 FIELD fieldvalue2
                ID fieldname3 FIELD fieldvalue3.
                 If sy-subrc eq 0.   "Authorization exists
                 Endif.
    http://articles.techrepublic.com.com/5100-6329_11-5110893.html
    Edited by: JackandJay on Jan 16, 2008 10:21 AM

  • How to create a Business Object

    Hi All,
    How to create a Business Object.
    If any material is avaliable Please mail me to [email protected]
    Thank you,
    Ramu N.

    Hi,
    Check this SAP help link,
    http://help.sap.com/saphelp_nw2004s/helpdata/en/4f/5668735cf211d194a30000e82dec10/frameset.htm
    Thanks and Regards,
    Bharat Kumar Reddy.V

  • How to create static class in Netbeans ?

    I want to create a static class in netbeans.
    But it gives error like : static modifier not allowed here. as far as java prog concern it is syntactically correct.
    for eg.
    public static class Emp
    -------body & methods
    it looks correct syntactically, but gives error in netbeans, static modifier not allowed here. Why ? How to create static class in netbeans ?

    DrClap wrote:
    I have occasionally seen the name "static class" used to denote a class whose members are all static.I think this is quite common.
    But taking the name literally and trying to declare a class "static" is a little naive."naive" or being used to doing that in C#.

  • How to create a new object of HttpServletRequest class manually?

    Dear all,
    I don't know how silly my question is, however I have no way except asking.
    I know that when I send a request from the client to the server, server authomatically creates an object of
    HttpServletRequest and assigns all the request information to that object, so that you can extract these information by the available methods in the HttpServletRequest class like getHeader, getMethod and so on. What I need to do in my project is doing all above process manually. My question is how I can do it?
    In other words, I have the header and body part of a http request and I want to create a HttpServletRequest
    object and assign the header and body data to the object so that I'll be able to extract those data by using the getHeader, getMethod and other methods available in the HttpServletRequest class.
    Please Help me, I really need your help?
    Your help is appreciated.
    Thanks.

    Hi shadgar ,
    as rightly mentioned by Sudha and GrayMan, you can provide the implementation for the HttpServletRequest interface in your own way for the requirement, but it leads to a new Servlet Container development as you need to handle many things than the HttpServletRequest.
    I think the current interface and the Servlet Container will be able to handle if your request is over HTTP protocol and it don't deviate from the prtocol's request/response model.
    Check out the javax.servlet.http.HttpServletRequestWrapper class, which is the implementation of the javax.servlet.http.HttpServletRequest and javax.servlet.ServletRequest interfaces.
    Hope it will give some idea about the actual problem and rethink about the solution proposed.
    Thanks,
    Sanath Kumar

Maybe you are looking for