Select into a field-symbols

I want to select data into a changeable struct so i used field-symbols but in select statement i got an error saying that "With an Open SQL select, the output area is too small"..i use ANY type in declaration of field-symbols.
What can i do correct this mistake?
    SELECT * INTO TABLE FIELDS FROM T682Z WHERE KOZGF = 'ZPPT' AND KOLNR = T682I-KOLNR
      ORDER BY ZAEHK.
        CONCATENATE 'CNCCRMPR' T682I-KOTABNR INTO TN.
        FIELD-SYMBOLS <FS> type  any.
        SELECT  * FROM (TN) INTO <FS>
        WHERE TIMESTAMP_TO >= time_stamp AND TIMESTAMP_FROM <= time_stamp.
     ENDSELECT.

Hi..
You can check this code to know how to use Field symbols in SELECt.
Try it....
DATA : REF_TAB TYPE REF TO DATA.
FIELD-SYMBOLS: <FTAB> TYPE TABLE.
DATA: L_TABNAME TYPE DD02L-TABNAME VALUE 'EKPO'.
CREATE DATA REF_TAB TYPE TABLE OF (L_TABNAME).
ASSIGN REF_TAB->* TO <FTAB>.
SELECT * FROM (L_TABNAME) INTO TABLE  <FTAB>.
DESCRIBE TABLE <FTAB>.
WRITE:/ SY-TFILL.
REWARD IF HELPFUL.

