Internal Representation of RSSELDONE~LNR

The field RSSELDONELNR references the system data element RSNRCHAR which is CHAR10.  When I try to use this field in a WHERE clause, the only success I have had so far is to code WHERE rsseldonelnr = "%1" which of course will return any row where this field ends with a "1".  What I really want is only the rows where it's <b>exactly</b> equal to "1", but I need the proper syntax for this.  I have tried "1", "_________1", "0000000001", and "         1" but they all return zero rows, sy-subrc=4.

Hi,
  u have to convert the number into char by appending zero before it .
that is
lv_char10 type char 10.
Steps required are
1) lv_char10 = 1.
2) use FM CONVERSION_EXIT_ALPHA_INPUT
          INPUT  = lv_char10
          OUTPUT = lv_char10.
it will convert
1-------> 0000000001
if it is
12-----> 0000000012
1212---> 0000001212
it is possible for any number.
Number of zero appended is equal to empty space in the variable.
in our case 9 zero where appended.
if it is char20 then 19 zeros will be appended.
Mark Helpfull answers
Regards
Message was edited by: Manoj Gupta

Similar Messages

  • Wm_Valid: Fail to convert to internal representation error while inserting

    Hi,
    I'm trying to execute an insert via XmlCommand. The table is created with this statement:
    create table testtable4 (testtable4_pk number, mydate date, myts timestamp with time zone, wm_valid wm_period);
    I have a problem while inserting on a simple table with wm_period field. The c# code is the following:
    OracleConnection oraConnection;
    OracleCommand insertCommand;
    string[] KeyColumnsList = null;
    string[] UpdateColumnsList = null;
    string xml1 = "<?xml version=\"1.0\"?>\n" +
    "<ROWSET>\n" +
    "<MYROW num = \"1\">\n" +
    "<TESTTABLE4_PK>1</TESTTABLE4_PK><MYDATE>2012-01-20T00:00:00.00000</MYDATE><MYTS>01-01-11T00:00:00.000000000 +00:00</MYTS>" +
    "</MYROW>\n" +
    "</ROWSET>\n";
    string xml2 = "<?xml version=\"1.0\"?>\n" +
    "<ROWSET>\n" +
    "<MYROW num = \"2\">\n" +
    "<TESTTABLE4_PK>2</TESTTABLE4_PK><MYDATE>2012-01-20T00:00:00.00000</MYDATE><MYTS>01-01-11T00:00:00.000000000 +00:00</MYTS><WM_VALID><VALIDFROM>01-01-11T00:00:00.000000000 +00:00</VALIDFROM></WM_VALID>" +
    "</MYROW>\n" +
    "</ROWSET>\n";
    KeyColumnsList = new string[1];
    KeyColumnsList[0] = "TESTTABLE4_PK";
    UpdateColumnsList = new string[4];
    UpdateColumnsList[0] = "TESTTABLE4_PK";
    UpdateColumnsList[1] = "MYDATE";
    UpdateColumnsList[2] = "MYTS";
    UpdateColumnsList[3] = "WM_VALID";
    try
    string ConnString = "Data Source=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=" + host + ")(PORT=" + port + ")))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=" + sid + ")));User Id=" + username + ";Password=" + password + ";";
    oraConnection = new OracleConnection(ConnString);
    oraConnection.Open();
    using (OracleCommand cmd = new OracleCommand())
    cmd.Connection = oraConnection;
    cmd.CommandText = "alter session set NLS_DATE_FORMAT = 'YYYY-MM-DD\"T\"HH24:MI:SS.SSSSS'";
    cmd.ExecuteNonQuery();
    cmd.CommandText = "alter session set NLS_TIMESTAMP_FORMAT = 'YYYY-MM-DD\"T\"HH24:MI:SS.SSSSS'";
    cmd.ExecuteNonQuery();
    cmd.CommandText = "alter session set NLS_TIMESTAMP_TZ_FORMAT = 'YYYY-MM-DD\"T\"HH24:MI:SSXFF TZH:TZM'";
    cmd.ExecuteNonQuery();
    insertCommand = new OracleCommand();
    insertCommand.Connection = oraConnection;
    insertCommand.XmlCommandType = OracleXmlCommandType.Insert;
    insertCommand.XmlSaveProperties.KeyColumnsList = KeyColumnsList;
    insertCommand.XmlSaveProperties.RowTag = "MYROW";
    insertCommand.XmlSaveProperties.Table = "TESTTABLE4";
    insertCommand.XmlSaveProperties.UpdateColumnsList = UpdateColumnsList;
    insertCommand.XmlSaveProperties.Xslt = null;
    insertCommand.XmlSaveProperties.XsltParams = null;
    //this works
    insertCommand.CommandText = xml1;
    insertCommand.ExecuteNonQuery();
    //this fails
    insertCommand.CommandText = xml2;
    insertCommand.ExecuteNonQuery();
    insertCommand.Dispose();
    oraConnection.Close();
    oraConnection.Dispose();
    catch (Exception err)
    this.WriteLogErr("ERROR: " + err.Message);
    With the first ExecuteNonQuery I attempt an insert of a data value and a timestamp with timezone value. The execution is ok (xml1).
    When the second ExecuteNonQuery is run (with the value of wm_valid), the execution fails with this error:
    ERROR: ORA-29532: Java call terminated by uncaught Java exception: oracle.xml.sql.OracleXMLSQLException: 'java.sql.SQLException: Fail to convert to internal representation: 01-01-11T00:00:00.000000000 +00:00' encountered during processing ROW element 0. All prior XML row changes were rolled back. in the XML document.
    ORA-06512: at "SYS.DBMS_XMLSAVE", line 111
    ORA-06512: at line 1
    The stored procedure at row 111 calls this Java method:
    oracle.xml.sql.dml.OracleXMLStaticSave.insertXML(int, java.lang.String) return int
    The structure of complex data type wm_period is:
    CREATE OR REPLACE TYPE wm_period AS OBJECT (
    validfrom TIMESTAMP WITH TIME ZONE,
    validtill TIMESTAMP WITH TIME ZONE);
    The problem is: I am able to insert a timestamp with timezone value (myts) but I'm not able to insert a wm_valid that contains two values of the same type...
    This works: <MYTS>2011-01-01T00:00:00.00000</MYTS>
    This fails: <WM_VALID><VALIDFROM>2011-01-01T00:00:00.00000</VALIDFROM></WM_VALID>
    I also tried to change the format of NLS_TIMESTAMP_TZ_FORMAT with a lot of various setup, but nothing changed.
    Thanks in advance for your precious help.
    Best Regards,
    Mario.

    Hi jschell ...thnx for ur reply......
    the getString(2) parameter is just avarchar which
    return the error from the procedure, if its ok,then
    the query is executed properly..its just a check I've
    kept to jump into the next step.If the status is OK,
    then I'm retrieving the values from the cursor. I'm
    getting right value for this parameter.I wasn't questioning the logic. I understand what you are doing.
    However JDBC drivers can have problems when items are retrieved out of order.
    You might also try switching driver types. If the thin works and oci doesn't (or visa-versa) then you know it is a driver problem and you will just have to try a work around.

  • Java.sql.SQLException: Fail to convert to internal representation:

    HI All,
    I have a procedure hich is taking the Varray ADDR_CONTACT_VA as input which is varray of object .
    ADDR_CONTACT_OBJ [] address = new ADDR_CONTACT_OBJ[20];
    address[0] = new ADDR_CONTACT_OBJ();
    address[0].setOpportunityId(26731);
    address[0].setAddr_ln_1("100, Street");
    address[0].setAddr_ln_2("Cast card Street");
    address[0].setAddr_ln_3("Cast card Street");
    address[0].setAddr_ln_4(null);
    address[0].setAddr_ln_5(null);
    address[0].setAddr_ln_6(null);
    address[0].setAddress_name("GVPN Testing");
    address[0].setAddressType("HQ");
    address[0].setCity("Mumbai");
    address[0].setContact_title("Mr.");
    address[0].setCountry("India");
    address[0].setEmail_contact_id(null);
    address[0].setName_contact_id(null);
    address[0].setOSO_Address_id(124959);
    address[0].setOso_contact_id(317694);
    address[0].setOso_party_site_id(69387);
    address[0].setPincode("470003");
    address[0].setState("Maharashtra");
    address[0].setContact_firstname("First");
    address[0].setContact_lastname("Last");
    address[0].setContact_email(null);
    address[0].setContact_phone_day("91-45234-4534556");
    address[0].setDay_phone_contact_id(287326);
    System.out.println("Vishwa3: after creating an y array");
    ArrayDescriptor desc1 = ArrayDescriptor.createDescriptor("ADDR_CONTACT_VA",nativeConnection);
    System.out.println("Vishwa4: after creating an y array");
    ARRAY input1 = new ARRAY(desc1,nativeConnection,address);
    System.out.println("Vishwa5: after creating an y array");
    %>
    <% proc_stmt = (OracleCallableStatement)nativeConnection.prepareCall("{ call DBP_UPDATE_STATUSCUSTOMER_DETAILS(?,?)}");
    proc_stmt.setArray(1,input1);
    proc_stmt.registerOutParameter(2,OracleTypes.CURSOR);
    System.out.println("Vishwa6: after creating an y array");
    %>
    <% proc_stmt.execute();
    ResultSet result =(ResultSet)proc_stmt.getObject(2);
    while(result!=null)
    System.out.println(result.getString(1));
    System.out.println(result.getString(2));
    System.out.println(result.getString(3));
    System.out.println(result.getString(4));
    System.out.println(result.getString(5));
    when i try to execute this procedure ai m gettin the exception like
    java.sql.SQLException: Fail to convert to internal representation: com.sy.vo.ADDR_CONTACT_OBJ@4a594a59_
    Please help me to resolve this probelm .it is verey verey urgrnt for me
    Thanks in Advance.....................
    Viswa

    First use code tags when posting code.
    Second you can't simply use a java object as an database array type. It certainly looks like you are doing that.

  • Fail to convert to internal representation

    I'm using the oracle 8.1.7 jdbc driver against oracle 8.1.7.0.0 running on Windows2000. I get the exception message below when I attempt to insert an jpub object structure into a callable statement.
    java.sql.SQLException: Fail to convert to internal representation: com.neogenesis.alis.confirmation.mapping.JHitCollection@536ff3
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
    at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:829)
    at oracle.jdbc.oracore.OracleTypeADT.toDatumArray(OracleTypeADT.java:299)
    at oracle.jdbc.oracore.OracleTypeUPT.toDatumArray(OracleTypeUPT.java:137)
    at oracle.sql.ArrayDescriptor.toOracleArray(ArrayDescriptor.java:750)
    at oracle.sql.ARRAY.<init>(ARRAY.java:116)
    Is this a bug of JDBC driver? Any Clue?
    Thanks,
    -Charlie

    From the stacktrace, it looks like a problem. However, if you can provide more code for this. We can figure out what went wrong. By the way, did you try this on Windows NT?
    -cc

  • Fail to convert to internal representation: oracle.sql.DATE

    I'm using the oracle 8.1.7 jdbc driver against oracle 8.1.7 running on NT, and I get the exception message below when I attempt to insert an jpub object structure into a prepared statement.
    All date objects have been constructed from a timestamp object, using the oracle.sql.DATE Timestamp constructor. So I'm surprised to get this error given the timestamp object was successfully constructed.
    I've tried session date formats of 'yyyy-mm-dd hh24:mi:ss' and 'mm/dd/yyyy hh24:mi:ss', with no success.
    I can call stringValue on oracle.sql.DATE and it returns a valid date.
    Can someone confirm that they have been able to use the oracle.sql.DATE class to insert a date correctly into the database? Its seems a silly question to ask but you have to start somewhere!
    Exception : Fail to convert to internal representation: oracle.sql.DATE@3c144e8a
    Stack trace : java.sql.SQLException: Fail to convert to internal representation: oracle.sql.DATE@3c144e8a
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:168)
    at oracle.jdbc.dbaccess.DBError.throwSqlException(DBError.java:210)
    at oracle.jdbc.dbaccess.DBError.check_error(DBError.java:829)
    at oracle.jdbc.oracore.OracleTypeADT.toDatum(OracleTypeADT.java:261)
    at oracle.sql.StructDescriptor.toOracleArray(StructDescriptor.java:385)
    at oracle.sql.StructDescriptor.toArray(StructDescriptor.java:560)
    at oracle.sql.STRUCT.<init>(STRUCT.java:95)
    at oracle.jpub.runtime.MutableStruct.toDatum(MutableStruct.java:65)
    null

    The JPub/JDBC runtime is converting your Java object into Oracle-specific representation (all data is put in oracle.sql.XXXX format). The top level object is an oracle.sql.STRUCT, the attributes of which are represented as an array of oracle.sql.Datum objects - in your case an oracle.sql.NUMBER and an oracle.sql.DATE. However, the error does occur in the StructDescriptor which describes the SQL type and the shape of the object. Is the error dependent on the data values? Might null values not be dealt with, correctly?
    One thing to try to do is create such an oracle.sql.STRUCT object from scratch with the same attribute values and insert/manipulate that using SQL.
    I have not dealt with TAR's. If you send me a self-contained test case, I'll check it against the current development version of JDBC. (At least you'll know if the next JDBC release fixes this issue :-) I might also file a bug.

  • Coverting number formats to internal representation

    I need a function module that will convert number format to internal representation. I am writing a program where based on the region that the program is been executed, the number could be 1,000.000 or 1.000,000 or 1 000,000. I need to convert them to internal representation 1000.000 so I can use it for dat manipulation

    Hi Megan,
    Try this Code..
    data: i type i.
    data: c(10) type c.
    data: p(10) type p decimals 2.
    c = '3.520,00'.
    catch system-exceptions convt_no_number = 1.
    p = c.
    endcatch.
    if sy-subrc = 1.
    clear sy-subrc.
    while sy-subrc = 0.
    replace ',' with space into c.
    endwhile.
    clear sy-subrc.
    while sy-subrc = 0.
    replace '.' with space into c.
    endwhile.
    condense c no-gaps.
    endif.
    p = c / 100.
    write:/ p.
    <REMOVED BY MODERATOR>
    Regards,
    Goutham.
    Edited by: Alvaro Tejada Galindo on Jan 11, 2008 12:31 PM

  • Sql Exception: Fail to convert to internal representation

    Hi
    I have a column in my ORACLE table defined as
    INTGROUPID NUMBER(10).
    When I try to select some rows from that table with a condition using this column "INTGROUPID" by the below code, I am getting the above metioned error.
    Code :
    select *
    from Sri.TBLGROUPCOCK
    where
    INTGROUPID = TO_NUMBER('747');

    actually the to_number command is used to convert a string to number..ok..but u used it to convert a number.how could it be possible to you.So there is no need to convert a number to number.just use the normal command to get the elements in the table...
    i hope it will help u......!

  • Error message:500 internal service error

    I am working on jsp in jdeveloper (10.1.3) on windows xp professional.
    I create emp.jsp and run it. i have an error message. I guess it is related with jsp:UseBean. jsp:UseBean can not call the class(database connection).
    would you help me?
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
    <%@ page contentType="text/html;charset=windows-1252"
             import="java.sql.ResultSet"%>
    <html>
      <head>
        <meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
        <title>employees</title>
        <link href="css/jdeveloper.css" rel="stylesheet" media="screen"/>
      </head>
      <body><h2 align="center">
          Employees
        </h2><h3>
          Find Employee
        </h3><p>
          <jsp:useBean id="empsbean" class="hr.DataHandler" scope="session"/>
        </p><p>
        </p><form action="employees.jsp">
          <p>
            <span class="bold">
              Filter by Employee name:
            </span><input type="text" name="query" align="middle"/><input type="submit"
                                                                          value="Filter"/>
          </p>
          <blockquote>
            <blockquote>
              <blockquote>
              </blockquote>
            </blockquote>
          </blockquote>
        </form><p>
        </p><p>
          <%ResultSet rset;
    String query = request.getParameter("query");
    if (query != null && query != null)
      rset = empsbean.getEmployeesByName(query);
    else
      rset = empsbean.getAllEmployees();
    %>
        </p><table cellspacing="2" cellpadding="3" border="1" width="100%">
          <tr>
            <td>
              <h4>
                Number1
              </h4></td>
            <td>
              <h4>
                Name
              </h4></td>
            <td>
              <h4>
                Password
              </h4></td>
            <td>
              <h4>
                Email
              </h4></td>
            <td>
              <h4>
                Subject
              </h4></td>
            <td>
              <h4>
                Memo
              </h4></td>
          </tr>
          <%while (rset.next ())
        out.println("<tr>");
        out.println("<td>" +
          rset.getString("number1") + "</td><td> " +
          rset.getString("name") + "</td><td> " +
          rset.getString("password") + "</td><td> " +
          rset.getString("email") + "</td><td>" +
          rset.getString("subject") + "</td><td>" +
          rset.getDouble("memo") + "</td>");
        out.println("</tr>");
    %>
        </table></body>
    </html>If I run above jsp page in jdeveloper, i have the following error message
    500 Internal Server Error
    java.sql.SQLException: Fail to convert to internal representation     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:138)     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:175)     at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:240)     at oracle.sql.CHAR.doubleValue(CHAR.java:496)     at oracle.jdbc.driver.ScrollableResultSet.getDouble(ScrollableResultSet.java:593)     at oracle.jdbc.driver.OracleResultSet.getDouble(OracleResultSet.java:1654)     at test2.jspService(_test2.java:56)     [test2.jsp]     at com.orionserver[Oracle Containers for J2EE 10g (10.1.3.4.0) ].http.OrionHttpJspPage.service(OrionHttpJspPage.java:59)     at oracle.jsp.runtimev2.JspPageTable.service(JspPageTable.java:462)     at oracle.jsp.runtimev2.JspServlet.internalService(JspServlet.java:594)     at oracle.jsp.runtimev2.JspServlet.service(JspServlet.java:518)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:713)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)     at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)     at oracle.oc4j.network.ServerSocketAcceptHandler.procClientSocket(ServerSocketAcceptHandler.java:234)     at oracle.oc4j.network.ServerSocketAcceptHandler.access$700(ServerSocketAcceptHandler.java:29)     at oracle.oc4j.network.ServerSocketAcceptHandler$AcceptHandlerHorse.run(ServerSocketAcceptHandler.java:879)     at com.evermind[Oracle Containers for J2EE 10g (10.1.3.4.0) ].util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:298)     at java.lang.Thread.run(Thread.java:595)
    Message was edited by:
    Wen

    sorry, it's my typo in data type.
    thanks

  • Converting Oracle 7-Byte Internal Date FOrmat to MM/DD/YYYY format.

    I can get the date stored in the database in 7-Byte Internal representation.
    I want to convert this number to mm/dd/yyyy format,using PRO*C-SQLDA(Method 4),overriding any NLS DATE Format.
    null

    Only Oracle Spatial questions
    here please.
    null

  • Sql Exceptionjava.sql.SQLException: Fail to convert to internal representat

    Hai,
    I tryed to execute the following code and getting the error as
    Sql Exceptionjava.sql.SQLException: Fail to convert to internal representation.
    try{
                   Class.forName("oracle.jdbc.driver.OracleDriver");
                   connection= DriverManager.getConnection("jdbc:oracle:thin:@180.190.30.30:1521:jb3db1","jbl_pathart","jbl_pathart");
    statment=connection.prepareStatement (
                                  "SELECT path.pathway_name, phy.physiology_name, org.organism_name, path.is_physiology," +
                                  " jpty.pathway_type_name, path.pathway_id" +
                                  " FROM pathway path, physiology phy, organism org, jbl_pathway.pathway_type jpty "+
                                  " WHERE path.physiology_id = phy.physiology_id "+
                                  " AND path.organism_id = org.organism_id "+
                                  " AND path.pathway_type_id = jpty.pathway_type_id "+
                                  " AND path.pathway_id = " + i);
                        ResultSet rs=statment.executeQuery();
                        while(rs.next()){                    
                             orgName          = rs.getString(1);
                             phyName          = rs.getString(2);
                             pathwayName     = rs.getString(3);
                             is_physiology     = rs.getString(4);
                             pathwayId          = rs.getInt(5);
    } catch (Exception e){
                   System.out.println("Sql Exception"+e);
         }

    Please do this first...replace the following bit of code:
    } catch (Exception e){
    System.out.println("Sql Exception"+e);
    }with
    } catch (Exception e){
        e.printStackTrace();
    }If you do this, it'll even tell you exactly which line is throwing the exception.

  • Scoping XSD to internal BPEL activity

    I've come across a need to create an xsd definition to use in a DB write activity that is limited to the internal BPEL process activity. It just happens to pull together data from different sources that isn't exposed or defined externally. I don't think the transform offers the ability to use multiple sources for the mapping.
    Anyway, assuming that is correct and I don't want to expose this internal representation how do I limit this exposure? Should I be able to simply add it to the bpel file?

    I simply want to be able to localize (hide) the schema that I use to interact with the DB wizard. If I have a generate a special xsd definition to run the wizard on I don't really want to have to expose that externally (e.g. in a WSDL). The simple example I'm playing with requires multiple elements which are not contained within a externally defined element. I have to construct a new element and want to keep it internal.

  • Interned String underperforms when evaluating equality?

    In the following code
        public static void test2() {
            if ("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz".equals("abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxy1")) {
                System.out.println("The same");
            else {
                System.out.println("Different");
        }Both Strings are interned so it should be possible for the implementation of String (interned String) to quickly realise that the internal representation is different and hence that the strings are different. However the implementation of String does not know that it has been interned (commented on in other posts) and so it has to do the comparison character by character until it finds the different character at the end.
    This strikes me as poor. It means that for a fast comparison of interned Strings we will have to implement our own equality check.
    Comments anyone? Apologies if this has been covered before; I had a look but I couldn't find this topic mentioned elsewhere.
    Huw

    Okay, here's a slightly different example:
    public static final
    nal KEY_STRING="VeryInterestinKey";
    public void myFunc(String key) {
    if (key == KEY_STRING) {
    // Do something interesting.
    }This looks like a good idea, however I don't know
    where "key" came from, so I don't know whether the
    equality check will work. Instead I could go:
    if (key.intern() == KEY_STRING) {
    You should not use intern unless you are storing the returned value. Intern is not so that you can compare strings quickly, it's so that you can save memory. if you have a large data set from a file and know that the same value is read over and over (say in a tabular format), it makes sence to intern all the data from the file as that way you can store a thousand references to the same string instead of the same string a thousand times. All constant strings from all classes are also interned, but this is only becase multiple classes might be useing the same strings, this also saves on memory usage.
    Think about what intern actually does, it's not that magical. All intern does is have a static list with weak references to all the contents of the list. In the list is every string that has been interned. When you call intern, this list is searched for the string in question, if the string exists, then that string is returned, otherwise a new entry is added and that's returned. Probably, the same character array is put into the list. So yeah, it's going to take awhile to search that list if you do it all the time. It's not efficient to call intern when you don't need to.
    If you want to determine if 2 string are equal, call .equals()
    If you're really worried about performance of your .equals compare, then you shouldn't be using strings, use something more efficient, like integers.
    == means 'are these 2 references pointing at the same object?'
    not 'are these 2 objects functionally equivalent?'
    That's what a.equals(b) means.

  • Please Help - Very strange problem with internal String encoding

    I created a file in one-byte russian encoding cp1251 and declared String literal with 2 letters:
    String str = "ab"; //attention! ab - two russian characters
    After I got bytes from it - str.getBytes("cp1251") - it returned 2 byte's array.
    Now I created a file with UTF-8 encoding with equal content and suddenly:
    After I got bytes from it - str.getBytes("cp1251") - it returned 4! byte's array. Why?
    I need to get a one-byte encoded arrays (cp1251 or koi8-r) but getBytes ALWAYS returns two-byte encoded arrays.
    It is very strange: cp1251 is always one-byte encoded, but .getBytes("cp1251") returns two-byte on each letter. Why? Please help.

    I did not read a string from a file. I created 2 .java files with different encodings (cp1251 and UTF-8) and compiled them, telling compiler with -Dfile.encoding=*** to read them correctly. While execution java interprets two looking equal in editor strings as different objects with different .intern() representation.
    Why java consider source .java file encoding while creating internal representation of String object and creates from looking equally in editor strings two DIFFERENT Unicode representations. And it is impossible to convert one representation to other - impossible to get two equal byte[] arrays.

  • What are the different values available for type attribute

    Hi,
        I am working with IDOC to Stored Procedure. For each field we need to give the values for 'isInput' and 'type' attributes. I need to pass values for 'datetime' and 'numeric' fields. What are the list of values availabIe for 'type' attribute. I know only about 'CHAR' attribute.
         Can anybody please tell me what all the values availabe for attribute 'type'. I am facing this problem while giving the value for type attribute.
    Thanks in Advance,
    Murthy.

    Does this help
    tring
        Data that contains a combination of letters, numbers, and special characters. String data types are listed below:
    CHARACTER: Fixed-length character strings. The common short name for this data type is CHAR.
    VARCHAR: Varying-length character strings.
    CLOB: Varying-length character large object strings, typically used when a character string might exceed the limits of the VARCHAR data type.
    GRAPHIC: Fixed-length graphic strings that contain double-byte characters.
    VARGRAPHIC: Varying-length graphic strings that contain double-byte characters.
    DBCLOB: Varying-length strings of double-byte characters in a large object.
    |BINARY: A sequence of bytes that is not associated with a |code page.
    |VARBINARY: Varying-length binary strings.
    BLOB: Varying-length binary strings in a large object.
    |XML: Varying-length string that is an internal representation |of XML.
    Numeric
        Data that contains digits. Numeric data types are listed below:
    SMALLINT: for small integers.
    |INTEGER: for large integers.
    |BIGINT: for bigger values.
    DECIMAL(p,s) or NUMERIC(p,s), where p is precision and s is scale: for packed decimal numbers with precision p and scale s. Precision is the total number of digits, and scale is the number of digits to the right of the decimal point.
    |DECFLOAT: for decimal floating-point numbers.
    REAL: for single-precision floating-point numbers.
    DOUBLE: for double-precision floating-point numbers.
    Datetime
        Data values that represent dates, times, or timestamps. Datetime data types are listed below:
    DATE: Dates with a three-part value that represents a year, month, and day.
    TIME: Times with a three-part value that represents a time of day in hours, minutes, and seconds.
    TIMESTAMP: Timestamps with a seven-part value that represents a date and time by year, month, day, hour, minute, second, and microsecond.
    Regards
    Ravi

  • Can any one give me answer for these questions

    Can any one give me answer for these questions. I  got these questions from net plz post the answers you know
    ABAP CERTIFICATION QUESTIONS
    1. If a table does not have MANDT as part of the primary key, it is ____.
    A: A structure
    B: Invalid
    C: Client-independent
    D: Not mandatory
    2. In regard to CALL, which of the following is NOT a valid statement?
    A: CALL FUNCTION
    B: CALL SCREEN
    C: CALL TRANSACTION
    D: CALL PROGRAM
    3. Name the type of ABAP Dictionary table that has these characteristics:
    Same number of fields as the database table
    Same name as database table
    Maps 1:1 to database table
    A: Pooled
    B: Cluster
    C: Transparent
    D: View
    4. An event starts with an event keyword and ends with:
    A: Program execution.
    B: END-OF-EVENT.
    C: Another event keyword.
    D: END-EVENT.
    5. What is the system field for the current date?
    A: SY-DATUM
    B: SY-DATE
    C: SY-DATID
    D: SY-SDATE
    6. The following code indicates:
    SELECT fld1 fld2 FROM tab1 APPENDING TABLE itab
    WHERE fld1 IN sfld1.
    A: Add rows to the existing rows of itab.
    B: Add rows to itab after first deleting any existing rows of itab.
    C: Select rows from tab1 for matching itab entries.
    D: Nothing, this is a syntax error.
    7. You may change the following data object as shown below so that it equals 3.14.
    CONSTANTS: PI type P decimals 2 value '3.1'.
    PI = '3.14'.
    A: True
    B: False
    8. The SAP service that ensures data integrity by handling locking is called:
    A: Update
    B: Dialog
    C: Enqueue/Dequeue
    D: Spool
    9. Which of these sentences most accurately describes the GET VBAK LATE. event?
    A: This event is processed before the second time the GET VBAK event is processed.
    B: This event is processed after all occurrences of the GET VBAK event are completed.
    C: This event will only be processed after the user has selected a basic list row.
    D: This event is only processed if no records are selected from table VBAK.
    10. Which of the following is not a true statement in regard to a hashed internal table type?
    A: Its key must always be UNIQUE.
    B: May only be accessed by its key.
    C: Response time for accessing a row depends on the number of entries in the table.
    D: Declared using internal table type HASHED TABLE.
    11. TO include database-specific SQL statements within an ABAP program, code them between:
    A: NATIVE SQL_ENDNATIVE.
    B: DB SQL_ENDDB.
    C: SELECT_ENDSELECT.
    D: EXEC SQL_ENDEXEC.
    12. To measure how long a block of code runs, use the ABAP statement:
    A: GET TIME .
    B: SET TIME FIELD .
    C: GET RUN TIME FIELD .
    D: SET CURSOR FIELD .
    13. When a secondary list is being processed, the data of the basic list is available by default.
    A: True
    B: False
    14. Given:
    DATA: BEGIN OF itab OCCURS 10,
    qty type I,
    END OF itab.
    DO 25 TIMES. itab-qty = sy-index. APPEND itab. ENDDO.
    LOOP AT itab WHERE qty > 10.
    WRITE: /1 itab-qty.
    ENDLOOP.
    This will result in:
    A: Output of only those itab rows with a qty field less than 10
    B: Output of the first 10 itab rows with a qty field greater than 10
    C: A syntax error
    D: None of the above
    15. After a DESCRIBE TABLE statement SY-TFILL will contain
    A: The number of rows in the internal table.
    B: The current OCCURS value.
    C: Zero, if the table contains one or more rows.
    D: The length of the internal table row structure.
    16. You may declare your own internal table type using the TYPES keyword.
    A: True
    B: False
    17. After adding rows to an internal table with COLLECT, you should avoid adding more rows with APPEND.
    A: True
    B: False
    18. Which of the following is not a component of control break processing when looping at an internal table?
    A: AT START OF
    B: AT FIRST
    C: AT LAST
    D: AT NEW
    19. A dictionary table is made available for use within an ABAP program via the TABLES statement.
    A: True
    B: False
    20. Which of the following would be best for hiding further selection criteria until a function is chosen?
    A: AT NEW SELECTION-SCREEN
    B: SELECTION-SCREEN AT LINE-SELECTION
    C: SUBMIT SELECTION-SCREEN
    D: CALL SELECTION-SCREEN
    21. What must you code in the flow logic to prevent a module from being called unless a field contains a non-initial value (as determined by its data type)?
    A: ON INPUT
    B: CHAIN
    C: FIELD
    D: ON REQUEST
    22. The AT USER-COMMAND event is triggered by functions defined in the ____.
    A: screen painter
    B: ABAP report
    C: menu painter status
    D: ABAP Dictionary
    23. In regard to a function group, which of the following is NOT a true statement?
    A: Combines similar function modules.
    B: Shares global data with all its function modules.
    C: Exists within the ABAP workbench as an include program.
    D: Shares subroutines with all its function modules.
    24. In regard to SET PF-STATUS, you can deactivate unwanted function codes by using ____.
    A: EXCLUDING
    B: IMMEDIATELY
    C: WITHOUT
    D: HIDE
    25. In regard to data transported in PAI when the FIELD statement is used, which of the following is NOT a true statement?
    A: Fields in PBO are transported directly from PAI.
    B: Fields with identical names are transported to the ABAP side.
    C: Fields not defined in FIELD statements are transported first.
    D: Fields that are defined in FIELD statements are transported when their corresponding module is called.
    26. The order in which an event appears in the ABAP code determines when the event is processed.
    A: True
    B: False
    27. A field declared as type T has the following internal representation:
    A: SSMMHH
    B: HHMMSS
    C: MMHHSS
    D: HHSSMM
    28. Which of the following is NOT a component of the default standard ABAP report header?
    A: Date and Time
    B: List title
    C: Page number
    D: Underline
    29. Assuming a pushbutton with function code 'FUNC' is available in the toolbar of a list report, what event is processed when the button is clicked?
    A: AT USER-COMMAND.
    B: AT PFn.
    C: AT SELECTION-SCREEN.
    D: END-OF-SELECTION.
    30. In regard to field selection, what option of the SELECT statement is required?
    A: FOR ALL ENTRIES
    B: WHERE
    C: INTO
    D: MOVE-CORRESPONDING
    31. The following program outputs what?
    report zjgtest1
    write: /1 'Ready_'.
    PARAMETER: test.
    INITIALIZATION.
    write: /1 'Set_'.
    START-OF-SELECTION.
    write: /1 'GO!!'.
    A: Set_ GO!! (each on its own line)
    B: Set_ Ready_ GO!! (all on their own lines)
    C: Ready_ GO!! (each on its own line)
    D: Ready_ Set_ GO!! (all on their own lines)
    32. To declare a selection criterion that does not appear on the selection screen, use:
    A: NO-DISPLAY
    B: INVISIBLE
    C: MODIF ID
    D: OBLIGATORY
    33. An internal table that is nested within another internal table should not contain a header line.
    A: True
    B: False
    34. What is output by the following code?
    DATA: BEGIN OF itab OCCURS 0, letter type c, END OF itab.
    itab-letter = 'A'. APPEND itab. itab-letter = 'B'. APPEND itab.
    itab-letter = 'C'. APPEND itab. itab-letter = 'D'. APPEND itab.
    LOOP AT itab.
    SY-TABIX = 2.
    WRITE itab-letter.
    EXIT.
    ENDLOOP.
    A: A
    B: A B C D
    C: B
    D: B C D
    35. To select all database entries for a certain WHERE clause into an internal table in one step, use
    A: SELECT_INTO TABLE itab_
    B: SELECT_INTO itab_
    C: SELECT_APPENDING itab
    D: SELECT_itab_
    36. After a successful SELECT statement, what does SY-SUBRC equal?
    A: 0
    B: 4
    C: 8
    D: Null
    37. This selection screen syntax forces the user to input a value:
    A: REQUIRED-ENTRY
    B: OBLIGATORY
    C: DEFAULT
    D: SELECTION-SCREEN EXCLUDE
    38. If the following code results in a syntax error, the remedy is:
    DATA: itab TYPE SORTED TABLE OF rec_type WITH UNIQUE KEY field1
    WITH HEADER LINE.
    itab-field1 = 'Company'. itab-field2 = '1234'. INSERT TABLE itab.
    itab-field1 = 'Bank'. itab-field2 = 'ABC'. INSERT TABLE itab.
    SORT itab.
    LOOP AT itab.
    write: /1 itab-field1, itab-field2.
    ENDLOOP.
    A: There is no syntax error here
    B: Remove the SORT statement
    C: Change INSERT to APPEND
    D: Add a WHERE clause to the loop
    39. If this code results in an error, the remedy is:
    SELECT fld1 fld2 FROM tab1 WHERE fld3 = pfld3.
    WRITE: /1 tab1-fld1, tab1-fld2.
    ENDSELECT.
    A: Add a SY-SUBRC check.
    B: Change the WHERE clause to use fld1 or fld2.
    C: Remove the /1 from the WRITE statement.
    D: Add INTO (tab1-fld1, tab1-fld2).
    40. When modifying an internal table within LOOP AT itab. _ ENDLOOP. you must include an index number.
    A: True
    B: False
    41. To allow the user to enter values on the screen for a list field, use:
    A: OPEN LINE.
    B: SET CURSOR FIELD.
    C: WRITE fld AS INPUT FIELD.
    D: FORMAT INPUT ON.
    42. Before a function module may be tested, it must first be:
    A: Linked
    B: Authorized
    C: Released
    D: Active
    43. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain the data declaration for the field?
    A: PBO module include program
    B: TOP include program
    C: PAI module include program
    D: Subroutine include program
    44. If a table contains many duplicate values for a field, minimize the number of records returned by using this SELECT statement addition.
    A: MIN
    B: ORDER BY
    C: DISTINCT
    D: DELETE
    45. The system internal table used for dynamic screen modification is named:
    A: ITAB
    B: SCREEN
    C: MODTAB
    D: SMOD
    46. Within the source code of a function module, errors are handled via the keyword:
    A: EXCEPTION
    B: RAISE
    C: STOP
    D: ABEND
    47. Which system field contains the contents of a selected line?
    A: SY-CUCOL
    B: SY-LILLI
    C: SY-CUROW
    D: SY-LISEL
    48. The following statement writes what type of data object?
    WRITE: /1 'Total Amount:'.
    A: Text literal
    B: Text variable
    C: In-code comment
    D: Text integer
    49. For the code below, second_field is of what data type?
    DATA: first_field type P, second_field like first_field.
    A: P
    B: C
    C: N
    D: D
    50. Which of the following describes the internal representation of a type D data object?
    A: DDMMYYYY
    B: YYYYDDMM
    C: MMDDYYYY
    D: YYYYMMDD
    51. A BDC program is used for all of the following except:
    A: Downloading data to a local file
    B: Data interfaces between SAP and external systems
    C: Initial data transfer
    D: Entering a large amount of data
    52. In regard to PERFORM, which of the following is NOT a true statement?
    A: May be used within a subroutine.
    B: Requires actual parameters.
    C: Recursive calls are allowed in ABAP.
    D: Can call a subroutine in another program.
    53. What is the transaction code for the ABAP Editor?
    A: SE11
    B: SE38
    C: SE36
    D: SE16
    54. In regard to HIDE, which of the following is NOT a true statement?
    A: Saves the contents of variables in relation to a list line's row number.
    B: The hidden variables must be output on a list line.
    C: The HIDE area is retrieved when using the READ LINE statement.
    D: The HIDE area is retrieved when an interactive event is triggered.
    55. Database locks are sufficient in a multi-user environment.
    A: True
    B: False
    56. The complete technical definition of a table field is determined by the field's:
    A: Domain
    B: Field name
    C: Data type
    D: Data element
    57. In regard to LEAVE, which of the following is NOT a true statement?
    A: May be used to return immediately to a calling program.
    B: May be used to stop the current loop pass and get the next.
    C: May be used to start a new transaction.
    D: May be used to go to the next screen.
    58. The following code indicates:
    SELECT fld6 fld3 fld2 fld1 FROM tab1 INTO CORRESPONDING FIELDS OF TABLE itab
    WHERE fld3 = pfld3.
    A: The order of the fields in itab does not matter.
    B: Fill the header line of itab, but not the body.
    C: Table itab can only contain fields also in table tab1.
    D: None of the above.
    59. The ABAP statement below indicates that the program should continue with the next line of code if the internal table itab:
    CHECK NOT itab[] IS INITIAL.
    A: Contains no rows
    B: Contains at least one row
    C: Has a header line
    D: Has an empty header line
    60. What will be output by the following code?
    DATA: BEGIN OF itab OCCURS 0, fval type i, END OF itab.
    itab-fval = 1. APPEND itab.
    itab-fval = 2. APPEND itab.
    FREE itab.
    WRITE: /1 itab-fval.
    A: 2
    B: 0
    C: blank
    D: 1
    61. To allow the user to enter a range of values on a selection screen, use the ABAP keyword:
    A: DATA.
    B: RANGES.
    C: PARAMETERS.
    D: SELECT-OPTIONS.
    62. If an internal table is declared without a header line, what else must you declare to work with the table's rows?
    A: Another internal table with a header line.
    B: A work area with the same structure as the internal table.
    C: An internal table type using the TYPES statement.
    D: A PARAMETER.
    63. Assuming an internal table contains 2000 entries, how many entries will it have after the following line of code is executed?
    DELETE itab FROM 1500 TO 1700.
    A: This is a syntax error.
    B: 1801
    C: 1800
    D: 1799
    64. To remove lines from a database table, use ____.
    A: UPDATE
    B: MODIFY
    C: ERASE
    D: DELETE
    65. All of the following may be performed using SET CURSOR except:
    A: Move the cursor to a specific field on a list.
    B: Move the cursor to a specific list line.
    C: Move the cursor to a specific pushbutton, activating that function.
    D: Move the cursor to a specific row and column on a list.
    66. When is it optional to pass an actual parameter to a required formal parameter of a function module?
    A: The actual parameter is type C.
    B: The formal parameter contains a default value.
    C: The formal parameter's \"Reference\" attribute is turned on.
    D: It is never optional.
    67. Coding two INITIALIZATION events will cause a syntax error.
    A: True
    B: False
    68. Adding a COMMIT WORK statement between SELECT_ENDSELECT is a good method for improving performance.
    A: True
    B: False
    69. To save information on a list line for use after the line is selected, use this keyword.
    A: APPEND
    B: EXPORT
    C: WRITE
    D: HIDE
    70. To bypass automatic field input checks, include this in PAI.
    A: AT EXIT-COMMAND
    B: ON INPUT
    C: ON REQUEST
    D: LEAVE TO SCREEN 0.
    71. Within a function module's source code, if the MESSAGE_RAISING statement is executed, all of the following system fields are filled automatically except:
    A: SY-MSGTY
    B: SY-MSGNO
    C: SY-MSGV1
    D: SY-MSGWA
    72. The following code indicates:
    REPORT ZLISTTST.
    START-OF-SELECTION.
    WRITE: text-001.
    FORMAT HOTSPOT ON.
    WRITE: text-002.
    FORMAT HOTSPOT OFF.
    AT LINE-SELECTION.
    WRITE / text-003.
    A: Text-002 may not be selected.
    B: The value of text-002 is stored in a special memory area.
    C: Text-002 may be clicked once to trigger the output of text-003.
    D: None of the above.
    73. The ____ type of ABAP Dictionary view consists of one or more transparent tables and may be accessed by an ABAP program using Open SQL.
    A: Database view
    B: Projection view
    C: Help view
    D: Entity view
    74. A concrete field is associated with a field-symbol via ABAP keyword
    A: MOVE
    B: WRITE
    C: ASSIGN
    D: VALUE
    75. The output for the following code will be:
    report zabaprg.
    DATA: char_field type C.
    char_field = 'ABAP data'.
    WRITE char_field.
    A: ABAP data
    B: A
    C: Nothing, there is a syntax error
    D: None of the above
    76. Page footers are coded in the event:
    A: TOP-OF-PAGE.
    B: END-OF-SELECTION.
    C: NEW-PAGE.
    D: END-OF-PAGE.
    77. The event AT SELECTION-SCREEN OUTPUT. occurs before the selection screen is displayed and is the best event for assigning default values to selection criteria.
    A: True
    B: False
    78. The TABLES statement declares a data object.
    A: True
    B: False
    79. Assuming tab1-fld7 is not a key field, how can you prevent reading all the table rows?
    SELECT fld1 fld2 fld3 FROM tab1 INTO (fld4, fld5, fld6)
    WHERE fld7 = pfld7.
    WRITE: /1 fld4, fld5, fld6.
    ENDSELECT.
    A: Take fld7 out of the WHERE clause.
    B: Create an index in the ABAP Dictionary for tab1-fld7.
    C: Use INTO TABLE instead of just INTO.
    D: Take the WRITE statement out of the SELECT_ENDSELECT.
    80. Which of the following is NOT a required attribute when creating an ABAP program?
    A: Application
    B: Title
    C: Status
    D: Type
    81. When creating a transparent table in the ABAP Dictionary, which step automatically creates the table in the underlying database?
    A: Adding technical settings to the table
    B: Checking the table syntax
    C: Saving the table
    D: Activating the table
    82. Within the ABAP program attributes, Type = 1 represents:
    A: INCLUDE program
    B: Online program
    C: Module pool
    D: Function group
    E: Subroutine pool
    83. If this code results in an error, the remedy is:
    SELECT fld1 SUM( fld1 ) FROM tab1 INTO_
    A: Remove the spaces from SUM( fld1 ).
    B: Move SUM( fld1 ) before fld1.
    C: Add GROUP BY f1.
    D: Change to SUM( DISTINCT f1 ).
    84. Which keyword adds rows to an internal table while accumulating numeric values?
    A: INSERT
    B: APPEND
    C: COLLECT
    D: GROUP
    85. Assuming itab has a header line, what will be output by the following code?
    READ TABLE itab INDEX 3 TRANSPORTING field1.
    WRITE: /1 itab-field1, itab-field2.
    A: The contents of the third row's itab-field1.
    B: The contents of the third row's itab-field1 and itab-field2.
    C: The contents of the third row's itab-field2.
    D: Nothing.
    86. The following code indicates:
    SELECTION-SCREEN BEGIN OF BLOCK B1.
    PARAMETERS: myparam(10) type C,
    Myparam2(10) type N,
    SELECTION-SCREEN END OF BLOCK.
    A: Draw a box around myparam and myparam2 on the selection screen.
    B: Allow myparam and myparam2 to be ready for input during an error dialog.
    C: Do not display myparam and myparam2 on the selection screen.
    D: Display myparam and myparam2 only if both fields have default values.
    87. Which statement will sort the data of an internal table with fields FRUIT, QTY, and PRICE so that it appears as follows?
    FRUIT QTY PRICE
    Apples 12 22.50
    Apples 9 18.25
    Oranges 15 17.35
    Bananas 20 10.20
    Bananas 15 6.89
    Bananas 5 2.75
    A: SORT itab DESCENDING BY QTY PRICE.
    B: SORT itab BY PRICE FRUIT.
    C: SORT itab.
    D: SORT itab BY PRICE DESCENDING.
    88. Which keyword adds a line anywhere within an internal table?
    A: APPEND
    B: MODIFY
    C: ADD
    D: INSERT
    89. To read a single line of an internal table, use the following:
    A: LOOP AT itab. _ ENDLOOP.
    B: READ itab.
    C: SELECT SINGLE * FROM itab.
    D: READ TABLE itab.
    90. Which Open SQL statement should not be used with cluster databases?
    A: UPDATE
    B: MODIFY
    C: DELETE
    D: INSERT
    91. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain the data declaration for the field?
    A: PBO module include program
    B: TOP include program
    C: PAI module include program
    D: Subroutine include program
    92. This flow logic statement is used to make multiple fields open for input after an error or warning message.
    A: GROUP
    B: FIELD-GROUP
    C: CHAIN
    D: LOOP AT SCREEN
    93. Given:
    PERFORM subroutine USING var.
    The var field is known as what type of parameter?
    A: Formal
    B: Actual
    C: Static
    D: Value

    ANSWERS :
    1. If a table does not have MANDT as part of the primary key, it is ____.
    A: A structure
    B: Invalid
    C: Client-independent
    D: Not mandatory
    Ans : C
    2. In regard to CALL, which of the following is NOT a valid statement?
    A: CALL FUNCTION
    B: CALL SCREEN
    C: CALL TRANSACTION
    D: CALL PROGRAM
    Ans : D
    3. Name the type of ABAP Dictionary table that has these characteristics:
    Same number of fields as the database table
    Same name as database table
    Maps 1:1 to database table
    A: Pooled
    B: Cluster
    C: Transparent
    D: View
    Ans : C
    4. An event starts with an event keyword and ends with:
    A: Program execution.
    B: END-OF-EVENT.
    C: Another event keyword.
    D: END-EVENT.
    Ans: C
    5. What is the system field for the current date?
    A: SY-DATUM
    B: SY-DATE
    C: SY-DATID
    D: SY-SDATE
    Ans : A
    6. The following code indicates:
    SELECT fld1 fld2 FROM tab1 APPENDING TABLE itab
    WHERE fld1 IN sfld1.
    A: Add rows to the existing rows of itab.
    B: Add rows to itab after first deleting any existing rows of itab.
    C: Select rows from tab1 for matching itab entries.
    D: Nothing, this is a syntax error.
    Ans : B
    7. You may change the following data object as shown below so that it equals 3.14.
    CONSTANTS: PI type P decimals 2 value '3.1'.
    PI = '3.14'.
    A: True
    B: False
    Ans : B
    8. The SAP service that ensures data integrity by handling locking is called:
    A: Update
    B: Dialog
    C: Enqueue/Dequeue
    D: Spool
    Ans : C
    9. Which of these sentences most accurately describes the GET VBAK LATE. event?
    A: This event is processed before the second time the GET VBAK event is processed.
    B: This event is processed after all occurrences of the GET VBAK event are completed.
    C: This event will only be processed after the user has selected a basic list row.
    D: This event is only processed if no records are selected from table VBAK.
    Ans :
    10. Which of the following is not a true statement in regard to a hashed internal table type?
    A: Its key must always be UNIQUE.
    B: May only be accessed by its key.
    C: Response time for accessing a row depends on the number of entries in the table.
    D: Declared using internal table type HASHED TABLE.
    Ans : C
    11. TO include database-specific SQL statements within an ABAP program, code them between:
    A: NATIVE SQL_ENDNATIVE.
    B: DB SQL_ENDDB.
    C: SELECT_ENDSELECT.
    D: EXEC SQL_ENDEXEC.
    Ans : D
    12. To measure how long a block of code runs, use the ABAP statement:
    A: GET TIME .
    B: SET TIME FIELD .
    C: GET RUN TIME FIELD .
    D: SET CURSOR FIELD .
    Ans : C
    13. When a secondary list is being processed, the data of the basic list is available by default.
    A: True
    B: False
    Ans : B
    14. Given:
    DATA: BEGIN OF itab OCCURS 10,
    qty type I,
    END OF itab.
    DO 25 TIMES. itab-qty = sy-index. APPEND itab. ENDDO.
    LOOP AT itab WHERE qty > 10.
    WRITE: /1 itab-qty.
    ENDLOOP.
    This will result in:
    A: Output of only those itab rows with a qty field less than 10
    B: Output of the first 10 itab rows with a qty field greater than 10
    C: A syntax error
    D: None of the above
    Ans : B
    15. After a DESCRIBE TABLE statement SY-TFILL will contain
    A: The number of rows in the internal table.
    B: The current OCCURS value.
    C: Zero, if the table contains one or more rows.
    D: The length of the internal table row structure.
    Ans ; A
    16. You may declare your own internal table type using the TYPES keyword.
    A: True
    B: False
    Ans : A
    17. After adding rows to an internal table with COLLECT, you should avoid adding more rows with APPEND.
    A: True
    B: False
    Ans : A
    18. Which of the following is not a component of control break processing when looping at an internal table?
    A: AT START OF
    B: AT FIRST
    C: AT LAST
    D: AT NEW
    Ans : A
    19. A dictionary table is made available for use within an ABAP program via the TABLES statement.
    A: True
    B: False
    Ans : A
    20. Which of the following would be best for hiding further selection criteria until a function is chosen?
    A: AT NEW SELECTION-SCREEN
    B: SELECTION-SCREEN AT LINE-SELECTION
    C: SUBMIT SELECTION-SCREEN
    D: CALL SELECTION-SCREEN
    Ans : D
    21. What must you code in the flow logic to prevent a module from being called unless a field contains a non-initial value (as determined by its data type)?
    A: ON INPUT
    B: CHAIN
    C: FIELD
    D: ON REQUEST
    Ans : A
    22. The AT USER-COMMAND event is triggered by functions defined in the ____.
    A: screen painter
    B: ABAP report
    C: menu painter status
    D: ABAP Dictionary
    Ans : C
    23. In regard to a function group, which of the following is NOT a true statement?
    A: Combines similar function modules.
    B: Shares global data with all its function modules.
    C: Exists within the ABAP workbench as an include program.
    D: Shares subroutines with all its function modules.
    Ans ; C
    24. In regard to SET PF-STATUS, you can deactivate unwanted function codes by using ____.
    A: EXCLUDING
    B: IMMEDIATELY
    C: WITHOUT
    D: HIDE
    Ans : A
    25. In regard to data transported in PAI when the FIELD statement is used, which of the following is NOT a true statement?
    A: Fields in PBO are transported directly from PAI.
    B: Fields with identical names are transported to the ABAP side.
    C: Fields not defined in FIELD statements are transported first.
    D: Fields that are defined in FIELD statements are transported when their corresponding module is called.
    Ans ; C
    26. The order in which an event appears in the ABAP code determines when the event is processed.
    A: True
    B: False
    Ans : B
    27. A field declared as type T has the following internal representation:
    A: SSMMHH
    B: HHMMSS
    C: MMHHSS
    D: HHSSMM
    Ans : B
    28. Which of the following is NOT a component of the default standard ABAP report header?
    A: Date and Time
    B: List title
    C: Page number
    D: Underline
    Ans ; A
    29. Assuming a pushbutton with function code 'FUNC' is available in the toolbar of a list report, what event is processed when the button is clicked?
    A: AT USER-COMMAND.
    B: AT PFn.
    C: AT SELECTION-SCREEN.
    D: END-OF-SELECTION.
    Ans : A
    30. In regard to field selection, what option of the SELECT statement is required?
    A: FOR ALL ENTRIES
    B: WHERE
    C: INTO
    D: MOVE-CORRESPONDING
    Ans : B
    31. The following program outputs what?
    report zjgtest1
    write: /1 'Ready_'.
    PARAMETER: test.
    INITIALIZATION.
    write: /1 'Set_'.
    START-OF-SELECTION.
    write: /1 'GO!!'.
    A: Set_ GO!! (each on its own line)
    B: Set_ Ready_ GO!! (all on their own lines)
    C: Ready_ GO!! (each on its own line)
    D: Ready_ Set_ GO!! (all on their own lines)
    Ans : C
    32. To declare a selection criterion that does not appear on the selection screen, use:
    A: NO-DISPLAY
    B: INVISIBLE
    C: MODIF ID
    D: OBLIGATORY
    Ans : A
    33. An internal table that is nested within another internal table should not contain a header line.
    A: True
    B: False
    Ans : B
    34. What is output by the following code?
    DATA: BEGIN OF itab OCCURS 0, letter type c, END OF itab.
    itab-letter = 'A'. APPEND itab. itab-letter = 'B'. APPEND itab.
    itab-letter = 'C'. APPEND itab. itab-letter = 'D'. APPEND itab.
    LOOP AT itab.
    SY-TABIX = 2.
    WRITE itab-letter.
    EXIT.
    ENDLOOP.
    A: A
    B: A B C D
    C: B
    D: B C D
    Ans : A
    35. To select all database entries for a certain WHERE clause into an internal table in one step, use
    A: SELECT_INTO TABLE itab_
    B: SELECT_INTO itab_
    C: SELECT_APPENDING itab
    D: SELECT_itab_
    36. After a successful SELECT statement, what does SY-SUBRC equal?
    A: 0
    B: 4
    C: 8
    D: Null
    Ans : A
    37. This selection screen syntax forces the user to input a value:
    A: REQUIRED-ENTRY
    B: OBLIGATORY
    C: DEFAULT
    D: SELECTION-SCREEN EXCLUDE
    Ans : B
    38. If the following code results in a syntax error, the remedy is:
    DATA: itab TYPE SORTED TABLE OF rec_type WITH UNIQUE KEY field1
    WITH HEADER LINE.
    itab-field1 = 'Company'. itab-field2 = '1234'. INSERT TABLE itab.
    itab-field1 = 'Bank'. itab-field2 = 'ABC'. INSERT TABLE itab.
    SORT itab.
    LOOP AT itab.
    write: /1 itab-field1, itab-field2.
    ENDLOOP.
    A: There is no syntax error here
    B: Remove the SORT statement
    C: Change INSERT to APPEND
    D: Add a WHERE clause to the loop
    Ans :
    39. If this code results in an error, the remedy is:
    SELECT fld1 fld2 FROM tab1 WHERE fld3 = pfld3.
    WRITE: /1 tab1-fld1, tab1-fld2.
    ENDSELECT.
    A: Add a SY-SUBRC check.
    B: Change the WHERE clause to use fld1 or fld2.
    C: Remove the /1 from the WRITE statement.
    D: Add INTO (tab1-fld1, tab1-fld2).
    Ans : D
    40. When modifying an internal table within LOOP AT itab. _ ENDLOOP. you must include an index number.
    A: True
    B: False
    Ans : A
    41. To allow the user to enter values on the screen for a list field, use:
    A: OPEN LINE.
    B: SET CURSOR FIELD.
    C: WRITE fld AS INPUT FIELD.
    D: FORMAT INPUT ON.
    Ans : C
    42. Before a function module may be tested, it must first be:
    A: Linked
    B: Authorized
    C: Released
    D: Active
    Ans : D
    43. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain the data declaration for the field?
    A: PBO module include program
    B: TOP include program
    C: PAI module include program
    D: Subroutine include program
    Ans : B
    44. If a table contains many duplicate values for a field, minimize the number of records returned by using this SELECT statement addition.
    A: MIN
    B: ORDER BY
    C: DISTINCT
    D: DELETE
    Ans : C
    45. The system internal table used for dynamic screen modification is named:
    A: ITAB
    B: SCREEN
    C: MODTAB
    D: SMOD
    Ans : B
    46. Within the source code of a function module, errors are handled via the keyword:
    A: EXCEPTION
    B: RAISE
    C: STOP
    D: ABEND
    Ans : A
    47. Which system field contains the contents of a selected line?
    A: SY-CUCOL
    B: SY-LILLI
    C: SY-CUROW
    D: SY-LISEL
    Ans : D
    48. The following statement writes what type of data object?
    WRITE: /1 'Total Amount:'.
    A: Text literal
    B: Text variable
    C: In-code comment
    D: Text integer
    Ans : A
    49. For the code below, second_field is of what data type?
    DATA: first_field type P, second_field like first_field.
    A: P
    B: C
    C: N
    D: D
    Ans : A
    50. Which of the following describes the internal representation of a type D data object?
    A: DDMMYYYY
    B: YYYYDDMM
    C: MMDDYYYY
    D: YYYYMMDD
    Ans : A
    51. A BDC program is used for all of the following except:
    A: Downloading data to a local file
    B: Data interfaces between SAP and external systems
    C: Initial data transfer
    D: Entering a large amount of data
    Ans : A
    52. In regard to PERFORM, which of the following is NOT a true statement?
    A: May be used within a subroutine.
    B: Requires actual parameters.
    C: Recursive calls are allowed in ABAP.
    D: Can call a subroutine in another program.
    Ans : B
    53. What is the transaction code for the ABAP Editor?
    A: SE11
    B: SE38
    C: SE36
    D: SE16
    Ans : B
    54. In regard to HIDE, which of the following is NOT a true statement?
    A: Saves the contents of variables in relation to a list line's row number.
    B: The hidden variables must be output on a list line.
    C: The HIDE area is retrieved when using the READ LINE statement.
    D: The HIDE area is retrieved when an interactive event is triggered.
    Ans : B
    55. Database locks are sufficient in a multi-user environment.
    A: True
    B: False
    Ans : B
    56. The complete technical definition of a table field is determined by the field's:
    A: Domain
    B: Field name
    C: Data type
    D: Data element
    Ans : A
    57. In regard to LEAVE, which of the following is NOT a true statement?
    A: May be used to return immediately to a calling program.
    B: May be used to stop the current loop pass and get the next.
    C: May be used to start a new transaction.
    D: May be used to go to the next screen.
    Ans : B
    58. The following code indicates:
    SELECT fld6 fld3 fld2 fld1 FROM tab1 INTO CORRESPONDING FIELDS OF TABLE itab
    WHERE fld3 = pfld3.
    A: The order of the fields in itab does not matter.
    B: Fill the header line of itab, but not the body.
    C: Table itab can only contain fields also in table tab1.
    D: None of the above.
    Ans : C
    59. The ABAP statement below indicates that the program should continue with the next line of code if the internal table itab:
    CHECK NOT itab[] IS INITIAL.
    A: Contains no rows
    B: Contains at least one row
    C: Has a header line
    D: Has an empty header line
    Ans : B
    60. What will be output by the following code?
    DATA: BEGIN OF itab OCCURS 0, fval type i, END OF itab.
    itab-fval = 1. APPEND itab.
    itab-fval = 2. APPEND itab.
    FREE itab.
    WRITE: /1 itab-fval.
    A: 2
    B: 0
    C: blank
    D: 1
    Ans : A
    61. To allow the user to enter a range of values on a selection screen, use the ABAP keyword:
    A: DATA.
    B: RANGES.
    C: PARAMETERS.
    D: SELECT-OPTIONS.
    Ans : D
    62. If an internal table is declared without a header line, what else must you declare to work with the table's rows?
    A: Another internal table with a header line.
    B: A work area with the same structure as the internal table.
    C: An internal table type using the TYPES statement.
    D: A PARAMETER.
    Ans : B
    63. Assuming an internal table contains 2000 entries, how many entries will it have after the following line of code is executed?
    DELETE itab FROM 1500 TO 1700.
    A: This is a syntax error.
    B: 1801
    C: 1800
    D: 1799
    Ans : A
    64. To remove lines from a database table, use ____.
    A: UPDATE
    B: MODIFY
    C: ERASE
    D: DELETE
    Ans : D
    65. All of the following may be performed using SET CURSOR except:
    A: Move the cursor to a specific field on a list.
    B: Move the cursor to a specific list line.
    C: Move the cursor to a specific pushbutton, activating that function.
    D: Move the cursor to a specific row and column on a list.
    Ans : C
    66. When is it optional to pass an actual parameter to a required formal parameter of a function module?
    A: The actual parameter is type C.
    B: The formal parameter contains a default value.
    C: The formal parameter's \"Reference\" attribute is turned on.
    D: It is never optional.
    Ans : B
    67. Coding two INITIALIZATION events will cause a syntax error.
    A: True
    B: False
    Ans : B
    68. Adding a COMMIT WORK statement between SELECT_ENDSELECT is a good method for improving performance.
    A: True
    B: False
    Ans : B
    69. To save information on a list line for use after the line is selected, use this keyword.
    A: APPEND
    B: EXPORT
    C: WRITE
    D: HIDE
    Ans : D
    70. To bypass automatic field input checks, include this in PAI.
    A: AT EXIT-COMMAND
    B: ON INPUT
    C: ON REQUEST
    D: LEAVE TO SCREEN 0.
    Ans : A
    71. Within a function module's source code, if the MESSAGE_RAISING statement is executed, all of the following system fields are filled automatically except:
    A: SY-MSGTY
    B: SY-MSGNO
    C: SY-MSGV1
    D: SY-MSGWA
    Ans : D
    72. The following code indicates:
    REPORT ZLISTTST.
    START-OF-SELECTION.
    WRITE: text-001.
    FORMAT HOTSPOT ON.
    WRITE: text-002.
    FORMAT HOTSPOT OFF.
    AT LINE-SELECTION.
    WRITE / text-003.
    A: Text-002 may not be selected.
    B: The value of text-002 is stored in a special memory area.
    C: Text-002 may be clicked once to trigger the output of text-003.
    D: None of the above.
    Ans : C
    73. The ____ type of ABAP Dictionary view consists of one or more transparent tables and may be accessed by an ABAP program using Open SQL.
    A: Database view
    B: Projection view
    C: Help view
    D: Entity view
    Ans : A
    74. A concrete field is associated with a field-symbol via ABAP keyword
    A: MOVE
    B: WRITE
    C: ASSIGN
    D: VALUE
    Ans : C
    75. The output for the following code will be:
    report zabaprg.
    DATA: char_field type C.
    char_field = 'ABAP data'.
    WRITE char_field.
    A: ABAP data
    B: A
    C: Nothing, there is a syntax error
    D: None of the above
    Ans : B
    76. Page footers are coded in the event:
    A: TOP-OF-PAGE.
    B: END-OF-SELECTION.
    C: NEW-PAGE.
    D: END-OF-PAGE.
    Ans : D
    77. The event AT SELECTION-SCREEN OUTPUT. occurs before the selection screen is displayed and is the best event for assigning default values to selection criteria.
    A: True
    B: False
    Ans : B
    78. The TABLES statement declares a data object.
    A: True
    B: False
    Ans : A
    79. Assuming tab1-fld7 is not a key field, how can you prevent reading all the table rows?
    SELECT fld1 fld2 fld3 FROM tab1 INTO (fld4, fld5, fld6)
    WHERE fld7 = pfld7.
    WRITE: /1 fld4, fld5, fld6.
    ENDSELECT.
    A: Take fld7 out of the WHERE clause.
    B: Create an index in the ABAP Dictionary for tab1-fld7.
    C: Use INTO TABLE instead of just INTO.
    D: Take the WRITE statement out of the SELECT_ENDSELECT.
    Ans :
    80. Which of the following is NOT a required attribute when creating an ABAP program?
    A: Application
    B: Title
    C: Status
    D: Type
    Ans : A
    81. When creating a transparent table in the ABAP Dictionary, which step automatically creates the table in the underlying database?
    A: Adding technical settings to the table
    B: Checking the table syntax
    C: Saving the table
    D: Activating the table
    Ans : D
    82. Within the ABAP program attributes, Type = 1 represents:
    A: INCLUDE program
    B: Online program
    C: Module pool
    D: Function group
    E: Subroutine pool
    Ans : B
    83. If this code results in an error, the remedy is:
    SELECT fld1 SUM( fld1 ) FROM tab1 INTO_
    A: Remove the spaces from SUM( fld1 ).
    B: Move SUM( fld1 ) before fld1.
    C: Add GROUP BY f1.
    D: Change to SUM( DISTINCT f1 ).
    Ans : C
    84. Which keyword adds rows to an internal table while accumulating numeric values?
    A: INSERT
    B: APPEND
    C: COLLECT
    D: GROUP
    Ans : C
    85. Assuming itab has a header line, what will be output by the following code?
    READ TABLE itab INDEX 3 TRANSPORTING field1.
    WRITE: /1 itab-field1, itab-field2.
    A: The contents of the third row's itab-field1.
    B: The contents of the third row's itab-field1 and itab-field2.
    C: The contents of the third row's itab-field2.
    D: Nothing.
    Ans ; A
    86. The following code indicates:
    SELECTION-SCREEN BEGIN OF BLOCK B1.
    PARAMETERS: myparam(10) type C,
    Myparam2(10) type N,
    SELECTION-SCREEN END OF BLOCK.
    A: Draw a box around myparam and myparam2 on the selection screen.
    B: Allow myparam and myparam2 to be ready for input during an error dialog.
    C: Do not display myparam and myparam2 on the selection screen.
    D: Display myparam and myparam2 only if both fields have default values.
    Ans : A
    87. Which statement will sort the data of an internal table with fields FRUIT, QTY, and PRICE so that it appears as follows?
    FRUIT QTY PRICE
    Apples 12 22.50
    Apples 9 18.25
    Oranges 15 17.35
    Bananas 20 10.20
    Bananas 15 6.89
    Bananas 5 2.75
    A: SORT itab DESCENDING BY QTY PRICE.
    B: SORT itab BY PRICE FRUIT.
    C: SORT itab.
    D: SORT itab BY PRICE DESCENDING.
    Ans : D
    88. Which keyword adds a line anywhere within an internal table?
    A: APPEND
    B: MODIFY
    C: ADD
    D: INSERT
    Ans : D
    89. To read a single line of an internal table, use the following:
    A: LOOP AT itab. _ ENDLOOP.
    B: READ itab.
    C: SELECT SINGLE * FROM itab.
    D: READ TABLE itab.
    Ans : D
    90. Which Open SQL statement should not be used with cluster databases?
    A: UPDATE
    B: MODIFY
    C: DELETE
    D: INSERT
    Ans :
    91. To include a field on your screen that is not in the ABAP Dictionary, which include program should contain the data declaration for the field?
    A: PBO module include program
    B: TOP include program
    C: PAI module include program
    D: Subroutine include program
    Ans : B
    92. This flow logic statement is used to make multiple fields open for input after an error or warning message.
    A: GROUP
    B: FIELD-GROUP
    C: CHAIN
    D: LOOP AT SCREEN
    Ans ; C
    93. Given:
    PERFORM subroutine USING var.
    The var field is known as what type of parameter?
    A: Formal
    B: Actual
    C: Static
    D: Value
    Ans : B

Maybe you are looking for

  • VERY dissapointed by lack of Mac support

    Hi, well I've read a lot of posts on the web now about this and they all say the same thing: Why doesn't Creative make Mac drivers? And I've yet to see a reply! I've bought a Vista IM and of course it won't work on my iMac G5. I think this will put m

  • Qualifier values are not part of a qualified lookup record

    Hi      I am getting the exception "Qualifier values are not part of a qualified lookup record" when I serach for a record in the Qualified table. The Table has both Qualfier and non-Qualifier fields, but all are of type display fields. My question i

  • Windows 7 64bit: After effects crashing!

    Hello, i just installed the after effects trial on my macbook pro late 2010 in windows 7 64bit but... after the splash screen and the window appears, its instantly crashes with "after effects has stopped working" i have downloaded after effects cs5.5

  • Installing 8i on Linux7.0

    Hi, I am trying to install 8i on Linux 7.o but can not run the installer "runlns.sh", The error message is: SIGSEGV 11* segmentation violation and some other mess. When I try to run "runInstaller", the error is: Error in CreateOUIProcess(): -1 : Bad

  • AIRSDK Compiler not finding errors

    I am having problems with the new ASC 2.0 compiler in the AIRSDK not finding obvious errors during compilation, leading to runtime errors.  I am using AIRSDK 3.7. Here is one example that fails: SomethingBase.as: package           public class Someth