Using of table type- - line type fields in proxy

how to use line type fields in proxy for variable assingment, sample code will be good.

HI,
I need to use Type Standard table of in second report, as i am submitting to the standard report..so i cant modify...
i want to export from first report as standard type table .....
vikrant's code is working but i still need this to fix the problem....
Vasuki: code is exactly you pasted....
REPORT  ZTEST_FIRST.
data: itab1 TYPE TABLE OF tdt_docflow,
      wa_itab like LINE OF itab1.
wa_itab-docnum = '12345'.
APPEND wa_itab to itab1.
export itab1 to MEMORY ID 'ABCDE'.
submit ztest_second and return.
BREAK-POINT.
I am expecting like
REPORT  ZTEST_FIRST.
data: itab1 TYPE STANDARD TABLE OF tdt_docflow,
      wa_itab type tds_docflow.
wa_itab-docnum = '12345'.
APPEND wa_itab to itab1.  " this append need to change
export itab1 to MEMORY ID 'ABCDE'.
submit ztest_second and return.
BREAK-POINT.
Giri

Similar Messages

  • Purpose of Row type, line type and Table Type..

    Hi All,
    Just I’m started working with OOABAP. Whenever I open some structures, most of the components in the structures have the below three words. What is the exact difference b/w the below words. What is purpose those?
    Row type, line type
    Table type:
    Please let me know.

    hi,
    Line Type
    The line type of an internal table can be any data type. The data type of an internal table is normally a structure. Each component of the structure is a column in the internal table. However, the line type may also be elementary or another internal table.
    Table type
    The table type determines how ABAP will access individual table entries. Internal tables can be divided into three types:
    Standard tables have an internal linear index. From a particular size upwards, the indexes of internal tables are administered as trees. In this case, the index administration overhead increases in logarithmic and not linear relation to the number of lines. The system can access records either by using the table index or the key. The response time for key access is proportional to the number of entries in the table. The key of a standard table is always non-unique. You cannot specify a unique key. This means that standard tables can always be filled very quickly, since the system does not have to check whether there are already existing entries.
    Sorted tables are always saved sorted by the key. They also have an internal index. The system can access records either by using the table index or the key. The response time for key access is logarithmically proportional to the number of table entries, since the system uses a binary search. The key of a sorted table can be either unique or non-unique. When you define the table, you must specify whether the key is to be UNIQUE or NON-UNIQUE. Standard tables and sorted tables are known generically as index tables.
    Hashed tables have no linear index. You can only access a hashed table using its key. The response time is independent of the number of table entries, and is constant, since the system access the table entries using a hash algorithm. The key of a hashed table must be unique. When you define the table, you must specify the key as UNIQUE.
    The key identifies table rows. There are two kinds of key for internal tables - the standard key and a user-defined key. You can specify whether the key should be UNIQUE or NON-UNIQUE. Internal tables with a unique key cannot contain duplicate entries. The uniqueness depends on the table access method.
    At tables with structured row type, the standard key is formed from all character-type columns of the internal table. If a table has an elementary line type, the default key is the entire line. The default key of an internal table whose line type is an internal table, the default key is empty. At tables with non-structured row type, the standard key consists of the entire row. If the row type is also a table, an empty key is defined.
    The user-defined key can contain any columns of the internal table that are no internal table themselves, and do not contain internal tables. References are allowed as table keys. Internal tables with a user-defined key are called key tables. When you define the key, the sequence of the key fields is significant. You should remember this, for example, if you intend to sort the table according to the key.
    Internal tables are always completely specified regarding row type, key and access type
    Hope this helps.

  • Sorting internal table with line types

    Hi,
    I have internal table juts for an example with four entries as below:
    A[]
    Line.....Line Types
    444001.....P
    New York...C 
    Evershine..B
    Mary.......N
    I want to sort the internal table with line types in order of lin types NBCP.
    How can i do this ?
    Please help.
    Note: Above example is just with four entries, there might be internal table with ten entries and ten defined sorting order for line types.

    Hi Tushar,
    Please note that we can't changes the mandatory sequence of the address format as defined in the country specif address format. We can change the sequence of others fields by line_priority.
    Try to change the address type :
    ADDRESS_TYPE - Address type (from 3.0C)
    There are three types of address:
    Address type '1': addresses of firms or organizations; the address structure which is used in most SAP applications as 'Address'.
    Address type '2': address of a person
    Address type '3': work address, usually the address of a contact person in a company
    Please use T/code "OY01"> Select Country> Example :AU"--> Display --> Select address key and press F1. You will find SAP 's Address format configuration .
    sap help:
    Formatting Routine Key for Printing Addresses
    For printing addresses, there are country-specific routines which in each case copy the correct postal formatting of the address.
    The three-character "Address Layout Key" for the recipient country controls which of the routines available for formatting addresses in the relevant country is used.
    These routines are programmed into the ADDRESS_INTO_PRINTFORM function module.
    They are based on different national and international guidelines and norms, including:
    ISO 11180,
    contracts of the World Postal Union (Seoul 1994),
    international address samples from the World Postal Union
    as well as the available rules of the individual countries.
    Below you will find an overview of the country-specific formats currently implemented.
    Customers can program their own formatting routines using a customer exit. The SZAD0001 SAP enhancement has been defined in the package SZAD for this (-> transaction CMOD).
    General formatting rules
    The following parameters are used depending on the transaction:
    whether the company address (street/house number) or the P.O. Box address is printed if both exist,
    how many lines are available for printing,
    which is the sender country.
    If there are not enough lines, then lines are left out according to a standard sequence.
    The address format depends on whether the sender country is the same as, or different from, the recipient country. The country is always specified from abroad, either as a text name, or as an identification code of up to three characters (license plate code or country key).
    Where the country name is written out in full, it is written in the language of the sender country. If a language is not specified for the sender country, or the sender country itself is not specified, the logon language is used instead.
    Exception: the language for the country code can be explicitly overwritten by a parameter in the print program (e.g. when the country code for customs transit papers is always to be specified in a particular language, such as English). if the "Print country name in recipient language" flag is set in the print program, the recipient language is used.
    Other language-dependent components such as the title and the word 'PO Box' are printed in the recipient language or the recipient country language. If this cannot be determined, the logon language is again used.
    For all formats except Great Britain (006), Japan (013), and South Korea (017), the core of the address is formatted as follows (without empty lines, except for the compulsory empty line:)
    title line (if applicable)
    name block (differs depending on the address type, see below)
    street address or PO Box
                            (compulsory empty line, if applicable)
    city line with postal code
    country code (if applicable)
    The city line and the country name are always printed in upper case for foreign addresses (only for the complete address, not for short forms).
    The name block generally consists of the following:
    "Normal" addresses (address type SPACE and address type 1):
    NAME1
    NAME2
    NAME3
    NAME4
    Personal addresses (address type 2):
    Title of person and name of person
    Business address with department and contact person (address type 3):
    NAME1
    NAME2
    NAME3
    NAME4
    department
    title of person and name of person
    In addresses entered using Business Address Services (central address management) (see Release notes Central Address Management for Release 4.0 and Central Address Management for Release 4.5 ), the street address can comprise several lines (see Print street address), otherwise street and house number are maintained in the Street field.
    Some countries do not have a compulsory empty line (see notes below). The city and district are printed in the city line, connected by a hyphen (exceptions: 004 USA, 006 Great Britain/Ireland, 013 Japan, 015 Germany, 017 South Korea, 019 Denmark), provided that the total length does not exceed 35 characters. If a different city is specified for the PO Box (PFORT), this is used in the PO Box address.
    In all formats which use a country code (currently 001 European standard format 002 Italy, 011 Switzerland and 014 Austria ), the license plate code for that country is used. If this is not maintained, the country key in table T005 is used.
    If the "Print country name in foreign addresses" flag is set for the sender country in table 005, the country code is not used; the country name is printed in the last line of the address.
    Formats 004 (USA), 005 (Canada) and 008 (Singapore) contain a line ('F') for the function of the contact person in the company (if address type = '3'). This line comes immediately after the line 'N' (Name (and title) of the natural person).
    In formats 002 (Italy), 004 (USA), 005 (Canada), 006 (Great Britain), 007 (Brazil) and Australia (009), the REGIO field (Region, State, Province, County) is formatted. For the USA, Canada, Brazil and Australia, the key from table T005S is used; for Great Britain the text name from table T005U.
    In all countries for which no "Address structure key" is maintained, a standard format is used which corresponds to format "010".
    Hope this may help you.
    Lanka

  • Internal tables whose line type contains further internal tables

    Hi,
    can you please demonstrate through a code sniplet the follwing topics .
    structures containing internal tables as components (deep structures)
    Internal tables whose line type contains further internal tables.
    Thx in advance
    Regards
    sas

    Hi,
    Check the code
    TYPES : BEGIN OF t_gr,
              wrbtr TYPE ekbe-wrbtr,
              menge TYPE ekbe-menge,
              bwart TYPE ekbe-bwart,
             END OF t_gr.
      DATA :  i_gr    TYPE TABLE OF t_gr.
      TYPES : BEGIN OF t_ekbe,
               ebeln TYPE ekbe-ebeln,
               ebelp TYPE ekbe-ebelp,
               *llggr LIKE i_gr,*
              END OF t_ekbe.
       DATA : i_ekbe      TYPE TABLE OF t_ekbe.
       SELECT ebeln
              ebelp
              wrbtr
              FROM ekbe
              INTO TABLE i_ekbe1
              FOR ALL ENTRIES IN i_data1
              WHERE ebeln = i_data1-ebeln   AND
                    ebelp = i_data1-ebelp   AND
                      bewtp = c_e          AND
                    ( bwart = c_101        OR
                      bwart = c_102        OR
                      bwart = c_103        OR
                      bwart = c_104 ).
    loop at i_ekbe1 into wa_ekbe1.
    wa_ekbe = wa_ekbe1.
    wa_gr-wrbtr = wa_ekbe-wrbtr
    append wa_gr to i_gr.
    on change of  wa_ekbe1-ebeln.
           *INSERT LINES OF i_gr INTO wa_ekbe-llggr INDEX 1.*
           *APPEND wa_ekbe TO i_ekbe.*
    endon.
    edloop.
    the above code the ekbe table is having one move itab l_gr
    l_gr is updated in each loop and and each change the i_ekbe is updated with one set of l_gr data as internal table line for i_ekbe.
    regards,
    Nandha

  • How to use temporarly table wid record type

    Hi,
    how to use temporarly table wid the record type wid this example
    declare
    type empcurtyp is ref cursor;
    type rectype is record (veid t.emp_id%type, vename t.ename%type);
    TYPE tabtype IS TABLE OF rectype;
    empcv empcurtyp;
    vtab tabtype;
    begin
    open empcv for select emp_id,ename from t;
    loop
    fetch empcv into vtab;
    exit when empcv%notfound;
    dbms_output.put_line(vtab.vename||vtab.veid);
    end loop;
    close empcv;
    end;
    here we hav table t and i m taking only two fields of the table t which r emp_id and ename.

    Try this
    declare
    type rectype is record (veid t.emp_id%type, vename t.ename%type);
    type empcurtyp is ref cursor return rectype;
    TYPE tabtype IS TABLE OF rectype;
    empcv empcurtyp;
    vtab empcv%rowtype;
    begin
    open empcv for select emp_id,ename from t;
    loop
    fetch empcv into vtab;
    exit when empcv%notfound;
    dbms_output.put_line(vtab.vename||vtab.veid);
    end loop;
    close empcv;
    end;

  • How to use Read table with out key fields

    Hi Experts,
    I need to retrieve the 2 internal tables data into single table.
    I have 3 common fields between the 2 tables but I don't have the Key fields. Then how to use the read table in this.
    Thanks in Advance.
    Edited by: satish4abap on Mar 10, 2010 9:39 AM

    Hi Satish,
    Key fields are nothing but the common fields with which you can pick the data from the second internal table.
    If you can paste your Internal table fields then we will be able to assit you better.
    However, in genral scenarios you can use it as below :
    In this scenario, we are putting data from 3 internal table to another single internal table.
    LOOP AT T_PRGEN INTO WA_PRGEN.
           WA_FINAL-GUID_PR       = WA_PRGEN-GUID_PR.
           WA_FINAL-ATTR20A       = WA_PRGEN-ATTR20A.
           WA_FINAL-ATTR05A       = WA_PRGEN-ATTR05A.
           WA_FINAL-ATTR05B       = WA_PRGEN-ATTR05B.
           WA_FINAL-ATTR05C       = WA_PRGEN-ATTR05C. " + DG1K902190
           WA_FINAL-ATTR10A       = WA_PRGEN-ATTR10A.
        READ TABLE T_V_TCAV201 INTO WA_V_TCAV201 WITH KEY ATTRV20 = WA_PRGEN-ATTR20A BINARY SEARCH.
        IF SY-SUBRC = 0.
          WA_FINAL-TEXT1   = WA_V_TCAV201-TEXT1.    "SUBID-TEXT1
        ENDIF.
        READ TABLE T_PNTPR INTO WA_PNTPR WITH KEY GUID_PR = WA_PRGEN-GUID_PR BINARY SEARCH.
        IF SY-SUBRC = 0.
           WA_FINAL-PRVSY  = WA_PNTPR-PRVSY.   "PROD NO
           WA_FINAL-GRVSY  = WA_PNTPR-GRVSY.   "LOGICAL SYS GROUP
        ENDIF.
      append wa_final to t_final.
    endloop.

  • Table Types and Line Type

    What is the need of Table Types,
    when there is Tables.
    Even when iam using in the Abap Programs in se38..
    iam not getting any difference..
    Even i want to about the use of Line type
    when there is the structure..
    iam sap 4.7 they gave that Table type describe the structure and
    functional attributes  of an internal table.

    Way: 1:
    Go to SE84 --> Select ABAP Dict --> Table Types -->
    Enter the short names like ORDER wih leading and ending * on the Table Types Field. ---> F8
    This will bring all related entries of Table Types(Line Types) having ORDER has a part of its Name.
    Way:2:
    If you know the Table Name, then go SE11 --> Putch in the Table Name --> Press Display
    Now put the cursor on the Table Name field, press CNTLSHFTF3, on the WHERE USED LIST Pop up, Select only the TABLE TYPE Option and press EXECUTE.
    This will bring the Table Types and Line Types.
    SAP Table Types
    I. Transparent tables (BKPF, VBAK, VBAP, KNA1, COEP)
    • Allows secondary indexes (SE11->Display Table->Indexes)
    • Can be buffered (SE11->Display Table->technical settings) Heavily updated tables should not be buffered.
    II. Pool Tables (match codes, look up tables)
    • Should be accessed via primary key or
    • Should be buffered (SE11->Display Table->technical settings)
    • No secondary indexes
    • Select * is Ok because all columns retrieved anyway
    III. Cluster Tables (BSEG,BSEC)• Should be accessed via primary key - very fast retrieval otherwise very slow
    • No secondary indexes
    • Select * is Ok because all columns retrieved anyway. Performing an operation on multiple rows is more efficient than single row operations. Therefore you still want to select into an internal table. If many rows are being selected into the internal table, you might still like to retrieve specific columns to cut down on the memory required.
    • Statistical SQL functions (SUM, AVG, MIN, MAX, etc) not supported
    • Can not be buffered
    IV. Buffered Tables (includes both Transparent & Pool Tables)
    While buffering database tables in program memory (SELECT into internal table) is generally a good idea for performance, it is not always necessary. Some tables are already buffered in memory. These are mostly configuration tables. If a table is already buffered, then a select statement against it is very fast. To determine if a table is buffered, choose the 'technical settings' soft button from the data dictionary display of a table (SE12). Pool tables should all be buffered.
    Table Types : A table type describes the structure and functional attributes of an internal table in ABAP. In ABAP programs you can reference a table type TTYP defined in the ABAP Dictionary with the command
    DATA : itab TYPE TTYP.
    Reafer these links below for clear ideas.
    http://help.sap.com/saphelp_nw04/helpdata/en/fb/f14736a1f0ad1fe10000009b38f839/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/90/8d7304b1af11d194f600a0c929b3c3/frameset.htm
    Thanks
    Allot points if this helps!

  • Query about screen as a structure used in table control.

    hi all,
    plz explain the fields in screen(structure).
    when and how it is used.
    specialy i/o, o/p,active,
    plz give example.

    hi,
    The screen elements text field, input/output field, status icon, group box, radio button, checkbox, and
    pushbutton all have general attributes, Dictionary attributes, program attributes, and display attributes.
    The elements subscreen, tabstrip control, and table control have general attributes, and special
    attributes relating to the respective type.
    We can divide the attributes of an element into:
    Statically definable attributes that cannot be changed dynamically
    Statically definable attributes that can be changed dynamically
    Attributes that can only be changed dynamically
    At the beginning of the PBO, the runtime system reads the statically-created and dynamically-modifiable
    attributes of each screen element on the current screen into a system table with the line type SCREEN.
    Dynamic changes to the attributes of screen elements are temporary.
    Using this technique to modify the attributes of a screen element (for example, to change whether an
    input/output field is ready for input), you can replace long sequences of separate screens, which are
    more costly in terms of both programming time and runtime.
    The system table with line type SCREEN will be called SCREEN system table in the following unit.
    When a screen is processed, the SCREEN system table contains an entry for each element created in
    the Screen Painter for that screen.
    The system table SCREEN is initialized at the start of the PBO event for the current screen. To do this, a
    system program copies the statically defined attributes of the individual screen elements into the table.
    You can then change the dynamically-modifiable attributes of the elements on the screen in a module at
    PBO using the following statements: LOOP AT SCREEN.
    MODIFY SCREEN.
    ENDLOOP.
    To do this, you use the structure SCREEN, which is created automatically by the system, and filled with
    the values of each successive line of the system table in the loop. Set attributes have the value '1',
    attributes that are not set have the value '0'. To change the system table, use MODIFY SCREEN. within
    the loop.
    To find the element whose attributes you want to modify, you can use a LOOP on the SCREEN table,
    and query one of the following fields: SCREEN-NAME, SCREEN-GROUP1 to SCREEN-GROUP4.
    You can change the attributes of several screen elements simultaneously at runtime, by including them
    in a modification group in the Screen Painter. Assign all elements that will be changed within a single
    processing step to a group in the Screen Painter.
    To do this, enter a group name for each of the relevant elements in one of the fields GROUP1 …
    GROUP4.
    You can include each element in up to four modification groups. You can choose any three-character
    sequence for the group name. You can assign elements to a modification group either in the element list
    or the layout editor in Screen Painter.
    You must program your screen modifications in a module that is processed during the PROCESS
    BEFORE OUTPUT processing block.
    You use a loop through the table SCREEN to change the attributes of an element or a group of
    elements. (LOOP AT SCREEN WHERE . . . and READ TABLE SCREEN are not supported).
    To activate and deactivate attributes, assign the value 1 (active) or 0 (inactive), and save your changes
    using the MODIFY SCREEN statement.
    Note that elements you have defined statically in the Screen Painter as invisible cannot be reactivated
    with SCREEN-ACTIVE = 1. Instead, use the statement SCREEN-INVISIBLE = 0. However, elements
    that you have statically defined as visible in the Screen Painter can dynamically be made invisible. This
    has the same effect as the three statements SCREEN-INVISIBLE = 1, SCREEN-INPUT = 0, SCREENOUTPUT
    = 0.
    There are three steps involved in displaying buffered data from the internal table in the table control:
    The system loops through the lines of the table control on the screen. The lines of the screen table are
    processed one by one. For each line, the system carries out the following steps:
    The current line of the internal table is placed in the work area of the internal table. (Note that it is
    possible to scroll in the table on the screen).
    The data from the work area of the internal table is copied into the relevant line of the table control.
    When you use table controls on a screen, the automatic field transport sequence changes.
    In the PBO processing block, data is transferred from the ABAP program to the screen after each loop
    pass in the flow logic. The rest of the screen fields are filled, as normal, at the end of the PBO.
    In the flow logic, the loop statement
    LOOP AT <itab> INTO <wa_itab> WITH CONTROL <tc_name>
    starts a loop through the screen table, and reads the line of the internal table corresponding to the
    current line of the screen table, placing it in <wa_itab>.
    <itab> is the name of the internal table containing the data, <wa_itab> is the name of the work area for
    the internal table, and <tc_name> is the name of the table control on the screen.
    If the fields in your table control have the same structure and name as those in the work area <wa_itab>,
    the system can transport data between the ABAP program and the screen automatically (step 3).
    If you are not using the same structure for the table control fields and the work area of the internal table,
    you must call a module between LOOP and ENDLOOP that moves the data from the work area
    <wa_itab> into the screen fields (MOVE-CORRESPONDING <wa_itab> TO …) .
    The system calculates the value of <ctrl>-TOP_LINE when you scroll, but not when you scroll a page at
    a time outside the table control.
    In order to transfer changed values from the table control back to the internal table the following three
    steps must be carried out:
    The system loops through the lines of the table control. The lines of the screen table are processed
    one by one. For each line, the system carries out the following steps:
    The data from the current line of the table control is copied into the header line of the internal table.
    The data in the work area must then be placed in the line of the internal table corresponding to the
    line of the table control that is being processed. (Note that it is possible to scroll in the table on the
    screen).
    In the PAI processing block, all screen fields that do not belong to a table control and that are not listed
    in a FIELD statement are transported back to the work fields in the ABAP program first.
    The contents of the table control are transported line-by-line to the corresponding work area in the ABAP
    program in the appropriate loop.
    As usual, the fields that occur in FIELD statements are transported directly before that statement.
    The structure of the screen tables contain.
    NAME
    GROUP 1
    GROUP 2
    GROUP 3
    GROUP 4
    OUTPUT
    REQUIRED
    LENGTH
    INTENSIFIED
    INVISIBLE
    ACTIVE
    Hope this helps, Do reward.
    Edited by: Runal Singh on Mar 13, 2008 10:41 AM

  • Define hashed table using database table

    Hi,
    I have a database table and would want to define a hashed table using this table structure, how would I do that?
    Thanks
    RT

    Hi Rob,
    The syntax is as follows,
    DATA ITAB TYPE HASHED TABLE OF SPFLI
                   WITH UNIQUE KEY CARRID CONNID.
    The table object ITAB has the type hashed table, a line type corresponding to the flat structure SPFLI from the ABAP Dictionary, and a unique key with the key fields CARRID and CONNID. The internal table ITAB can be regarded as an internal template for the database table SPFLI. It is therefore particularly suitable for working with data from this database table as long as you only access it using the key.

  • Read Table : Error Stating mandt field is not filled.

    Dear members,
    I am get syntax error when using Read table statement saying mandt field is not filled, however if I remove the KEY field. it is working fine.
    please let me know, where I am doing mistake. thank you.
    Data : spfli_tab like STANDARD TABLE OF spfli with HEADER LINE.
    SELECT *
           FROM spfli
           INTO TABLE spfli_tab
           WHERE carrid = 'LH'.
    READ TABLE spfli_tab
               WITH TABLE KEY carrid = 'LH'
                                           connid = '2402'.
    IF sy-subrc = 0.
    ENDIF.

    Hi...
    As Eric Said there are two ways...
    For your case use WITH KEY...
    SELECT *
    FROM spfli
    INTO TABLE spfli_tab
    WHERE carrid = 'LH'.
    READ TABLE spfli_tab
    WITH KEY carrid = 'LH'
    connid = '2402'.
    IF sy-subrc = 0.
    WRITE : 'DONE'.
    ENDIF.
    If u specify WITH TABLE KEY then u will hv to pass all key fields mentioned in DDIC...
    Hope it will solve your problem..
    Thanks & Regards
    ilesh 24x7

  • Insert while using multi table

    Hi
    I have created a class and using multi table feature to retrieve fields from couple of tables. These tables are associated via Foreign key. This works fine while select, but fails while insert a new record in primary table using unitOfWork.
    Here is the peice of code i am using
    UnitOfWork uow = CfToplink9Helper.getUnitOfWork();
    uow.registerNewObject(basketEntry);
    uow.commit();
    Any suggestions !!! Appreciate your response !!!

    Here is the exception
    TopLink Severe]: UnitOfWork(734604338)--java.lang.NullPointerException
    at oracle.toplink.internal.descriptors.ObjectBuilder.addPrimaryKeyForNonDefaultTable(ObjectBuilder.java:104)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildRowForTranslation(ObjectBuilder.java:631)
    at oracle.toplink.queryframework.WriteObjectQuery.prepareForExecution(WriteObjectQuery.java:141)
    at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:500)
    at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2091)
    at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2291)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1101)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1055)
    at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:177)
    at oracle.toplink.publicinterface.Session.writeAllObjectsWithChangeSet(Session.java:3286)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(UnitOfWork.java:1068)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1115)
    at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(UnitOfWork.java:938)
    at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:754)
    at com.cna.app.sentinelBatch.batch.DBWriter.addBasketEntry(DBWriter.java:48)
    at com.cna.app.sentinelBatch.batch.DBWriter.main(DBWriter.java:327)
    [TopLink Info]: ClientSession(542256178)--Connection(598240304)--rollback transaction
    [TopLink Severe]: UnitOfWork(734604338)--java.lang.NullPointerException
    at oracle.toplink.internal.descriptors.ObjectBuilder.addPrimaryKeyForNonDefaultTable(ObjectBuilder.java:104)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildRowForTranslation(ObjectBuilder.java:631)
    at oracle.toplink.queryframework.WriteObjectQuery.prepareForExecution(WriteObjectQuery.java:141)
    at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:500)
    at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2091)
    at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2291)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1101)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1055)
    at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:177)
    at oracle.toplink.publicinterface.Session.writeAllObjectsWithChangeSet(Session.java:3286)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(UnitOfWork.java:1068)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1115)
    at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(UnitOfWork.java:938)
    at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:754)
    at com.cna.app.sentinelBatch.batch.DBWriter.addBasketEntry(DBWriter.java:48)
    at com.cna.app.sentinelBatch.batch.DBWriter.main(DBWriter.java:327)
    java.lang.NullPointerException
    at oracle.toplink.internal.descriptors.ObjectBuilder.addPrimaryKeyForNonDefaultTable(ObjectBuilder.java:104)
    at oracle.toplink.internal.descriptors.ObjectBuilder.buildRowForTranslation(ObjectBuilder.java:631)
    at oracle.toplink.queryframework.WriteObjectQuery.prepareForExecution(WriteObjectQuery.java:141)
    at oracle.toplink.queryframework.DatabaseQuery.execute(DatabaseQuery.java:500)
    at oracle.toplink.publicinterface.Session.internalExecuteQuery(Session.java:2091)
    at oracle.toplink.publicinterface.UnitOfWork.internalExecuteQuery(UnitOfWork.java:2291)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1101)
    at oracle.toplink.publicinterface.Session.executeQuery(Session.java:1055)
    at oracle.toplink.internal.sessions.CommitManager.commitAllObjectsWithChangeSet(CommitManager.java:177)
    at oracle.toplink.publicinterface.Session.writeAllObjectsWithChangeSet(Session.java:3286)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabase(UnitOfWork.java:1068)
    at oracle.toplink.publicinterface.UnitOfWork.commitToDatabaseWithChangeSet(UnitOfWork.java:1115)
    at oracle.toplink.publicinterface.UnitOfWork.commitRootUnitOfWork(UnitOfWork.java:938)
    at oracle.toplink.publicinterface.UnitOfWork.commit(UnitOfWork.java:754)
    at com.cna.app.sentinelBatch.batch.DBWriter.addBasketEntry(DBWriter.java:48)
    at com.cna.app.sentinelBatch.batch.DBWriter.main(DBWriter.java:327)

  • Hash tables in combination with data references to the line type.

    I'm having an issue with hash tables - in combination with reference variables.
    Consider the following:  (Which is part of a class)  -  it attempts to see if a particular id exists in a table; if not add it; if yes change it.   
      types: BEGIN OF TY_MEASUREMENT,
               perfid      TYPE zgz_perf_metric_id,
               rtime       TYPE zgz_perf_runtime,
               execount    TYPE zgz_perf_execount,
               last_start  TYPE timestampl,
             END OF TY_MEASUREMENT.
    METHOD START.
      DATA:  ls_measurement TYPE REF TO ty_measurement.
      READ TABLE gt_measurements WITH TABLE KEY perfid = i_perfid reference into ls_measurement.
      if sy-subrc <> 0.
        "Didn't find it.
        create data ls_measurement.
        ls_measurement->perfid = i_perfid.
        insert ls_measurement->* into gt_measurements.
      endif.
      GET TIME STAMP FIELD ls_measurements-last_start.
      ls_measurement->execount = ls_measurement->execount + 1.
    ENDMETHOD.
    I get compile errors on the insert statement - either "You cannot use explicit index operations on tables with types HASHED TABLE" or "ANY TABLE".      It is possible that.
    If I don't dereference the type then I get the error  LS_MEASUREMENT cannot be converted to the line type of GT_MEASUREMENTS.
    I'm not looking to solve this with a combination of references and work ares - want a reference solution.   
    Thanks!
    _Ryan
    Moderator message - Moved to the correct forum
    Edited by: Rob Burbank on Apr 22, 2010 4:43 PM

    I think it might work when you change it for
    insert ls_measurement->* into TABLE gt_measurements.
    For hashed table a new line here will be inserted according to given table key.
    Regards
    Marcin

  • Difference between line type and internal table?

    Hi..
    I wanted to know, what is the difference between Line type and Internal Table?

    Hi,
        Before the 4.7 release in SAP if we want to define an internal table we have to write the defination using the occurs statement and we need to define all the fields using INCLUDE STRUCTURE or indidually all the fields ine by one.
    From 4.7 release of R/3 SAP introduced the Line type concept and it's part of the ABAP OOPS concept. for internal table defination we don't need to use the occur statements. Instead INCLUDE structure  we need to create a Line type for that structure in Se11 and then we can define the internal table like :
    DATA : ITAB TYPE TABLE OF <LINE_TYPE>.
    Only thing is this table will be  a table without header. So for internal table processing we need to define a work area structure of type line of line type  . EX:
    DATA: WA_ITAB TYPE LINE OF <LINE_TYPE>.
    Hope this helps.
    Thanks,
    Greetson

  • Use of  TYPE  LINE OF

    Hi ,
    Can any one please tell me what is the use of
    DATA var  TYPE  LINE  OF  type.
    Here what is the meaning of  " LINE OF " in this declaration statement..
    Thanks
    Ambili B

    Hi,
    There are differnt ways of data declarations, depending on the memory allocated to the fields , whether data is passed to that field directly using LIKE or as a reference using TYPES.
    Using TYPES:
    types  : BEGIN OF x_stru1,
              matnr    TYPE matnr,
              zww      TYPE zwk_num,
              zcomment TYPE char80,
             END OF x_stru2.
    data : it_data TYPE STANDARD TABLE OF x_stru1,
           wa_data LIKE LINE OF it_data.
    Here wa_data can be declared in different ways:
             wa_data LIKE LINE OF it_data.
    (or)    wa_data TYPE LINE OF it_data.
    Hope this is helpful to you. If you need further information, revert back.
    Reward all the helpful answers.
    Regards
    Nagaraj

  • In "LOOP ... WHERE ..." the line type of the table must be statically defin

    Hi All,
            I have written the code, for greater than (GJAHR) 2007 and restricted company codes ( table name = ZGLCCODE).
         Here I have written the following the code which is giving an error
    In "LOOP ... WHERE ..." the line type of the table must be statically defin
    ZGLCCODE Contains only restricted company codes.
    Code is as follows
    TABLES : ZGLCCODE. 
    DATA : LT_DATAPACKAGE TYPE TABLE OF DTFIGL_4.
    DATA : LS_PACKAGE TYPE DTFIGL_4.
    TYPES: BEGIN OF LS_TZGLCCODE,
           ZBUKRS type BUKRS,
            END OF LS_TZGLCCODE.
    DATA : LT_ITZGLCCODE TYPE LS_TZGLCCODE OCCURS 0 WITH HEADER LINE.
    DATA : LI_NUM TYPE I,
           LC_ZGJAHR TYPE BSEG-GJAHR VALUE '2007'.
    SELECT ZBUKRS INTO TABLE LT_ITZGLCCODE FROM ZGLCCODE.
    Note:  "C_T_DATA" dynamic structure = "DTFIGL_4" structure
    *-  Remove from the DataSource Company Code -
    LOOP AT C_T_DATA INTO LS_PACKAGE WHERE GJAHR GE '2007'.
    READ TABLE LT_ITZGLCCODE WITH KEY ZBUKRS = LS_PACKAGE-BUKRS.
    IF SY-SUBRC <> 0.
       APPEND LS_PACKAGE TO LT_DATAPACKAGE.
    ENDIF.
      CLEAR LS_PACKAGE.
    ENDLOOP.
    IF LT_DATAPACKAGE[] IS NOT INITIAL.
    DESCRIBE TABLE LT_DATAPACKAGE LINES LI_NUM.
    IF LI_NUM GT 0.
       REFRESH C_T_DATA.
       APPEND LINES OF LT_DATAPACKAGE TO C_T_DATA.
       REFRESH LT_DATAPACKAGE.
       FREE LT_DATAPACKAGE.
    endif.
    ELSE.
       REFRESH C_T_DATA.
    ENDIF.
    Please give me your valuable suggestions.
    Thanks
    Ganesh Reddy.

    Hi Ganesh,
    whatever you do, you can try like this:
    1 - any code posted should be wrapped in \
    then try something like this:
    field-symbols:
      <tabrec> type any,
      <field>   type any.
    sort ITZGLCCODE by bukrs.
    LOOP AT C_T_DATA ASSIGNING <tabrec>.
      ASSIGN component 'GJAHR' of structure <tabrec> to <field>.
      check <field> <= 2007.
      ASSIGN component 'BUKRS' of structure <tabrec> to <field>.
      READ TABLE LT_ITZGLCCODE WITH KEY ZBUKRS = <field>
        BINARY SEARCH TRANSPORTING NO FIELDS. "speed up the volume.
      IF SY-SUBRC 0.
        MOVE-CORRESPONDING <tabrec> to  LS_PACKAGE.   
        APPEND LS_PACKAGE TO LT_DATAPACKAGE.
      ENDIF.
    ENDLOOP.
    Regards,
    Clemens

