2016-12-23 4 views
0

Я работаю над SAP JCo. и получить исключение при установке DATE '12 .16.2016'com.sap.conn.jco.ConversionException: (122) JCO_ERROR_CONVERSION: поле String to Date

Исключение: com.sap.conn.jco.ConversionException: (122) JCO_ERROR_CONVERSION: Невозможно преобразовать значение '12 .16.2016' от типа java.lang.String к СТРУКТУРЕ в поле DATE.

Мой код

public static void YP_ECA_VIN(String date, String plant) throws Exception { 
    try { 
     JCoDestination destination; 
     JCoRepository sapRepository; 
    destination = JCoDestinationManager.getDestination(DST1); 
    JCoDestinationManager.getDestination(DST1);  
    JCoContext.begin(destination); 
    sapRepository = destination.getRepository();   
    if (sapRepository == null) { 
     System.out.println("Couldn't get repository!"); 
     JCoContext.end(destination); 
     System.exit(0); 
    } 
    JCoFunctionTemplate template =  sapRepository.getFunctionTemplate("YP_ECA_VIN");  
    if (template == null) { 
     System.out.println("Couldn't get template for YP_ECA_VIN!"); 
    } else { 
     JCoFunction function = template.getFunction(); 
     function.getImportParameterList().setValue("DATE", "12.16.2016"); 
     function.getImportParameterList().setValue("PLANT", plant); 
     function.execute(destination); 
     int numTRows = 0; 
     int numTCoulmns = 0; 
     JCoTable table = function.getExportParameterList().getTable("OUTPUT"); 
     // some code 
    } 
+1

Просьба также написать подпись функционального модуля. – vwegert

ответ

0

Все параметры в JCO.Functions должны быть строками. Постарайтесь также установить значения даты как строки. В SAP формат для строк даты - «yyyyMMdd», например «20161223».

+0

сейчас получение: com.sap.conn.jco.ConversionException: (122) JCO_ERROR_CONVERSION: Невозможно преобразовать значение '20161223' из типа java.lang.String в STRUCTURE в поле DATE – dinesh

+0

теперь может быть, вы должны проверить это поле .. Также убедитесь, что вы не рассматриваете таблицу как структуру, поскольку она может дать такую ​​ошибку. – Pritam

0

Параметр импорта RFM с именем DATE, очевидно, не имеет тип даты, а тип структуры. В этом случае вам придется использовать экземпляр JCoStructure на стороне JCo, а не String.

Но я предпочел бы, что вы допустили ошибку при определении интерфейса YP_ECA_VIN на удаленном функциональном модуле со стороны ABAP, и вы хотели бы, чтобы этот параметр DATE импорта был действительно типом даты ABAP.