본문 바로가기

SAP/BSP

BSP - 각 필드의 자동 합계 소스

사용자 삽입 이미지


다음 소스는 자동합계를 구현한 것이다.(별건 없고 자바 스크립트를 BSP에 맞게 고친것)

자세히 보면 커서가 움직일때마다 막혀있는 inputField 가 합계로 나타난다.

예제소스>

<%@page language="abap" %>
<%@extension name="htmlb" prefix="htmlb" %>
<%@extension name="bsp" prefix="bsp" %>
<script>
function Sum(){
  document.wdr.MULT.value = Number(document.wdr.Field1.value)
                            + Number(document.wdr.Field2.value)
                            + Number(document.wdr.Field3.value) ;
}
</script>
<%
   data tmp_string type string.
   tmp_string = `<input onChange="javascript:Sum();"`.
%>
<htmlb:content design="design2003" >
  <htmlb:page title="On Change Event Checker " >
    <htmlb:form id="wdr" >
      <bsp:findAndReplace find = "<input" replace = "<%= tmp_string %>" >
        <htmlb:inputField id        = "Field1"
                          value     = " "
                          alignment = "left"
                          type      = "integer"
                          encode    = "true"
                          design    = "standard"/>
        <htmlb:inputField id        = "Field2"
                          value     = " "
                          alignment = "left"
                          type      = "integer"
                          encode    = "true"
                          design    = "standard"/>
        <htmlb:inputField id        = "Field3"
                          value     = " "
                          alignment = "left"
                          type      = "integer"
                          encode    = "true"
                          design    = "standard"/>
        <htmlb:inputField id        = "MULT"
                          value     = " "
                          alignment = "left"
                          type      = "integer"
                          encode    = "true"
                          design    = "standard"
                          disabled  = "true"/>
      </bsp:findAndReplace>
    </htmlb:form>
  </htmlb:page>
</htmlb:content>


<%@extension name="bsp" prefix="bsp" %>  <--이부분을 빼먹으면 실행이 안됨

html의 input 필드의 Attribute에는 OnChange라는 속성이 있는데 htmlb에서는 없다.

따라서 bsp extension을 이용하여 onchange를 구현한 부분이다.

덧셈이외에도 다양한 연산이 가능하다.(자바 스크립트에 맞게 쓰시길)