Dynnamic Field Symbol returning short dump ASSIGN_TYPE_CONFLICT

Hi everyone,
I have a RFC FM and make a dynamic access via SYMBOL FIELD, declared as ANY TABLE. The problem is that sometimes I can get a structure instead of a table and then the error occurs. How do I handle this error if the check IS ASSIGN not work? How do I capture and return an error message?
I tryed this:
  FIELD-SYMBOLS: <fs_tabela>  TYPE ANY TABLE.
     TRY.
                 ASSIGN (st_b2b_text-tabname) TO <fs_tabela>.   <<<<----
DUMP HERE!
              CATCH cx_root INTO v_erro.
                v_text = v_erro->get_text( ).
                MOVE v_text TO st_return-message.
                APPEND st_return TO t_return.
                PERFORM f_return_error_pi USING event.
      ENDTRY.
            IF <fs_tabela> IS ASSIGNED.
              CONCATENATE 'S' st_b2b_text-tabname INTO vl_wkarea.
              CONDENSE vl_wkarea NO-GAPS.
              ASSIGN (vl_wkarea) TO <fs_wkarea>.
              IF <fs_wkarea> IS ASSIGNED.
                LOOP AT <fs_tabela> ASSIGNING <fs_wkarea>.
                  ASSIGN COMPONENT c_posnr
                  OF STRUCTURE <fs_wkarea> TO <fs_posnr>.
Does anyone have any tips?
Tnks,
Marco Antonio
from Brazil

I solved with this test that I did:
TABLES: vbak.
TYPES: BEGIN OF ty_ctrlimo,
         equnr          TYPE equnr,
         anln1          TYPE anln1,
         anln2          TYPE anln2,
         aufnr          TYPE aufnr,
         bukrs          TYPE bukrs,
         zanln1_andam       TYPE anln1,
         zanln2_andam       TYPE anln2,
       END   OF ty_ctrlimo.
DATA: estrutura TYPE ty_ctrlimo,
      tabela    TYPE STANDARD TABLE OF ty_ctrlimo
                     INITIAL SIZE 0 WITH HEADER LINE,
      tabela2   TYPE TABLE OF ty_ctrlimo,
      variavel  TYPE char30.
DATA: is_tabela.
Evento: START-OF-SELECTION                                       ***
START-OF-SELECTION.
  BREAK-POINT.
  PERFORM f_check_is_tabela USING 'TABELA' CHANGING is_tabela.
  WRITE: / '1 ', 'TABELA =', is_tabela.
  SKIP 1.
  PERFORM f_check_is_tabela USING 'TABELA2' CHANGING is_tabela.
  WRITE: / '2 ', 'TABELA2 =', is_tabela.
  SKIP 1.
  PERFORM f_check_is_tabela USING 'ESTRUTURA' CHANGING is_tabela.
  WRITE: / '3 ', 'ESTRUTURA =', is_tabela.
  SKIP 1.
  PERFORM f_check_is_tabela USING 'VARIAVEL' CHANGING is_tabela.
  WRITE: / '4 ', 'VARIAVEL =', is_tabela.
  SKIP 1.
  PERFORM f_check_is_tabela USING 'VBAK' CHANGING is_tabela.
  WRITE: / '5 ', 'VBAK =', is_tabela.
  SKIP 1.
*&      Form  F_CHECK_IS_TABELA
FORM f_check_is_tabela  USING  value(p_nome_tabela_estrutura)
                     CHANGING  p_is_tabela.
  FIELD-SYMBOLS <check> TYPE ANY.
  DATA: lcls_strdscr  TYPE REF TO cl_abap_structdescr,
        lcls_typdscr  TYPE REF TO cl_abap_typedescr.
  CLEAR: p_is_tabela.
  ASSIGN (p_nome_tabela_estrutura) TO <check>.
  lcls_typdscr ?= cl_abap_structdescr=>describe_by_data( <check> ).
  IF lcls_typdscr->type_kind = cl_abap_structdescr=>typekind_table.
    p_is_tabela = cl_abap_structdescr=>true.
  ENDIF.
  WRITE: / 'tipo data: ', lcls_typdscr->type_kind.
ENDFORM.                    " F_CHECK_IS_TABELA

