디렉토리에 저장된 이미자파일을 불러와서 인포타입이나 alv 에 이미지를 보이게
해야하는데 웹저장소나 문서 이미지 파일 보여주는건 해봤는데..
디렉토리 파일은 다운로드해서 파일 여는거까진 해봤지만 이미지 뿌려주는건 어떻게 해야하는지 잘 모르겠습니다.
댓글 4
-
지의
2009.04.08 02:13
-
hogun
2009.04.08 20:23
DATA: url TYPE cndp_url,
pic1 TYPE REF TO cl_gui_picture,
container1 TYPE REF TO cl_gui_custom_container.
DATA: gt_wwwtab LIKE wwwparams OCCURS 0 WITH HEADER LINE.
CLEAR : gt_wwwtab.
SELECT SINGLE *
INTO gt_wwwtab
FROM wwwparams
WHERE relid = 'MI'
AND objid = 'ZCOREANA_LOGO'. "SMW0에 등록한 Obj File 이름
IF NOT container1 IS INITIAL.
CALL METHOD container1->free.
ENDIF.
CREATE OBJECT container1
EXPORTING
container_name = 'LOGO'.
CREATE OBJECT pic1
EXPORTING
parent = container1.
** 이미지 크기에 맞게 보임.
* CALL METHOD pic1->set_display_mode
* EXPORTING
* display_mode = cl_gui_picture=>display_mode_normal.
* 컨테이너 영역크기에 맞춰 보여주기
CALL METHOD pic1->set_display_mode
EXPORTING
display_mode = cl_gui_picture=>display_mode_stretch.
CALL FUNCTION 'DP_PUBLISH_WWW_URL'
EXPORTING
objid = gt_wwwtab-objid
lifetime = 'T'
IMPORTING
url = url
EXCEPTIONS
OTHERS = 1.
IF sy-subrc = 0.
CALL METHOD pic1->load_picture_from_url_async
EXPORTING
url = url.
ENDIF.
에서 디렉토리 파일일 경우 url에 어떤값을 넣어야되는지 몰라서요.
아님 다른 메소드를 호출해야하는건지?? -
정군
2009.04.08 20:49
코리아나 프로젝트이신가보네요. ㅡ.ㅡ;
테스트 해보고 말씀드리는게 순리겠으나.. 계속 답이 없길래 추측성 답을 드립니다;;
저 클래스는 제가 예전에 테스트하며 공부할 때 기억으로는 web 관련인거 같은데요.
소스는 일단, web repositary에 있는 파일을 가져와서,
그것에 강제로 URL을 할당한 다음 그 url로 customer container에 잇는 screen에 보이도록 하는 것으로 보입니다.
즉, 일반 디렉토리에 잇는 것이 강제로 URL이 만들어지냐는 것인데요...
결론은 저 함수들로는 안될거 같습니다.
애초 태생이 그런게 아니기 떄문이죠.
다른 것을 찾으셔야 할 듯 합니다.
아니면 로컬에 있는 파일을 web repositary로 등록하는 class나 함수를 찾으셔서
그 로직을 요 앞에 넣으시거나요.
-
hogun
2009.04.10 20:31
url이 없어서 웹저장소에 저장하는건 오브젝트아이디 가져와서 하면되는데
경우가 조금 달라서요. 고민해보고 안되면 우선은 보류해둘려구요.
답변 감사합니다.
오래전에 한번 해봤었는데.... 상당히 재미 없었던 기억이 있네요...
CLASS : cl_gui_picture 를 참조하시고 이 그림을 뛰워 줄려면 Container 가 필요한 것으로 기억합니다.