2011-11-14 188 views
0

我想使用SAP BAPI「CSAP_MAT_BOM_MAINTAIN」在SAP中創建BOM,但出現錯誤。 IFunctionTemplate ft = mRepository.getFunctionTemplate(「CSAP_MAT_BOM_MAINTAIN」);其中, System.out.println(「Functional Template Created」);錯誤使用SAP BAPI「CSAP_MAT_BOM_MAINTAIN」

if (ft == null){return;} 

    JCO.Function function = ft.getFunction(); 
    JCO.ParameterList importparams =function.getImportParameterList(); 

    // Setting HeadData Structure Information 

    //importparams.setValue("C000000609", "CHANGE_NO"); 
    importparams.setValue("CPF10104", "MATERIAL"); 
    importparams.setValue("1", "BOM_USAGE"); 
    importparams.setValue("0001", "PLANT"); 
    importparams.setValue("01", "ALTERNATIVE"); 
    importparams.setValue("11.11.2011", "VALID_FROM");  
    importparams.setValue("X", "FL_COMMIT_AND_WAIT"); 
    importparams.setValue("X", "FL_BOM_CREATE"); 
    importparams.setValue("X", "FL_NEW_ITEM"); 
    importparams.setValue("X", "FL_COMPLETE"); 
    importparams.setValue("X", "FL_DEFAULT_VALUES"); 

    JCO.Structure headStructure = importparams.getStructure("I_STKO"); 
    headStructure.setValue("01", "BOM_STATUS"); 
    headStructure.setValue("1", "BASE_QUAN"); 
    headStructure.setValue("KG", "BASE_UNIT"); 
    headStructure.setValue("BOM01", "BOM_GROUP"); 

    JCO.Table stpo = function.getTableParameterList().getTable("T_STPO"); 
    stpo.appendRow(); 
    stpo.setValue("BOM Position 2.1", "ITEM_TEXT1"); 
    stpo.setValue("L", "ITEM_CATEG"); 
    stpo.setValue("L", "ID_ITM_CTG"); 
    stpo.setValue("0010", "ITEM_NO"); 
    stpo.setValue("0010", "ID_ITEM_NO"); 
    stpo.setValue("13", "COMP_QTY"); 
    stpo.setValue("KG", "COMP_UNIT"); 
    stpo.setValue("00000001", "ITEM_NODE"); 
    stpo.setValue("00000001", "ITEM_COUNT"); 
    stpo.setValue("000000000000000000", "DEP_LINK"); 
    stpo.setValue("12345-R6000001", "COMPONENT");  
    //stpo.setValue("12345-R6000001", "ID_COMP"); 

    JCO.Table stpu = function.getTableParameterList().getTable("T_STPU"); 
    stpu.appendRow(); 
    stpu.setValue("0", "POINTER"); 
    stpu.setValue("00000000", "STLKN"); 
    stpu.setValue("0010", "STPOZ"); 
    stpu.setValue("0001", "UPOSZ"); 
    stpu.setValue("46", "UPMNG"); 
    stpu.setValue("T1", "EBORT"); 

我得到錯誤:

異常線程 「main」 com.sap.mw.jco.JCO $ AbapException:(126)錯誤:終止處理。

經過互聯網搜索後,我發現這個錯誤來自我們有錯誤的輸入參數。 但我無法找到該錯誤。

請注意,我對SAP ABAP編程知識有限。

任何人都可以幫助我嗎?

+0

對不起,但這並不多。您至少需要調試,直到它產生異常。至少可以達到這一點。 – apesa

回答

0

(126)ABAP EXCEPTION:遠程系統中的功能模塊引發異常。

我認爲你應該仔細檢查所有這些新參數,因爲在你的函數中導致了一個錯誤。

1

如果您有權訪問SAP系統,則可以運行事務ST22以獲取詳細的錯誤日誌。但是,根據Raj的建議,您可能需要在SAP內部刪除錯誤。