Similar Messages

  • Dynamic Field-Symbol assignment - Short Dump

    Create three programs as mentioned:
    REPORT  zforms.
    *&      Form  form_fs_assign
    *       text
    FORM form_fs_assign.
      FIELD-SYMBOLS <fs> TYPE table.
      DATA: fs_itab LIKE STANDARD TABLE OF tab_matnr WITH HEADER LINE.
      break-point.
      ASSIGN ('(ZPROGRAM1)ITAB[]') TO <fs>.
      IF sy-subrc EQ 0.
        fs_itab[] = <fs>[].
        LOOP AT fs_itab.
          WRITE / fs_itab-matnr.
        ENDLOOP.
      ELSE.
        Write:/ sy-repid, 'field-symbol not assigned'.
      ENDIF.
    ENDFORM.                    "form_fs_assign
    REPORT zprogram1.
    DATA: itab LIKE STANDARD TABLE OF tab_matnr WITH HEADER LINE.
    itab-matnr = '1111'.
    APPEND itab.
    itab-matnr = '2222'.
    APPEND itab.
    WRITE:/ sy-repid.
    PERFORM form_fs_assign IN PROGRAM zforms.
    SUBMIT zprogram2.
    REPORT zprogram2.
    break-point.
    *-- enter (ZPROGRAM1)ITAB[] in the variable and press enter
    * the yellow icon stating that it doesn't exist appears
    * but when the following form is called, it does checks
    * the <fs> assign and doesnt gives any runtime error
    * while in Pricing routine, the similar situation
    * does gives the error
    PERFORM form_fs_assign IN PROGRAM zforms.
    *Execute zprogram1 and debug, works fine..*
    *Execute zprogram2, (ZPROGRAM1)ITAB[] doesn't exist, still it doesn't leads to short dump*
    *BUT, a very similar situation in a Pricing Requirment Routine leads to a short dump:*
    *Runtime Error          GETWA_NOT_ASSIGNED*
    *ShrtText    Field symbol has not yet been assigned.*
    *Pricing Routine Code Snippet:*
    *-- {3. -
    determine qualifying prior invoices in memory----
    FIELD-SYMBOLS: <fs_vbrk> TYPE table.
                FIELD-SYMBOLS: <fs_vbpa> TYPE table.
                FIELD-SYMBOLS: <fs_komv> TYPE table.
                DATA g_it_vbrk LIKE STANDARD TABLE OF vbrkvb WITH HEADER LINE.
                DATA g_it_vbpa LIKE STANDARD TABLE OF vbpavb WITH HEADER LINE.
                DATA g_it_komv LIKE STANDARD TABLE OF konv WITH HEADER LINE.
                DATA: l_vbrk_lines TYPE i.
                ASSIGN ('(SAPLV60A)XVBRK[]') TO <fs_vbrk>. <- "Error occurs here
                ASSIGN ('(SAPLV60A)XVBPA[]') TO <fs_vbpa>.
                ASSIGN ('(SAPLV60A)XKOMV[]') TO <fs_komv>.
                g_it_vbrk[] = <fs_vbrk>.
                g_it_vbpa[] = <fs_vbpa>.
                g_it_komv[] = <fs_komv>.
                DESCRIBE TABLE g_it_vbrk LINES l_vbrk_lines.
                READ TABLE g_it_vbrk INDEX l_vbrk_lines.
    ** remember to make vkorg and vtweg check for vbrk invoices
                DELETE g_it_vbrk WHERE vbeln = g_it_vbrk-vbeln.
                DELETE g_it_vbpa WHERE vbeln = g_it_vbrk-vbeln OR parvw <> 'WE'.
                DELETE g_it_komv WHERE knumv = g_it_vbrk-vbeln OR kschl <> 'ZF02' OR kbetr = 0.

    Hello friends,
    Rich,
    The piece of code you suggested didn't work, and still led to the short dump.
    Naimesh,
    I agree that XVBRK is not declared globally, and if it is a Table, and declared as global work area using Tables, we could have used it directly using ASSIGN (VBRK)...
    But, since its not the case, I am not able to do so...
    Still, my requirement remains the same. I have to get the invoices created (in memory) but not saved during a collective billing run.
    And the required data is available in the (SAPLV60A)XVBRK internal table, from which I am able to retrieve it for the first time, but clicking on the conditions tab in the item details leads to this short dump, becs (SAPLV60A)XVBRK[] isn't available at that moment. Still, if it is not available I suppose it should just set the sy-subrc to 4 instead of ending into a short-dump.
    Jürgen Hartwig,
    I know ZPROGRAM 1 can't work in ZPROGRAM 2, but it doesnt leads to the short dump either, does it? But in case of pricing it gives the run time error, this is exception I want to handle!
    XVBRK is not declared globally, but since SAPLV60A calls a perform in SAPLV61A, it remains in the ABAP stack and we can access it using (SAPLV60A)XVBRK[] kind of assignment.
    When the same is called during Item Conditions display, its PBO is in the stack but not other forms (in which it might have defined).
    Rich, is there a way to get all the variables available in scope at any instance during runtime?
    Well, Jürgen, I though it Germany it was called "schmutzig zuweisen" :-)... by the way, the same method has been used at several places in standard SAP programs with the sy-subrc check.
    Reference Data:
    when the assignment happens successfully, the ABAP Stack looks similar to:
    Call | Program   | Subroutine
    10   | SAPLV61A  | some_subrountine
    09   | SAPLV61A  | some_subrountine
    08   | SAPLV61A  | some_subrountine
    07   | SAPLV60A  | some_subrountine
    06   | SAPLV60A  | some_subrountine
    05   | SAPLV60A  | some_subrountine
    04   | SAPLV60A  | some_subrountine
    03   | SAPLV60A  | some_subrountine
    02   | SAPLV60A  | some_XKOMV_AUBE..subrountine
    01   | SAPLV60A  | PAI_some_subrountine
    when the assignment doesnt happens, the ABAP Stack looks similar to:
    04   | SAPLV61A  | some_subrountine
    03   | SAPLV61A  | some_subrountine
    02   | SAPLV61A  | some_subrountine
    01   | SAPLV60A  | PBO_some_subrountine

  • Short Dump ASSIGN_TYPE_CONFLICT in Virtual KF implementation

    Hi
    Iam getting a short dump in my virtual KF code. Here is the code that I have written. If I have only bill date it works fine. The minute I add company code it gives the short dump. Can you pls let me know what is it that Iam doing wrong. any help will be greatly useful. Thanks.
    INCLUDE ZXRSRU02
    DATA: L_S_CHANM TYPE RRKE_S_CHANM.
    DATA: L_SUBRC1 TYPE SY-SUBRC. "execute only, if key figure really used
    CASE I_S_RKB1D-INFOCUBE.
       WHEN '0SD_C03'.
                L_S_CHANM-CHANM = '0BILL_DATE'.
                L_S_CHANM-MODE  =  RRKE_C_MODE-READ.
                APPEND L_S_CHANM TO E_T_CHANM.
                L_S_CHANM-CHANM = '0COMP_CODE'.
                L_S_CHANM-MODE = RRKE_C_MODE-READ.
                APPEND L_S_CHANM TO E_T_CHANM.
                APPEND 'ZCOUNT1' TO E_T_KYFNM.
    ENDCASE.
    *Include ZXRSRTOP*
    DATA : G_POS_0SD_C03_0BILL_DATE TYPE I.
    DATA : G_POS_0SD_C03_0COMP_CODE(4).
    DATA : G_POS_0SD_C03_ZCOUNT1 TYPE I.
    Include ZXRSRZZZ
    FORM USER_0SD_C03 USING I_S_RKB1D TYPE RSR_S_RKB1D
      CHANGING C_S_DATA TYPE ANY.
      DATA: l_zcount1 TYPE int4.
      FIELD-SYMBOLS <L_0BILL_DATE>.
      FIELD-SYMBOLS <L_0COMP_CODE>.
      FIELD-SYMBOLS <L_ZCOUNT1>.
      ASSIGN COMPONENT G_POS_0SD_C03_0BILL_DATE
      OF STRUCTURE C_S_DATA TO <L_0BILL_DATE>.
      ASSIGN COMPONENT G_POS_0SD_C03_0COMP_CODE
      OF STRUCTURE C_S_DATA TO <L_0COMP_CODE>.
      ASSIGN COMPONENT G_POS_0SD_C03_ZCOUNT1
      OF STRUCTURE C_S_DATA TO <L_ZCOUNT1>.
      IF <L_0COMP_CODE> = 'AB99'.
        CALL FUNCTION 'ZCALC_WDAYS_BETWEEN_DATES'
          EXPORTING
            P_DATE1  = <L_0BILL_DATE>
            P_DATE2  = SY-DATUM
            P_CAL_ID = 'Z1'
          IMPORTING
            P_DAYS   = l_zcount1.
        <L_ZCOUNT1> = l_zcount1.
      ELSEIF <L_0COMP_CODE> = 'DC99'.
        CALL FUNCTION 'ZCALC_WDAYS_BETWEEN_DATES'
          EXPORTING
            P_DATE1  = <L_0BILL_DATE>
            P_DATE2  = SY-DATUM
            P_CAL_ID = 'Z2'
          IMPORTING
            P_DAYS   = l_zcount1.
        <L_ZCOUNT1> = l_zcount1.
      ENDIF.
    The short dump:
    ASSIGN_TYPE_CONFLICT
    "CL_IM_RSR_OLAP_BADI===========CP" or "CL_IM_RSR_OLAP_BADI===========CM002"
    "IF_EX_RSR_OLAP_BADI~INITIALIZE"
    get field postions for characteristics in structure
    LOOP AT i_th_sfc ASSIGNING <l_s_sfc>
         WHERE user_exit NE rrke_c_mode-none.
    field name in structure is keyreturnnm
    name of the global variable
      CONCATENATE '(SAPLXRSR)G_POS' i_s_rkb1d-infocube <l_s_sfc>-chanm
          INTO l_global_name
          SEPARATED BY '_'.
    fill the global variable
      UNASSIGN <l_global>.
    >>>>>>>>  ASSIGN (l_global_name) TO <l_global>.

    My suggestion is that you review the how-to papers on SDN regarding exit RSR00002 or RSR_OLAP_BADI.  These are alternative methods of accomplishing virtual characteristics and key figures.  The code you have given is for exit RSR00002 (although it is full of syntax errors so is not executable), but the short dump you are getting refers to RSR_OLAP_BADI, so you must have implemented that Class as well, but incompletely. 
    Which method are you attempting to use?

  • Short dump:ASSIGN_TYPE_CONFLICT- While loading data through DTP

    Dear all:
    We currently work with BI NW2004s SP10. We created transformation for mapping InfoSource and InfoCube based on 3.x transfer rule. For example, we used cube 0PUR_C04 and Data Source 2LIS_02_ITM_CP. And the transformation is "TRCS Z2LIS_02_ITM_CP -> CUBE 0PUR_C04". Everytime when we tried to load data via DTP. A runtime short dump occurred: ASSIGN_TYPE_CONFLICT
    Error analysis:
      You attempted to assign a field to a typed fie but the field does not have the required type.
    we went back and forth to activated transformation and DTP. But still, same error occurred.
    Any idea, please !!!!
    BR
    SzuFen

    Hi Pavel:
    Please refer to the following information-
    User and Transaction
        Client.............. 888
        User................ "TW_S
        Language key........ "E"
        Transaction......... " "
        Program............. "GPD0
        Screen.............. "SAPM
        Screen line......... 6
    ===========================================================
    Information on where terminated
        Termination occurred in the ABAP program "GPD0QBVJ2WFQZZXBD0IJ1DSZAEL" - in
         "EXECUTE".
        The main program was "RSBATCH_EXECUTE_PROZESS ".
        In the source code you have the termination point in line 704
        of the (Include) program "GPD0QBVJ2WFQZZXBD0IJ1DSZAEL".
        The program "GPD0QBVJ2WFQZZXBD0IJ1DSZAEL" was started as a background job.
        Job Name....... "BIDTPR_284_1"
        Job Initiator.. "TW_SZU"
        Job Number..... 16454800
    ===========================================================
    Short text
        Type conflict with ASSIGN in program "GPD0QBVJ2WFQZZXBD0IJ1DSZAEL".
    ===========================================================
    Error analysis
        You attempted to assign a field to a typed field symbol,
        but the field does not have the required type.
    ===========================================================
    Information on where terminated
        Termination occurred in the ABAP program "GPD0QBVJ2WFQZZXBD0IJ1DSZAEL" - in
         "EXECUTE".
        The main program was "RSBATCH_EXECUTE_PROZESS ".
        In the source code you have the termination point in line 704
        of the (Include) program "GPD0QBVJ2WFQZZXBD0IJ1DSZAEL".
        The program "GPD0QBVJ2WFQZZXBD0IJ1DSZAEL" was started as a background job.
        Job Name....... "BIDTPR_284_1"
        Job Initiator.. "TW_SZU"
        Job Number..... 16454800
    ===========================================================
    Line  SourceCde
      674         ELSE.
      675           ASSIGN rdsTG_1->*          to <_ys_TG_1>.
      676           CLEAR <_ys_TG_1>.
      677           MOVE-CORRESPONDING G1 TO <_ys_TG_1>.
      678           <_ys_TG_1>-requid    = l_requid.
      679           l_recno_TG_1          = l_recno_TG_1 + 1.
      680           ls_cross-insegid      = 1.
      681           ls_cross-inrecord     = l_recno_SC_1.
      682           ls_cross-outsegid     = 1.
      683           ls_cross-outrecord    = l_recno_TG_1.
      684
      685           CALL METHOD i_r_log->add_cross_tab
      686             EXPORTING
      687               I_S_CROSSTAB = ls_cross.
      688
      689 **     Record# in target = sy-tabix - if sorting of table won't be changed
      690           <_ys_TG_1>-record     = l_recno_TG_1.
      691           INSERT <_ys_TG_1> INTO TABLE <_yth_TG_1>.
      692           IF sy-subrc <> 0.
      693             CALL METHOD cl_rsbm_log_step=>raise_step_failed_callstack.
      694           ENDIF.
      695
      696         ENDIF.      "Read table
      697 *
      698       ENDIF.
      699       CLEAR skipseg_all.
      700     ENDLOOP.
      701 * -
    insert table into outbound segment -
      702
      703     <_yt_TG_1>[] = <_yth_TG_1>[].
    >>>>>
      705     rTG_1->insert_table( rdtTG_1_dp ).
      706   ENDMETHOD.                 "execute
      707
      708
      709
      710 endclass.                    "lcl_transform IMPLEMENTATION
      711
      712 &----
      713 *&      Form  get_runtime_ref
      714 &----
      715 *       text
      716 ----
      717 *      -->C_R_EXE    text
      718 ----
      719 form get_runtime_ref
      720 changing c_r_exe  type ref to object.
      721
      722   data: l_r_exe type ref to lcl_transform.
      723   create object l_r_exe.
    ===========================================================
    Contents of system fields
    Name     Val.
    SY-SUBRC 0
    SY-INDEX 3
    SY-TABIX 0
    SY-DBCNT 1
    SY-FDPOS 0
    SY-LSIND 0
    SY-PAGNO 0
    SY-LINNO 1
    SY-COLNO 1
    SY-PFKEY
    SY-UCOMM
    SY-TITLE Execute Batch Process
    SY-MSGTY E
    SY-MSGID R7
    SY-MSGNO 057
    SY-MSGV1 0TOTDELTIME
    SY-MSGV2 A
    SY-MSGV3
    SY-MSGV4
    SY-MODNO 0
    SY-DATUM 20070420
    SY-UZEIT 164557
    SY-XPROG SAPCNVE
    SY-XFORM CONVERSION_EXIT
    ===========================================================
    Active Calls/Events
    No.   Ty.          Program                             Include
          Name
        6 METHOD       GPD0QBVJ2WFQZZXBD0IJ1DSZAEL         GPD0QBVJ2WFQZZXBD0IJ1DSZAEL
          LCL_TRANSFORM=>EXECUTE
        5 METHOD       CL_RSTRAN_TRFN_CMD============CP    CL_RSTRAN_TRFN_CMD============CM005
          CL_RSTRAN_TRFN_CMD=>IF_RSBK_CMD_T~TRANSFORM
        4 METHOD       CL_RSBK_PROCESS===============CP    CL_RSBK_PROCESS===============CM00Q
          CL_RSBK_PROCESS=>PROCESS_REQUEST
        3 METHOD       CL_RSBK_PROCESS===============CP    CL_RSBK_PROCESS===============CM002
          CL_RSBK_PROCESS=>IF_RSBATCH_EXECUTE~EXECUTE
        2 FUNCTION     SAPLRSBATCH                         LRSBATCHU13
          RSBATCH_EXECUTE_PROCESS
        1 EVENT        RSBATCH_EXECUTE_PROZESS             RSBATCH_EXECUTE_PROZESS
          START-OF-SELECTION
    ===========================================================
    Thank you and BR
    SF

  • Landscape Verification returns short dump

    Dear All,
    I'm trying to run transaction LVSM -Landscape Verification for SolMan- but a short dump is appearing. We recently updated solman from ehp1 SP 19 to SP 27 (latest available) and installed Landscape Verification 1.0
    Runtime error ASSERTION_FAILED while running transaction LVSM
    the short dump is in the function module SMSY_BASIC_GET_DATA
    in the following check:
    *  Security check ======================================================
      DATA: lv_secu_violation_occured TYPE c VALUE '',
            lv_secu_exception_disabled TYPE c.
      PERFORM check_security TABLES select_condition
                             USING  tabname
                                    updatemode
                                    version
                                    systemtype
                           CHANGING lv_secu_violation_occured.
      PERFORM get_smsy_option_value USING 'SCUEXC_DIS'
                                 CHANGING lv_secu_exception_disabled.
      IF lv_secu_violation_occured  = smsy4_c_true AND
         lv_secu_exception_disabled = smsy4_c_false.
    *   Throw exception SECURITY_VIOLATION
    " >> 23.12.10 D049273
    " Don't throw an exception here, because user of this FM don't expect/handle a
    " security exception. This leads to errors/ program behaviour which blurs
    " the root cause of the error. Instead we dump because security violation here
    " is a realy unexpected case.
    *    RAISE security_violation.
        ASSERT 0 = 1.
      ENDIF.
    *  Security check ======================================================
    Any help will be really appreciated.
    Best Regards,
    Erick Acosta

    Yes, I have the role SAP_SMSY_LV_ALL and SAP_SMSY_ALL according to config. guide.
    I've updated ST-LV to SP 2 and now the dump is not longer happening.
    Thanks anyway!
    BR,
    Erick Acosta

  • How to handle field symbols internal table values?

    HI all,
              I declared field string as below.The below code is working fine.
    Data : ITAB TYPE STANDARD TABLE OF YAPOPLN, (Custom table).
              wa_itab like line of ITAB.
    field-symbol : <fs> type ITAB.
    ASSIGN PARAM TO <FS>
    LOOP AT <FS> INTO WA_ITAB.
    WRITE:/ 'ABC'.
    ENDLOOP.
    But my requirement is that I dont want all the fields of the table YAPOPLN.My output contains only 2 fields of the table YAPOPLN,which contains total 4 fields.According to my requirement only 2 fields will be getting into one parameter PARAM(this is function module parameter,which is from ALV classes) from the user entered output,which contains only 2 fields.So the above code is not working properly because wa_itab contains 4 fields and giving short dump.
    If I am declaring the internal table with the required fields(only 2 fields) and referring that internal table to field symbol <FS>
    Data : BEGIN OF ITAB1 OCCURS 0,
             FIELD1 LIKE YAPOPLN-FIELD1,
             FIELD2 LIKE YAPOPLN-FIELD2,
             END OF ITAB1.
    field-symbol : <fs> LIKE ITAB1 OR  <FS> TYPE ANY.
    DATA :WA_ITAB1 LIKE LINE OF ITAB1.
    ASSIGN PARAM TO <FS>
    LOOP AT <FS> INTO WA_ITAB.
    WRITE:/ 'ABC'.
    ENDLOOP.
    But when I am compiling this code i am getting the below error.I am gettting the same below error when even <FS> is also declared as <FS> TYPE ANY.
    .'FS' is not an internal table or defined in TABLES.
    Can anyone help me in this regard?
    Thanks,
    Balaji

    Hello,
    Try this way:
    If both the type of internal tables are same then you can directly assign dynamic internal table to static internal table.
    itab = <itab>.
    Suppose you have field symbol internal table <itab> which is different in structure from ITAB.
    Now, you can create <wa> as follow:
    FIELD-SYMBOLS <wa>.
    DATA wa TYPE REF TO DATA.
    CREATE DATA wa TYPE LINE OF <itab>.
    ASSIGN wa->* to <wa>.
    This way your work area is read.
    Using [ASSIGN COMPONENT|http://help.sap.com/saphelp_nw04/helpdata/EN/fc/eb3923358411d1829f0000e829fbfe/content.htm] syntax you can read required component of <wa>.
    Finally you can use that value to load static internal table.
    You can also refer to my thread on [Dynamic table|Re: Creating Dynamic table].
    Hope this helps!
    Thanks,
    Augustin.
    Edited by: Augustarian on Aug 20, 2009 10:06 AM

  • Internal - dynamic - field-symbols

    All,
    This is my requirement
    data in itab is
    NAME     ,  COUNT ,  STRTDATE,  ENDDATE, durinmin.
    a         123      10/1/08    10/1/08    12
    a         123      10/2/08    10/5/08    30
    a         123      10/3/08    10/8/08    15
    b         123      10/1/08    10/1/08    12
    b         123      10/2/08    10/5/08    30
    b         123      10/3/08    10/8/08    15
    to be displayed like
    name   count   10/1/08     10/2/08  10/3/08
    a     123      12          30        15
    b     123      12          30        15
    This is how I am coding...
    DATA:
    r_dyn_table TYPE REF TO data,
    r_wa_dyn_table TYPE REF TO data,
    r_dock_ctnr TYPE REF TO cl_gui_docking_container,
    r_alv_grid TYPE REF TO cl_gui_alv_grid,
    t_fieldcat1 TYPE lvc_t_fcat, "with cell color
    t_fieldcat2 TYPE lvc_t_fcat, "without cell color
    wa_fieldcat LIKE LINE OF t_fieldcat1,
    wa_cellcolors TYPE LINE OF lvc_t_scol,
    wa_is_layout TYPE lvc_s_layo.
    FIELD-SYMBOLS:
    <t_dyn_table> TYPE STANDARD TABLE,
    <wa_dyn_table> TYPE ANY,
    <t_cellcolors> TYPE lvc_t_scol,
    <w_field> TYPE ANY.
    data begin of itab
    NAME     ,
      COUNT     ,
      STRTDATE,
      ENDDATE,
    durinmin(6),
    end of itab.
    build catalog
    form build_cat_for_table.
      data : fname(6) value 'Day'.
      data : cntr(3) type n, ctext(10).
      wa_fieldcat-fieldname = 'NAME'.
      wa_fieldcat-inttype = 'C'.
      wa_fieldcat-outputlen = '32'.
      wa_fieldcat-coltext = 'Name'.
      wa_fieldcat-seltext = wa_fieldcat-coltext.
      APPEND wa_fieldcat TO t_fieldcat1.
      wa_fieldcat-fieldname = 'Wtavgtime'.
      wa_fieldcat-inttype = 'C'.
      wa_fieldcat-outputlen = '6'.
      wa_fieldcat-coltext = 'Wt Avg Time'.
      wa_fieldcat-seltext = wa_fieldcat-coltext.
      APPEND wa_fieldcat TO t_fieldcat1.
    *now add all the dates.
      loop at dtrange.
        cntr = 1.
        concatenate fname cntr into fname.
        ctext = dtrange-ddate.
        wa_fieldcat-fieldname = fname.
        wa_fieldcat-inttype = 'C'.
        wa_fieldcat-outputlen = '6'.
        wa_fieldcat-coltext = ctext.
        wa_fieldcat-seltext = wa_fieldcat-coltext.
        cntr = cntr + 1.
        clear fname.
        APPEND wa_fieldcat TO t_fieldcat1.
      endloop.
    endform.
    form fill_data.
    data : fname(6) value 'Day'.
      data : cntr(3) type n, ctext(10).
      CALL METHOD cl_alv_table_create=>create_dynamic_table
      EXPORTING
      it_fieldcatalog = t_fieldcat1
      IMPORTING
      ep_table = r_dyn_table
      EXCEPTIONS
      generate_subpool_dir_full = 1
      OTHERS = 2.
      IF sy-subrc ne 0.
        MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
        WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ENDIF.
      ASSIGN r_dyn_table->* TO <t_dyn_table>.
      CREATE DATA r_wa_dyn_table LIKE LINE OF <t_dyn_table>.
      ASSIGN r_wa_dyn_table->* TO <wa_dyn_table>.
    loop at itab.
      ASSIGN COMPONENT 'NAME' OF STRUCTURE <wa_dyn_table> TO <w_field>.
      <w_field> = itab-name.
      ASSIGN COMPONENT 'Wtavgtime' oF STRUCTURE <wa_dyn_table> TO <w_field>.
      <w_field> = itab-wtavgtime.
    cntr = 0.
      do.
        cntr = 1.
        concatenate fname cntr into fname.
      assign component fname of structure <wa_dyn_table> to <w_field>.
      <w_field> = itab-
      enddo.
    endform.
    This is where I am stucked how to put the dates as the columns while displaying and then put the duration in the rows corresponding to the columns.
    Any help is appriciated.
    THERE ARE LOT OF EXAMPLES on forum but some how I am not able to grasp it in my code, may be my knowledge of field symbols falling short. I guess I need to use Header / field groups but not clicking me .
    Thanks in advance.

    Hi,
    I changed ur code a little.... i dont know whether it will work or not...
    But it will give u some idea...
    1. when preparing the Fieldcatalog.
    *now add all the dates.
    LOOP AT dtrange.
    *  cntr = 1.
    *  CONCATENATE fname cntr INTO fname.
      fname = dtrange-ddate.    "---u may need to change this (but give a date here)
      ctext = dtrange-ddate.
      wa_fieldcat-fieldname = fname.
      wa_fieldcat-inttype = 'C'.
      wa_fieldcat-outputlen = '6'.
      wa_fieldcat-coltext = ctext.
      wa_fieldcat-seltext = wa_fieldcat-coltext.
      cntr = cntr + 1.
      CLEAR fname.
      APPEND wa_fieldcat TO t_fieldcat1.
    ENDLOOP.
    2. When adding values...
    SORT itab BY name.
    LOOP AT itab.
      ASSIGN COMPONENT 'NAME' OF STRUCTURE <wa_dyn_table> TO <w_field>.
      <w_field> = itab-name.
      ASSIGN COMPONENT 'Wtavgtime' OF STRUCTURE <wa_dyn_table> TO <w_field>.
      <w_field> = itab-wtavgtime.
      cntr = 0.
    *  DO.
    *    cntr = 1.
    *    CONCATENATE fname cntr INTO fname.
    *    ASSIGN COMPONENT fname OF STRUCTURE <wa_dyn_table> TO <w_field>.
      fname = itab-strtdate.                  "---same thing here
      ASSIGN COMPONENT fname OF STRUCTURE <wa_dyn_table> TO <w_field>.
      IF <w_field> IS ASSIGND.
        <w_field> = itab-durinmin.
      ENDIF.
      AT END OF name.
        MODIFY <t_dyn_table> FROM <wa_dyn_table>.
      ENDAT.
    *  ENDDO.
    ENDLOOP.

  • Short dump due to Memory Space

    Hi Experts,
    I have an internal table whose width is 3576 characters. My selection criteria is selecting approximately 1 million record from the database table.
    Out of the 3576 characters, I m not even filling 150 characters a row using selection fields.
    The short dump is as follows:
    Error analysis
        The internal table "\PROGRAM=ZPMWO_DSR_RECONCILIATION\FORM=RECONCILIATION\DATA=
        LT_VIQMEL_I" could not be further extended. To enable
        error handling, the table had to be delete before this log was written.
        As a result, the table is displayed further down or, if you branch to
        the ABAP Debugger, with 0 rows.
        At the time of the termination, the following data was determined for
        the relevant internal table:
        Memory location: "Session memory"
        Row width: 3576
        Number of rows: 1035860
        Allocated rows: 1035860
        Newly requested rows: 4 (in 1 blocks)
    How to correct this?? I mean how do i increase the memory space required for this process??

    Hi,
    Check there is not an endless loop which is appending data in the internal table.
    Regards,
    Ankur Parab

  • Short dump GETWA_NOT_ASSIGNED - Field symbol FS_ENVDLIST not assigned

    Hi Experts,
    I need your help. Currently i am getting a short in CIC0 transaction.
    Please find steps executed which result in short dump.
    Search for a BP with BD display as the active tab. This search will be successful.
    Press u2018End Contactu2019 Now search for 2nd BP with BD display as the active tab.
    This will result in a dump.
    Now if I again execute the t-code CIC0 & enter the same BP it will be successful
    On debugging, I found out that the program cannot identify the data environment since the field symbol <fs_envdlist> does not get assigned when BD_DISPLAY tab is active.  But the program still continues to use this field symbol which results in a dump
    CRM Version - 4.0 - Patch level 10
    Please let me know if the below link is not accessible
    [http://imageshack.us/photo/my-images/685/page3uk.jpg/]
    [http://imageshack.us/photo/my-images/338/page2dr.jpg]
    [http://imageshack.us/photo/my-images/510/page1up.jpg/]
    [http://imageshack.us/photo/my-images/140/page4fa.jpg/]
    [http://imageshack.us/photo/my-images/845/screenshotsxq.jpg/]

    Hi Andrei,
    Thank you for the reply, but both this note are applicable to me
    1144076 u2013 Talks about dump when too many hits are returned - I do not have any such message
    996915 u2013 Talks about searching for the premise for a point of delivery without entering any search parameters - again in my scenario, input data is always provided.
    Is there any solution, i did get note 1254404 which is closest to my issue, but its valid from crm 5.0 and we are on CRM 4.0

  • Short dump  GETWA_NOT_ASSIGNED field symbol not been assigned

    Hi Gurus,
    I am calling a RFC  BAPI_PBSRVAPS_CHANGEKEYFIGVAL2 from R/3 sytem to SCM 5.0.
    Acutally this FM BAPI_PBSRVAPS_CHANGEKEYFIGVAL2 not available in R/3 system.
    So i am using scm destination and calling above FM directly from R/3 but i am getting the short dump
    in SCM system as GETWA_NOT_ASSIGNED field symbol not been assigned.
    Can you pls check and advise.
    Best Regards,
    Radhakrishna.

    Hi Radhakrishna,
            It looks like you have a discrepancy in the planning area with respect to keyfigure. Some thing like the key figure description is not synchronized between live cache and db.
    I suggest you log onto your SCM system, run the program /SAPAPO/TS_LCM_CONS_CHECK on your planning area with correct error option.
    Please let me know if this works.

  • How to revert back a SAP NOTE? Dump- Field symbol has not yet been assigned

    Hi Experts,
    We r getting dump(cause: Field symbol has not yet been assigned) in production for ABUMN tx, so, when debugged, it came to know that, the Field symbol is coming from REUSE_ALV_LIST_DISPLAY!!
    So, for some reason the system message text is not getting output in ALV-->Dump!!
    So, found a NOTE causing this problem!!
    So, pls. let me know that, How to revert back this/any SAP NOTE? pls. in detail steps wise!!
    thanq
    Edited by: Srinivas on Jan 24, 2008 4:32 PM

    Hi
    In SNOTE tcode,  select the Note that you implemented and click on 'RESET SAP Note Implementation'
    shylesh

  • Empty System Fields after error creates a short dump

    Hello!
    Could someone please help me?
    After calling a function, I catch errors with sy-subrc NE 0.
    Handling this error the "normal" way throws a short dump (I marked the row bold), because all the system fields are empty!
    Could someone please give me a hint, how to handle this situation?
    Many thanx in advance!
    Perhaps some code:
    CALL FUNCTION 'Z_CONFIRM'
      EXPORTING
        is_bdnum      = is_bed-bdnum
      TABLES
        et_return     = lt_return
      EXCEPTIONS
        error_occured = 1
        lock_error    = 2
      OTHERS        = 3.
    IF sy-subrc NE 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
      WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.
    I get a short dump with this:
    Content of the system fields
    Name
    Wert
    SY-SUBRC
    1
    SY-INDEX
    1
    SY-TABIX
    1
    SY-DBCNT
    0
    SY-FDPOS
    0
    SY-LSIND
    0
    SY-PAGNO
    0
    SY-LINNO
    1
    SY-COLNO
    1
    SY-PFKEY
    SY-UCOMM
    SY-TITLE
    HTTP-Steuerung
    SY-MSGTY
    SY-MSGID
    SY-MSGNO
    SY-MSGV1
    SY-MSGV2
    SY-MSGV3
    SY-MSGV4
    SY-MODNO
    0
    SY-DATUM
    20080117
    SY-UZEIT
    080907
    SY-XPROG
    SY-XFORM

    Hi,
    You need to capture the message like this way
    IF sy-subrc eq 1.
       message e999(your mesage class) with 'Error Occured'.
    endif.
    IF sy-subrc eq 2.
       message e999(your mesage class) with 'Lock error'.
    endif.
    IF sy-subrc eq 3.
       message e999(your mesage class) with 'Other Errors'.
    endif.

  • Short dump while reading a currency field from Flat file into internal tabl

    Hi,
    I am getting a short dump........saying number conversion dump (while reading a currency value into field in internal table from a fixed lenght flat file).........
    Do I need to use a string variable to get the value from flat file or how ??
    Please suggest.

    Santosh,
    Thanks for your inputs,
    But my internal table type is of DEC (5,2) , I am getting that... it needs to be of type 'C'. Can you suggest.
    Ex :
    MOVE wa_temp-infile_string+106(8)  TO wa_item-QT_PERCENT
    This didnt work
    so i tried moving into a seperate variable
    MOVE wa_temp-infile_string+106(8)  TO v_percent.
    and then write to
    WRITE v_percent to  wa_item-QT_PERCENT.

  • Short Dump while making a fields as required in BDT object screens

    Hi,
    I'm making a field as "required" by checking the required button on that field in the BDT screen.
    But am getting a short dump when I'm trying to use that screen.
    It seems like some data is getting converted to bad format due to this (am not fully sure about it.)
    Any idea on this.
    Thanks & Regards,
    Vipul.

    Hi Pinaki,
    The entire functionality is working absolutely perfect if I dont check that field as "Required" .
    I'm not sure if I'm missing some customising or is it a problem with BDT.
    Thanks & Regards,
    Vipul.

  • Transport with return code 12 ,short dump with 'DBIF_RSQL_SQL_ERROR'

    Dear All,
    My trasnport contains infoprovider. DTP,transpformations, character realtionships , aggregation levels ,web templates, programs.
    I got a transport failed with Return code 12, and it is showing message :
    Program terminated (job: RDDEXECL, no.: 06031600)
       See job log
    Execution of programs after import (XPRA)
    End date and time : 20101026060421
    Ended with return code:  ===> 12 <===
    I have short dump with 'DBIF_RSQL_SQL_ERROR' exception 'CX_SY_OPEN_SQL_DB'.
    in how to correct the error :
    below is the detials.
    Database error text........: "ORA-01578: ORACLE data block corrupted (file #
    211, block # 79950)#ORA-01110: data file 211:
    '/oracle/RBW/sapdata15/xbw_188/xbw.data188'#ORA-26040: Data block was loaded
    using the NOLOGGING option"
    did someone has the same problem .
    Help is really appreciated.
    Regards
    Veera

    I am afraid you will need to esclate this to BASIS team.. seems some issue with database

Maybe you are looking for