Similar Messages

  • Select * from table into table field-symbol

    Hello,
    I am trying to do a dynamic select into a dynamically defined internal table (field-symbol), but it doesn't work like I expected.
    if I try this code :
    data : p_tabname type string value 'PA9006',
          dref type ref to data .
    FIELD-symbols: <struc> TYPE ANY.
    CREATE DATA dref TYPE table of (p_tabname).
    ASSIGN dref->* TO <struc>.
    SELECT * INTO  TABLE <struc> FROM (p_tabname)  .
    I get the following error :
    <struc> is not an internal table.
    Is there any way I can make this work?
    Points will be assigned for each usefull answer.

    Hi Dries
    Just change your declaration of <struc> to as below it would work,
    field-symbols : <struc> type standard table.
    Reward points if useful.
    ~Ranganath

  • "Select into corresponding fields" on MaxDB 75

    Dear all,
    we just migrated from Linux/Sap DB to Win2003 64bit /MaxDB (KERNEL 7.5.0 BUILD 030-123-100-791)
    The migration went well and the system is fully available. The perfromances in general have been improved with the new hardware..
    The problem is that there is a customer program, Z* object obviously very important..., that in random way run in very bad way.
    We compared it's execution on the old system and on the new machine , with the same variant.
    In general on the old machine it ran more faster than on new machine, and in these cases on the new machines it need till 3 or 4 times (more than 10 hours) the execution on the old machine.
    Sometimes insted on the new machine, with the same variant, it's executed in very fast way, requiring less time than on the old machine.
    The Data Buffer cache on the new machine has been enlarged, and also the performance parameters from th note for MaxDB 7.5 have beed applied.
    The statistics are refreshed every day.
    When the performances on the new machine become bad for this program there are not exausted resources and there are free work process.
    We noticed only the programm require a lot of time to execute this statement on the new machine:
    SELECT * FROM BSAD
    INTO CORRESPONDING FIELDS OF TABLE TB_BSAD
    WHERE AUGBL EQ P_BELNR
    AND BELNR NE P_BELNR
    AND BUKRS EQ P_BUKRS
    AND GJAHR EQ P_GJAHR.
    Any idea ?
    regards

    Hi Roberto,
    INTO CORRESPONDING FIELDS is the problem.
    The internal table structure ideally should be same as the fields retrieved in the select query.
    Best regards,
    Prashant

  • Select into specified fields

    In the select statement, how can I specify fields of an internal table which I want to be filled from a database table? Is it possible to define in INTO clause that I want db_field1 to be copied into itab_field3?

    ... INTO (f1, ..., fn)
    Places the result set in the target area (f1, ..., fn). The fields of the result set are transported to the target fields fi from left to right. INTO (f1, ..., fn) is allowed only if a list with n elements is also specified in the SELECT clause.
    If the result of a selection is a table, the data is retrieved in a processing loop introduced by SELECT and concluded by ENDSELECT. The processing passes through the loop once for each line read. If the result is a single record, the closing ENDSELECT is omitted.
    Example
    Output a list of all airlines (with short description and name):
    TABLES SCARR.
    DATA:  CARRID   LIKE SCARR-CARRID,
           CARRNAME LIKE SCARR-CARRNAME,
    SELECT CARRID CARRNAME
           INTO (CARRID, CARRNAME)
           FROM SCARR.
      WRITE: / CARRID, CARRNAME.
    ENDSELECT
    If u have defined an internal tabel and in select query u r retrieving a few fields then use INTO CORRESPONDING FIELDS OF..
    DATA: Begin of tab occurs 0,
      matnr like mara-matnr,
      maktl like mara maktl,
    end of tab.
    select matnr from
           mara <b>into corresponding fields of table tab</b>
           where matnr IN s_matnr.
    Try this one.
    Message was edited by: Judith Jessie Selvi

  • How to select into a field of my internal table?

    Howdy,
    I have an internal table:
    TYPES: BEGIN OF T_OUTPUT,
            EQUIPMENT         TYPE  EQUI-EQUNR,
            DESCRIPTION       TYPE  EQKT-EQKTX,
            EQUIPMENT_CAT     TYPE  EQUI-EQTYP,
            MASTER_WARRANTY    TYPE  BGMKOBJ-MGANR,
            DELIVERY           TYPE  LIKP-VBELN,
    END OF T_OUTPUT.
    DATA: ITAB_DETAILS TYPE STANDARD TABLE OF T_OUTPUT WITH HEADER LINE.
    Now i'd like to do a slect from LIKP into the field ITAB_DETAILS-delivery, but his code doesn't work?
    SELECT VBELN FROM LIKP INTO table ITAB_details-delivery
             WHERE  VBELN IN S_VBELN
             AND VKORG  = P_VKORG
             AND WERKS  = P_WERKS
             AND ERDAT IN S_ERDAT
             AND LFART IN S_LFART.
    Does anyone know what I am doing wrong?
    I need to keep the name of the field as 'delivery' and I don't want to change its order in the internal table - Otherwise I'd ahve used the 'MOVE CORRESPONDING' command.
    Does anyone have any ideas?
    Thanks!

    STEVE,
    Modified Code:
    Get value for Delivery
       SELECT <b>SINGLE</b> VBELN FROM LIKP
           INTO ITAB_details-delivery
             WHERE  VBELN IN S_VBELN
             AND VKORG  = P_VKORG
             AND WERKS  = P_WERKS
             AND ERDAT IN S_ERDAT
             AND LFART IN S_LFART.
    Insert into Internal Table ASSUMING u have values for
    other fields in the Work Area.
    <b>  append ITAB_DELIVERY.</b>
    Thanks
    Kam

  • How to assign ranges ( select-option)to field symbol

    Hi ,
    I have following scenario
    ranges : r_test1 for agr_1251,
                 r_test2 for agr_1251.
    In runtime i am getting which range i have to populate in a field v_rname.for now let it me v_rname  = 'r_test2'
    i want to assign (v_rname ) to <field -symbol> ie is range to field symbol.
    and i want to update the <field -symbol>-sign ='I'
                                        <field -symbol>-LOW ='some value'
                                        append <field -symbol>.
    This is the logic i want to follow,  for this how should i have to declare the field symbol ? I couldn't assign a range to field symbol . Please help me.
    thanks
    Murali

    Try this
    FIELD-SYMBOLS : <field_symbol>  TYPE ANY TABLE.
    ASSIGN (v_rname) to <field_symbol>.
    <field -symbol>-sign ='I'
    <field -symbol>-LOW ='some value'
    append <field -symbol>.
    This should work because your range is a table.
    Hope this helps you.

  • To Modify a field value with field symbols

    we had a requirement like we are getting in a floating point value in a field of an IDoc segment like 12.327- .Here if we see that the negative sign is after the floating point value and if we try to insert this into a database then it will throw out an error.Before inserting the value we need to covert the incoming value in the form -12.327.
    I used the field symbols inorder to get the values and to change them.
    But iam not able to modify the internal table from the new value.
    Here is my sample code.
    DATA: IT_MBEW TYPE TABLE OF MBEW,
          WA_MBEW TYPE MBEW,
          IT_DFIES TYPE TABLE OF DFIES,
          WA_DFIES TYPE DFIES,
          IT_DD03L TYPE TABLE OF DD03L,
          WA_DD03L TYPE DD03L,
          L_FIELD TYPE VALUE,
          WA_VALUE TYPE mbew,
          L_MBEW TYPE DDOBJNAME VALUE 'MBEW'.
    FIELD-SYMBOLS: <FS1> TYPE ANY.
    FIELD-SYMBOLS: <FS3> TYPE ANY.
    FIELD-SYMBOLS: <FS2> TYPE ANY.
    SELECT * INTO CORRESPONDING FIELDS OF TABLE IT_MBEW
      FROM MBEW  WHERE MATNR = '000000000000100110'.
    LOOP AT IT_MBEW INTO WA_MBEW.
      WA_MBEW-SALK3 = - 354471.
      MODIFY IT_MBEW FROM WA_MBEW.
    ENDLOOP.
    To call the FM inorder to get the fieldnames for MBEW table
    CALL FUNCTION 'DDIF_FIELDINFO_GET'
      EXPORTING
        TABNAME              = L_MBEW
        FIELDNAME            = ' '
       LANGU                = SY-LANGU
        LFIELDNAME           = ' '
       ALL_TYPES            = ' '
        GROUP_NAMES          = ' '
        UCLEN                =
      IMPORTING
        X030L_WA             =
        DDOBJTYPE            =
        DFIES_WA             =
        LINES_DESCR          =
    TABLES
       DFIES_TAB            = IT_DFIES
        FIXED_VALUES         =
    EXCEPTIONS
       NOT_FOUND            = 1
       INTERNAL_ERROR       = 2
       OTHERS               = 3
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    SELECT TABNAME FIELDNAME DATATYPE POSITION INTO CORRESPONDING FIELDS OF TABLE
             IT_DD03L FROM DD03L
             WHERE TABNAME = 'MBEW'
             AND   DATATYPE = 'CURR'
             ORDER BY POSITION ASCENDING.
    *LOOP AT IT_MBEW INTO WA_MBEW.
    LOOP AT IT_MBEW assigning <fs1>.
    ASSIGN WA_MBEW TO <FS1>.
    do.
      LOOP AT IT_DD03L INTO WA_DD03L.
        READ TABLE IT_DFIES INTO WA_DFIES WITH  KEY FIELDNAME = WA_DD03L-FIELDNAME
                                          DATATYPE = WA_DD03L-DATATYPE.
        IF SY-SUBRC = 0.
          ASSIGN WA_DFIES-FIELDNAME TO <FS2>.
          ASSIGN COMPONENT SY-TABIX OF STRUCTURE <FS1> TO <FS3>.
          MOVE <FS3> TO L_FIELD.
          CONDENSE L_FIELD.
          CALL FUNCTION 'CLOI_PUT_SIGN_IN_FRONT'
            CHANGING
              VALUE = L_FIELD.
          IF SY-SUBRC = 0.
            ASSIGN L_FIELD TO <FS3>.
                    MODIFY ITMBEW INDEX SY-TABIX FROM <FS3>._    
    ENDIF.
        ENDIF.
      ENDLOOP.
    *enddo.
    ENDLOOP.
    The Modify statement is not working.....Plesae help me in this regard.
    Thanks
    Srinivas

    Hello.
    When you write,
    LOOP AT it_mbew ASSIGNING <fs1>.
    ENDLOOP.
    you don't need to use statements:
    ASSIGN WA_MBEW TO <FS1>
    nor
    MODIFY it_mbew
    after that.
    If you just write:
    LOOP AT it_mbew ASSIGNING <fs1>.
      <fs1>-field1 = 'A'.
      <fs1>-field2 = 'B'.
    ENDLOOP.
    all records of it_mbew will have field1 = 'A' and field2 = 'B'.
    The point is, statement LOOP assigning <fs1> will make the field symbol to became a pointer to the records of the internal table. So, if you change the field symbol, you are changing the internal table already.
    Regards.
    Valter Oliveira.

  • Usage of field-symbol to internal table generically.

    Hi gurus,
    please tell the usage of field symbol to an internall table.
    how do i use field symbol generically , so that i can use same field symbol for many different internal tables.
    regards,
    krishna
    TABLES: EKKO.
    DATA: ITAB TYPE STANDARD TABLE OF EKKO INITIAL SIZE 1.
    SELECT-OPTIONS: P_EBELN FOR EKKO-EBELN OBLIGATORY.
    FIELD-SYMBOLS <FS> TYPE any.
    SELECT *
    FROM EKKO
    INTO TABLE ITAB
    WHERE EBELN IN P_EBELN.
    LOOP AT ITAB ASSIGNING <FS> casting ekko.
      WRITE:/ <FS>-EBELN, <FS>-BUKRS, <FS>-LIFNR, <FS>-AEDAT, <FS>-EKGRP, <FS>-STATU, <FS>-SPRAS.
    ENDLOOP.

    How about something SIMPLE like this.
    This creates a dynamic table and displays it in an editable grid.
    The key to a real Generic internal table is to use the RTTI  functionality to generate a field catalog of the structure you want to use as an internal table and then create a dynamic table based on the FCAT created from your structure.
    For the code shown below code a simple screen ( SE51) with a custom container on it  called CCONTAINER1.
    Code also a standard status (SE41) with just the BACK, EXIT and CANCEL buttons on it.
    You can use this type of program as a model for ANY dynamic table. Note however that you still can't include DEEP structure in your dynamic table.
    With the program shown below you can edit the grid but you'll have to add your own functionality such as cell selection, double click etc etc.
    All the code is showning you really is how to take any user defined structure and simply without a whole load of fuss, buld an FCAT, a DYNAMIC TABLE, Populate it and display a grid.
    DO NOT EVER USE AGAIN THE OLD SLIS MODULES SUCH AS FM REUSE_ALV_etc.   Go for OO either cl_gui_alv_grid or if you don't need to edit anything the new SALV class.
    If you are still on 4.6 then the SALV class won't exist but the cl_gui_alv_grid class is fine.
    You can see also just by changing a few lines of codeyou can   display a grid of almost any structure you can think of (or populate another dynamic table).
    Note also if you have an actual table defined you can also always code something like your_itab[] = <dyn_table>  so you can retrieve your data easily enough via standard abap.
    All you need to do is define your structure, create the fcat and populate the dynamic table.
    Even if you don't want a a GRID you've got your data in a dynamic table which is what I believe you wanted in the first place. You don't have to display or use a GRID if you don't need to but I've added the code here as lots of applications need to display data in just these types of lists.
    Now surprise your Boss by coding in 10 mins a program he / she thought would take you 1 week. !!!!!.
    program zzz_simple_editable_grid.
    * Define any structure
    types:  begin of s_elements,
      vbeln   type vapma-vbeln,
      posnr   type vapma-posnr,
      matnr   type vapma-matnr,
      kunnr   type vapma-kunnr,
      werks   type vapma-werks,
      vkorg   type vapma-vkorg,
      vkbur   type vapma-vkbur,
      status  type c,
    end of  s_elements.
    * end of your structure
    data lr_rtti_struc type ref to cl_abap_structdescr .
    data:
        zog                     like line of lr_rtti_struc->components .
    data:
      zogt                    like table of zog,
    wa_it_fldcat type lvc_s_fcat,
    it_fldcat type lvc_t_fcat ,
    dy_line            type ref to data,
    dy_table           type ref to data.
    data:  dref               type ref to data.
    field-symbols: <fs> type any,
       <dyn_table>    type  standard table,
       <dyn_wa>.
    data grid_container1 type ref to cl_gui_custom_container .
    data grid1 type ref to cl_gui_alv_grid .
    data: ok_code type sy-ucomm.
    data: struct_grid_lset type lvc_s_layo.
    *now I want to build a field catalog
    * First get your data structure into a field symbol
    create data dref type s_elements.
    assign dref->* to <fs>.
    lr_rtti_struc ?= cl_abap_structdescr=>describe_by_data( <fs> ).
    * Now get the structure details into a table.
    * table zogt[] contains the structure details
    * From which we can build the field catalog
    zogt[]  = lr_rtti_struc->components.
    loop at zogt into zog.
      clear wa_it_fldcat.
      wa_it_fldcat-fieldname = zog-name .
      wa_it_fldcat-datatype = zog-type_kind.
      wa_it_fldcat-inttype = zog-type_kind.
      wa_it_fldcat-intlen = zog-length.
      wa_it_fldcat-decimals = zog-decimals.
      wa_it_fldcat-coltext = zog-name.
      wa_it_fldcat-lowercase = 'X'.
      append wa_it_fldcat to it_fldcat .
    endloop.
    * You can perform any modifications / additions to your field catalog
    * here such as your own column names etc.
    * Now using the field catalog created above we can
    * build a dynamic table
    * and populate it
    * First build the dynamic table
    * the table will contain entries for
    * our structure defined at the start of the program
    call method cl_alv_table_create=>create_dynamic_table
           exporting
                it_fieldcatalog = it_fldcat
           importing
                ep_table = dy_table.
    assign dy_table->* to <dyn_table>.
    create data dy_line like line of <dyn_table>.
    assign dy_line->* to <dyn_wa>.
    * Now fill our table with data
    select vbeln posnr matnr kunnr werks vkorg vkbur
           up to 200 rows
           from vapma
           into  corresponding fields of table <dyn_table>.
    * Call the screen to display the grid
    call screen 100.
    * PBO module
    module status_0100 output.
    data: off type int4.
    break-point 1.
    if sy-batch = 'X'.
    call method cl_gui_alv_grid=>offline
    receiving
    e_offline = off.
    endif.
    if sy-batch = 'X'.
    if ( off is initial ).
        create object grid_container1
                exporting
                   container_name = 'CCONTAINER1'.
        create object  grid1
           exporting
              i_parent = grid_container1.
    endif.
    endif.
    if sy-batch ne 'X'.
       if grid_container1 is initial.
         create object grid_container1
                 exporting
                    container_name = 'CCONTAINER1'.
      endif.
        create object  grid1
           exporting
              i_parent = grid_container1.
       if sy-batch ne 'X'.
        struct_grid_lset-edit = 'X'.    "To enable editing in ALV
      endif.
      endif.
        call method grid1->set_table_for_first_display
          exporting is_layout =  struct_grid_lset
          changing
                     it_outtab       = <dyn_table>
                     it_fieldcatalog = it_fldcat.
      set pf-status '001'.
      set titlebar '000'.
    endmodule.
    * PAI module
    module user_command_0100 input.
      case sy-ucomm.
        when 'BACK'.
          leave program.
        when 'EXIT'.
          leave program.
        when 'RETURN'.
          leave program.
        when others.
      endcase.
    endmodule.
    Cheers
    jimbo

  • Error in field symbol

    Hi all,
    i'm converting a field symbol table to internat table, where field symbol table structure is defined at runtime. for that i'm using
    call method cl_alv_table_create=>create_dynamic_table
                   exporting
                      it_fieldcatalog = ifc1
                   importing
                      ep_table        = dy_table.
      assign dy_table->* to <dyn_table>.
      create data dy_line like line of <dyn_table>.
      assign dy_line->* to <dyn_wa>.
      LOOP AT <dyn_table> ASSIGNING <dyn_wa>.
      MOVE-CORRESPONDING <dyn_wa> TO dy_line.
      INSERT dy_line INTO TABLE dy_table.
      endloop.
    where
    data: dy_table type ref to data,
          dy_line  type ref to data,
    But in execution time it show a error that dy_table is not a internal table.
    pls give me ur suggestions.

    Hi Ravish,
    pls find yhe code, it;s throwing a error that dyn_table is not a internal table.
    TABLES : SFLIGHT.
    type-pools : abap.
    field-symbols: <dyn_table> type standard table ,
                   <dyn_wa>,
                   <dyn_field>.
    data: dy_table type ref to data,
          dy_line  type ref to data,
          xfc type lvc_s_fcat,
          ifc type lvc_t_fcat,
          IFC1 TYPE LVC_T_FCAT.
    selection-screen begin of block b1 with frame.
    parameters: p_table(30) type c default 'SFLIGHT'.
    *FIELD-SYMBOLS <F> TYPE table p_table.
    data : field(10) type c.
    SELECT-OPTIONS : P_FIELD  FOR field.
    selection-screen end of block b1.
    start-of-selection.
      perform get_structure.
      perform get_selected_field.
      perform create_dynamic_itab.
      perform get_data.
      perform write_out.
    form get_structure.
    data : idetails type abap_compdescr_tab,
           xdetails type abap_compdescr.
    data : ref_table_des type ref to cl_abap_structdescr.
      ref_table_des ?=
          cl_abap_typedescr=>describe_by_name( p_table ).
      idetails[] = ref_table_des->components[].
      loop at idetails into xdetails.
        clear xfc.
        xfc-fieldname = xdetails-name .
        xfc-datatype = xdetails-type_kind.
        xfc-inttype = xdetails-type_kind.
        xfc-intlen = xdetails-length.
        xfc-decimals = xdetails-decimals.
        append xfc to ifc.
      endloop.
    endform.
    form get_selected_field.
    data: wa like line of ifc.
    loop at ifc into wa.
    if wa-fieldname in p_field.
    append wa to ifc1.
    endif.
    sy-index = sy-index + 1.
    endloop.
    if ifc1 is initial .
    MESSAGE e000 WITH 'This field is not available in table'.
    endif.
    endform.
    form create_dynamic_itab.
      call method cl_alv_table_create=>create_dynamic_table
                   exporting
                      it_fieldcatalog = ifc1
                   importing
                      ep_table        = dy_table.
      assign dy_table->* to <dyn_table>.
      create data dy_line like line of <dyn_table>.
      assign dy_line->* to <dyn_wa>.
    endform.
    form get_data.
    SELECT * INTO CORRESPONDING FIELDS OF TABLE <dyn_table>
    FROM (p_table) UP TO 20 ROWS.
    endform.
    form write_out.
    Write out data from table.
      loop at <dyn_table> into <dyn_wa>.
        do.
          assign component  sy-index
             of structure <dyn_wa> to <dyn_field>.
          if sy-subrc <> 0.
            exit.
          endif.
          if sy-index = 1.
            write:/ <dyn_field>.
          else.
            write: <dyn_field>.
          endif.
        enddo.
    code for convert field symbol internal table to internal table.
      LOOP AT <dyn_table> ASSIGNING <dyn_wa>.
      MOVE-CORRESPONDING <dyn_wa> TO dy_line.
      INSERT dy_line INTO TABLE dy_table.                    <----
      Error point
      endloop.
      endform.

  • Query about field symbol

    Hi,
    Can we write a query like this using field symbol.
    <FS> is a field symbol mapped onto an internal table.
    select * from dbtab into corresponding field of internal_tab for all entries in <FS>
    where field1 = <FS>-field1.
    It gives a syntax error when I check this query. Even if I turn field1 into a field symbol <FS1> to hold the field name, it gives an error.
    Could anyone advice in this context.
    Thanks for the help in advance.
    Regards,
    Vijay

    Vijay,
    Its not a limitation.
    You would have declared your table like this, right?
    FIELD-SYMBOLS : <FT> TYPE TABLE.
    Now, unless you assign this to table, the field symbols will not have a structure, right. This assignment happens only at runtime. So, there is no way that the system can identify <FT>-field1 at design time and compile the same, right?
    However, the question is if you know the structure at design time, why do you want to use a field symbols for the table?
    Regards,
    Ravi
    Note : Please mark the helpful answers

  • Field-symbols v/s Object references in OO-ABAP

    Hi,
    can anyone please tell me what is the difference between using field-symbols and object references in OO ABAP? Is there a specific need for field-symbols now that we have references?
    Thanks.
    Shakul.

    Hi ,
    Please note that both Field symbols & Object References are different .
    You can use Field symbols during the following situations
    1) When you want to modify the value of internal table, the field symbol would be useful since you do not have to use any Modify statement as in case of work area. The Field symbol works as a pointer and any changes to the field symbol will directly affect the value of the internal table
    2) Make sure that you do not reassign the field symbol within a Loop iteration
    3) Field symbols are useful when you work with dynamic internal tables ( tables whose structure is determined during run time)
    4) After Read an internal table ( Read itab...) into a Field symbol, make sure you do a Sy-subrc check or check if the field symbol is assigned.IF not this will give you a run time error
    You can use Object References while creating an object to a class. They are instances of a class.
    Thanks,
    Chakram Govindarajan

  • How to populate values of field symbols?

    HI,
    I need to pass values into a field-symbol (defined as a dynamic Work Area) and append the values later on into another field-symbol (defined as a dynamic Table) by inserting the work area to the table. The insert statement in the screen shot below is syntetically correct but when I uncomment
    *      <gw_itab>-tplnr = 'TPLNR'.
    *      <gw_itab>-pmsog = 'PMSOG'.
    *      <gw_itab>-k_pro = 'K_PRO'.
    I get a syntax error. During debugging if I pass the values of the work area, they are properly appended into the table.
    Could somebody show me the code on how to atain this programatically?
    Thanks for your help
    Carl

    From the short dump:
    "<GT_ITAB> has line type "v" and the length 24, but the work area has line type "g" and the length 8".
    The code you included in your first screenshot is not the code that it dumped on... Looking at the shortdump here's what you have.
    lv_fieldname = '<GW_ITAB>-TPLNR'.
    assign (lv_fieldname) to <gw_itab>.
    <gw_itab> = 'TPLNR'.
    insert <gw_itab> into table <gt_itab>.
    This code doesn't make any sense...
    What you're saying is:
    <gw_itab> points to <gw_itab>-tplnr. So now it points to just a field of the structure, not the whole structure.... Then you say that field is set to 'TPLNR'. So you set the field of the original structure called TPLNR to be the string "TPLNR"...
    If that's really what you're trying to do then try changing it to:
    field-symbols: <field> type any.
    lv_fieldname = '<GW_ITAB>-TPLNR'.
    assign (lv_fieldname) to <field>.
    <field> = 'TPLNR'.
    insert <gw_itab> into table <gt_itab>.

  • Using Field-Symbols in a user exit to change the importing parameter

    Please don't ask why but I need to use a user exit, changing the importing parameter.  I decided that I could do this using field-symbols.
    Please excuse my ignorance but I have never used field symbols for something such as this.
    Here is my goal:  Loop through an internal table (im_document-item).  When I find what I need I want to make a change to this line (not so hard if I am looping into a field symbol) and also append a line to the end of the table im_document-item.
    I have the following so far:
      DATA: wa_item TYPE accit,
            wa_item_out type ACCIT_SUB.
    FIELD-SYMBOLS: <document> type acc_document,
                   <accit> TYPE ACCIT.
    LOOP AT im_document-item ASSIGNING <accit> where saknr = '0000211000'.
    * Modify the curent line
    wa_item = <accit>
    * Append a new line into table im_document-item.
    ENDLOOP.
    How can I use field-symbols to append a line to this table?  Please note that the table in question (im_document-item) is an importing only parameter.
    Regards,
    Davis

    that will allow me to append an initial line with <accit> pointing to the line. Therefore I just have to modify <accit> and the new line will then have my changes?
    Yep, that is exactly it.    So after the APPEND statement, simply fill the fields of the <accit>.
    append initial line to im_document-item ASSIGNING <accit>.
    <accit>-field1 = 'Blah'.
    <accit>-field2 = 'Blah'.
    Regards,
    Rich Heilman

  • Field symbols to Z tables

    I have uploaded the table data from a file into a field symbol.
    But I am unable to insert the data present in the field symbol into a custom table.
    I am getting a dump.
    Could any one please suggest.

    Hi,
    You can find how to assgin the field symbol to custome table in the  bellow code
    LOOP AT gt_prps ASSIGNING <fs_prps> WHERE stufe = 1.
        gv_line_count = gv_line_count + 1.
        READ TABLE gt_pa0001 INTO gs_pa0001 WITH KEY pernr = <fs_prps>-zzmattermanager
         BINARY SEARCH.
        READ TABLE gt_proj ASSIGNING
        <fs_proj> WITH KEY pspnr = <fs_prps>-psphi  BINARY SEARCH.
        READ TABLE gt_zzwip WITH KEY rv_wtgbtr1 = <fs_prps>-wip ASSIGNING
        <fs_zzwip> BINARY SEARCH.
        READ TABLE gt_bsid WITH KEY dmbtr = <fs_prps>-client ASSIGNING
         <fs_bsid> BINARY SEARCH.
        gs_final-pspnr = <fs_proj>-pspnr.
        gs_final-post1 = <fs_proj>-post1.
        gs_final-ename = gs_pa0001-ename.
        gs_final-kunnr = <fs_proj>-kunnr.
        gs_final-name1 = <fs_proj>-name1.
        gs_final-wip = <fs_prps>-wip.
        gs_final-unpaid = '0'.
        gs_final-client = <fs_prps>-client.
        APPEND gs_final TO gt_final.

  • Export field symbol table out of method

    Hi,
    i have a report, that takes any xml and converts it into a table structure. In a method I generate the table structure using method cl_alv_table_create=>create_dynamic_table. Later in the same method I have filled the content of the XML file into a table typed as:  FIELD-SYMBOLS: <outtab> type standard table
    Now I need to export this <outtab> out of my method. Because it is a unspecific field symbol table, I can not do this, by normal exporting.
    In the PAI, where my method is called, I have deffined the table to return into as:
    FIELD-SYMBOLS: <itab_message> type standard table.
    Any help will be greatly appreciated.
    Kind regards
    Mikkel

    Hi,
    Please check this:
    REPORT zmaschl_create_data_dynamic .
    TYPE-POOLS: slis.
    DATA: it_fcat TYPE slis_t_fieldcat_alv,
    is_fcat LIKE LINE OF it_fcat.
    DATA: it_fieldcat TYPE lvc_t_fcat,
    is_fieldcat LIKE LINE OF it_fieldcat.
    DATA: new_table TYPE REF TO data.
    DATA: new_line TYPE REF TO data.
    FIELD-SYMBOLS: <l_table> TYPE ANY TABLE,
    <l_line> TYPE ANY,
    <l_field> TYPE ANY.
    Build fieldcat
    CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
    EXPORTING
    i_structure_name = 'SYST'
    CHANGING
    ct_fieldcat = it_fcat[].
    LOOP AT it_fcat INTO is_fcat WHERE NOT reptext_ddic IS initial.
    MOVE-CORRESPONDING is_fcat TO is_fieldcat.
    is_fieldcat-fieldname = is_fcat-fieldname.
    is_fieldcat-ref_field = is_fcat-fieldname.
    is_fieldcat-ref_table = is_fcat-ref_tabname.
    APPEND is_fieldcat TO it_fieldcat.
    ENDLOOP.
    Create a new Table
    CALL METHOD cl_alv_table_create=>create_dynamic_table
    EXPORTING
    it_fieldcatalog = it_fieldcat
    IMPORTING
    ep_table = new_table.
    Create a new Line with the same structure of the table.
    ASSIGN new_table->* TO <l_table>.
    CREATE DATA new_line LIKE LINE OF <l_table>.
    ASSIGN new_line->* TO <l_line>.
    Test it...
    DO 30 TIMES.
    ASSIGN COMPONENT 'SUBRC' OF STRUCTURE <l_line> TO <l_field>.
    <l_field> = sy-index.
    INSERT <l_line> INTO TABLE <l_table>.
    ENDDO.
    LOOP AT <l_table> ASSIGNING <l_line>.
    ASSIGN COMPONENT 'SUBRC' OF STRUCTURE <l_line> TO <l_field>.
    WRITE <l_field>.
    ENDLOOP.
    Regards,
    Shiva Kumar