Maybe you are looking for

  • Finder sidebar not updating with applications open/save dialog boxes

    Hi all, I've searched the threads and can't seem to find an answer to this recurring issue that I'm having. I save folders to current projects in the Finder sidebar. However, I find that when I try to find those sidebar folders from within the open/s

  • HP Photosmart Premium c309g-m does not have a mirror image print option-hel​p please

    After twice being disconnected from HP chat help, I have landed here in this forum and need some help please... The option to print a mirror image is not anywhere in my printer tools/options. I need this to be able to print some iron images. I think

  • N8 Belle update on Mac. Lost contacts, sms, etc.

    Finally updated my N8 to Belle using Nokia Software Updater on a Mac.  It blew out all my personal data.  Should have backed up, I realize now.  Does the update put those files elsewhere on the phone?  Is it possible to restore?

  • Lost or hidden photos in iPhoto 9.4.2

    Recently I lost a small group of photos I downloaded to iPhoto. There was 20 photos and a couple of small video streams. I filled up the 16GB card while shooting. Took the card from the camera and added another card and continued shooting. Later I pu

  • Cannot connect my samsung smart tv

    Hello, we have a HH 2.0 and have recently bought a samsung smart tv. I am trying to connect the tv to the hub use homeplug adapters. When i try to setup the network on the tv it detects that the cable is plugged in but cannot access the network becau