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

Uploading data in basic data text of basic data view for a material

Former Member
0 Likes
1,375

Hi all,

I need to fill a text (material description) in basic data text of basic data view, for a material. That is, if I go to mm03 display material trasaction and enter into basic data view, there is tab at the bottom of this screen. If we click on that, it will be redirected to screen with a text editor. I need to updata the material information in this text editor.

This could be done through BAPI BAPI_MATERIAL_SAVEREPLICA. I understand from the BAPI that, there is table parameter MATERIALLONGTEXT of type BAPIE1MLTX and for getting the data through this to basic data text, I should supply values to five fields of the table, namely, Application object, text_id, text_name, langu, langu_iso. Thus the values I have supplied to these are,

gw_materiallongtext-applobject = 'MATERIAL'.

gw_materiallongtext-text_name = gw_material-matnr.

gw_materiallongtext-text_id = 'GRUN'.

gw_materiallongtext-langu = 'E'.

gw_materiallongtext-langu_iso = 'EN'.

gw_materiallongtext-text_line =

'testdata'.

But, The text is not getting updated in the basic data text. Can any please help me out on this issue.

Thanks and regards,

Avinash Bolisetty

9 REPLIES 9
Read only

Former Member
0 Likes
1,153

Hello

In gw_materiallongtext you need to fill parameter FUNCTION.

Values:

INS - Insert

DEL - Delete

UPD - Update

REF - Refresh

IGN - Ignore

Read only

0 Likes
1,153

Hi,

I have done that also. No effect.

Read only

0 Likes
1,153

Hello

Are you doing BAPI_TRANSACTION_COMMIT after call BAPI_MATERIAL_SAVEREPLICA ?

Also check material number in gw_material-matnr. It must be with leading zeros like 000000000000000001

Read only

0 Likes
1,153

Yes. I am doing that also.

Every thing is working and BAPI is retruning message type as 's'. Only this parameter materiallongtext is not showing any effect.

Read only

0 Likes
1,153

I am posting the code also, highligting the part of code causing issue with "'*************'"

FORM CALL_BAPI.

LOOP AT GI_MATERIAL INTO GW_MATERIAL.

SELECT SINGLE MATNR WERKS FROM MARC INTO GI_MARC

WHERE MATNR = GW_MATERIAL-MATNR AND WERKS = GW_MATERIAL-WERKS.

IF SY-SUBRC <> 0.

*****************************************************************************************************************************************

GW_MATERIALLONGTEXT-FUNCTION = 'INS'.

*****************************************************************************************************************************************

*****************************************************************************************************************************************

GW_MATERIALLONGTEXT-FUNCTION = 'UPD'.

*****************************************************************************************************************************************

ENDIF.

GW_MATERIALLONGTEXT-APPLOBJECT = 'MATERIAL'.

GW_MATERIALLONGTEXT-TEXT_NAME = GW_MATERIAL-MATNR.

GW_MATERIALLONGTEXT-TEXT_ID = 'GRUND'.

GW_MATERIALLONGTEXT-LANGU = 'E'.

GW_MATERIALLONGTEXT-LANGU_ISO = 'EN'.

GW_MATERIALLONGTEXT-TEXT_LINE =

'ABCDEFGHIJKLMNOPQRSTUVWXYZABCDEFGHIJKLMNOPQRSTUVWZYZ'.

"GW_MATERIAL-TEXT_LINE" DESCRIPTION

CALL FUNCTION 'BAPI_MATERIAL_SAVEREPLICA'

EXPORTING

NOAPPLLOG = S_NOAPPLLOG

NOCHANGEDOC = S_NOCHANGEDOC

TESTRUN = S_TESTRUN

INPFLDCHECK = S_INPFLDCHECK

  • FLAG_CAD_CALL = ' '

  • NO_ROLLBACK_WORK = ' '

  • FLAG_ONLINE = ' '

IMPORTING

RETURN = S_BAPIRET2

TABLES

HEADDATA = GI_HEADDATA

CLIENTDATA = GI_CLIENTDATA

CLIENTDATAX = GI_CLIENTDATAX

PLANTDATA = GI_PLANTDATA

PLANTDATAX = GI_PLANTDATAX

  • FORECASTPARAMETERS =

  • FORECASTPARAMETERSX =

  • PLANNINGDATA =

  • PLANNINGDATAX =

STORAGELOCATIONDATA = GI_STORAGELOCATIONDATA

STORAGELOCATIONDATAX = GI_STORAGELOCATIONDATAX

  • VALUATIONDATA =

  • VALUATIONDATAX =

  • WAREHOUSENUMBERDATA =

  • WAREHOUSENUMBERDATAX =

  • SALESDATA =

  • SALESDATAX =

  • STORAGETYPEDATA =

  • STORAGETYPEDATAX =

  • MATERIALDESCRIPTION =

UNITSOFMEASURE = GI_UNITSOFMEASURE

UNITSOFMEASUREX = GI_UNITSOFMEASUREX

  • INTERNATIONALARTNOS =

*****************************************************************************************************************************************

MATERIALLONGTEXT = GI_MATERIALLONGTEXT

.

IF S_BAPIRET2-TYPE EQ 'E'.

ELSE.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'

EXPORTING

WAIT = 'X' .

ENDLOOP.

ENDFORM.

Edited by: Avinash Bolisetty on Aug 6, 2009 12:38 PM

Read only

0 Likes
1,153

Hello

This interesting ...

Try to use COMMIT_TEXT after call bapi.

All parameters (OBJECT, NAME, ID, LANGUAGE) same as in bapi. SAVE_DIRECT = 'X'.

Read only

0 Likes
1,153

Hi,

Added the function module. It is also having no effect.

It is returning commit_count = 0 ie., (no. of updated texts = 0)

Read only

0 Likes
1,153

Hello

This is working code:


REPORT  ZZZZZZZZ.

PARAMETERS: P_MATNR LIKE MSEG-MATNR.

DATA: XHEADDATA         LIKE BAPIE1MATHEADER OCCURS 0 WITH HEADER LINE,
      XMATERIALLONGTEXT LIKE BAPIE1MLTX      OCCURS 0 WITH HEADER LINE,
      XRETURNMESSAGES   LIKE BAPIE1RET2      OCCURS 0 WITH HEADER LINE.

XHEADDATA-FUNCTION   = 'INS'.
XHEADDATA-MATERIAL   = P_MATNR.
XHEADDATA-BASIC_VIEW = 'X'.
APPEND XHEADDATA.

XMATERIALLONGTEXT-FUNCTION   = 'INS'.
XMATERIALLONGTEXT-MATERIAL   = P_MATNR.
XMATERIALLONGTEXT-APPLOBJECT = 'MATERIAL'.
XMATERIALLONGTEXT-TEXT_NAME  = P_MATNR.
XMATERIALLONGTEXT-TEXT_ID    = 'GRUN'.
XMATERIALLONGTEXT-LANGU      = 'E'.
XMATERIALLONGTEXT-LANGU_ISO  = 'EN'.
XMATERIALLONGTEXT-TEXT_LINE  = '12345QWERT'.
APPEND XMATERIALLONGTEXT.

CALL FUNCTION 'BAPI_MATERIAL_SAVEREPLICA'
     EXPORTING NOAPPLLOG        = SPACE
               NOCHANGEDOC      = SPACE
               TESTRUN          = SPACE
               INPFLDCHECK      = 'W'
     TABLES    HEADDATA         = XHEADDATA
               MATERIALLONGTEXT = XMATERIALLONGTEXT
               RETURNMESSAGES   = XRETURNMESSAGES.
IF SY-SUBRC = 0.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
       EXPORTING WAIT = 'X'.
ENDIF.

Read only

0 Likes
1,153

Thank you very much. Got the output.