선형처리 - 오케스트레이터 Queue 없이 작업
반복 작업 x, Get Transaction Data는 1회
(Queue Item은 사용, 빈 값으로)
- 다음에서 날씨 추출
Transaction을 더 실행해야 할 지 말지는 Data가 Null (Nothing)값인지를 보고 판단
1. Init 단계에서 Add Queue 아이템 지우기
2. Set Transiaction Status 단계에서 Get transaction item 비활성화
조건 분기 필요/ 1,2,3... transaction 숫자를 붙임
(Main에 TransactionNumber가 생성되어 있음, Get Transaction Data 단계에서 in_Transaction Number와 연결해뒀음)
If- Only 1 Transaction
Condidtion:
in_TransactionNumber = 1
Then
out_TransactionItem = New QueuItem (빈 값: 실행은 될 것, Null 아님 )
Else
out_Transactionitem = Nothing (Null 값)
* 참고
Null은 판단할 수 없는 값 / 빈 값은 값이 없음을 판단 가능
3. Process > Set Transaction Status > Success > Set Transaction Status(Success) 비활성화
Buseinss Exception > Set Transaction Status 비활성화
System Exception > Set Transaction Status 비활성화
반복처리
Process Transaction에서만 반복, Get Transaction Data는 1회
; 엑셀파일 활용하여 작업
- 홈택스 사업자 조회 결과 이메일 보내기
1.Init > KillProcess > Kill Process 액티비티 "Chrome"
2. Config 파일 수정
3. int > IniniAllApplications > Open Browser
in_Config("홈택스_URL").ToString
4. Gettransactiodata > GetTransactionItem 비활성화
If- Only 1 Transaction
Condidtion:
in_TransactionNumber = 1
Then
out_TransactionItem = New QueuItem (빈 값: 실행은 될 것, Null 아님 )
Else
out_Transactionitem = Nothing (Null 값)
5. Process Transaction > Process
홈택스 과제 붙여넣기 (Close Tab은 End Process에서 사용할 예정이므로 삭제)
6. Set Transaction Status
Success, Business Exception, System Exception에서 Set Transaction Status 비활성화
7. End Process
strMailBody = String.Format(Config("메일내용").ToString, Now.ToString("yyyy년 MM월 dd일"))
Send Outlook Mail Message
To : Config("mailTo").ToString
Subject: Config("메일제목").ToString
Body: strMailBody
속성 값에 account와 CC 설정
8. Process에서 strFilePath를 인수로 전환
out_strFilePath
9. Process Transaction > Invoke Process Workflow > Ctrl K하여 strFilePath 생성하고 out_strFilePath와 연결
* 변수 범위 조정
10. End Process
Send Outlook Mail Message
Attah Files
In 후에 strFilePAth
11. Close All Applications
AttachBrowser > Close Tab
[Tip]
Queue Item을 DataRow로 변경하다보면 Nothing 값 자체(변수 패널도 확인할 것)에 오류가 발생할 수 있으니 Ctrl + X해서 잘라내기 한 다음 바깥 아무데나 클릭찍고 Ctrl+V해서 붙여놓고 Ctrl+S
Transaction 기반처리
Get Transaction Data부분에서 반복이 발생하고 End로 흘러감
- 홈텍스에서 사업자등록번호로 사업자 상태 조회하기
1. Intialization 하단에
Excel Applicaion Scope : Config("InputFilePath").ToString
데이터 테이블 dtCompany
dt_TransactionData = dtCompany
Log Message: "데이터 행수: " + dt_TransactionData.Rows.Count.Tostring
( 행수 Count해서 반복 작업 하려는 의도)
2. InitAllApplications
Open Browser 내에
기존홈텍스 메뉴 Click
사업자등록번호로 조회 Click
3. Main 변수 패널 열어
TransactionItem 변수 Type을 QueItem에서 Datarow(System) 변경
4. GetTransaction Data > Invoke GetTransactionData workflow > Open Workflow 내에 변수 패널 열어
out_TransactionItem 변수 Type을 QueItem에서 Datarow(System) 변경
5. Invoke > Import Argument 에서 out_TransactionITem과 TransactionItem 연결
6. Get Trasaction Data 에서
Get Transaction Item은 비활성화
If
Condition : in_TransactionNumber<= io_dt_TransactionData.Rows.Count
Then
out_TransactionItem = io_dt_TransactionData.Rows(in_TransactionNumber -1)
Else
out_TransactionItem = Nothing
7. Set Transaction Status 에서 세 가지 Transaction Status는 모두 비활성화
8. Process 내에 변수 패널 열어
in_TransactionData를 QueItem에서 Datarow로 Type 설정
in_TransactionNumber in int32 인수 설정
io_dt_TransactionData io dt 인수 설정
9. Main에서 Invoke Process Workflow > Import Argument 에서 다음과 같이 Value 값과 연동 (+in_TransactionItem 역시 TransactionItem과 연동)
For Each 내에 액티비티 다 밖으로
Set Text
in_TransactionItem("사업자등록번호").ToString
Assign에 strText 앞에 in_TransactionItem으로 변수 변경
If
Condition: strComment.Contains("폐업")
Then
io_dt_TransactionData.Rows(in_TransactionNumber-1).Item("상태") = "폐업"
Else
If
Condition: strComment.Contains("휴업")
Then
io_dt_TransactionData.Rows(in_TransactionNumber-1).Item("상태") = "휴업"
Else
io_dt_TransactionData.Rows(in_TransactionNumber-1).Item("상태") = "사업중"
10. Get Transaction >
TransactionItem = Nothing (Nothing입력)
오류가 발생하면 Nothing 부분은 또 다시 수정
9. SetTransactionStatus > SetTransactionStatus(Success) > Open > Arguments > in_TransactionItem Que Item 을 dataRow로 전환
10. End Process
Assign 전에 Write Range 붙이기 Scope 내에 strFilePath(Config로 변경) 로 변수 입력
Config 파일 열어
SheetName = 휴폐업조회목록 추가
Write Range 내에
Config("SheetName").ToString
dt테이블
dt_TransactionData
'UiPath' 카테고리의 다른 글
[UiPath] ADP Dump 01 (1) | 2023.12.20 |
---|---|
[UiPath] FakeNameGenerator에서 데이터 추출하여 이메일 보내기 (1) | 2023.11.02 |
[UiPath] REFramework 이론 및 실습 (0) | 2023.10.30 |
[UiPath]RE Framework 이론 및 실습2 (0) | 2023.10.30 |
[UiPath] Gmail 자동화2 (0) | 2023.10.25 |