2009 Nov 03 6:28 AM
Hi All,
I'm unable to appending below to internal table and giving the following error.
LW_EXTENSIONIN-VALUEPART1" and "LW_POITEM" are not mutually convertible in a Unicode program. .
here is the code Im using. Please advise,
DATA : LT_EXTENSIONIN TYPE TABLE OF BAPIPAREX,
LW_EXTENSIONIN TYPE BAPIPAREX,
LW_POITEM TYPE BAPI_TE_MEPOITEM,
LW_POITEMX TYPE BAPI_TE_MEPOITEMX.
LW_POitem-PO_ITEM = '00010'.
LW_POitem-ZZCOST = '10'.
LW_POitem-ZZMISC = '11'.
LW_POitemX-PO_ITEM = '00010'.
LW_POitemX-ZZCOST = 'X'.
LW_POitemX-ZZMISC = 'X'.
LW_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOITEM'.
LW_EXTENSIONIN-VALUEPART1 = LW_POitem.
APPEND LW_EXTENSIONIN TO LT_EXTENSIONIN. CLEAR LW_EXTENSIONIN.
LW_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOITEMX'.
LW_EXTENSIONIN-VALUEPART1 = LW_POitemX.
APPEND LW_EXTENSIONIN TO LT_EXTENSIONIN. CLEAR LW_EXTENSIONIN.
Thank You,
ANu.
Hi All,
I'm unable to appending below to internal table and giving the following error.
LW_EXTENSIONIN-VALUEPART1" and "LW_POITEM" are not mutually convertible in a Unicode program. .
here is the code Im using. Please advise,
DATA : LT_EXTENSIONIN TYPE TABLE OF BAPIPAREX,
LW_EXTENSIONIN TYPE BAPIPAREX,
LW_POITEM TYPE BAPI_TE_MEPOITEM,
LW_POITEMX TYPE BAPI_TE_MEPOITEMX.
LW_POitem-PO_ITEM = '00010'.
LW_POitem-ZZCOST = '10'.
LW_POitem-ZZMISC = '11'.
LW_POitemX-PO_ITEM = '00010'.
LW_POitemX-ZZCOST = 'X'.
LW_POitemX-ZZMISC = 'X'.
LW_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOITEM'.
LW_EXTENSIONIN-VALUEPART1 = LW_POitem.
APPEND LW_EXTENSIONIN TO LT_EXTENSIONIN. CLEAR LW_EXTENSIONIN.
LW_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOITEMX'.
LW_EXTENSIONIN-VALUEPART1 = LW_POitemX.
APPEND LW_EXTENSIONIN TO LT_EXTENSIONIN. CLEAR LW_EXTENSIONIN.
Thank You,
ANu.
2009 Nov 03 6:36 AM
Hi,
Try declaring a variable
DATA:lw_value(240) TYPE c.
lw_value = lw_poitem.
then
LW_EXTENSIONIN-VALUEPART1 = lw_value.
Regards,
Subhashini
2009 Nov 03 7:03 AM
2009 Nov 03 7:13 AM
Hi,
As per your code, LW_POITEM is of the type structure BAPI_TE_MEPOITEM. You cannot use it directly to assign it to a structure field LW_EXTENSIONIN-VALUEPART1.
Instead try assigning field by field
DATA : LT_EXTENSIONIN TYPE TABLE OF BAPIPAREX,
LW_EXTENSIONIN TYPE BAPIPAREX,
LW_POITEM TYPE BAPI_TE_MEPOITEM,
LW_POITEMX TYPE BAPI_TE_MEPOITEMX.
LW_POitem-PO_ITEM = '00010'.
LW_POitem-ZZCOST = '10'.
LW_POitem-ZZMISC = '11'.
LW_POitemX-PO_ITEM = '00010'.
LW_POitemX-ZZCOST = 'X'.
LW_POitemX-ZZMISC = 'X'.
LW_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOITEM'.
LW_EXTENSIONIN-VALUEPART1 = LW_POitem-PO_ITEM. "Or the field which corresponds
APPEND LW_EXTENSIONIN TO LT_EXTENSIONIN. CLEAR LW_EXTENSIONIN.
LW_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOITEMX'.
LW_EXTENSIONIN-VALUEPART1 = LW_POitemX-PO_ITEM.
APPEND LW_EXTENSIONIN TO LT_EXTENSIONIN. CLEAR LW_EXTENSIONIN.
Vikranth
2009 Nov 03 7:26 AM
Hi,
You need to populate the extension structure as below:
data: i_save_ext type standard table of BAPIPAREX,
I_SAVE_EXTX TYPE STANDARD TABLE OF BAPIPAREXX.
REFRESH: i_save_ext[],
i_save_extx[].
wa_save_ext-structure = 'BAPIPAREX'.
wa_save_extx-structure = 'BAPIPAREXX'.
Material Number
wa_save_ext-valuepart1+0(18) = wa_final-model.
wa_save_extx-valuepart1+0(18) = wa_final-model.
Series MARA-ZZSR
wa_save_ext-valuepart1+64 = wa_final-series.
wa_save_extx-valuepart1+25 = c_charx.
Season MARA-ZZSE
wa_save_ext-valuepart1+82 = wa_final-season.
wa_save_extx-valuepart1+26 = c_charx.
APPEND wa_save_ext TO i_save_ext.
APPEND wa_save_extx TO i_save_extx.
CLEAR: wa_save_ext,
wa_save_extx.
You need to use the offset ton populate the required fields.
Edited by: priyanka jatla on Nov 3, 2009 8:31 AM
2009 Nov 03 7:29 AM
Hi,
Use the following code:-
DATA : LT_EXTENSIONIN TYPE TABLE OF BAPIPAREX,
LW_EXTENSIONIN TYPE BAPIPAREX,
LW_POITEM TYPE BAPI_TE_MEPOITEM,
LW_POITEMX TYPE BAPI_TE_MEPOITEMX.
DATA:lw_value1(240) TYPE c,
lw_value2(240) TYPE c.
LW_POitem-PO_ITEM = '00010'.
LW_POitem-ZZCOST = '10'.
LW_POitem-ZZMISC = '11'.
CONCATENATE lw_poitem-po_item lw_poitem-zzkostl INTO lw_value2.
LW_POitemX-PO_ITEM = '00010'.
LW_POitemX-ZZCOST = 'X'.
LW_POitemX-ZZMISC = 'X'.
CONCATENATE lw_poitemx-po_item lw_poitemx-zzkostl INTO lw_value2.
LW_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOITEM'.
LW_EXTENSIONIN-VALUEPART1 = lw_value.
APPEND LW_EXTENSIONIN TO LT_EXTENSIONIN. CLEAR LW_EXTENSIONIN.
LW_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOITEMX'.
LW_EXTENSIONIN-VALUEPART1 = LW_POitemX.
APPEND LW_EXTENSIONIN TO LT_EXTENSIONIN. CLEAR LW_EXTENSIONIN.
Regards,
Subhashini
2009 Nov 04 7:51 AM
Hi Subhashini,
But for concatenate "LW_POITEM-ZZCOST" must be a character-type data object (data type C,N, D, T, or STRING).
Thnk You,
ANu.
2009 Nov 04 8:03 AM
Hi,
I do not know what ZZCOST type is.If it is not character type you have to pass it to a variable of type Char and copy ZZCOST value to that variable and then use CONCATENATE statement.
Regards,
Subhashini
2009 Nov 05 3:11 AM
Hi Subhashini,
Yes,ZZCOST field is 'DECIMAL' how to send this decimal field to BAPI-TE_MEPOITEM.
DATA : LT_EXTENSIONIN TYPE TABLE OF BAPIPAREX,
LW_EXTENSIONIN TYPE BAPIPAREX,
LW_POITEM TYPE BAPI_TE_MEPOITEM,
LW_POITEMX TYPE BAPI_TE_MEPOITEMX.
LW_POitem-PO_ITEM = '00010'.
LW_POitem-ZZCOST = '10.000'.----
>Decimal type
LW_POitem-ZZMISC = '11.000'. -
>Decimal type
CONCATENATE lw_poitem-po_item lw_poitem-zzkostl INTO lw_value2.
LW_POitemX-PO_ITEM = '00010'.
LW_POitemX-ZZCOST = 'X'.----
>Decimal type
LW_POitemX-ZZMISC = 'X'.----
>Decimal type
Can you please tell me how to pass this decimal to LW_EXTENSIONIN because LW_EXTENSIONIN-VALUEPART1 is CHARACTER TYPE.
LW_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOITEM'.
LW_EXTENSIONIN-VALUEPART1 = lw_poitem.
APPEND LW_EXTENSIONIN TO LT_EXTENSIONIN. CLEAR LW_EXTENSIONIN.
LW_EXTENSIONIN-STRUCTURE = 'BAPI_TE_MEPOITEMX'.
LW_EXTENSIONIN-VALUEPART1 = LW_POitemX.
APPEND LW_EXTENSIONIN TO LT_EXTENSIONIN. CLEAR LW_EXTENSIONIN.
2009 Nov 12 11:15 AM
Hi,
DATA : LT_EXTENSIONIN TYPE TABLE OF BAPIPAREX,
LW_EXTENSIONIN TYPE BAPIPAREX,
LW_POITEM TYPE BAPI_TE_MEPOITEM,
LW_POITEMX TYPE BAPI_TE_MEPOITEMX.
LW_POitem-PO_ITEM = '00010'.
LW_POitem-ZZCOST = '10.000'.----
>Decimal type
***Add this
lw_poitem-po_item = '00010'.
lw_zzcost_char = lw_poitem-zzcost.
LW_POitem-ZZMISC = '11.000'. -
>Decimal type
lw_zzmisc_char = lw_poitem-zzmisc.
CONCATENATE lw_poitem-po_item lw_zzcost_char zzmisc_char INTO lw_value1.
LW_POitemX-PO_ITEM = '00010'.
LW_POitemX-ZZCOST = 'X'.----
>Decimal type
LW_POitemX-ZZMISC = 'X'.----
>Decimal type
lw_extensionin-valuepart1 = lw_value1.
APPEND lw_extensionin TO lt_extensionin.
CLEAR lw_extensionin
Regards,
Subhashini
2009 Nov 04 8:19 AM
Hi,
use filed -symbols it will be good,
in place of this
LW_EXTENSIONIN-VALUEPART1 = LW_POitemX.
just go with the function module
CALL FUNCTION 'PI_BP_MOVE_UNICODE'
EXPORTING
iv_move_from = LW_POitemX
CHANGING
cv_move_to = LW_EXTENSIONIN-VALUEPART1 .