2011년 3월 17일 목요일

File 다운로드 dialog

Excel file Download File 경로와 이름을 입력 받는 Dialog box를 표시할 때 아래의 Source를 참고하세요.
2가지 방법이 있습니다.
먼저 Function을 사용하는 방법이 있는데 이것을 사용해도 되지만 SAP에서는 폐기한 방식 이라 권장하지 않습니다.
두번째는 Class를 사용하는 방법인데, 아래 Source를 참고하세요.
나타나는 Dialog box는 동일한 것이 나타납니다.
Class의 주석 처리한 부분은 생략이 가능하지만 값을 넣을 경우 초기값 설정 및 Window title로 사용 가능합니다.


*-- 다운로드 파일명 구하기
  DATA : lv_fname    TYPE string VALUE 'SAMPLE.XLS'.
  
CALL FUNCTION 'WS_FILENAME_GET'
    
EXPORTING
      def_filename     = 
'SAMPLE.XLS'
      def_path         = 
'C:\'
      
mask             = ',*.xls,*.XLS.'
      
mode             = 'S'
    
IMPORTING
      filename         = lv_fname
    
EXCEPTIONS
      inv_winsys       = 
1
      no_batch         = 
1
      selection_cancel = 
1
      selection_error  = 
1.

  
WRITE
 :/1 lv_fname.

  
SKIP 1
.

  
DATA : lv_title    TYPE string VALUE 'Title message'
,
         lv_path     
TYPE
 string,
         lv_fullpath 
TYPE string.


*-- 다운로드 파일명 구하기
  
CALL METHOD cl_gui_frontend_services=>file_save_dialog
*    EXPORTING                         " 생략가능
*      window_title      = lv_title    " 생략가능
*      default_file_name = lv_fname    " 생략가능
    
CHANGING
      filename          = lv_fname
      path              = lv_fullpath
      fullpath          = lv_path.

유용한 함수

현재 로그인 한 유저의 사번을 반환하는 함수
ZCM003_GET_USERID

File 업로드 dialog













*-- 업로드 파일명 구하기
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
    
EXPORTING                           생략가능

      window_title      = lv_title      
생략가능
      default_filename  = lv_fname      
생략가능
      initial_directory = lv_path       
생략가능
  
CHANGING
    FILE_TABLE              = lv_filetable
    RC                      = lv_answer
    USER_ACTION             = lv_answer.

PAI PBO 강제로 테우기

call method cl_gui_cfw=>set_new_ok_code
      exporting
        new_code = 'ETC'.



강제로 PAI PBO를 호출하는 함수