‎2009 Aug 06 10:32 AM
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
‎2009 Aug 06 10:44 AM
Hello
In gw_materiallongtext you need to fill parameter FUNCTION.
Values:
INS - Insert
DEL - Delete
UPD - Update
REF - Refresh
IGN - Ignore
‎2009 Aug 06 11:11 AM
‎2009 Aug 06 11:20 AM
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
‎2009 Aug 06 11:27 AM
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.
‎2009 Aug 06 11:35 AM
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
‎2009 Aug 06 11:41 AM
Hello
This interesting ...
Try to use COMMIT_TEXT after call bapi.
All parameters (OBJECT, NAME, ID, LANGUAGE) same as in bapi. SAVE_DIRECT = 'X'.
‎2009 Aug 06 12:20 PM
Hi,
Added the function module. It is also having no effect.
It is returning commit_count = 0 ie., (no. of updated texts = 0)
‎2009 Aug 06 1:02 PM
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.
‎2009 Aug 06 3:51 PM