2017-03-08 13 views
0

Microstrategy에서 명령 관리자 절차 아래에서 실행 중이지만 문자열을 날짜로 변환하지 않았습니다. 많은 옵션이 사용되었습니다. 누군가가 도와 주실 수 있습니까?MicroStrategy의 명령 관리자 프로 시저가 날짜로 변환되지 않습니다

*********** PROCEDURE*************************************** 

String sQuery = "LIST ALL SUBSCRIPTIONS FOR SCHEDULE \"" + sScheduleName + "\" FOR PROJECT \"" + projectName + "\";"; 
ResultSet oSubs=executeCapture(sQuery); 
oSubs.moveFirst(); 

while(!oSubs.isEof()){ 
String sSubsName = oSubs.getFieldValueString(DisplayPropertyEnum.GUID); 
ResultSet RecList = executeCapture("LIST ALL PROPERTIES FOR SUBSCRIPTION GUID " +sSubsName+ " FOR PROJECT \"projectname\";"); 
RecList.moveFirst(); 
while(!RecList.isEof()){ 
ResultSet oResultSetSubProps = (ResultSet)RecList.getResultCell(SUBSCRIPTION_RESULT_SET).getValue(); 
oResultSetSubProps.moveFirst(); 
while(!oResultSetSubProps.isEof()) 
{ 
String d1 = oResultSetSubProps.getFieldValueString(DisplayPropertyEnum.EXPIRATIONDATE); 

// the below few lines in red return nothing, its unable to convert to Date as it is unable to recognize the Expiration date in the String format. 


java.text.SimpleDateFormat formatter = new java.text.SimpleDateFormat("M/dd/yyyy"); 
String dateInString = d1; 
Date date = formatter.parse(dateInString); 
printOut(formatter.format(date)); 


oResultSetSubProps.moveNext(); 
} 
RecList.moveNext(); 
} 
oSubs.moveNext(); 
} 
+0

나는 파싱 할 날짜를 얻고있다 ""나는 당신이 사용하고있는 티지의 어떤 버전 M/DD/YYYY 형식 – user3438791

+0

의 올바른 형식으로 입력하고 있지만? –

+0

10.4를 사용하고 있습니다. 나는 알아낼 수 있었다. 체크인에 감사드립니다. – user3438791

답변

0

이것은 나를 위해 일했습니다. 문자열은 비어도없고 null도 아니고 공백도 아니지만 여전히 구문 분석하지 않으므로 문자열의 길이를 사용해야했습니다.

java.text.DateFormat formatter = new java.text.SimpleDateFormat("M/d/yyyy",Locale.US); 
    String dateInString = d1; 
    if(d1.trim().length()>0) 
    { 
    Date date = formatter.parse(dateInString); 
    if(todaydate.compareTo(date)>0) 
    { 
    printOut(name+";"+formatter.format(date)); 
    } 
    }