How to create a variable length records within an internal table?

Here is what I did in the program:
TYPES : BEGIN OF type_outerface_tbl,
            text(1000) TYPE c,
        END OF type_outerface_tbl.
DATA: gw_outerface_tbl       TYPE type_outerface_tbl,
      gi_outerface_tbl       TYPE STANDARD TABLE OF type_outerface_tbl.
The internal outerface table is fix length.
I 'APPEND gw_outerface_tbl TO gi_outerface_tbl'
If the TEXT size vary, how do I define the table?
Thank you very much!
Helen

Here is what I modified:
TYPES: BEGIN OF record_header_1,
      recty(1)        TYPE c,              
      awkey(20)       TYPE c,            
      doucmnttype(5)  TYPE c,              
      END OF record_header_1.
DATA: gw_record_header_1 TYPE record_header_1,
      gi_record_header_1 TYPE STANDARD TABLE OF record_header_1.
TYPES : BEGIN OF type_outerface_tbl,
          text TYPE string,
        END OF type_outerface_tbl.
DATA: gw_outerface_tbl       TYPE type_outerface_tbl,
      gi_outerface_tbl       TYPE STANDARD TABLE OF type_outerface_tbl.
DATA: lw_line  TYPE string.
  CONCATENATE gw_record_header_1-recty
          ',' gw_record_header_1-awkey
          ',' gw_record_header_1-doucmnttype
          INTO lw_line.
  APPEND lw_line TO gi_outerface_tbl.
  CLEAR lw_line.
I got the following error message:
"LW_LINE" cannot be converted to the line type of 'GI_OUTFERCE_TBL'.
Please advise where I did wrong?
Thank you very much!
Helen
Edited by: Helen on Nov 22, 2008 5:45 PM
Edited by: Helen on Nov 22, 2008 5:47 PM

