on 02-02-2018 3:02 PM
Hi!
I created an own table type:
TYPES: BEGIN OF it_mypartner,
guid TYPE crmt_object_guid,
fullname TYPE bu_name1tx,
number TYPE crmt_partner_no,
END OF it_mypartner.
DATA lt_mypartner TYPE STANDARD TABLE OF it_mypartner.
DATA ls_mypartner TYPE it_mypartner.
Now I want to fill the rows by using local tables. I tried by "move-corresponding". After moving the first row, everything worked as plannend. The GUID was moved. But after moving the fullname, the fullname was moved and the GUID is 0000...
MOVE-CORRESPONDING lt_partner TO lt_mypartner.
MOVE-CORRESPONDING lt_gotpartner TO lt_mypartner.
Obviously move-corresponding is the wrong approach. How can I do this different?
Hello,
Your problem is that you have 2 sources of data (lt_partner and lt_gotpartner) and there is no logic decision in you code to deal with the 4 basic logical situations :
- If lt_partner field is empty and lt_gotpartner is empty then lt_mypartner field is empty (obviously)
- If lt_partner field is empty and lt_gotpartner is NOT empty then lt_mypartner field is ...? (you have to decide)
- If lt_partner field is NOT empty and lt_gotpartner is empty then lt_mypartner field is ...? (you have to decide)
- If lt_partner field is NOT empty and lt_gotpartner is NOT empty then lt_mypartner field is ...? (you have to decide)
Moreover, MOVE-CORRESPONDING statements is just a convenient way to write "Destination-field = Source-Field" for every "Field" in common. So 2 statements code is basically just :
t_mypartner-guid = lt_partner-guid.
t_mypartner-fullname = lt_partner-fullname.
t_mypartner-number = lt_partner-number.
t_mypartner-guid = lt_gotpartner-guid.
t_mypartner-fullname = lt_gotpartner-fullname.
t_mypartner-number = lt_gotpartner-number.
So.. yeah 2 move-corresponding is the wrong approach. 🙂
Best regards
Bertrand
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
3 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 | |
1 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.