ASSIGN_BASE_WRONG_ALIGNMENT

Hi All,
When I am executing ABAP function module RFC_READ_TABLE, I am geting following error:
ASSIGN_BASE_WRONG_ALIGNMENT
Caused by: com.sap.mw.jco.JCO$Exception: (104) RFC_ERROR_SYSTEM_FAILURE: Error in ASSIGN statement in the program SAPLSDTX                                .
     at com.sap.mw.jco.rfc.MiddlewareRFC$Client.nativeExecute(Native Method)
     at com.sap.mw.jco.rfc.MiddlewareRFC$Client.execute(MiddlewareRFC.java:1244)
     at com.sap.mw.jco.JCO$Client.execute(JCO.java:3842)
     at com.sap.mw.jco.JCO$Client.execute(JCO.java:3287)
This error occurs with SAP System SAP47.
But, when I try with same input values and execute this function module RFC_READ_TABLE with SAP System SAPERP04, it executes successfully.
So, Is there any version upgrade for thsi function module implemention in SAP Systems.
What can we do to avoid this error.
Below is the comlpete stack trace of error:
Error in ASSIGN statement in the program &AP.
In the current program &AP, an ASSIGN statement is supposed to
assign a field or structure to a field symbol (using either
FIELD-SYMBOLS ... STRUCTURE s ... or ASSIGN...CASTING....). When
converting the base entry of the field symbol &N1 (number in base table:
&P1), it was found that the structure s requested a memory alignment of
&P3.
The calculated offset within the source structure causes an invalid
memory alignment. (The offset must be exactly divisible by &P3).
by &P3.)
Thanks in advance.
Ankit

According to note 382318:
Symptom
A problem occurs in function module RFC_READ_TABLE.
Reason and Prerequisites
The scope of function module RFC_READ_TABLE is very restricted. E.g., due to the fixed maximum row size only smaller tables can be accessed. There are several data types that cannot be handled, and also there are doubts regarding the Unicode compatibility of the function module.
However, all this is quite immaterial, because the function is not meant to be publicly used anyway. It was only created to be used as a sample in various training courses, and is clearly flagged as "not released for customer".
Solution
Do not use function module RFC_READ_TABLE in the first place!
Rob
Message was edited by:
        Rob Burbank

