1. 程式人生 > 其它 >使用BAPI_MATERIAL_SAVEDATA無法寫入擴充套件欄位

使用BAPI_MATERIAL_SAVEDATA無法寫入擴充套件欄位

1.目的: 匯入MARC增強欄位 ZZJYFS, ZZBLBM, ZZBLTXT



2. BAPI結構已經加上了增強欄位

3. 程式程式碼

    IF bapi_te_marc IS NOT INITIAL.
      bapi_te_marc-plant  = plantdata-plant.
      bapi_te_marcx-plant = plantdata-plant.
      CLEAR: extensionin, lv_marc_value.
      lv_marc_value  = bapi_te_marc.
      extensionin
-structure = 'BAPI_TE_MARC'. extensionin-valuepart1 = lv_marc_value(240). extensionin-valuepart2 = lv_marc_value+240(240). extensionin-valuepart3 = lv_marc_value+480(240). extensionin-valuepart4 = lv_marc_value+720(240). APPEND extensionin. CLEAR: extensioninx, lv_marc_valuex. lv_marc_valuex
= bapi_te_marcx. extensioninx-structure = 'BAPI_TE_MARCX'. extensioninx-valuepart1 = lv_marc_valuex(240). extensioninx-valuepart2 = lv_marc_valuex+240(240). extensioninx-valuepart3 = lv_marc_valuex+480(240). extensioninx-valuepart4 = lv_marc_valuex+720(240). APPEND extensioninx.
ENDIF. ***************"執行bapi************************* CALL FUNCTION 'BAPI_MATERIAL_SAVEDATA' EXPORTING headdata = headdata clientdata = clientdata clientdatax = clientdatax plantdata = plantdata plantdatax = plantdatax forecastparameters = forecastparameters forecastparametersx = forecastparametersx planningdata = planningdata planningdatax = planningdatax storagelocationdata = storagelocationdata storagelocationdatax = storagelocationdatax valuationdata = valuationdata valuationdatax = valuationdatax warehousenumberdata = warehousenumberdata warehousenumberdatax = warehousenumberdatax salesdata = salesdata salesdatax = salesdatax storagetypedata = storagetypedata storagetypedatax = storagetypedatax flag_online = ' ' flag_cad_call = ' ' no_dequeue = ' ' no_rollback_work = ' ' IMPORTING return = return TABLES materialdescription = materialdescription unitsofmeasure = unitsofmeasure unitsofmeasurex = unitsofmeasurex internationalartnos = internationalartnos materiallongtext = materiallongtext taxclassifications = taxclassifications returnmessages = returnmessages prtdata = prtdata prtdatax = prtdatax extensionin = extensionin extensioninx = extensioninx. IF return-type = 'S' AND gv_test IS INITIAL."執行成功 CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' "提交該BAPI EXPORTING wait = 'X'. ELSE. CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'. ENDIF.

匯入資料:

值已經寫到擴充套件結構:

BAPI執行結果,不會去更新擴充套件欄位值