한독
RPA_HDK_002_01 1.템플릿 파일 [RPA_HDK_002_기준정보.xlsx] 파일 다운 후 [01_ACK] 시트 확인 2.![[Pasted image 20250210134838.png]] ![[Pasted image 20250219090030.png]] 메일 attachment에서 사용할거 .name/ .size / .contentType /
InitOnce
-변수설정, 기준정보파일 읽기, 받은편지함->Foreign_today 메일 이동,
SetTransation
-인수를 통해 False 이면 트랜잭션이 기준정보가 되고, Ture이면 트랜잭션이 없다
StepA
-Foriegn_today 메일함에서 메일 제목, 메일 수신시간(시,분,초까지), 첨부파일 다운 yyyyMMdd/파트너사명 경로에 저장(트랜잭션마다 폴더 경로 생성)
[•첨부파일이 1건인 경우 : 확장자 상관없이 다운로드
•첨부파일이 2건 이상인 경우
•XML 복합 건 : 2개 이상 XML의 경우, XML 파일 제목에 E2BR3 포함 되어 있는 것만 처리
•ZIP 파일 : 압축 해제하여 안에 있는 XML 파일만 처리(거의 XML 파일 1개 존재, 예외의 경우 여러 확장자가 섞인 건과 동일하게 처리)
•여러 확장자가 섞인 건 : XML 만 처리(XML 여러 건인 경우 XML 복합 건 방식으로 처리)]
-받은 첨부파일에 XML이 있다면 <id extension=> 을 보고서관리번호 추출
-받은 첨부파일에 PDF가 있다면 “24b. MFR CONTROL NO.”에 보고서관리번호 추출
StepB
-A에서 추출한 보고서관리번호, 입수일, 보고서생성시각, 메일제목, 첨부파일저장경로, 첨부파일확장자, 첨부파일용량을 엑셀 입수관리 폴더에 입력(파일명:입수목록_yyyyMMdd)
StepC
-ACK 회신메일 발송(각 트랜잭션인 파트너사에서 온 메일마다 회신 메일 발송) -ACK 회신메일 발송 한 내역 엘셀 파일에 저장 (파일명:해외사례 ACK 발송 결과 리스트)
StepD
-회신발송한 메일 Foriegn_today 메일함에서 FOREIGN 메일함으로 이동
Stepfinal
-결과 메일 발송(첨부파일:입수목록_yyyyMMdd, 해회사례ACK 발송 결과 리스트)
DT만드는 법
%{ ^[‘작업일자’, ‘물류업무’, ‘센터명’, ‘결과’, ‘비고’], [Str_수행일자, ‘HYPER_FLOW’, ‘안성ADC물류센터’, ‘’, ‘’], [Str_수행일자, ‘SORTER등록’, ‘안성ADC물류센터’, ‘’, ‘’], [Str_수행일자, ‘HYPER_FLOW’, ‘NEW함안상온물류센터’, ‘’, ‘’], [Str_수행일자, ‘SORTER등록’, ‘NEW함안상온물류센터’, ‘’, ‘’] }%
Xml 도큐먼트.Children으로 마지막 한줄 행에 이유없이 자동으로 xmlns=”urn:hl7-org:v3” 요소가 추가됨
![[Pasted image 20250211090934.png]]
1.Xml 해결방법 = //*로 경로에 *를 해주면 인식이 찾을려는 속성에 요소 값을 가져오는게 가능해짐 2.메일 이동 및 값 추출은 메일받기를 사용해서 읽은 메일에 대한 데이터 테이불에서 가져옴
메일 받기 쿼리문 - 메일 도메인이 포함되어 있고 제목에 특정 키워드가 포함되어 있는 쿼리문
-
contains(from, ‘@apcerls.com’) and contains(subject, ‘[External] ICSR Exchange_XML’‘s_Advanz Pharma’)
-
contains(from, A) and contains(subject, B)
from/emailAddress eq ‘apcerls.com’ and contains(subject, ‘[External] ICSR Exchange_XML’‘s_Advanz Pharma’)
from: 쿼리문은
RPA_HDK_002_02
2.16.840.1.113883.3.989.2.1.3.1
MCCI_IN200100UV01/PORR_IN049016UV/controlActProcess/subject/investigationEvent/id
읽기 로직 //[name() = ‘subject’]//[name() = ‘investigationEvent’]//[@root=’2.16.840.1.113883.3.989.2.1.3.1’] //[name() = ‘PORR_IN049016UV’]//[name() = ‘controlActProcess’]//[name() = ‘effectiveTime’]
쓰기 및 수정 로직(C.1.2) //MCCI_IN200100UV01/PORR_IN049016UV/controlActProcess/effectiveTime/@value
쓰기 및 수정 로직(C.1.5) //MCCI_IN200100UV01/PORR_IN049016UV/controlActProcess/subject/investigationEvent/availabilityTime/@value
삭제 로직(C.1.9.1.r.1, C.1.9.r.2)
- 먼저 xml 파일에서 C.1.9.1.r.1, C.1.9.r.2가 요소에 포함이 되어 있는지 없는지 확인 후에 삭제하는걸로 로직만들기 //MCCI_IN200100UV01/PORR_IN049016UV/subject/investigationEvent/subjectOf1/controlActEvent/id[@root=”2.16.840.1.113883.3.989.2.1.3.3”]/@value
삭제하는 부분은 도큐머트.children으로 반복문 돌리면서 root=”2.16.840.1.113883.3.989.2.1.3.3”가 포함하는 행의 요소제거를 하도록 로직 만들기
RPA_HDK_002_03
![[Pasted image 20250213100013.png]]
메일받기 속성 ![[Pasted image 20250218101040.png]]
댓글남기기