Similar Messages

  • Runtime Errors    ASSIGN_BASE_WRONG_ALIGNMENT

    <b>Error analysis</b>
    In the current program "SAPLFKH4", an error occurred when setting the
    field symbol "<TEXTTAB_ACTION>" with ASSIGN or ASSIGNING (maybe in the
    combination with
    the CASTING addition).
    When converting the base entry of the field symbol "<TEXTTAB_ACTION>" (number
    in base
    table: 35627), it was found that the target type requests a memory
    alignment of 2.
    However, the source data object has an invalid memory alignment, that is
    an alignment not divisible by 2.
    I have downloaded some sap notes to fix this error but all has not helped me. It seems as if this is the first error of this kind in the forum.
    Please help

    I have been there before but I could not find enough help.
    Thanks.
    Check out the short dump bellow:
    <b>How to correct the error</b>
        You may be able to avoid the error by using a different offset.
        The following must apply: Offset = n * 2, n >= 0
        You may able to find an interim solution to the problem
        in the SAP note system. If you have access to the note system yourself,
        please use the following search criteria:
        "SAPLFKH4" "ASSIGN_BASE_WRONG_ALIGNMENT"
        If you cannot solve the problem yourself, please send the
        following documents to SAP:
        1. A hard copy print describing the problem.
           To obtain this, select the "Print" function on the current screen.
        2. A suitable hardcopy prinout of the system log.
           To obtain this, call the system log with Transaction SM21
           and select the "Print" function to print out the relevant
           part.
        3. If the programs are your own programs or modified SAP programs,
           supply the source code.
           To do this, you can either use the "PRINT" command in the editor or
           print the programs using the report RSINCL00.
        4. Details regarding the conditions under which the error occurred
           or which actions and input led to the error.
    <b>Information on where terminated</b>
        Termination occurred in the ABAP program "SAPLFKH4" - in
         "VIM_TEXT_KEYTAB_ENTRIES".
        The main program was "SAPLS_IMG_TOOL_5 ".
        In the source code you have the termination point in line 1230
        of the (Include) program "LSVIMFXL".
    <b>Information on where terminated</b>
        Termination occurred in the ABAP program "SAPLFKH4" - in
         "VIM_TEXT_KEYTAB_ENTRIES".
        The main program was "SAPLS_IMG_TOOL_5 ".
        In the source code you have the termination point in line 1230
        of the (Include) program "LSVIMFXL".

  • Casting X to C : ASSIGN_BASE_WRONG_ALIGNMENT

    Hello all,
    in my utf-16 little endian system (unicode system, 4103 system code page), I have this little program which dumps at the ASSIGN statement (exception ASSIGN_BASE_WRONG_ALIGNMENT). For information, I made sure that the program has the unicode check property active (in case there would be some bug around that).
    Maybe it's a kernel problem, I use Linux x86_64.
    Could you check this code, and if it works for you, could you please tell your kernel + your system code page (via SNLS transaction).
    DATA x1 type x length 4.
    field-symbols <c> type c.
    x1 = '41004100'. "AA in utf-16 little endian
    assign x1(4) to <c> casting. "<--- DUMP
    write <c>.
    The dump says:
    In the current program, an error occurred when setting the field symbol "<C>" with ASSIGN or ASSIGNING (maybe in the combination with  the CASTING addition).
    When converting the base entry of the field symbol "<C>" (number in base table: 13), it was found that the target type requests a memory alignment of 2.
    However, the source data object has an invalid memory alignment, that is an alignment not divisible by 2.
    You may be able to avoid the error by using a different offset. The following must apply: Offset = n * 2, n >= 0
    I forgot to say that I checked SAP notes and none corresponds to that issue; they only explain the general problems of alignment which is not the case here (I guess) <-- Added by: Sandra Rossi on Aug 10, 2009 11:08 AM

    Here I just share my "little" generic routine to cast from X (or xstring) to C (string, N... or any other character-type data). I would be happy if someone could share a simplest way to do the same (I close this thread but don't hesitate to answer this last question ). After this routine, there is a demo.
    FORM cast_copy_xstring_to_string
          USING
            i_xsequence           TYPE xsequence
            i_ignore_size_error   TYPE flag
          CHANGING
            e_string              TYPE clike
            e_xstring_size_error  TYPE flag.
      CONSTANTS con_xbuffer_size TYPE i VALUE 10000. "large buffer, max 65535, multiple of charsize
      DATA l_xbuffer TYPE x LENGTH con_xbuffer_size.
      FIELD-SYMBOLS <l_c> TYPE c.
      DATA l_xsequence_len TYPE i.
      DATA l_xsequence_type TYPE c.
      DATA l_pos TYPE i.
      DATA l_len TYPE i.
      DATA l_temp TYPE i.
      CLEAR e_string.
      CLEAR e_xstring_size_error.
    * make sure the buffer size is a multiple of charsize
      l_temp = con_xbuffer_size MOD cl_abap_char_utilities=>charsize.
      ASSERT l_temp = 0 AND con_xbuffer_size >= cl_abap_char_utilities=>charsize.
      l_pos = 0.
      DESCRIBE FIELD i_xsequence TYPE l_xsequence_type LENGTH l_xsequence_len IN BYTE MODE.
      IF l_xsequence_type = cl_abap_typedescr=>TYPEKIND_XSTRING.
        l_xsequence_len = XSTRLEN( I_xsequence ). "before 6.10, use STRLEN
      ENDIF.
      l_temp = l_xsequence_len MOD cl_abap_char_utilities=>charsize.
      IF l_temp <> 0 AND i_ignore_size_error IS INITIAL.
        e_xstring_size_error = 'X'.
      ELSE.
        l_len = con_xbuffer_size.
        DO.
          IF l_pos >= l_xsequence_len.
            EXIT.
          ENDIF.
          l_temp = l_pos + con_xbuffer_size.
          IF l_temp >= l_xsequence_len.
    * last bytes
            l_len = l_xsequence_len - l_pos.
            l_xbuffer = i_xsequence+l_pos(l_len).
    * Adjust length on the last bytes in case the input x size does not fit character size
            IF i_ignore_size_error IS NOT INITIAL.
              l_len = ( l_len / cl_abap_char_utilities=>charsize ) * cl_abap_char_utilities=>charsize.
            ENDIF.
          ELSE.
            l_xbuffer = i_xsequence+l_pos(l_len).
          ENDIF.
          ASSIGN l_xbuffer(l_len) TO <l_c> CASTING.
          CONCATENATE e_string <l_c> INTO e_string.
          ADD con_xbuffer_size TO l_pos.
        ENDDO.
      ENDIF.
    ENDFORM.

  • Status SC: wrong withdrawal displayed

    Hi SDN,
    we are implementing SP15 for our SRM 5.0. Our backend is ECC 6.0. We have finished works in the T and Q systems. After upgrading the EBQ System, we noticed ST22 dumps in the backend, which occur each time a shopping cart is being transferred to the backend system. The dump says: Function Module "BBP_RFC_READ_TABLE" not found. So with notes:
    0001175255 RFC_READ_TABLE creates ASSIGN_BASE_WRONG_ALIGNMENT termnatn
    0001306450 BBP_RFC_READ_TABLE returns incorrect data
    the new FM  BBP_RFC_READ_TABLE was created in the backend. With the new FM we get a new error. And here goes my big question:
    Each time a shopping cart with stock material is transferred to the backend it does not only create a reservation for the stock material but also a withdrawal the same moment! The withdrawal document nr is of 12.2008 and of another backend company - so in my case complete nonsense. In fact each time a reservation is being created I get this same withdrawal, same nr always.
    This behaviour comes with the new bbp_rfc_read_table in the backend - if I reset the note in the backend, then I get dumps again.
    Still the business process works fine - reservation, withdrawal etc
    anybody a clue about this???
    help very much appreciated - matthias
    Edited by: Matthias Kasig on Dec 8, 2009 9:35 AM

    error due to number ranges...
    reservation in backend already existed, also withdrawals.
    still the reservation in backend was already archived hence anew/old number could be set and hence the withdrawal appeared straight away.
    mk

  • Storage locations - Classic scenario

    Hi Gurus,
    We have SRM 5.0 - Classic scenario
    We have a request from business to add attribute Storage Location (LAG) for using in Shopping cart. While I understand that we can maintain this under extended attributes in PPOMA_BBP, the issue to begin with is -
    1. How do we get the Storage location attributes populated en masse for all the Plants? It is not possible to maintain them manually.  Is there any replication prog?
    +2. Even if I maintain the Storage location manually, it still does not show in the shopping cart. will this issue be resolved thru FM BBP_ATTR_TEXT_REFRESH (I'm not sure if its a FM or T code)
    Thanks in advance
    regds,
    SB

    How do you order a cart via describe requirement? or good and services?
    you must get stoarge location if you order froma good and services in the basic data.
    1.It is possible to enter manually. just type your storage location . Automatically Plant will be filled with storage
    location.
    Are you geting any error here.
    2.Are succeed to bring to populate Storage location in Ext.Attribute . if it so
    you may need to run the report for staorage location if you dont get for LAG attribute.
    Note 1094742 - BBP_ATTR_TEXT_REFRESH Not update the LAG attr. in
    background -
    Did you see this note
    Note 767058 - Company code/plant/storage location are not transferred
    The texts are saved in table BBP_ATTR_VALUE_T. You can use report BBP_ATTR_TEXT_REFRESH to update this table with the
    descriptions from the back-end system.
    LAG is an attribute for storage location
    Note 1175255 - RFC_READ_TABLE creates
    ASSIGN_BASE_WRONG_ALIGNMENT termnatn
    regards
    muthu

Maybe you are looking for

  • How do I dispose of my e mail account?

    My Gmail account crashed years back and I have not had access to it at all.  Now I just want to throw it away and get it out of my laptop completely. Awhile back I somehow figured out how to get it off my dock and am now using a Yahoo e mail account

  • Problem with return a ColdFusion query object from a Java class

    Hi! I need to return a ColdFusion query object from a Java class using a JDBC result set ( java.sql.ResultSet); I have tried to pass my JDBC result set in to the constructor of the coldfusion.sql.QueryTable class with this code: ColdFusion code <cfse

  • Personal domain misery

    How can I get rid of the personal domain that is seen _in iWeb_ at publish settings page beside my MobileMe account. MoblieMe account: (www.attilarieger.com) On my MobileMe settings page (online) there is no personal domain set before - as seen, so I

  • AS–ColdFusion confusion

    FB4, so far, so good. I like the new easy features for styling and skinning without having to sign up for a course at NASA. But I am still a little lost with the new ways of connecting Flex to back-end services, so this might be a dumb question: In F

  • Query Designer&WAD: Variable search help - Display Key/Text button

    Good day. Please, can you write me some solution of my problem. I have the character with hierarchy. In tab "Business Explorer" of character set display as "Text". When i run my query on SAP Portal and enter to search help of character, it is display