Similar Messages

  • How to create our own fields in workarea in internal tables

    hai
    can u help me out in creating our own fields in workarea in an internal table (without header line..................)

    what kinda theory do u want???
    * Internal table with HEADER LINE
    DATA : BEGIN OF it_output occurs 0 with header line,
              c_icon  TYPE icon-id,
              bukrs   TYPE anla-bukrs,
              anln1   TYPE anla-anln1,
              anln2   TYPE anla-anln2,
              grufl   TYPE anla-grufl,
              grufl_n TYPE anla-grufl,
              leabg   TYPE sy-datum,
              leabg_n TYPE sy-datum,
              message TYPE bapiret2-message,
            END OF it_output.
    The above declaration is same as the below declaration in relation to the previous thread.
    * Data declarations for ty_output
    DATA : it_output TYPE STANDARD TABLE OF ty_output INITIAL SIZE 0, " Internal table declaration
           is_output TYPE ty_output." Work Area declaration
    Please reward for useful answers with appropriate points
    Regards
    Gopi
    "  Internal table without HEADER LINE
    DATA : BEGIN OF it_output occurs 0,
              c_icon  TYPE icon-id,
              bukrs   TYPE anla-bukrs,
              anln1   TYPE anla-anln1,
              anln2   TYPE anla-anln2,
              grufl   TYPE anla-grufl,
              grufl_n TYPE anla-grufl,
              leabg   TYPE sy-datum,
              leabg_n TYPE sy-datum,
              message TYPE bapiret2-message,
            END OF it_output.
    Message was edited by:
            Gopi Narendra

  • Count number of records in a internal table

    hi
    i want to count number of records in internal table
    pls let me know how to count the number of records in a internal table.
    regards
    Arora

    hi
    one way is
    data field type i.
    Decribe table itab lines field.
    write: / field.
    displays the no of records in tha internal table
    or if u want to write logic.
    data:
      w_count type i.
    loop at itab.
    w_count = w_count + 1.
    endloop.
    write: / w_count.
    displays the no of records.
    reward points if useful.

  • Records in an internal table

    Hi,
    How to check if all the records in an internal table are identical.
    could you help soon

    Hi,
    use the code,
    data : begin of itab occurs 0,
              matnr like mara-matnr,
              maktx like makt-maktx.
              end of itab.
    parameters : p_matnr like mara-matnr.
    start-of-selection.
    select * from makt into corresponding fields of table itab
                                where  matnr = p_matnr.
    delete adjacent duplicates from itab comparing matnr.
    if sy-subrc eq 0.
    write : /1 'Entries are identical.' .
    endif.
    Regards,
    Sankar.

  • How to deal with variable length data struct in C/JNI

    I have another JNI related question. How do you handle variable length
    data structures in Java and pointer to a pointer?
    Basically, I have a backend in C which has records but we don't know
    how many. The API looks like
    typedef struct rec_list_s {
    int rec_list_cnt;
    rec_list_data_t rec_list_data[1];
    } rec_list_t;
    int rec_list_show(void handle, rec_list_t *list_ptr);
    /* Code snippet for rec_list_show */
    int rec_list_show(void handle, rec_list_t *list_ptr)
    rec_list_t *ptr;
    sz = sizeof (rec_list_t) +
    ((record_count - 1) * sizeof (rec_list_data_t));
    ptr = malloc(sz);
    /* fill the data */
    *list_ptr = ptr;
    return (0);
    So I need to wrap rec_list_show() in JNI call so I can have Java call
    it. How do i pass a pointer to a pointer from Java? I tried in the
    native C code for JNI to return the pointer to pointer as a result
    and store in a member in the Java class rec_list_t and then I pass
    that to JNI call for rec_list_show. The C backend code was fine
    since it got the pointer to pointer but Java become unhappy when
    the object it was referencing changed memory location (I suspect
    the garbage collection becomes unhappy).
    So what would be a good way to deal with this kind of code?
    Thanks,
    Sunay
    Edited by: st9 on Aug 30, 2010 5:47 PM

    I did not imply that you don't know C but you are implying that I don't understand C. Perhaps
    google Sunay Tripathi and click I am feeling lucky so that we don't get into teaching C
    discussions :) On the other hand, I am definitely looking for someone to teach me Java
    otherwise I wouldn't be asking.
    Anyway, let me explain again. The sample function rec_list_show() runs on the backend. It
    is a different process with a different VM space. It of course knows the size of the array
    and what to fill in. As a caller to that API (which is a separate process), I don't know
    what that size is but I need to get the size and corresponding data in one shot because
    the backend locks the table when its providing me the info to make sure its synchronous.
    Now I (the Java process) needs to get that count and data in one shot. Since the C library
    underneath me (wrapped around my JNI interface) has private IPC mechanism to copy
    the contiguous memory from the backend into my memory space, all I need is to provide
    a pointer to a pointer which gets filled in by backend and is available to my process. So
    my equivalent C frontend just passes a pointer to a pointer and casts the return value in
    rec_list_t. The rec_list_cnt tells it how many members it got. The first member is part of
    the struct itself but then following members are right after.
    Another way to help you understand this is with this code snippet from front end C program
    rec_list_t     *ptr, *save_ptr;
    rec_list_data_t *data_ptr;
    int          cnt;
    save_ptr = ptr = malloc(sizeof(rec_list_t));
    rec_list_show(handle, &ptr);
    assert(save_ptr != ptr);
    cnt = ptr->rec_list_cnt;
    for (i = 0; i < cnt; i++) {
         data_ptr = &ptr->rec_list_data;
    Notice the assert(). Also notice the for loop. How do I expect to walk more that one
    member when rec_list_data is a fixed size array of one member?typedef struct rec_list_s {
         int               rec_list_cnt;
         rec_list_data_t          rec_list_data[1];
    } rec_list_t;
    Anyway, I do understand that Java will not allow me to get a reference to a long and
    how Java memory management works. But the JNI native implementation is C
    and I was wondering if people have managed to do some tricks there between C
    and Java.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • HOW TO CREATE A VARIABLE IN SAP SCRIPT

    HI ALL,
    CAN ANYONE TELL ME HOW TO CREATE A VARIABLE IN SAP SCRIPT.
    THANK YOU,
    BYE
    TAKE CARE.

    Hi Ravi,
    You can use like this
    A text in the editor contains the following DEFINE commands:
    /: DEFINE &mysymbol& = 'xxx xxx xxxxx xxxx'
    &mysymbol&
    /: DEFINE &mysymbol& = 'yyyyy yyy yyyy'
    / &mysymbol&
    The printed text appears

  • How to create a fixed-width column within an APEX 4 interactive report?

    This thread is a follow-up to {message:id=9191195}. Thanks fac586.
    Partial success: The following code provided by fac586 limits the column width of the Apex 4 interactive report column as long as the column data contains whitespace within a Firefox 3.6 browser:
    <pre class="jive-pre">
    <style type="text/css">
    th#T_DESCRIPTION {
    width: 300px;
    td[headers="T_DESCRIPTION"] {
    width: 300px;
    word-wrap: break-word;
    </style>
    </pre>
    Notes:
    1. The code above is put into the HTML header section for the page.
    2. T_DESCRIPTION is defined as VARCHAR2(2000).
    3. The code above works within the Firefox 3.6.12 browser but does not work within the Internet Explorer 7.0.5730.13 browser.
    I tried adding "float: left;":
    <pre class="jive-pre">
    <style type="text/css">
    th#T_DESCRIPTION {
    width: 300px;
    td[headers="T_DESCRIPTION"] {
    width: 300px;
    word-wrap: break-word;
    <font color="red"> float: left;</font>
    </style>
    </pre>
    Notes:
    1. "float: left;" does not require whitespace and successfully splits the column between characters in lieu of whitespace.
    2. "float: left;" shrinks the cell height and allows the page background to show through... couldn't determine how to fix this.
    3. The code above works within the Firefox 3.6.12 browser but does not work within the Internet Explorer 7.0.5730.13 browser.
    I've done some more research, but I still haven't discovered how to create a fixed-width column within an APEX 4 interactive report that displays properly within an Internet Explorer 7 browser.
    Any ideas and help will be appreciated.

    Thanks for your help with this!
    <pre class="jive-pre">
    what theme are you using?
    </pre>
    A customized version of theme 15.
    <pre class="jive-pre">
    Floating a table cell makes no sense (to me anyway).
    </pre>
    You are correct. I was just trying a different approach ... trying to think out of the box.
    <pre class="jive-pre">
    Think you'll need to create an example on apex.oracle.com with sample data
    if there are any further problems.
    </pre>
    Great suggestion! The code your provided works in the Firefox 3.6.12 browser, but still doesn't work within my Internet Explorer 7.0.5730.13 browser.
    UPDATE:
    I have recreated the problem at apex.oracle.com, you can use the following information to check it out:
    URL: http://apex.oracle.com/pls/apex/f?p=43543:100::::::
    Workspace: IR_FIXED_WIDTH_COLS
    Username: GUEST
    Password: Thx4help
    Application: 43543 - CM_RANDY_SD
    Note: Table name is TEST_DATA
    The following code provided by fac586 works in both Firefox 3.6 and IE7 using default theme "21. Scarlet" at apex.oracle.com; however, it doesn't work when I use a copy of our customized theme "101. Light Blue":
    <pre class="jive-pre">
    <style type="text/css">
    .apexir_WORKSHEET_DATA {
    th#T_DESCRIPTION {
    width: 300px;
    max-width: 300px;
    td[headers="T_DESCRIPTION"] {
    max-width: 300px;
    word-wrap: break-word;
    </style>
    <!--[if lt IE 8]>
    <style type="text/css">
    /* IE is broken */
    th#T_DESCRIPTION,
    td[headers="T_DESCRIPTION"] {
    width: 300px;
    </style>
    <![endif]-->
    </pre>
    Any idea what in the theme could be causing the fixed width column to be ignored in IE 7?
    Edited by: CM Randy SD on Dec 7, 2010 11:22 AM

  • How to create a variable in BEx 7.0

    Hi,
    Can anyone please tell me how to create a variable in BEx 7.0
    In 3.5, when we right click on a characteristic, we used to get an option for restrict.
    I cant find any such option in 7.0

    Hi,
    Right click on the characteristic 0CALMONTH in the default values or drag it to char. restriction section and say restrict.Pull the drop down menu in that to select variables. There u will get a create icon.Click on that...then in details tab u can specify whether mandatory,interval and all..
    Regards,
    Rathy

  • How to create Presentation variable for columns and to use it in Narrative?

    Hi All,
    Anybody know how to create presentation variable for a column (i.e., i need to create it in edit formula section itself). And then, I should use it in Narrative section to display that column value. Is it possible? Or do i need to use any other variable for this requirement? If so please let me know, how to create it? This is very urgent requirement.
    Thanks in Advance
    Thenmozhi

    Hi Satya,
    I just want to create a table that should horizontally display the values like below:
         SUID Tag # :123456               Year Mfg: 2007                                                                                     
         Description: computer corporation FA ID#: 4576
         Model Number: 4569 hESC: #ert
         Serial Number: 78945 Flags: c
    Department: Hematology
    User: thenmozhi
    Database: OLAP
    I think we can create this type of report using either Narrative or Static Text. But I am not sure whether it is possible or not? And also another thing is that sectioning is applied for SUID Tag # column. So, depending on the dashboard prompt if the SUID Tag # retrieves two or more values.
    Then the first value for example 123456     and the values for the other columns related to this SUID Tag # value should display in the first page (i.e., page 1). And if the next value of the SUID Tag # for example say 678901 then the values should move to second page that is like this:
         SUID Tag # :678901               Year Mfg: 2008                                                                                     
         Description: Computer Manufacturing FA ID#: 4577
         Model Number: 4570 hESC: #eth
         Serial Number: 78946 Flags: G
    Department: Hematology
    User: Rehman
    Database: OLAP
    Thanks
    Thenmozhi

  • How to create selection variables on the KF

    Hi,
        i need to create a variable on the CKF and the user is going to give the selections like >90% or <100%  in the variable screen before runing the report.on the report should show the values based on the selection.
    1.how to create the variables on the CKF.
    2. how to restrict the values and give the selections(like >90%,<100%) values in the selections.

    Hi Venkat,
    You can achieve this by the following way:
    1. Create a CKF or a local formula(based on which queries it needs to be used)
    2. Then go to BEX Query Designer -> View -> Conditions
    3. Create New Condition -> select 'New' -> Select your CKF/Local Formula -> Define your Operator ( BT, GT, LT, Top % etc.) -> Create a Formula variable (Ready for input with Processing type as ;manual Input')
    4. DO the char. assignement for the condition with your condition definition
    4. Execute the report with your values.
    This will solve your prob.
    Cheers,
    VA

  • For Mayank Guptha : how to create formula variable in IP

    Hi,
    How to create formula variable, such that it will appear in the variable screen.

    Hi,
    the variables you create in formula function are local to the function.
    Ex., DATA  CST_ELMNT TYPE 0COSTELMNT.
           DATA QTY TYPE 0QUANTITY.
    To get the variables listed in the variable screen you need o create variables at aggregation/filter level for the required characteristics.

  • How to create replacement variable

    Hi,
    Any one has idea how to create replacement variable in bps.
    I need to pass one variable value to another.\
    Because both the fields are fields to be change. But user does not want to do double entry.
    So need to pass one value from another. Is there any way. I can fix this issue.
    Thanks
    Naman Shah

    So far not found any answer so closing

  • How to create the variable variant in process chains for ip

    how to create the variable variant in process cahins for ip

    Hi venky,
    check these links
    http://help.sap.com/saphelp_nw70/helpdata/EN/c0/980398e58611d194cc00a0c94260a5/content.htm
    http://help.sap.com/saphelp_nw70/helpdata/EN/c0/98038ce58611d194cc00a0c94260a5/content.htm
    bhaskar

  • How to create dynamic variable in HANA

    Hello experts,
    Please help me on how to create dynamic variable in calculation view.
    Ex:  variable automatically should take YTD, or MTD values so that I can directly consume column in BW on hana or BO reporting.

    Hi ,
    Not sure on what are looking for. Have a look on the below blog once, if this is what you are looking out for:
    Applying YTD in SAP HANA with SAP BO Analysis Office
    Regards,
    Krishna Tangudu

  • How to delete records from dynamic internal table.

    Hi Experts,
    Need urgent help!!!
    Issue is with Dynamic internal tables.
    Below is code written by me :
    FORM select_query USING Lw_tabnam
                      TYPE  t682i-kotabnr.
      DATA :  lw_line  TYPE REF TO data,
              lw_line1 TYPE REF TO data.
        CREATE DATA Lw_line    TYPE (lw_TABNAM).
        ASSIGN      Lw_line->* TO   <WA_tbl>.
        CREATE DATA LW_LINE    TYPE STANDARD TABLE OF (Lw_tabnam)
                               WITH NON-UNIQUE DEFAULT KEY.
        ASSIGN      Lw_line->* TO <TBL>.
        SELECT * FROM  (Lw_tabnam)
                 INTO CORRESPONDING FIELDS OF TABLE <TBL>
                 WHERE (t_keys).
    Endform.
    code is working fine.
    here even the table name and where condition are dynamic,everything is fine upto this point.
    Now i have to delete some record from <TBL> based on some conditons.
         for ex : ( here lc_fieldname is KUNNR)
          loop at t_kunnr.
              lw_tabix = sy-tabix.
            Read table <tbl>
                    with key (lc_fieldname) = t_kunnr-kunnr ASSIGNING <wa_tbl>.
            If sy-subrc = 0.
            *Delete
            delete <tbl> from <wa_tbl>
    delete <tbl> index  lw_tabix.
            Endif.
         Endloop.
    The above delete statement doesn't work ,even we can't use index as it gives a syntax error " something related to "index is not allowed in standard table or hash table.
    Can you help me ab't how to delete records in Dynamic internal table?
    Other option that i am thinking of is to create a static table of type dynamic table.
    means, data itab type standard table of <tbl> .I know the syntax is wrong ,however is there any way to do this?
    Thanks in advance ,
    If you have any suggestion ab't this then do let me know.
    bye,
    Gaurav.

    Hi
    I wrote this code and it works fine:
    DATA LW_TABNAM(10) VALUE 'LFA1'.
    DATA : LW_LINES TYPE REF TO DATA,
           LW_LINE  TYPE REF TO DATA.
    FIELD-SYMBOLS: <TABLE> TYPE TABLE,
                   <WA>    TYPE ANY.
    CREATE DATA LW_LINES TYPE TABLE OF (LW_TABNAM)
    WITH NON-UNIQUE DEFAULT KEY.
    ASSIGN LW_LINES->* TO <TABLE>.
    CREATE DATA LW_LINE TYPE (LW_TABNAM).
    ASSIGN LW_LINE->* TO <WA>.
    DO 10 TIMES.
      APPEND INITIAL LINE TO <TABLE>.
    ENDDO.
    SY-TABIX = 4.
    DELETE <TABLE> INDEX SY-TABIX.
    WRITE SY-SUBRC.
    I hope it help you
    Max

Maybe you are looking for