Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Syntax error in PO Creation with BAPI_PO_Create1.

Former Member
0 Likes
1,823

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.

10 REPLIES 10
Read only

Former Member
0 Likes
1,650

Hi,

Try declaring a variable

DATA:lw_value(240) TYPE c.

lw_value = lw_poitem.

then

LW_EXTENSIONIN-VALUEPART1 = lw_value.

Regards,

Subhashini

Read only

0 Likes
1,650

Hi,

even though the same problem Im facing..

Read only

Former Member
0 Likes
1,650

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

Read only

Former Member
0 Likes
1,650

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

Read only

Former Member
0 Likes
1,650

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

Read only

0 Likes
1,650

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.

Read only

0 Likes
1,650

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

Read only

0 Likes
1,650

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.

Read only

0 Likes
1,650

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

Read only

Former Member
0 Likes
1,650

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 .