Going for dump while using field symbols

Hi all,
   I am using field symbols in my program. Program is going dump for some company codes and working fine for some company codes.
I am confused. Please check this code where the error is shown.
LOOP AT i_final ASSIGNING <fs_final>.
    AT NEW belnr.
     if  <fs_final>-wt_withcd  = 'SF' or  <fs_final>-wt_withcd  = 'XF' OR  <fs_final>-  wt_withcd  = 'WF'.
      MOVE <fs_final> TO wa_final1.
      g_qsatz = wa_final1-qsatz.
      APPEND wa_final1 TO i_final1.
      CLEAR wa_final1.
     ENDIF.
    ENDAT.
    READ TABLE i_final1 ASSIGNING <fs_final1> WITH KEY belnr = <fs_final>-belnr.
    IF <fs_final>-wt_withcd  = 'SF'.
      <fs_final1>-wt_withcd1 = <fs_final>-wt_withcd.
      <fs_final1>-wt_qbshb1  = <fs_final>-wt_qbshb.
      <fs_final1>-qsatz      = <fs_final1>-qsatz + <fs_final>-qsatz.
    ENDIF.
    IF <fs_final>-wt_withcd  = 'XF'.
      <fs_final1>-wt_withcd2 = <fs_final>-wt_withcd.
      <fs_final1>-wt_qbshb2  = <fs_final>-wt_qbshb.
      <fs_final1>-qsatz      = <fs_final1>-qsatz + <fs_final>-qsatz.
    ENDIF.
    IF <fs_final>-wt_withcd = 'WF'.
      <fs_final1>-wt_withcd = <fs_final>-wt_withcd.
      <fs_final1>-wt_qbshb  = <fs_final>-wt_qbshb.
      <fs_final1>-qsatz      = <fs_final1>-qsatz + <fs_final>-qsatz.
    ENDIF.
    AT END OF belnr.
      <fs_final1>-qsatz = <fs_final1>-qsatz - g_qsatz.
      clear g_qsatz.
    ENDAT.
  ENDLOOP.
Please check the code and help me.
Thanks in advance,
Shalem

HI Shalem
Please check this code:
LOOP AT i_final ASSIGNING <fs_final>.
  AT NEW belnr.
     if <fs_final>-wt_withcd = 'SF' or
        <fs_final>-wt_withcd = 'XF' OR
        <fs_final>- wt_withcd = 'WF'.
        MOVE <fs_final> TO wa_final1.
        g_qsatz = wa_final1-qsatz.
        APPEND wa_final1 TO i_final1.
        CLEAR wa_final1.
     ENDIF.
  ENDAT.
  READ TABLE i_final1 ASSIGNING <fs_final1> WITH KEY belnr = <fs_final>-belnr.
  IF sy-subrc EQ 0.
     CASE <fs_final>-wt_withcd.
     WHEN 'SF'.
          <fs_final1>-wt_withcd1 = <fs_final>-wt_withcd.
          <fs_final1>-wt_qbshb1 = <fs_final>-wt_qbshb.
     WHEN 'XF'.
          <fs_final1>-wt_withcd2 = <fs_final>-wt_withcd.
          <fs_final1>-wt_qbshb2 = <fs_final>-wt_qbshb.
     WHEN 'WF'.
          <fs_final1>-wt_withcd = <fs_final>-wt_withcd.
          <fs_final1>-wt_qbshb = <fs_final>-wt_qbshb.
     ENDCASE.
     <fs_final1>-qsatz = <fs_final1>-qsatz + <fs_final>-qsatz.
     AT END OF belnr.
        <fs_final1>-qsatz = <fs_final1>-qsatz - g_qsatz.
        clear g_qsatz.
     ENDAT.
  ENDIF.
ENDLOOP.
Kind Regards
Eswar

