안녕하세요.
매일 도움 많이 받고있습니다~ ^^;
혹시 CBO테이블에 사진을 올리거나
받을수 있는가 해서요~
가능하다는 얘기는 들었는데
잘 못찾겠네요~
부탁드립니다. ^^;;;
댓글 10
-
TT
2009.12.02 20:11
-
귤탱
2009.12.02 20:43
조금만 더 자세히 갈켜주세요~ ㅜ.ㅜ;
-
요요
2009.12.03 00:59
스탠다드의 문서관리 기능을 사용하시는 것이 좋겠지만
CBO에 파일 저장 시 방법은 의외로 간단합니다.
1. 테이블 생성 raw 또는 clustd 필드로 구성된 테이블 생성
2. ASC 타입으로 파일 업로드
3 업로드한 파일을 테이블에 저장(저장방법은 export 나 insert 등 사용)
반대로 꺼내실 땐 import 나 select 하시면 됩니다.
꺼낸 데이터를 화면에 띄는 것이 문제인데요.
해당 데이터를 server 측에 경로를 지정해서 저장하여
해당 경로의 파일을 display하는 방법을 많이 쓰는 것 같아요.
도움이 되실지 모르겠네요. ㅠㅠ
-
TT
2009.12.03 01:53
먼저 테이블레이아웃
MANDT MANDT CLNT 3 0 Client
RELID SYCHAR02 CHAR 2 0 CHAR02 data element for SYST
SRTFD SYCHAR80 CHAR 80 0 Short text
SRTF2 SYBIN1 INT1 3 0 BIN1 data element for SYST
CLUSTR SYBIN2 INT2 5 0 BIN2 data element for SYST
CLUSTD CLUSTD LRAW 2886 0 Application Log: INDX tables data cluster
일단 요것들은 기본이구요. key는 srtf2 까지 잡아주시고, 더 필요한 필드는 그밑에 추가해주기..
1.업로드
* 대상파일 찾기
CALL METHOD cl_gui_frontend_services=>file_open_dialog
* 파일명 분리해내기
CALL FUNCTION 'SO_SPLIT_FILE_AND_PATH'
* 파일업로드
CALL METHOD cl_gui_frontend_services=>gui_upload
IMPORTING
filelength = g_len
CHANGING
data_tab = gt_in
* cbo저장
EXPORT data = gt_in
size = g_len
TO DATABASE zxxxxx
CLIENT '100'
ID l_id
FROM ls_upload. -
TT
2009.12.03 01:57
2.다운로드
* 파일저장할 로컬폴더지정
CALL METHOD cl_gui_frontend_services=>directory_browse
* 파일 다운로드
IMPORT data = gt_in
size = g_len
FROM DATABASE zxxx(zp)
TO ls_upload
CLIENT l_client
ID l_id.
CALL METHOD cl_gui_frontend_services=>gui_download
EXPORTING
bin_filesize = g_len
CHANGING
data_tab = gt_in
* 다운로드 파일 실행
CALL METHOD cl_gui_frontend_services=>execute
이정도로 요약해봤습니다만, 도움이 되셨으면;;
-
아밥돌이
2009.12.03 17:45
TT님 CALL METHOD하기 위해서 클래스 지정해야 하지 않나요? -
귤탱
2009.12.03 19:08
TT님 Web IN Abap님 감사합니다~
두분이 답변 주신걸 적절히 섞어서 해결했습니다~
감사합니다! ^^;
-
activeman
2009.12.03 22:37
CBO 테이블에 Image 파일이나 파일 저장하면 속도가 괜찮은지 궁금하네요..
보통 standard의 문서관리시스템(dms)에 자료를 올려서 보여 주는데 이방법하고 차이가 많이 나는지 궁금합니다.
혹시 두방법을 모두 사용해 보신분 있으시면 어느것이 더 나은지 알려주십시요.
db에 바로 저장하는것의 장점이 뭔지 좀 알려 주세요.
즐밥하세요.
-
TT
2009.12.03 23:21
귤탱님 해결되셨나보네여~ㅊㅋ
activeman님
속도 차이는;; 오히려 cbo가 빠르지 않을까합니다.
근거는 해보니깐,, 분석은 안해봐서 모르겠습니다만;;
굳이 cbo로 해준이유는 파일을 종속시켜서 업/다운을 합니다.
예를 들어서 종목코드 단위로 올린다거나, 내리거나,
그렇게 하면 서로 다른 종목코드로 파일조회시 보여지는 파일도 다르겠지효?
스텐다드로 파일서버에 올린다고 하면 이런 부분에서 많이 번거롭지 않을까요??
방법은 프로그램 단위로 폴더를 다르게 하고, 또 그밑에 종목코드별로 폴더를 다르게 하거나.
파일이름에 종목코드를 넣어서 구별해준다거나;;;; 넘 복잡해질거같군요~
그냥 cbo 테이블로 하면 종목코드, 파일이름필드 추가해서 select 하면 간단히 제어가 가능하겠지요~
제가 느낀건 이정도 입니다~ 도움이 되었으면 좋겠군효;;
-
activeman
2009.12.05 05:08
TT님 파일서버에 따로 올리는 것이 아니라 스탠다드 문서관리 기능은 SAP서버에 특정 폴더(IMG에서 세팅을 합니다)에 저장하는
것입니다.(물론 파일서버를 따로 지정을 할 수도 있습니다)
그리고 SAP의 BDS(Business Document Service)를 사용하시면 파일 이름만 있으면 자료를 불러오고 처리하는데 어려움이 없습니다.
특히 bds를 사용하면 여러 함수라던지 메소드가 있어서 프로그램도 쉽게 할 수 있습니다.
제가 생각하는것은 보통 이미지를 db에 저장하면 속도가 많이 느려지기 때문에 혹시 데이터 처리하는데 어려움이 있지 않을까
하는 생각을 해봅니다.
즐밥하세요.
cbo 테이블에 데이터 엘리먼트 CLUSTD 요걸로 필드 만들고 ,,
export 해서 테이블에 저장하시면 됩니다만,
일반파일은 사이즈 큰것들도(10메가) 업로드해봤습니다만,
사진일 경우는 2메가 두 덤프가 떨어지더군요~
이런...저두 질문이 되버렸네;;