Maybe you are looking for

  • HT1373 Authorizing Multiple Apple IDs on iTunes

    Years ago, when first signing up to use iTunes, I registered an ID and Password.  After some time and buying many songs, I changed my Apple ID and Password.  I recently purchased a new computer and discovered in order to get all my purchased songs on

  • Probelm facing in Zprogram select statements developed for PBS conversion

    Hi, Am using PBS conversion tool to convert the Report programs for Archive. In that program am having select statement for KONV table which takes KWERT and KSCHL based on KNUMV. In this case PBS conversion tool is not able to do the conversion and t

  • Power supply voltage upper-non-recoverable

    Hello, One of our customers is seeing the following errors occur intermittently across all 4 power supplies in their chassis. They are running 2.0(2q). The chassis is powered via an APC UPS and PDUs, and there are no power events or alarms from withi

  • Changes req for Zprograms in MM module with multiple lang support

    hi all , I have a requirement to enable zprograms into unicode for the chinese project.  I have done it thru Uccheck and all the programs are unicode enabled . 1.MY QUESTION IS WHETHER I NEED TO DO ANY MORE CHANGES IN THE PROGRAMS SO THAT WHEN THE CO

  • IPhoto lost my pictures.  Help!

    I uploaded about 1000 pictures from my SD card onto my MacBook Pro using iPhoto.  When prompted I deleted the photos from the SD card (the usual prompt in iPhoto).  The events are now showing up in iPhoto, but they are empty and the pictures are not