Conditional MOVE-CORRESPONDING

Hi, I need to write a piece of code to move records from one internal table to another table. I got to know about the MOVE-CORRESPONDING statement in ABAP. Now my question is: if I use the following, what will the system do:
MOVE-CORRESPONDING ITAB1 TO ITAB2.
Will all the contents of ITAB1 be moved to ITAB2? I want to add a condition to it. Is that possible?
Thanks.

Hi,
Syntax:
MOVE-CORRESPONDING <sourcestruct> TO <destinationstruct>.
This statement assigns the contents of the components of structure <sourcestruct> to the components of the <destinationstruct> structure that have identical names.
If you want to add a condition to, it is better using MOVE statement instead.
Regards,
Ferry Lianto

Similar Messages

  • Move corresponding Concept

    Helo Experts,
    Plz tell what is the problem in my code.Data is not coming in internal talbe it_error, even on the correct condition
    loop at record.
    if record-BUKRS_001 = 'XYZ' and record-EKORG_002 ne '2000' .
    if sy-subrc eq 0.
    MOVE-CORRESPONDING record TO it_error.
    APPEND record TO it_error.
          endif.
          endif.
    endloop.
    Ravi

    Hi,
    if u r using move corresponding then both the internaal tables sould ahve same stucture...
    here is small eg just go through the code ...
    data: begin of itab occurs 0,
      name(20) type c,
      comp(20) type c,
      city(20) type c,
      END OF ITAB.
    data: begin of itab1 occurs 0,
      name(20) type c,
      city(20) type c,
      END OF ITAB1.
    itab1-name = 'Rajat11'.
    itab1-city = 'Delhi2222'.
    append itab1.
    itab1-name = 'Rajat22'.
    itab1-city = 'Delhi1'.
    append itab1.
    itab1-name = 'Rajat33'.
    itab1-city = 'Delhi2'.
    append itab1.
    loop at itab1 .
    move-corresponding itab1 to itab.
    append itab.
    endloop.
    loop at itab.
    write:/ itab-name.
    write:/ itab-city.
    write:/ itab-comp.
    endloop.
    i hope u will get solution..
    Thanks & Regards
    Ashu Singh

  • Move-corresponding in table type Field-Symbols

    Hi,
        I have to use one statement in field-symbol similar to "move-corresponding" in normal internal table.Is it possible to use statement similar to "Move-corresponding in field-symbols".
    For Eg:
    Field-symbols <FA_IT> type standard table.
    data:begin of wa_ekk,
       f1 type i,
       f2 type werks_d,
       f4 type posnr,
       end of wa_ekk,
    it_ekk  like standard table of wa_ekk.
    begin of wa_final,
       f1 type i,
       f2 type werks_d,
       f3 type i,
       f4 type n,
    end of wa_final,
    it_final like standard table of wa_final.
    assign it_ekk to <fs_it>.
    Loop at <fs_it>.
    *???????-i dont know how to move the value to it_final
    *---I know I can use assign component statement
    *-to move each field  to the target field
    but for that we need to know the field name or index position of the structure-
    Endloop.
    My requirment is now i want to move the content of <fs_it> into it_final internal table.
    I know that In normal itab we can use "move-corresponding" to move the value from it_ekk to it_final.
    In the same way how to use it in field-symbol concept.
    Requirement:Real time Processing of Internal table
    1) Content of it_ekk:
    f1   f2       f4
    12  1000  0023
    23  2000  0037
    2)After ASSIGN statement:
    Content of <fs_it> is:
    f1   f2       f4
    12  1000  0023
    23  2000  0037
    3)Now I want to move the content of <fs_it> to it_final
    Output of It_final:
    F1   F2    F3    F4
    12  1000   ---    0023
    23  2000   ---    0037
    Regards,
    Vigneswaran S

    Andrey's code is going to work only if you are running it in a non-unicode system.
    See code below for a Unicode system using similar effect to "Move-Corresponding" statement.
    FIELD-SYMBOLS: <fs_ekk> LIKE wa_ekk,
                   <fs_final> LIKE wa_final.
    ASSIGN it_ekk TO <fs_it> .
    LOOP AT <fs_it> ASSIGNING <fs_ekk>.
      ASSIGN <fs_ekk> TO <fs_final> CASTING.
      CLEAR <fs_final>-f3.
      APPEND <fs_final> TO it_final.
    ENDLOOP.
    Hope this solves your problem and please don't forget to reward points.
    Cheers,
    Sougata.

  • Change "MOVE-CORRESPONDING" statement to MOVE statement in FM

    Hello Guys,
    I have created a datasource based on FM standard template RSAX_BIW_GET_DATA. In the source code in this template, there is a LOOP statement and below that there is a "MOVE-CORRESPONDING" statement.
    LOOP AT g_t_select INTO l_s_select WHERE fieldnm = 'PGMID'.
            MOVE-CORRESPONDING l_s_select TO l_r_pgmid.
            APPEND l_r_pgmid.
    ENDLOOP.
    My customer does not allow MOVE-CORRESPONDING statement for performance reasons. Hence I need to change it to MOVE statement. But I do not know the structure of l_s_select and I am not well at ABAP. So How do I write MOVE statement here.
    Can anybody help on this?
    Regards
    Utpal

    Hi Tibollo,
    Thanks for your prompt reply. Your suggestion has solved my problem. One input to this from  my side. It will not accept FIELDNM because it is not present in l_r_pgmid. Remind you l_r_pgmid is declard as a range and ranges does not have FIELDNM.
    Anyway, that portion I have modified and it worked. Thanks a lot. I am rewarding u points.
    Regards
    Utpal

  • Move Corresponding Fields

    Hi
    I would like to move fields from a structure that has the following fields
    data Struc1 type table1.
    Fields:
    BUKRS
    WAERS
    MENGE....
    (similarly another 50 such fields)
    into another structure that has following fields,
    data Struc2 type table2.
    Fields:
    ZZ_WAERS
    ZZ_MENGE
    ZZ_BUKRS
    The data elements linked to the fields in both the structures would be the same. Move-Corresponding will not work as the field names do not match... also the order of the fields in both the structures do not match
    What is the easiest way to do this task other than moving each field one at a time?
    Can I apply any field symbols concept here... please let me know

    Hi Grame,
    if you want to create a generic solution, you can use RTTI Runtime Type Information to determine the datatype of the components in both structures. Then you could create assignments for equal types in source and target structure.
    This could work as long as you do not have more than one component of the same data type (data element) in the structures.
    Something like
    FIELD-SYMBOLS:
        <data1> TYPE ANY,
        <data2> TYPE ANY.
      DATA:
        lo_typedescr1 TYPE REF TO cl_abap_typedescr,
        lo_typedescr2 TYPE REF TO cl_abap_typedescr.
      DO.
        ASSIGN COMPONENT sy-index OF STRUCTURE itab1 TO <data1>.
        IF sy-subrc NE 0.
          EXIT.
        ELSE.
          DO.
            ASSIGN COMPONENT sy-index OF STRUCTURE itab2 TO <data2>.
            IF sy-subrc NE 0.
              EXIT.
            ELSE.
              lo_typedescr1 = cl_abap_typedescr=>describe_by_data( <data1> ).
              lo_typedescr2 = cl_abap_typedescr=>describe_by_data( <data2> ).
              IF lo_typedescr1 =  lo_typedescr2.
                <data2> = <data1>.
              ENDIF.
            ENDDO.
          ENDIF.
        ENDDO.
    I have some doubts about performance if you do this for every table line. It will be better to do it once, keep the results in some kind of internal assignment table and use it in the loop. For this I don't write the code, thats your homework
    Regards,.
    Clemens

  • Problem with move-corresponding

    Hi,
    I have these codes below:
    TYPES: BEGIN OF t_employee1,
            carrid LIKE spfli-carrid,
            connid LIKE spfli-connid,
            countryfr LIKE spfli-countryfr,
          END OF t_employee1.
    DATA: i_employee TYPE STANDARD TABLE OF spfli WITH HEADER LINE,
          i_employee1 TYPE STANDARD TABLE OF t_employee1 WITH HEADER LINE.
    SELECTION-SCREEN BEGIN OF BLOCK b1.
    SELECT-OPTIONS: s_carrid FOR spfli-carrid.
    SELECTION-SCREEN END OF BLOCK b1.
    START-OF-SELECTION.
      SELECT * FROM spfli INTO TABLE i_employee
    WHERE carrid IN s_carrid.
        MOVE-CORRESPONDING i_employee TO i_employee1.
    But when i debug the program, carrid, connid and countryfr of i_employee do not move to i_employee1...
    is there somethig wrong with my codes???
    Thanks a lot!

    Change ur code as shown below:
    TYPES: BEGIN OF t_employee1,
    carrid LIKE spfli-carrid,
    connid LIKE spfli-connid,
    countryfr LIKE spfli-countryfr,
    END OF t_employee1.
    DATA: i_employee TYPE STANDARD TABLE OF spfli WITH HEADER LINE,
    i_employee1 TYPE STANDARD TABLE OF t_employee1 WITH HEADER LINE.
    SELECTION-SCREEN BEGIN OF BLOCK b1.
    SELECT-OPTIONS: s_carrid FOR spfli-carrid.
    SELECTION-SCREEN END OF BLOCK b1.
    START-OF-SELECTION.
    SELECT * FROM spfli INTO TABLE i_employee
    WHERE carrid IN s_carrid.
    if sy-subrc = 0.
    loop at i_employee.
    MOVE-CORRESPONDING i_employee TO i_employee1.
    append i_employee1.
    endloop.

  • Statement not accesible  : "MOVE-CORRESPONDING ebkn TO *ebkn."

    hi guys,
    (system upgraded from 4.6 to 6.0 and made unicode compatible)
                    thr r two problems........
    1. "MOVE-CORRESPONDING ebkn TO *ebkn." is not accessible, is it something related to mirror image......... how to resolve this.
    2. Refresh it_tab - "Refresh and clear statements are not accesible" .
      These are present inside includes..... ( is it somewhere related to use of subroutines prior to the use of refresh or clear statement......)
    Those tables are defined prior to the statement Refresh or Clear.......

    Hi Mohd,
    please paste error message(s) in detail:
    source name(s)
    source line(1)
    full error message including message class, type and number
    If you get W messages (warnings), you may ignore them.
    Regards,
    Clemens

  • Syntax  of move corresponding

    hi
    Can anyone give me the syntax of move corresponding.
    I even want to know wat does this exactly do.
    Can I have some sample sof move corresponding.
    Its urgent.U'll get points.
    Thanking you
    Chandrika.

    hi,
    MOVE-CORRESPONDING
    Basic form
    MOVE-CORRESPONDING struc1 TO struc2.
    Effect
    Interprets struc1 and struc2 as structures. If, for example, struc1 and struc2 are tables, it executes the statement for their header lines.
    Searches for the sub-fields which occur both in struc1 and struc2 and then generates, for all relevant field pairs which correspond to the sub-fields ni, statements of the form
    MOVE struc1-ni TO struc2-ni.
    The other fields remain unchanged.
    With complex structures, the full names of the corresponding field pairs must be identical.
    Example
    DATA: BEGIN OF INT_TABLE OCCURS 10,
            WORD(10),
            NUMBER TYPE I,
            INDEX  LIKE SY-INDEX,
          END   OF INT_TABLE,
          BEGIN OF RECORD,
            NAME(10) VALUE 'not WORD',
            NUMBER TYPE I,
            INDEX(20),
          END   OF RECORD.
    MOVE-CORRESPONDING INT_TABLE TO RECORD.
    This MOVE-CORRESPONDING statement is equivalent to both the following statements:
    MOVE INT_TABLE-NUMBER TO RECORD-NUMBER.
    MOVE INT_TABLE-INDEX  TO RECORD-INDEX.
    Example
    TYPES: BEGIN OF ROW1_3,
             CO1 TYPE I,
             CO2 TYPE I,
             CO3 TYPE I,
           END   OF ROW1_3.
    TYPES: BEGIN OF ROW2_4,
             CO2 TYPE I,
             CO3 TYPE I,
             CO4 TYPE I,
           END   OF ROW2_4.
    TYPES: BEGIN OF MATRIX1,
             R1 TYPE ROW1_3,
             R2 TYPE ROW1_3,
             R3 TYPE ROW1_3,
           END OF   MATRIX1.
    TYPES: BEGIN OF MATRIX2,
             R2 TYPE ROW2_4,
             R3 TYPE ROW2_4,
             R4 TYPE ROW2_4,
           END OF   MATRIX2.
    DATA: ROW TYPE ROW1_3,
          M1  TYPE MATRIX1,
          M2  TYPE MATRIX2.
    ROW-CO1 = 1. ROW-CO2 = 2. ROW-CO3 = 3.
    MOVE: ROW TO M1-R1, ROW TO M1-R2, ROW TO M1-R3.
    MOVE-CORRESPONDING  M1 TO M2.
    The last MOVE-CORRESPONDING statement is equivalent to the statements:
    MOVE: M1-R2-CO2 TO M2-R2-CO2,
          M1-R2-CO3 TO M2-R2-CO3,
          M1-R3-CO2 TO M2-R3-CO2,
          M1-R3-CO3 TO M2-R3-CO3.
    Note
    The same runtime errors may occur as with MOVE.
    Note
    This statement assigns values based on pairs of fields with identical names. To avoid unwanted assignments, you should consider all fields of the source and target structures. If either is defined with reference to an ABAP Dictionary type (for example, a database table), remember that any subsequent extension to the type could cause coincidental pairs of identically-named fields, which could lead to incorrect program logic.
    Regards,
    Sourabh

  • 4.6: Move-Corresponding vs Untyped Fuba Param

    In release 4.6 Move-Corresponding is not able to work with untype argument. If e.g. a structure was passed as argument to a Fuba and the formal parameter is typed with any move-corresponding cant be used.
    For such a case one may use the form in the sample below.
    Regards
    Klaus

    REPORT ZMOVESMP .
    start-of-Selection.
       perform sub_Main.
    type-pools:
      Abap.
    *============
    form sub_Main.
    *============
    * data decl
      data:
        wa_Source   type Tadir,
        begin of wa_Target,
          Pgmid     type Tadir-Pgmid,
          Obj_Name  type syChar10,
          Author    type syUname,
          GibsNet   type syTitle,
        end of wa_Target.
    * fill sample data
      select single * from Tadir into wa_Source
        where
          Pgmid =       'R3TR'  and
          Object =      'PROG'  and
          Obj_Name =     sy-Repid.
    * do the move
      perform sub_Move_Corresponding
        using    wa_Source
        changing wa_Target.
    * sample output
      write: / wa_Target.
    endform.
    *==========================
    form sub_Move_Corresponding
    *==========================
      using
        p_Src      type any
      changing
        p_Dst      type any.
    * data decl
      data:
        wa_Comp        type abap_compdescr,
        cref_Rtti_Dst  type ref to cl_Abap_StructDescr.
      field-symbols:
        <src_Comp>  type any,
        <dst_Comp>  type any.
    * get rtti handle of target
      cref_Rtti_Dst ?= Cl_Abap_TypeDescr=>Describe_By_Data( p_Dst ).
      loop at cref_Rtti_Dst->Components into wa_Comp.
        assign component wa_Comp-Name of structure p_Src to <src_Comp>.
        if ( 0 ne sy-SubRc ).
          continue.
        endif.
        assign component wa_Comp-Name of structure p_Dst to <dst_Comp>.
        <dst_Comp> = <src_Comp>.
      endloop.
    endform.

  • Weird situation with MOVE-CORRESPONDING in standard SAP include!!

    Hello Experts,
    We have a standard_SAP_field_1 (attached to a standard_SAP_data_element_1) in standard_SAP_structure_1, but unfortunately its NOT there in KOMP structure!! Hence I added this standard_SAP_field_1 with in customer name space as 'ZZ_standard_SAP_field_1' by attaching the same standard_SAP_data_element_1.
    The standard_SAP_data_element_1 attributes are as CHAR, 2.
    Now, in one of the standard SAP include of VA42.....we have a statement as below,
    MOVE-CORRESPONDING standard_SAP_structure_1 TO komp.
    Then the value (say, AA) should transfer from standard_SAP_field_1 of standard_SAP_structure_1  to ZZ_standard_SAP_field_1 of KOMP, right? but, its not happening!! pls. let me know the reason and how to fix it?

    Okay...
    Field one is called: FIELD1
    Your own created field two is called ZZ_FIELD1.
    And now... MOVE-CORRESPONDING. Do a F1 on that and tell me: do the two fieldnames correspond?

  • Move Corresponding in AMDP Procedures

    Hi,
    Since Move Corresponding from internal table 1 to internal table 2 is not available in HANA SQL in AMDP, I can achieve the same using Selecting the respecting columns from the internal table 1 into internal table 2. Is there any other way through which we can achieve this?
    Regards,
    Ramesh

    Hi Ramesh,
    as alternative you could use the calculation engine function CE_PROJECTION to reach the same result. But I would not recommend to use the CE function because of the latest statement regarding the usage of CE functions in blog New SQLScript Features in SAP HANA 1.0 SPS9 (last paragraph). There it is (now!) recommended to use pure SQL instead of CE functions.
    Best regards,
    Florian

  • Queyr about move-corresponding

    Hi guys,
    is move-corresponding capable of moving all entries of internal table w/o headerline to another internal table?
    or is it only capable of moving one entry?
    thanks a lot!

    Hi,
    To move values between the components of structures, use the statement :
    MOVE-CORRESPONDING <struct1> TO <struct2>.
    This statement moves the contents of the components of structure <struct1> to the components of <struct2> that have identical names. The other fields remain unchanged.
    When it is executed, it is broken down into a set of MOVE statements, one for each pair of fields with identical names, as follows:
    MOVE STRUCT1-<ci> TO STRUCT2-<ci>.
    Any necessary type conversions occur at this level. This process is different to that used when you assign a whole structure using the MOVE statement, where the conversion rules for structures apply.
    Example :
    DATA: BEGIN OF ADDRESS,
              FIRSTNAME(20) VALUE 'Fred',
              SURNAME(20) VALUE 'Flintstone',
              INITIALS(4) VALUE 'FF',
              STREET(20) VALUE 'Cave Avenue,
              NUMBER TYPE I VALUE '11'.
              POSTCODE TYPE N VALUE '98765'.
             CITY(20) VALUE 'Bedrock',
             END OF ADDRESS.
    DATA: BEGIN OF NAME,
               SURNAME(20),
               FIRSTNAME(20),
               INITIALS(4),
               TITLE(10) VALUE 'Mister',
              END OF NAME.
    MOVE-CORRESPONDING ADDRESS TO NAME.
    Yes all the values are moved to the corresponding fields.
    Hope this will help you.
    Plz reward if useful.
    Thanks,
    Dhanashri.

  • QM15 - MOVE-CORRESPONDING is not working

    Hi,
    I am executing a standard transaction QM15, in which workcenter (ARBPL) is not getting populated in the list output display.
    When I debugged the transaction, i found that there is a statement for moving ARBPL to the output table.
    MOVE-CORRESPONDING RQMQMEL TO OBJECT_TAB.
    After pressing F5 at this point, OBJECT_TAB remains the same.. its not getting appended with new value from RQMQMEL. Please help me out in understanding this. The Structure of RQMQMEL is same as OBJECT_TAB.
    Thanks,
    DhanaLakshmi M S

    Modify internal table has been written somewhere else in the program, depending on QMFE table. ARBPL was updated only in QMEL table.

  • Itab move corresponding

    hello abap gurus,
    in my requirement,
    all the records in ITAB1 need to be moved to ITAB2  where
    both have a common key field which should match.
    Note: ITAB1 and ITAB2 have only few common fields. ITAB2 is completely empty.
    can someone tell the best way of coding this.
    thank you.

    check out this example.would be helpfull
    DATA: BEGIN OF INT_TABLE OCCURS 10,
            WORD(10),
            NUMBER TYPE I,
            INDEX  LIKE SY-INDEX,
          END   OF INT_TABLE,
          BEGIN OF RECORD,
            NAME(10) VALUE 'not WORD',
            NUMBER TYPE I,
            INDEX(20),
          END   OF RECORD.
    MOVE-CORRESPONDING INT_TABLE TO RECORD.
    This MOVE-CORRESPONDING statement is equivalent to both the following statements:
    MOVE INT_TABLE-NUMBER TO RECORD-NUMBER.
    MOVE INT_TABLE-INDEX  TO RECORD-INDEX.

  • Move n move corresponding

    frends please provide me the detail document and scenarios where we use with examples about move and move corresponding  statements?

    Hi,
    Please check this.
    Assigning Values with MOVE:
    To assign the value of a data object source to a variable destination, use the following statement:
    MOVE source TO destination.
    or the equivalent statement
    destination = source.
    The content of source remains unchanged, source does not therefore have to be a variable - it can also be a literal, a text symbol, or a constant. You must always specify decimal points with a period (.), regardless of the user’s personal settings.
    Multiple assignments
    f4 = f3 = f2 = f1.
    are also possible. ABAP processes them from right to left as follows:
    MOVE f1 TO f2.
    MOVE f2 TO f3.
    MOVE f3 TO f4.
    Assigning Values Between Components of Structures (MOVE-CORRESPONDING):
    The rules for value assignments between data objects also apply to structures. With the command
    DATA: struct1 TYPE structure,
          struct2 TYPE structure.
    struct1 = struct2.
    two structures of the same type can be assigned to one another without difficulty. Here, the entire source structure is seen as a unit and copied to the source structure. It is then possible to access the components individually again. If the structures in question are not compatible, see the conversion rules for structures.
    In practice, however, you will often only need to assign certain components of a structure to be certain components of another structure. ABAP has a special statement for this purpose:
    MOVE-CORRESPONDING sourcestruct TO destinationstruct.
    This statement assigns the contents of the components of structure sourcestruct to the components of the destinationstruct structure that have identical names.
    When it is executed, it is broken down into a set of MOVEstatements, one for each pair of fields with identical names, as follows:
    MOVE sourcestruct-comp1 TO destinationstruct-comp1.
    MOVE sourcestruct-comp2 TO destinationstruct-comp2.
    Regards,
    Ferry Lianto

Maybe you are looking for

  • HTML Link to Product Revenue Detail Page

    I have a simple table report developed for the Product Revenue. Help me with either "Custom Text" using ActionLink or a HTML Link for navigating to Product Revenue Page. I tried following link http://"@[html]"<a target=_blank href=https://secure-auso

  • How do I find my external hard drive and move files?

    Im totally a non tech person so please bear with me. I have had my imac for several years. I started getting a message every time I went to do anything saying that I didnt have the space available to do whatever I was trying to do. I finally bought a

  • Load Balancing Of Agent

    Hi All, We have configurd load balancing of Agents in Topology. Parent Agent is X Child Agent is X1,X2,X3 When we are submitting the scenarion to agent X, it is passing the execution to child agents. Now what is happing when any error is comming, sam

  • Shared Members in Custom can have different aggregation weight?

    Hi guys, I have created a Flow dimension to track the cash flow movements. Under TotalFlows, I have the different movements (OpBalance, CloBalance, Variation, Gain, Loss), all with aggregation weight of 1. But I have to create an additional structure

  • How to transfer emails from laptop to i pad

    How do you transfer old emails from laptop to i pad