동적 인 동작을 통해 자바 스크립트가 실행되기 전에 여러 가지 검사를 수행하고 싶습니다. 데이터베이스에서 읽기 전용 필드 (P4_NEXT_RENEWAL_DATE)로 되돌아 오는 날짜가 오늘의 시스템 날짜보다 늦은 경우에만 지역을 표시하기를 원합니다.Oracle Apex 5의 다이나믹 동작이 오라클과 날짜를 비교할 수 없습니다.
내 오라클 테이블은 날짜 필드는 읽기 전용 페이지 항목에 반환했습니다
다음 갱신 날짜 :이 같은 값을 반환
P4_NEXT_RENEWAL_DATE
16-JUL-2017
나는 아래 보이는 역동적 인 액션을 가지고 : 난 단지 내 옆에있는 경우 지역을 보여줄 것이라고 기대했다
(
(apex.item('P4_RENEWAL_REQUIRED').getValue()=='Yes' && apex.item('P4_RENEWAL_REQUIRED_AGREE').getValue()=='Agree')
||
(apex.item('P4_RENEWAL_REQUIRED').getValue()=='No' && apex.item('P4_RENEWAL_REQUIRED_AGREE').getValue()=='Disagree')
)
&&
Date.parse(apex.item('P4_NEXT_RENEWAL_DATE').getValue()) > new Date()
가이 마지막 비트 작동하지 않습니다되고,
&& Date.parse(apex.item('P4_NEXT_RENEWAL_DATE').getValue()) > new Date()
갱신 날짜는 오늘 날짜보다 늦었습니다 .... 그러나 날짜가 과거인지 미래인지에 관계없이 지역을 표시합니다.
내 읽기 전용 필드가 P4_NEXT_RENEWAL_DATE에 날짜의 문자열 버전을 반환하는지 또는 Apex가 오라클에서 오는 날짜 값을 알고 있으므로 자바 스크립트가 날짜 값으로 취급하는지 확신 할 수 없습니다. 몇 가지 date.parse() 메서드를 시도했지만 아무 것도 작동하지 않는 것 같습니다.
&& apex.item('P4_NEXT_RENEWAL_DATE').getValue() > new Date()
어떤 조언 :
은 또한 다음 Date.parse를 사용하지 않고, 내가 돌아 원시 날짜 개체를 통해 것 직선 apex.item.getValue() 호출을 사용하지만, 운이 하나되지 시도 고맙습니다.
필자는'Date.parse'에 실마리가 없지만 P4_NEXT_RENEWAL_DATE에 보유 된 값은 ** 문자열 **입니다. '16 -JUL-2017 '. 그래서 질문입니다 :'Date.parse'는 그 형식의 문자열을 처리 할 수 있습니까? –
오라클은 왜 날짜 열에서 날짜 값을 가져 와서 string 유형의 바인드 (?) 변수 인 페이지 항목에 보유합니까? 필자는 3 개의 오라클 부분 문자열을 사용하여 날짜를 3 부분으로 나누려고했습니다 ... "2017 년 7 월 16 일"등의 부분에서 문자열을 작성했지만 여전히 기쁨은 – smackenzie
입니다. Google Date.parse와 DD-MMM-YYYY '해결책 제안. 'apex.item'는 자바 스크립트 함수 (오라클 제공)이며, "text"유형의 입력이며, 데이터베이스의 열을보고 있지 않으므로 날짜 값을 가지고 있다는 것을 모릅니다. –