Similar Messages

  • Perform setting OOP ALV for multiple reports using Field Symbols

    Hi, Abapers ... i try to write a programme which using ONE oop ALV but 2 different structure internal table. the last result should be 2 radio button. first button is r_wbs and 2ns r_kpi. r_wbs will display 4 column answer and r_kpi will display 10 columns answer with different column name. i successfully implemented using FIELDS SYMBOLS but the problems i failed to perform customized setting forALV (report's tittle, column name, different layout etc)  for 2 different reports.  this is the programme. Please Give Opinion, simple example will be more helpful. Thanks You Very Much
    *&this report experimental how to print into ONE alv
    *&with 2 diffrent structure internal table
    REPORT  zfiroopalv.
    SELECTION-SCREEN BEGIN OF BLOCK mode WITH FRAME TITLE text-002.
    PARAMETERS r_wbs RADIOBUTTON GROUP mode DEFAULT 'X'.
    PARAMETERS r_kpi RADIOBUTTON GROUP mode.
    SELECTION-SCREEN END OF BLOCK mode.
    CLASS lcl_main DEFINITION.
    PUBLIC SECTION.
    CLASS-DATA: md_wbs TYPE c LENGTH 1.
    METHODS: process,
             write.
    DATA: mdo_data TYPE REF TO data.
    TYPES: BEGIN OF st_wbs,
    rsnum TYPE zmeime002a-rsnum,
    rspos TYPE zmeime002a-rspos,
    a TYPE zmmgitab01-menge,
    b TYPE zmeime002a-bdmng,
    c TYPE zmeime002a-bdmng,
    d TYPE zmeime002a-bdmng,
    e TYPE zmeime002a-bdmng,
    f TYPE zmmgitab01-menge,
    g TYPE zmmgitab01-menge,
    END OF st_wbs.
    TYPES: BEGIN OF st_kpi,
    regio TYPE zmeime002a-regio,
    gsber TYPE zmeime002a-gsber,
    gtext TYPE zmeime002a-gtext,
    x TYPE zmmgitab01-menge,
    y TYPE zmmgitab01-menge,
    z TYPE zmmgitab01-menge,
    END OF st_kpi.
    CLASS-DATA: it_wbs TYPE TABLE OF st_wbs,
                wa_wbs LIKE LINE OF it_wbs.
    CLASS-DATA: it_kpi TYPE TABLE OF st_kpi,
                wa_kpi LIKE LINE OF it_kpi.
    PRIVATE SECTION.
    DATA: set_display_setting TYPE REF TO cl_salv_table.
    DATA: display_settings TYPE REF TO cl_salv_display_settings.
    DATA: salv_table TYPE REF TO cl_salv_table.
    DATA: error TYPE REF TO cx_root.
    DATA: errtext TYPE string.
    ENDCLASS.
    CLASS lcl_kpi DEFINITION INHERITING FROM lcl_main.
    PUBLIC SECTION.
    METHODS: process_kpi.
    PRIVATE SECTION.
    ENDCLASS.
    * C.L.A.S.S lcl_main D.E.F.I.N.I.T.I.O.N
    CLASS lcl_wbs DEFINITION INHERITING FROM lcl_main.
    PUBLIC SECTION.
    METHODS: process_wbs.
    PRIVATE SECTION.
    ENDCLASS.
    * m.a.i.n. .p.r.o.g.r.a.m.
    START-OF-SELECTION.
      DATA: o_main TYPE REF TO lcl_main.
    DATA: p_wbs TYPE c.
    CREATE OBJECT o_main.
      CASE 'X'.
      WHEN r_wbs.
          o_main->md_wbs = 'X'.
      WHEN r_kpi.
          o_main->md_wbs = ' '.
      ENDCASE.
      o_main->process( ).
      o_main->write( ).
    CLASS lcl_main IMPLEMENTATION.
    *ENDMETHOD.
    METHOD process.  " NOTE: public method
    DATA: o_main TYPE REF TO lcl_main,
          o_wbs TYPE REF TO lcl_wbs,
          o_kpi TYPE REF TO lcl_kpi.
    CREATE OBJECT: o_wbs,o_kpi.
      IF ( me->md_wbs = 'X' ).
          CALL METHOD o_wbs->process_wbs( ).  " NOTE: private method
          GET REFERENCE OF me->it_wbs INTO me->mdo_data.
      ELSE.
          CALL METHOD o_kpi->process_kpi( ).  " NOTE: private method
          GET REFERENCE OF me->it_kpi INTO me->mdo_data.
      ENDIF.
    ENDMETHOD.
    METHOD write.
    FIELD-SYMBOLS:
      <lt_outtab>    TYPE table.
      ASSIGN me->mdo_data->* TO <lt_outtab>.
    cl_salv_table=>factory(
    EXPORTING
    list_display = if_salv_c_bool_sap=>false
    IMPORTING
    r_salv_table = salv_table
    CHANGING
    t_table = <lt_outtab>
    salv_table->display( ).
    ENDMETHOD.
    ENDCLASS.
    CLASS lcl_kpi IMPLEMENTATION.
    METHOD process_kpi.
    *********** run some select statement into it_kpi*******
    ENDMETHOD.
    ENDCLASS.
    CLASS lcl_wbs IMPLEMENTATION.
    METHOD process_wbs.
    *********** run some select statement into it_wbs*******
    ENDMETHOD.
    ENDCLASS.

    Hi,
    I had similar requirement wherein I was supposed to display different data using 2 different internal tables on a subscreen area.
    The screen consists of two parts: 1) selection-screen with few input fields and two buttons 2) Subscreen area where the report need to be displayed. This report is displayed based on the button that the user is selecting. For this I have done the following things:
    1. Capture the sy-ucomm when user is clicking on any of the two buttons in PAI. Then perform data fetch operation.
             MODULE USER_COMMAND_9003 INPUT.
                 CASE OK_CODE.
                     WHEN 'DETAIL'.
                       GV_RPT = OK_CODE.
                       PERFORM F_GET_DETAIL_DATA.
                     WHEN 'REPORT'.
                       GV_RPT = OK_CODE.
                       PERFORM F_GET_REPT_DATA.
                   ENDCASE.
             ENDMODULE.                 " USER_COMMAND_9003  INPUT
    2.  Declare two different ALV's with the fieldcat similar to 2 internal tables respectively. Use the above sy-ucomm PBO to call appropriate ALV.
             MODULE DISPLAY_ALV OUTPUT.
               IF GV_RPT EQ 'DETAIL'.
                 PERFORM F_FIELDCAT_DETAIL.
                 PERFORM F_LAYOUT_DETAIL.
                 PERFORM F_EXCLUDE_TOOLBAR_DETAIL.
                 PERFORM F_DISPLAY_ALV_DETAIL.
               ELSEIF GV_RPT EQ 'REPORT'.
                 PERFORM F_FIELDCAT_REPT.
                 PERFORM F_LAYOUT_REPT.
                 PERFORM F_EXCLUDE_TOOLBAR_REPT.
                 PERFORM F_DISPLAY_ALV_REPT.
               ENDIF.
             ENDMODULE.                 " DISPLAY_ALV  OUTPUT
    3. Before displaying ALV you need to free the container and ALV.
    FORM F_DISPLAY_ALV_DETAIL .
    IF GC_CONTAINER_ES IS NOT INITIAL.
        CALL METHOD GC_CONTAINER_ES->FREE
          EXCEPTIONS
            CNTL_ERROR        = 1
            CNTL_SYSTEM_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.
      ENDIF.
      IF GC_ALV_GRID_ES IS NOT INITIAL.
        CALL METHOD GC_ALV_GRID_ES->FREE
          EXCEPTIONS
            CNTL_ERROR        = 1
            CNTL_SYSTEM_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.
      ENDIF.
      IF GC_CONTAINER_TB IS NOT INITIAL.
        CALL METHOD GC_CONTAINER_TB->FREE
          EXCEPTIONS
            CNTL_ERROR        = 1
            CNTL_SYSTEM_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.
      ENDIF.
      IF GC_ALV_GRID_TB IS NOT INITIAL.
        CALL METHOD GC_ALV_GRID_TB->FREE
          EXCEPTIONS
            CNTL_ERROR        = 1
            CNTL_SYSTEM_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.
      ENDIF.
      CREATE OBJECT GC_CONTAINER_ES
        EXPORTING
          CONTAINER_NAME              = 'CC_9003'
        EXCEPTIONS
          CNTL_ERROR                  = 1
          CNTL_SYSTEM_ERROR           = 2
          CREATE_ERROR                = 3
          LIFETIME_ERROR              = 4
          LIFETIME_DYNPRO_DYNPRO_LINK = 5
          OTHERS                      = 6.
      CREATE OBJECT GC_ALV_GRID_ES
        EXPORTING
          I_PARENT          = GC_CONTAINER_ES
        EXCEPTIONS
          ERROR_CNTL_CREATE = 1
          ERROR_CNTL_INIT   = 2
          ERROR_CNTL_LINK   = 3
          ERROR_DP_CREATE   = 4
          OTHERS            = 5.
      CALL METHOD GC_ALV_GRID_ES->SET_TABLE_FOR_FIRST_DISPLAY
        EXPORTING
          IS_LAYOUT                     = GS_LAYOUT_ES
          IT_TOOLBAR_EXCLUDING          = GT_TOOLBAR_ES
        CHANGING
          IT_OUTTAB                     = GT_ES_REPT
          IT_FIELDCATALOG               = GT_FIELDCAT_ES
        EXCEPTIONS
          INVALID_PARAMETER_COMBINATION = 1
          PROGRAM_ERROR                 = 2
          TOO_MANY_LINES                = 3
          OTHERS                        = 4.
    ENDFORM.                    " F_DISPLAY_ALV_DETAIL
    Similarly define the FORM F_DISPLAY_ALV_REPT.     
    Hope this will be useful for you. If you have any more queries let me know.

  • Append a new line while using Field Symbols

    Hi,
    Below is a snippet of my code
    DATA: ls_data_package LIKE LINE OF DATA_PACKAGE[].
    FIELD-SYMBOLS:<ls_data_package> LIKE LINE OF DATA_PACKAGE[].
    zbib_sysn_temp = <ls_data_package>-/bic/zbib_sysn+off3(off4).
    <ls_data_package>-/bic/zd_user = <ls_data_package>-/bic/zbib_sysn(off).
    <ls_data_package>-/bic/zwrk = <ls_data_package>-/bic/zbib_sysn+off1.
    I want to insert a new line to the data package, with all the fields same while adding the above two,
    except for,
    <ls_data_package>-/bic/zd_user = zbib_sysn_temp
    <ls_data_package>-/bic/zitm = 2.
    Note: by default the field /bic/zitm = 1. So while adding for the 1st time it is set to 1 by default. I want to add a second (new line) to the datapackage which has all fields same except for the /bic/zd_user and the /bic/zitm = 2.
    Please help me with this code,
    CD

    Souvrav, thanks for the reply.
    I am not an ABAP'er, I have managed to write code so far. Can you please help me with how this can be done in this code:
      DATA: off, off1, off2, off3, off4, off5, off6 TYPE i.
      DATA: zbib_sysn_temp TYPE string.
      DATA: ls_data_package LIKE LINE OF DATA_PACKAGE[].
      FIELD-SYMBOLS:<ls_data_package> LIKE LINE OF DATA_PACKAGE[].
      SORT DATA_PACKAGE BY /bic/zbib_id.
      LOOP AT DATA_PACKAGE ASSIGNING <ls_data_package>.
        IF <ls_data_package>-/bic/zbib_sysn IS NOT INITIAL.
          TRANSLATE <ls_data_package>-/bic/zbib_sysn TO UPPER CASE.
          FIND '/' IN <ls_data_package>-/bic/zbib_sysn MATCH OFFSET off2.
            zbib_sysn_temp = <ls_data_package>-/bic/zbib_sysn+off3(off4).
    IF sy-subrc EQ 0.
                <ls_data_package>-/bic/zd_user =
                <ls_data_package>-/bic/zbib_sysn(off).
    Now at this point of code i want to copy this existing record from ls_data_package to create a new record where /bic/zd_user = zbib_sysn_temp and /bic/zitm = 2.
    Pleas help...

  • Using field-symbols giving dump " the output area is too small.  "

    Hi All,
    Good Afternoon.
    I  am creating a report using field-symbols. The purpose is :
    "This development involves extracting all the fields and the entire data, of any SAP table, and download it as a ‘;’ seperator file."
    For this I wrote following code:
    *& Report  ZTOOL
    REPORT  ztool1.
    Tables***************************************
    DATA : i_tab TYPE TABLE OF dfies WITH HEADER LINE.
    Variables***************************************
    DATA dref TYPE REF TO data.
    FIELD-SYMBOLS <ft> TYPE ANY TABLE." with header line.
    FIELD-SYMBOLS <fs> TYPE ANY .
    DATA: w_heading(5000),
         w_line(5000).
    CONSTANTS  sep TYPE c VALUE ';'.
    Selection Screen*********************************
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME.
    PARAMETERS : p_tab LIKE dfies-tabname OBLIGATORY.
    PARAMETERS : p_file(100) TYPE c .
    PARAMETERS : p_lfile(100) TYPE c .
    SELECTION-SCREEN END OF BLOCK b1.
    START-OF-SELECTION.
      CALL FUNCTION 'GET_FIELDTAB'
       EXPORTING
         langu                     = sy-langu
      ONLY                      = ' '
         tabname                   = p_tab
      WITHTEXT                  = 'X'
    IMPORTING
      HEADER                    =
      RC                        =
        TABLES
          fieldtab                  = i_tab
    EXCEPTIONS
       internal_error            = 1
       no_texts_found            = 2
       table_has_no_fields       = 3
       table_not_activ           = 4
       OTHERS                    = 5
      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 * FROM (p_tab) INTO <fs> .       
         endselect.
         CREATE DATA dref TYPE STANDARD TABLE OF (p_tab).
           ENDSELECT.
          assign dref to <fs> casting.
         ASSIGN dref->* TO <ft>.
         SELECT & FROM (p_tab) INTO table <ft>.
         OPEN DATASET p_lfile FOR INPUT IN TEXT MODE ENCODING DEFAULT.
    LOOP AT i_tab.
      IF sy-index = 1.
        w_heading = i_tab-fieldname.
      ELSE.
      CONCATENATE w_heading i_tab-fieldname INTO w_heading SEPARATED BY sep.
      ENDIF.
    ENDLOOP.
    TRANSFER w_heading TO p_lfile.
    LOOP AT <ft> into <ft>.
    clear w_line.
      LOOP AT i_tab.
             ASSIGN COMPONENT i_tab-fieldname OF STRUCTURE <ft> TO <fs>.
             IF sy-index = 1.
                  w_line = <fs> .
             ELSE.
                  CONCATENATE w_line <fs> into w_line SEPARATED BY sep.
             ENDIF.
      ENDLOOP.
      TRANSFER w_line TO p_file.
    ENDLOOP.
    The program is executed well till the statement :
    SELECT * FROM (p_tab) INTO <fs> .       
         endselect.
    But here it gives the following dump : 
    "Error analysis
        In an Open SQL select, the output area used t
        records must be at least as wide as the datab
        records are being read.
        In this particular case, the database table i
        but the output area is only 2 bytes wide."
    Can you please help me solve this problem.
    Thanks in advance.

    Hi Abhii,
    Both are having the same number of fields.
    The only problem is with the data and time (in my scenario). Here, actual length of date is 8 and maximum length is 10. and for time the actual length is 6 and maximum length is 8.
    So, my work area it is taking only the actual length but not the maximum length because of this it is going to dump.
    Can i have any thing which also considers the maximum length of any field at a domain level so that by work area bytes should match according to the db table byte length.
    Thanks
    rohith

  • Using field-symbols with FOR ALL ENTRIES IN ...

    Hi all of you,
    Is it possible to use field symbol by the FOR ALL THE ENTRIES IN itab.
    Normally, isn't possible.
    So my problem is that I'm having duplicate code.
    I've something like this.
          IF ap_objcl EQ omaterial.
            SELECT objectid
            INTO TABLE i_cdpos
            FROM cdpos
            FOR ALL ENTRIES IN otf_materials
            WHERE objectclas = ap_objcl AND
                  tabname = otf_materials-tablename AND
                  fname = otf_materials-fieldname.
         ELSEIF ap_objcl EQ otf_documents...
    And I'm looking to use otf_materials and otf_documents
    So, instead to duplicate the code, I'm looking for a way to restrain the code by using maybe field symbols.
    Ideal :
    FIELD-SYMBOLS : <otf_mats_docs> LIKE OTF_TABLE.
    IF ap_objcl EQ omaterial
    ASSIGN local copy of otf_materials TO <otf_mats_docs> CASTING.
    ELSEIF ap_objcl EQ odocuments
    ASSIGN local copy of otf_documents TO <otf_mats_docs> CASTING.
    ENDIF.
            SELECT objectid
            INTO TABLE i_cdpos
            FROM cdpos
            FOR ALL ENTRIES IN <otf_mats_docs>
            WHERE objectclas = ap_objcl AND
                  tabname = <otf_mats_docs>-tablename AND
                  fname = <otf_mats_docs>-fieldname.
    IF ap_objcl EQ omaterials.
    *Do nothing
    ELSEIF ap_objcl EQ odocuments.
    *Do something with the date in otf_documents.
    ENDIF.
    Regards,
    Kais

    Hi,
    Ok, using forms is great things to deal with it.
    But, may be it'll slow down the program and I need a really rapid program.
    I tried using form.
    The problem by pushing the FOR ALL ENTRIES IN <structure>
    didn't works.
    It tells me that the structure that I pushed via "using" is not an internal table.
    The same structure work find in the global program.
    What should I do ?.
    The structure is given by as a parameters in Function Module.
    FORM data_search
      USING
        object_cl TYPE j_objnr
        table_data LIKE ****structure****
      CHANGING
        global_lst TYPE ANY TABLE.
          DATA : BEGIN OF otf_list OCCURS 0,
               objectid TYPE cdpos-objectid,
             END OF otf_list.
      DATA : ii_cdpos LIKE TABLE OF otf_list WITH HEADER LINE.
         IF table_data IS NOT INITIAL.
            SELECT objectid
            INTO TABLE ii_cdpos
            FROM cdpos
            FOR ALL ENTRIES IN table_data
            WHERE objectclas = object_cl AND
                  tabname = table_data-tablename AND
                  fname = table_data-fieldname.
          ELSE.
            SELECT objectid
            INTO TABLE i_cdpos
            FROM cdpos
            WHERE objectclas = ap_objcl.
          ENDIF.
          SELECT DISTINCT objectid
          INTO TABLE global_lst
          FROM cdhdr
          FOR ALL ENTRIES IN ii_cdpos
          WHERE ( ( udate GT from_date AND udate LT to_date ) OR
                  ( udate EQ from_date AND udate NE to_date AND utime GE from_time ) OR
    *              ( udate NE from_date AND udate EQ to_date AND utime LE to_time ) OR
    *              ( udate EQ from_date AND udate EQ to_date AND utime GE from_time AND utime LE to_time )
                  ( udate EQ to_date AND (
                                           udate NE from_date OR
                                           utime GE from_time
                                     AND utime LE to_time )
                ) AND
                objectclas = ap_objcl AND
                objectid = ii_cdpos-objectid.
    ENDFORM.

  • How to use field symbols  while creating a new RFC Bapi

    Hi all,
    I have written a RFC Bapi in the traditional way.
    I need to replace all with field symbols (import. export. tables and source code).
    What is the syntax ?
    Any sample codng will be more helpful.
    Regards
    Senthil

    Please search for available information on "field symbols" before posting
    Thread locked
    Thomas

  • How to use field symbol in select

    Hi,
        CONCATENATE 'WTG0' LV_MON INTO LV_FNAME.
        ASSIGN (LV_FNAME) TO <FS>.
        SELECT SINGLE <FS>  FROM COSP INTO LV_SAPRST
             WHERE OBJNR = LV_OBJ AND GJAHR = LV_YEAR AND WRTTP = '4' AND KSTAR = GT_INOUT-SAKNR
       Error message :    Unknown column name "<FS>" . field list. . field list. field list. 
       actually ,  if i use  if command,  i can do,  but i want to use simple code by fieldsymbol.
       is it possible in select command?
    Thanks in advance
    Benjamin

    Hi
    Hope it will help you.
    reward if help.
    Field Symbols
    Field symbols are placeholders or symbolic names for other fields. They do not physically reserve space for a field, but point to its contents. A field symbol cam point to any data object. The data object to which a field symbol points is assigned to it after it has been declared in the program.
    Whenever you address a field symbol in a program, you are addressing the field that is assigned to the field symbol. After successful assignment, there is no difference in ABAP whether you reference the field symbol or the field itself. You must assign a field to each field symbol before you can address the latter in programs.
    Field symbols are similar to dereferenced pointers in C (that is, pointers to which the content operator * is applied). However, the only real equivalent of pointers in ABAP, that is, variables that contain a memory address (reference) and that can be used without the contents operator, are reference variables in ABAP Objects.
    All operations programmed with field symbols are applied to the field assigned to it. For example, a MOVE statement between two field symbols moves the contents of the field assigned to the first field symbol to the field assigned to the second field symbol. The field symbols themselves point to the same fields after the MOVE statement as they did before.
    You can create field symbols either without or with type specifications. If you do not specify a type, the field symbol inherits all of the technical attributes of the field assigned to it. If you do specify a type, the system checks the compatibility of the field symbol and the field you are assigning to it during the ASSIGN statement.
    Field symbols provide greater flexibility when you address data objects:
    If you want to process sections of fields, you can specify the offset and length of the field dynamically.
    You can assign one field symbol to another, which allows you to address parts of fields.
    Assignments to field symbols may extend beyond field boundaries. This allows you to address regular sequences of fields in memory efficiently.
    You can also force a field symbol to take different technical attributes from those of the field assigned to it.
    The flexibility of field symbols provides elegant solutions to certain problems. On the other hand, it does mean that errors can easily occur. Since fields are not assigned to field symbols until runtime, the effectiveness of syntax and security checks is very limited for operations involving field symbols. This can lead to runtime errors or incorrect data assignments.
    While runtime errors indicate an obvious problem, incorrect data assignments are dangerous because they can be very difficult to detect. For this reason, you should only use field symbols if you cannot achieve the same result using other ABAP statements.
    For example, you may want to process part of a string where the offset and length depend on the contents of the field. You could use field symbols in this case. However, since the MOVE statement also supports variable offset and length specifications, you should use it instead. The MOVE statement (with your own auxiliary variables if required) is much safer than using field symbols, since it cannot address memory beyond the boundary of a field. However, field symbols may improve performance in some cases.
    check the below links u will get the answers for your questions
    http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3860358411d1829f0000e829fbfe/content.htm
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/field_sy.htm
    http://searchsap.techtarget.com/tip/1,289483,sid21_gci920484,00.html
    Syntax Diagram
    FIELD-SYMBOLS
    Basic form
    FIELD-SYMBOLS <fs>.
    Extras:
    1. ... TYPE type
    2. ... TYPE REF TO cif
    3. ... TYPE REF TO DATA
    4. ... TYPE LINE OF type
    5. ... LIKE s
    6. ... LIKE LINE OF s
    7. ... TYPE tabkind
    8. ... STRUCTURE s DEFAULT wa
    The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas. See Cannot Use Untyped Field Symbols ad Cannot Use Field Symbols as Components of Classes.
    Effect
    This statement declares a symbolic field called <fs>. At runtime, you can assign a concrete field to the field symbol using ASSIGN. All operations performed with the field symbol then directly affect the field assigned to it.
    You can only use one of the additions.
    Example
    Output aircraft type from the table SFLIGHT using a field symbol:
    FIELD-SYMBOLS <PT> TYPE ANY.
    DATA SFLIGHT_WA TYPE SFLIGHT.
    ASSIGN SFLIGHT_WA-PLANETYPE TO <PT>.
    WRITE <PT>.
    Addition 1
    ... TYPE type
    Addition 2
    ... TYPE REF TO cif
    Addition 3
    ... TYPE REF TO DATA
    Addition 4
    ... TYPE LINE OF type
    Addition 5
    ... LIKE s
    Addition 6
    ... LIKE LINE OF s
    Addition 7
    ... TYPE tabkind
    Effect
    You can define the type of the field symbol using additions 2 to 7 (just as you can for FORM parameters (compare Defining the Type of Subroutine Parameters). When you use the ASSIGN statement, the system carries out the same type checks as for USING parameters of FORMs.
    This addition is not allowed in an ABAP Objects context. See Cannot Use Obsolete Casting for FIELD SYMBOLS.
    In some cases, the syntax rules that apply to Unicode programs are different than those for non-Unicode programs. See Defining Types Using STRUCTURE.
    Effect
    Assigns any (internal) field string or structure to the field symbol from the ABAP Dictionary (s). All fields of the structure can be addressed by name: <fs>-fieldname. The structured field symbol points initially to the work area wa specified after DEFAULT.
    The work area wa must be at least as long as the structure s. If s contains fields of the type I or F, wa should have the structure s or at least begin in that way, since otherwise alignment problems may occur.
    Example
    Address components of the flight bookings table SBOOK using a field symbol:
    DATA SBOOK_WA LIKE SBOOK.
    FIELD-SYMBOLS <SB> STRUCTURE SBOOK
    DEFAULT SBOOK_WA.
    WRITE: <SB>-BOOKID, <SB>-FLDATE.
    Related
    ASSIGN, DATA
    Additional help
    Declaring Field Symbols

  • How to use field symbols in program

    how to use field symbols can any one explain with example please..
    Regards,
    venki...

    Hi
    Field Symbols
    Field symbols are placeholders or symbolic names for other fields. They do not physically reserve space for a field, but point to its contents. A field symbol cam point to any data object. The data object to which a field symbol points is assigned to it after it has been declared in the program.
    Whenever you address a field symbol in a program, you are addressing the field that is assigned to the field symbol. After successful assignment, there is no difference in ABAP whether you reference the field symbol or the field itself. You must assign a field to each field symbol before you can address the latter in programs.
    Field symbols are similar to dereferenced pointers in C (that is, pointers to which the content operator * is applied). However, the only real equivalent of pointers in ABAP, that is, variables that contain a memory address (reference) and that can be used without the contents operator, are reference variables in ABAP Objects.
    All operations programmed with field symbols are applied to the field assigned to it. For example, a MOVE statement between two field symbols moves the contents of the field assigned to the first field symbol to the field assigned to the second field symbol. The field symbols themselves point to the same fields after the MOVE statement as they did before.
    You can create field symbols either without or with type specifications. If you do not specify a type, the field symbol inherits all of the technical attributes of the field assigned to it. If you do specify a type, the system checks the compatibility of the field symbol and the field you are assigning to it during the ASSIGN statement.
    Field symbols provide greater flexibility when you address data objects:
    If you want to process sections of fields, you can specify the offset and length of the field dynamically.
    You can assign one field symbol to another, which allows you to address parts of fields.
    Assignments to field symbols may extend beyond field boundaries. This allows you to address regular sequences of fields in memory efficiently.
    You can also force a field symbol to take different technical attributes from those of the field assigned to it.
    The flexibility of field symbols provides elegant solutions to certain problems. On the other hand, it does mean that errors can easily occur. Since fields are not assigned to field symbols until runtime, the effectiveness of syntax and security checks is very limited for operations involving field symbols. This can lead to runtime errors or incorrect data assignments.
    While runtime errors indicate an obvious problem, incorrect data assignments are dangerous because they can be very difficult to detect. For this reason, you should only use field symbols if you cannot achieve the same result using other ABAP statements.
    For example, you may want to process part of a string where the offset and length depend on the contents of the field. You could use field symbols in this case. However, since the MOVE statement also supports variable offset and length specifications, you should use it instead. The MOVE statement (with your own auxiliary variables if required) is much safer than using field symbols, since it cannot address memory beyond the boundary of a field. However, field symbols may improve performance in some cases.
    check the below links u will get the answers for your questions
    http://help.sap.com/saphelp_nw04/helpdata/en/fc/eb3860358411d1829f0000e829fbfe/content.htm
    http://www.sts.tu-harburg.de/teaching/sap_r3/ABAP4/field_sy.htm
    http://searchsap.techtarget.com/tip/1,289483,sid21_gci920484,00.html
    Syntax Diagram
    FIELD-SYMBOLS
    Basic form
    FIELD-SYMBOLS <fs>.
    Extras:
    1. ... TYPE type
    2. ... TYPE REF TO cif
    3. ... TYPE REF TO DATA
    4. ... TYPE LINE OF type
    5. ... LIKE s
    6. ... LIKE LINE OF s
    7. ... TYPE tabkind
    8. ... STRUCTURE s DEFAULT wa
    The syntax check performed in an ABAP Objects context is stricter than in other ABAP areas. See Cannot Use Untyped Field Symbols ad Cannot Use Field Symbols as Components of Classes.
    Effect
    This statement declares a symbolic field called <fs>. At runtime, you can assign a concrete field to the field symbol using ASSIGN. All operations performed with the field symbol then directly affect the field assigned to it.
    You can only use one of the additions.
    Example
    Output aircraft type from the table SFLIGHT using a field symbol:
    FIELD-SYMBOLS <PT> TYPE ANY.
    DATA SFLIGHT_WA TYPE SFLIGHT.
    ASSIGN SFLIGHT_WA-PLANETYPE TO <PT>.
    WRITE <PT>.
    Addition 1
    ... TYPE type
    Addition 2
    ... TYPE REF TO cif
    Addition 3
    ... TYPE REF TO DATA
    Addition 4
    ... TYPE LINE OF type
    Addition 5
    ... LIKE s
    Addition 6
    ... LIKE LINE OF s
    Addition 7
    ... TYPE tabkind
    Effect
    You can define the type of the field symbol using additions 2 to 7 (just as you can for FORM parameters (compare Defining the Type of Subroutine Parameters). When you use the ASSIGN statement, the system carries out the same type checks as for USING parameters of FORMs.
    This addition is not allowed in an ABAP Objects context. See Cannot Use Obsolete Casting for FIELD SYMBOLS.
    In some cases, the syntax rules that apply to Unicode programs are different than those for non-Unicode programs. See Defining Types Using STRUCTURE.
    Effect
    Assigns any (internal) field string or structure to the field symbol from the ABAP Dictionary (s). All fields of the structure can be addressed by name: <fs>-fieldname. The structured field symbol points initially to the work area wa specified after DEFAULT.
    The work area wa must be at least as long as the structure s. If s contains fields of the type I or F, wa should have the structure s or at least begin in that way, since otherwise alignment problems may occur.
    Example
    Address components of the flight bookings table SBOOK using a field symbol:
    DATA SBOOK_WA LIKE SBOOK.
    FIELD-SYMBOLS <SB> STRUCTURE SBOOK
    DEFAULT SBOOK_WA.
    WRITE: <SB>-BOOKID, <SB>-FLDATE.
    <b>Reward points for useful Answers</b>
    Regards
    Anji

  • Classification System CA-CL: Problems / Dumps while using a new class type

    Hi All,
    You'd really make my day by helping me out w. hints or even a solution. Would reward points for your efforts...
    The problem: in order to develop a class hierachy of product groups (in industry system, Rel. 6.40) I created a new class type (let's call it ZWG).
    While doing so R/3 requsted me to provide info on the objects to assign to this class type as well as the transaction for displaying these objects. For Product Groups (material classes) this is object-table T023 and transaction WG24.
    Furthermore the sys demands the implementation of a function module. This module's task is to check the existence of a given object as well as the locking and later unlocking in the process of classifying objects. Following SAP's naming convention I implemented and activated FM OBJECT_CHECK_T023.
    After that I created a new class (FIRST_CLASS) of class-type ZWG.
    I managed to assign exactly one (1) prod-grp to this class but afterwards I only receive dumps while using transactions CL20N, CL24N  to assign objects.
    The Message from ST22 says:
    Assignment error: Overwriting a protected field.
    Error in ABAP application program.                                                                               
    The current ABAP program "SAPLCLCV" had to be terminated because one of the 
    statements could not be executed.                                                                               
    This is probably due to an error in the ABAP program.                       
    Do I have to debug throughout thís enormous amount of coding now? :-(((
    Hope someone get's my "message in a bottle"
    Best Regards
    Udo

    Yatin please see attached for warning.I am trying to create Z class using 001

  • Short Dump while using BAPI_PS_PRECOMMIT to set Project Definition Status

    Hi All,
    I am getting a short dump while using BAPI_PS_PRECOMMIT for setting the Project Definition status..
    The requirement is to create a Project Definition and then set its status to REL from CRTD. For this purpose i am using the BAPI's in the following sequence :
    1. BAPI_PS_INITIALIZATION
    2. BAPI_PROJECT_MAINTAIN
    3. BAPI_BUS2001_SET_STATUS
    4. BAPI_PS_PRECOMMIT
    5. BAPI_TRANSACTION_COMMIT
    The Proj Def creation is happening successfully in step2. Interestingly, when I debug the program and stop at PRECOMMIT BAPI the program does not give a dump. I have also tried to give COMMIT WORK / WAIT FOR n SECONDS after BAPI_BUS2001_SET_STATUS, to give BAPI sometime for DB update but nothing seems to be a permanent solution.
    Please give your views on a solution for this problem..
    Thanks & Regards,
    Somil

    Can you please check how to post code in SDN ...
    I cannot read your code properly

  • How to populate one internal table from another using field symbols

    Hi Gurus,
      I have a problem. I have to populate one internal table (sructure t_otput) from another internal table (sructure t_from) using field symbol.
    Structure for from table.
    types: begin of t_from,
             year(4) type c,
             ww(2) type c,
             site type marc-werks,
             demand type i,
           end of t_from.
    Structure for output table.
    types: begin of t_display,
             title(30),
             WW1(10),
             WW2(10),
             WW3(10),
           end of t_display.
    The from table looks like this:
    Year | WW | Site | Demand
    2005 | 1  | OR1  | 12.00
    2005 | 2  | OR1  | 13.00
    2005 | 3  | OR1  | 14.00
    The display table which has to be populated should look like this:
    Title  | WW1   | WW2   | WW3
    OR1    |       |       |
    Demand | 12.00 | 13.00 | 14.00
    How to populate display table using field symbol?
    Please give code snippets
    Thanks,
    Gopal

    Gopal,
    Here is the code, however I am not vary clear about the ORG1 and Demand display that you have shown in the display. I am sure with this code it should not be a big deal to tweak in whatever manner you want.
    TABLES : marc.
    TYPES: BEGIN OF type_display,
    title(30),
    ww1(10),
    ww2(10),
    ww3(10),
    END OF type_display.
    TYPES: BEGIN OF type_from,
    year(4) TYPE c,
    ww(2) TYPE c,
    site TYPE marc-werks,
    demand TYPE i,
    END OF type_from.
    data : t_from type table of type_from,
           t_display type table of type_display.
    field-symbols : <fs_from> type type_from,
                    <fs_display> type type_display.
    data : wa_from type type_From,
           wa_display type type_display.
    wa_from-year = '2005'.
    wa_from-ww   = '1'.
    wa_from-site = 'OR1'.
    wa_from-demand = '12.00'.
    insert wa_from  into table t_from.
    wa_from-year = '2005'.
    wa_from-ww   = '2'.
    wa_from-site = 'OR1'.
    wa_from-demand = '13.00'.
    insert wa_from  into table t_from.
    wa_from-year = '2005'.
    wa_from-ww   = '3'.
    wa_from-site = 'OR1'.
    wa_from-demand = '14.00'.
    insert wa_from  into table t_from.
    data : variable(3) type c.
    field-symbols : <fs_any> type any.
    break-point.
    Loop at t_from assigning <fs_from>.
    variable = 'WW'.
    wa_display-title = <fs_from>-site.
    concatenate variable <fs_from>-ww into variable.
    assign component variable of structure wa_display to <fs_any>.
    <fs_any> = <fs_from>-demand.
    endloop.
    append wa_display to t_display.
    clear wa_display.
    loop at t_display assigning <Fs_display>.
      write :/ <fs_display>.
    endloop.
    Note : Please award points if this helps you.
    Regards,
    Ravi

  • Function module going for DUMP

    Hi ALL,
    I have import request and i got sucess .My 3 function modules are import to client system.2 FM are working properly but 1 function module is going for DUMP.
    When iam Executing this FM through SE37 F8 its running but iam not able to display or change this ZFM.
    In our DEV sytem it is working properly.but Client system it is going for DUMP.
    I have gone dump analysis its saying
    An exception occurred. This exception is dealt with in more detail below
    . *The exception, which is assigned to the class 'CX_SY_IMPORT_MISMATCH_ERROR',
    was neither caught nor passed along using a RAISING clause, in the procedure
    MO_IMPORT_MODIFICATIONS" "(METHOD
    Length error occurred during the IMPORT statement
    *The system found when importing that the target object was longer or
    shorter than the object to be imported*
    Thanks in Advance,
    Madhu.
    Edited by: madhubabu rao on Apr 23, 2009 10:34 AM
    Edited by: madhubabu rao on Apr 23, 2009 10:36 AM

    Hi sekhar,
    I did not transport individually.I have transport 3 FM in a function group and it is assigned to a Package.
    First i have 2 FM in my function group after that i have copied one more FM from another Function group.
    in SE80 right click -->copy it asked me function group name only .not transport number.
    After copy the FM i have transport total package.2 FM are working properly .The FM which i have copied it is not able to display or edit.
    Madhu

  • Delete row from internal table using field symbol.

    Hi friends,
      I created dynamic internal table using field symbol. I want to delete some data using where clause.
    for example. i want to use like,
        DELETE <FS> WHERE KUNNR = WA_KNA1-KUNNR.
    Like the above statment it won't work. How i can use delete with where clause in field symbols.
    Hope any one can help me.
    Thanks and regards
    Srikanth. S

    hi Srikanth,
    I think you have to LOOP through the whole internal table and check each line and decide to delete or not:
    LOOP at <itab> INTO <wa>.
    ASSIGN COMPONENT 'KUNNR' OF STRUCTURE <wa> TO <field>.
    CHECK <field> IS ASSIGNED.
    IF <field> EQ WA_KNA1-KUNNR.
    DELETE ...
    ENDIF.
    UNASSIGN <field>.
    ENDLOOP.
    hope this helps
    ec

  • Problem in using Field Symbols in HIDE statement

    Hi All,
    I am working in an Upgrade project ( from 4.6B to ECC 5.0 ). In a program I found few warnings on HIDE statement because they have used Field Symbols in HIDE statement.
    The warning is " HIDE on a field symbol is dangerous, but the formal parameter "" is not ".
    and the piece of code is
    SET EXTENDED CHECK OFF.
    HIDE: flg_pick_up, <s1>, <s2>, <s3>, <s4>, <s5>, z_feld_ind.
    CLEAR flg_pick_up.
    SET EXTENDED CHECK ON.
    all the field symbols are of type ANY. SO can any one help in removing those warnings.
    Please reply me as soon as possible.
    With Regards,
    Amarnath Singanamala

    Hi amarnath,
    1. Why do u want to remove
       the warning ?
    2. This warning (and not an error)
       is a GENUINE warning,
      which the system wants the user to make aware of.
    3. By doing some xyz,
      even if u may be able to hide the warning,
      the warning may be hidden (for display purpose only),
      but,
      the warning will still be there inside the system.
    4. I think u should ignore the warning,
      (if there are no other repurcussions).
    regards,
    amit m.

  • Import FM is going for DUMP

    Hi All,
    I have import request and i got sucess .My 3 function modules are import to client system.2 FM are working properly but 1 function module is going for DUMP.
    I have gone dump analysis its saying
    "Length error occurred during the IMPORT statement."
    "The system found when importing that the target object was longer or
    shorter than the object to be imported."
    where did i mistake while import ? or while transport?
    That FM is working properly in our DEV.
    Thanks in Advance,
    Madhu.

    Hi Madhu,
    Suggested to post this in logistics forum for better answer.
    Software Logistics
    Regards,
    Debasis.

Maybe you are looking for

  • "all documents are missing or failed to export" epub CS4

    Hello all, Here again with some problems. I'm exporting my book file to epub and this is the second time I am encountering this issue. The first time solving the issue seemed to happen at random, and so I come here because lightning rarely strikes tw

  • How do I open a .fdf file downloaded from the internet?

    Hello =-D    I have been on a website many times in the past and opened pdf files. Today however, I have been trying to download an adobe file, and its showing up as a .fdf file. When I click to open (or drag and drop) I keep getting this error messa

  • Sync the movies in Finder Movies and the movies in iTunes

    I wish that the movies in my Finder folder "Movies" would somehow synchronize with the iTunes movies. I don't want to have to copy my movies from finder in to iTunes and vice versa in the interest of saving disk space. Besides this, i think it would

  • 2 dumb questions

    I have the 15" PowerBook that Ilove, but for the life of me I haven't figured out two things that have to be so simple I am just overlooking them: 1) How do I use the "F" keys as that? For example, if I want to use the F3, pressing it only seems to m

  • Accept meetings automatically on Q10

    Hi, I have a Blackberry Q10 and I would like to automatically accept all meeting invitations. How can I do that?