버튼클릭이나 이미지클릭처럼 바로 다음 창을 열때 말고 이벤트를 태우고
특정값을 가지고 다음페이지에 팝업을 부를때 사용되는 소스
*--------------------------------------------------------------------*
* Layout
*--------------------------------------------------------------------*
<script language="JavaScript">
var mywindow;
function zcall_page(pgmid, para) {
mywindow = window.open(pgmid+"?sap-params="+para, "", "left=100,top=50,scrollbars=1,resizable=1,width=800,height=600");
mywindow.creator=self;
}
</script>
<%
DATA : url_input TYPE STRING,
url_output TYPE STRING.
IF MESSAGE_FLAG EQ 'POPUP'.
CLEAR : URL_INPUT, URL_OUTPUT.
CONCATENATE 'ipf_para=' IPF_RFQNO " ''이 안에 문자는 반드시 소문자
INTO URL_INPUT.
CALL FUNCTION 'ZVIW_URL_ENCODE' " 파라메타 암호화(넘기는값을 주소창에 보여주지 않음)
EXPORTING " 하지만 주소창은 자동 decode가 됨
UNENCODE = URL_INPUT
IMPORTING
ENCODE = URL_OUTPUT .
%>
<SCRIPT LANGUAGE="JAVASCRIPT">
zcall_page('aa.htm', '<%=URL_OUTPUT%>');
</SCRIPT>
<%
CLEAR : MESSAGE_FLAG.
ENDIF.
%>
*--------------------------------------------------------------------*
FUNCTION ZVIW_URL_ENCODE.
*--------------------------------------------------------------------*
*"----------------------------------------------------------------------
*"*"Local interface:
*" IMPORTING
*" REFERENCE(UNENCODE) TYPE STRING
*" EXPORTING
*" REFERENCE(ENCODE) TYPE STRING
*"----------------------------------------------------------------------
DATA : TEMP_STRING TYPE STRING,
TEMP_VALUE TYPE STRING,
TEMP_NAME TYPE STRING,
ESCAPED_VALUE TYPE STRING.
TYPES: BEGIN OF UNENCODED_ITAB_TYPE,
UNENCODED(1024) TYPE C,
END OF UNENCODED_ITAB_TYPE.
DATA: UNENCODED_ITAB TYPE STANDARD TABLE OF UNENCODED_ITAB_TYPE
WITH NON-UNIQUE DEFAULT KEY INITIAL SIZE 10
WITH HEADER LINE.
SPLIT UNENCODE AT '&' INTO TABLE UNENCODED_ITAB.
LOOP AT UNENCODED_ITAB.
CLEAR : TEMP_VALUE, TEMP_NAME, ESCAPED_VALUE.
SPLIT UNENCODED_ITAB AT '=' INTO TEMP_NAME TEMP_VALUE.
CALL METHOD CL_HTTP_UTILITY=>IF_HTTP_UTILITY~ESCAPE_URL
EXPORTING
UNESCAPED = TEMP_VALUE
OPTIONS = '1'
RECEIVING
ESCAPED = ESCAPED_VALUE.
IF TEMP_STRING IS NOT INITIAL.
CONCATENATE TEMP_STRING '&' INTO TEMP_STRING.
ENDIF.
CONCATENATE TEMP_STRING TEMP_NAME '=' ESCAPED_VALUE INTO TEMP_STRING.
ENDLOOP.
CALL METHOD CL_HTTP_UTILITY=>IF_HTTP_UTILITY~ENCODE_BASE64
EXPORTING
UNENCODED = TEMP_STRING
RECEIVING
ENCODED = ENCODE.
ENDFUNCTION.
'SAP > BSP' 카테고리의 다른 글
BSP - 화면 접기와 펼치기 (0) | 2008.02.25 |
---|---|
BSP - 파일 업로드와 다운로드2 (0) | 2008.02.25 |
BSP - 띄워지는 화면 최대화 (0) | 2008.02.25 |
BSP - BSP에서의 LONG TEXT 입출력.. (0) | 2008.02.25 |
BSP - OnManipulation (0) | 2008.02.25 |