관리 메뉴

JIHYUN JEONG

SAP 웹 저장소 ( T-CODE : SMW0 ) 본문

SAP ERP System/ABAP TIP

SAP 웹 저장소 ( T-CODE : SMW0 )

StopHyun 2013. 5. 15. 19:45


SAP 웹저장소.docx


SAP 웹 저장소

( T-CODE : SMW0 )

□ 사용목적

 - 파일 업로드 양식을 올려두기 위해 (BDC, Excel Upload할 때)

 

□ 방법

 1. SMW0에 문서저장하기.

https://t1.daumcdn.net/cfile/tistory/17346C044BDD4FF50A

 

2. 패키지를 입력 > 확인

3. 생성을 누른다

 

4. Obj.name과 내역을 입력 > Import 클릭

 

 

 

 

 

 

5. Import한 파일 선택 > 열기

 

6. 개발클래스에 저장합니다.

 

 

 

 

 

 

7. 아래와 같이 SAP 웹 저장소에 사용할 파일이 업로드 되었습니다.

 

지정된 MIME유형이 없다는 에러가 뜨는 경우

 → 세팅 -> mime유형 유지보수에서 word 파일에 대해 *.doc확장자로 등록

 

 

 

□ 소스코드

1. 매크로 없이 그냥 단순히 양식만 다운받을 때

 

  DATA LV_RC           TYPE I.
  
DATA LV_FILENAME     TYPE LOCALFILE.
  
DATA LS_WWWDATA_ITEM TYPE WWWDATATAB.


  
SELECT SINGLE FROM  WWWDATA
    
INTO CORRESPONDING FIELDS OF LS_WWWDATA_ITEM
   
WHERE OBJID 'ZSMW0_TEST'.   "<-- SMW0 Object 명입니다.


  
IF SY-SUBRC NE 0.
    
MESSAGE S398(00DISPLAY LIKE 'E' WITH TEXT-E02.
    
EXIT.
  
ENDIF.

  
CALL FUNCTION 'DOWNLOAD_WEB_OBJECT'
    
EXPORTING
      
KEY LS_WWWDATA_ITEM.

 

 

2. 위 보다 조금 더 상세설정을 하고 싶을때 사용하는

- 예를 들면 파일저장창에 확장자를 주고 싶거나 할때 아래의 로직을 사용

 

 

  DATA LS_WWWDATA_ITEM TYPE WWWDATATAB.
  
DATA LT_MIME LIKE W3MIME OCCURS 100 WITH HEADER LINE.

  
SELECT SINGLE FROM  WWWDATA
    
INTO CORRESPONDING FIELDS OF LS_WWWDATA_ITEM
   
WHERE OBJID 'ZSMW0_TEST'.   "<-- SMW0 Object 명입니다.

  
IF SY-SUBRC NE 0.
    
MESSAGE S398(00DISPLAY LIKE 'E' WITH TEXT-E02.
    
EXIT.
  
ENDIF.


  
CALL FUNCTION 'WWWDATA_IMPORT'
    
EXPORTING
      
KEY               LS_WWWDATA_ITEM
    
TABLES
      MIME              
LT_MIME
    
EXCEPTIONS
      WRONG_OBJECT_TYPE 
1
      IMPORT_ERROR      
2
      
OTHERS            3.


  
DATA L_FILENAME  TYPE STRING,
         L_PATH      
TYPE STRING,
         L_FULLPATH  
TYPE STRING,
         L_FILESIZE
(10),
         L_SIZE      
TYPE I.

  
CALL FUNCTION 'WWWPARAMS_READ'
    
EXPORTING
      RELID 
LS_WWWDATA_ITEM-RELID
      OBJID 
LS_WWWDATA_ITEM-OBJID
      NAME  
'filesize'
    
IMPORTING
      
VALUE L_FILESIZE.

  
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG
    
EXPORTING
      DEFAULT_EXTENSION 
'XLS'
    
CHANGING
      FILENAME          
L_FILENAME
      PATH              
L_PATH
      FULLPATH          
L_FULLPATH.

  L_SIZE 
L_FILESIZE.

  
CALL FUNCTION 'GUI_DOWNLOAD'
    
EXPORTING
      FILENAME     
L_FULLPATH
      FILETYPE     
'BIN'
      BIN_FILESIZE 
L_SIZE
    
TABLES
      DATA_TAB     
LT_MIME.

 

3. AMIGOS > ZPPMR_RPT14 에서 사용한 방법

  CALL FUNCTION 'SAP_OI_LOAD_MIME_DATA'
    
EXPORTING
      object_id        
c_object_id  "<-- SMW0 Object 명입니다.

    
IMPORTING
      data_size        
doc_size
      document_format  
doc_format
      document_type    
doc_type
    
TABLES
      data_table       
doc_table
    
EXCEPTIONS
      object_not_found 
1
      internal_error   
2
      
OTHERS           3.

 

Comments