[UiPath] FakeNameGenerator에서 데이터 추출하여 이메일 보내기
:: Orchestrator의 Queue를 사용하지 않는 Transaction 기반의 반복 처리 과제
[Process title] FakeNameGenerator에서 데이터 추출하여 이메일 보내기
[Process description]
[Additional information (e.g., author, contact information and applications involved and required external setup)]
Robotic Enterprise Framework를 이용하여 트랜잭션 기반 처리 방식으로 개발하세요.
Config파일에 입력할 데이터는 3페이지를 참고하세요.
1. FakeNameGenerator 사이트에 접속하세요.
2. 2페이지의 설명을 참고하여 5명의 데이터를 추출합니다.
※ 이메일 뒤의 ‘This is ~ activate it!’ 부분은 삭제하세요.
3. 데이터 추출이 모두 끝나면 웹브라우저는 닫아 주세요.
4. 2에서 추출한 데이터를 프로젝트 폴더 내 Data > Output 폴더 안에 엑셀파일로 저장하세요.
5. Outlook으로 4에서 저장한 엑셀파일을 첨부하여 발송하세요.
※ 위 4번의 결과파일의 폴더경로 및 이름, 5번의 이메일과 관련하여 필요한 사항은 Config 파일에
저장하여 사용하면 됩니다. 3페이지를 참고하세요.
Point 1. Transaction Item : 기존의 QueItem > DataRow 변경하여 사용
- Transaction Item의 모든 인수, 변수는 Type을 변경
Point 2. Set Transaction Status : Orchestrator의 Queue 상태를 변경해주는 머신이므로 모두 비활성화 상태로 변경
Point 3. Nothing : QueItem > DataRow로 변경을 한 부분이므로 Ctrl+X 잘라내고 바깥 부분 클릭하고 Ctrl + V 하는 작업 필요 (변수 패널도 확인)
Initializiation 단계
1) Config 파일 수정
2) Fakenamecreator 사이트 가서 추출해야 할 데이터 확인 및 경로 확인
3) Kill Process를 통해 Chrome 브라우저 닫고 시작
4) Build Data하여 dt_Transactiondata 변수 지정
- 이 DT의 Row각 프로세스에서 처리 될 Transaction Item
5) 처리해야 할 Datarow의 Row 수를 Count하여 Log Message로 출력
Get Transaction Data 단계
반복 작업할 데이터를 받는 단계
1) TransactionNumber의 Default 의 값이 1로 설정되어 있음을 확인
2) Invoke GetTransactionData의 Workflow
2-1) Orchestrator Queue에서 Transaction Item을 받는 Get TransactionItem 상태 비활성화
2-2) TransactionNumber가 DT Rows 수 보다 같거나 작을 경우
in_TransactionNumber<= io_dt_TransactionData.Rows.Count
TransactionItem은 TransactionNumber - 1하는 DT의 Rows로 간주
out_TransactionItem = io_dt_TransactionData.Rows(in_TransactionNumber -1)
그렇지 않을 경우 TransactionItem은 Null 값 (판단 불가)
out_TransactionItem = Nothing
Process Transaction 단계
실제로 반복할 프로세스를 추가
1) TransactionData, TransactionNumber 인수를 Process Transaction에서 생성
2) Attach Browser와 Click 액티비티
3) Get Text
4) 데이터 정제 후 dt_Transactiondata에 데이터 입력
5) Set Transaction Status 는 모두 비활성화 상태로 변경
End Process 단계
1) Excel 파일 저장
- Path.Combine(저장경로, 파일명)
2) 이메일 쓸 내용 String.Format
3) 이메일 발송
4) Close Tab