*미리말해두는 부분*
text 하드코딩은 하지 않는게 좋다..
물론 난 코드에 해뒀는데 사실 text심볼에 넣는게 맞다.
텍스트 하드코딩 하면 하수란 소리를 듣는다..
그래서 하수코딩을 하였다... ㅎ
그러니 이걸 정보로 만드는 초중고급자분들은
나와같이 짜지말고 text symbol을 쓰자..
(사실 업그레이드 계획이있어서 ...)
*요약 포인트*
사용한 주요 펑션(key function..)
1. so_folder_root_id_get
2. so_new_document_att_sendapi1 (mail용)
3. so_document_insert_api1 (저장용)
-----'아래는 alv 조회 후 다운할때 씀
4. so_document_read_api1 (읽어오는용)
5. so_object_download (pc저장)
사실 전표 관련해서는 기존 프로그램에 gos attach들을 많이 쓰기에 쉬울줄 알았으나 이건 그냥 자료 취합 후 파일저장 / 읽어오기가 전부이므로
gos를 붙일 필요가 없었다..
이 프로그램은 여기저기서 정보를 끌어 itab 만든후
이메일 쏘면서 첨부로 붙여주는게 목적이므로....
그냥 itab to excel and attach 만 하면된다.
그러나 혹시 몰라 저장도 해두는것이다 .
(sost 전송메일에 가면 사실 excel도 재 다운가능하다만...)
1. 우선 내가 보낼 정보는 ITAB에 담았다.
2-1 이메일 수신자 셋팅하기
get email addr부분안에서 만들건데
결국 이메일 주소 넣기가 끝이다.. 2번째 사진 참고
receiver_email type wt_email.
즉 receiver_email = 'asaa@bbb.com'.
같은게 들어감 된다.
2-2 메일 본문 생성
form email contents 부분이다.
이게 본문으로 들어간다....
2-3 itab으로 email 첨부할 excel data 를 만들어준다.
3. 메일 전송할 패킹리스트를 만들어준다.
이 부분은 메일에 제목은 뭔지 / 본문은 뭔지 / 첨부는 뭔지 붙여넣는 부분이다...
위에 이어서...
4. 메일을 전송한다.
(commit work 에 체크해라. 따로 펑션아래 할 필요없다. 또한 submit rsconn01 로 바로 메일전송 레포트를 실행한다.. sost에서 바로 보임)
5. 위 이메일에서 만든 정보를 이용하여 sap 에 저장한다. (이 부분은 파일서버에 해도되나 open dataset 하며 만들어 주는게 더 불필요한 생각이 들었다. 코드도 더 길어지고.. 어짜피 메일첨부로 만든거..)
여기서 point는
결국 doc_id만 잘 저장해 두면 추후에 잘 빼둘 수 있으므로 log db를 만들어 저장해 두었다...
(전송일시 파일라인수 doc id 메일전송 리턴값 등등 대충 log 만듬...)
메일전송에 파일 저장까지 끝났다...
======doc id excel pc download
이제부터는 저장한 파일 불러와서 내 pc로 다운도 되게 만들꺼다...
display 화면은 귀찮아서 salv로 만들고 double click event 넣어 해당 필드 더블클릭하면 다운로드 하게 만들었다.
이 부분은 alv 부분들이니 스킵하고 조회 및 다운 코드만 넣겠다.
이렇게 하면 pc로 직접 디렉토리 지정해서 다운로드 할 수 있다.
아래 들어가서 한번씩 보면 위 컨셉이 이해가 간드.
코딩 카피는 아래에서 하시라....
우린 카피도 안되고 다 직쩝 짜야해서... ㅎㅎ
코딩힌트 외국사이트
https://abapexample.com/how-to-send-email-with-excel-file-attachment-from-itab-in-abap/
아래는 gos 힌트
https://sapintegrationhub.com/abap/attach-any-file-sap-business-document-gos/
'ERP-SAP > ABAP' 카테고리의 다른 글
<ABAP> 파일전송(OPEN DATASET) 시에 고정자릿수로 전송하는법(라인 일정길이 고정 유지 파일 전송) (0) | 2024.04.04 |
---|---|
<abap> bcs를 이용 gos 데이터를 읽어 mail로 첨부하여 전송 (0) | 2024.03.06 |
<ABAP> MM CBO STRUCTURE SCREEN VALUE SAVE . MM 생성 CBO데이터 저장하기 (0) | 2024.02.19 |
<ABAP> IMG(SPRO)에 메뉴 만들어 넣기(IMG MENU TREE INSERT) (2) | 2024.01.10 |
<ABAP> ABAP 처리 속도 향상 로직 튜닝하기 (1) | 2024.01.09 |