使用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執行結果,不會去更新擴展字段值

 

 解決辦法:

嘗試1, OMSR 添加新增的增強字段

 

 

 

 

 

3 個字段都維護上

 

保存修改后,再測試一下,還是不行,配置字段 沒起作用;

然后,調試標准,擴展結構字段值寫進去了,

 

電話請教同事:注意點就是OMSR 的配置

 

結果,再檢查下測試使用單301系統,沒有這個配置, 忘記了!配置要傳輸的   SCC1 傳輸配置,再測試

增強一定要記得這個配置,不然就寫不進去了

 

 

 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM