다음을 통해 공유


Power Automate로 SAP GUI UI에서 데이터 추출

SAP에서 레코드를 생성하거나 업데이트하면 새로 생성된 레코드 ID를 포함하는 상태 정보가 생성됩니다. SAP는 이 상태 정보를 SAP UI 하단에 표시합니다.

다음은 SAP PM 알림을 생성한 후 SAP가 표시하는 샘플 상태 메시지입니다.

새 레코드를 저장한 후 생성된 SAP 알림 ID의 스크린샷입니다.

이 상태 정보는 나중에 자동화 프로세스 단계에 유용할 수 있습니다. 따라서 다운스트림 데이터 처리를 위해 이 상태 데이터를 추출하고 변수에 할당해야 합니다.

개발 접근 방식에 따라 이를 달성할 수 있는 여러 가지 방법이 있습니다. 두 가지 접근 방식은 로우 코드 또는 프로 코드 기법입니다.

프로 코드 접근

프로 코드 접근 방식은 VBScript 명령을 사용하여 SAP UI 요소에서 정보를 추출합니다.

새로 생성된 구매 요청 또는 공장 유지보수 알림 번호와 같은 SAP 상태 데이터를 추출하려면 상태 표시줄 UI 요소에 액세스해야 합니다.

상태 표시줄 UI 요소에 액세스하는 방법은 다음과 같습니다.

session.findById("wnd\[0\]/sbar/pane\[0\]").Text

엔드 투 엔드 경험을 살펴보겠습니다. SAP PM 알림을 만들고 생성된 코드를 수정하여 새로 생성된 ID를 Power Automate Desktop으로 반환하는 방법을 기록할 것입니다.

SAP의 PM 알림에 대해 들어본 적이 없거나 액세스 권한이 없는 경우에도 자신의 시나리오에 대해 이러한 데이터를 추출하는 데 필요한 단계를 이해할 수 있으므로 걱정하지 마세요.

수행하는 단계는 다음과 같습니다.

  1. SAP GUI 스크립팅 구성이 모두 완료되었는지 확인합니다.

  2. SAP 로그온을 열고 로그인하려는 SAP 시스템을 선택합니다.

    SAP 로그인 760의 스크린샷입니다.

  3. 로컬 레이아웃 사용자 정의(Alt+F12)를 선택한 다음 스크립트 녹음 및 재생...을 선택합니다.

    SAP Easy Access 시스템의 스크린샷입니다.

  4. 추가를 선택합니다.

  5. 저장 위치 아래에서 캡처된 사용자 상호 작용을 저장할 파일 경로와 파일 이름을 제공합니다.

    녹음 및 재생 대화 상자에서 녹음 파일을 저장하는 스크린샷입니다.

  6. 스크립트 기록 버튼을 눌러 화면 캡처 프로세스를 시작합니다. 지금 SAP에서 수행하는 모든 상호 작용은 반복 가능한 VBScript 명령으로 캡처됩니다.

    노트

    이전에 단계를 기록하고 이 파일에 저장했다면 파일을 덮어쓸 것인지 확인해야 합니다.

  7. 트랜잭션 코드 IW21을 입력한 다음 입력을 선택합니다.

  8. 알림 유형을 선택한 다음 입력을 선택합니다.

  9. 짧은 텍스트, 플래너 그룹, 주요 WorkCtr 및 기타 필요한 필드를 입력합니다.

    저장할 준비가 된 완료된 SAP 알림 레코드의 스크린샷입니다.

  10. 도구 모음에서 저장(Ctrl+S)을 선택합니다.

  11. 다시 PM 알림 생성초기 양식에서 UI의 왼쪽 하단 모서리에 있는 상태 표시줄에 새 상태 메시지가 표시됩니다.

    새 레코드를 저장한 후 생성된 SAP 알림 ID의 스크린샷입니다.

  12. 도구 모음에서 나가기(Shift+F3)를 선택한 다음 녹음 중지를 선택합니다.

  13. 선택적으로 SAP에서 로그오프하고 모든 SAP 창을 닫습니다.

생성된 VBScript 코드를 살펴보겠습니다.

SAP 알림 생성 중 생성된 VBScript의 스크린샷.

SAP 알림 생성 중에 생성된 VBScript의 스크린샷 Not IsObject 응용 프로그램 시 그러면 SapGuiAuto GetObject 견적 SAPGUI 견적 응용 프로그램 설정 pGuiAuto GetScriptingEngine End If If Not IsObject 연결 그러면 연결 설정 응용 프로그램 하위 0 End If Not IsObject 세션 시 그러면 세션 설정 연결 하위 0 End If If IsObject WScript 그러면 WScript ConnectObject 세션 견적 상의 견적 WScript ConnectObject 응용 프로그램 견적 상의 견적 End If session findById 견적 wnd 0 견적 최대화 세션 findById 견적 wnd 0 tbar 0 okcd 견적 테스트 견적 IW21 견적 세션 findById 견적 wnd 0 견적 sendVKey 0 세션 findById 견적 wnd 0 usr ctxtRIWO00 QMART 견적 text 견적 M2 견적 세션 findById 견적 wnd 0 usr ctxtRIWO00 QMART 견적 caretPosition 2 세션 findById 견적 wnd 0 견적 sendVKey 0 세션 findById 견적 wnd 0 usr subSCREE 축약된 명령 견적 text 견적 My Notification Short Text 견적 세션 findById 견적 wnd 0 usr tabsTAB_ shortened command 견적 텍스트 견적 010 견적 세션 findById 견적 wnd 0 usr tabsTAB_ 짧아진 명령 견적 text quot 0001 견적 세션 findById 견적 wnd 0 usr tabsTAB_ 짧아진 명령 견적 텍스트 견적 MAIN 견적 세션 findById 견적 wnd 0 usr tabsTAB_ 짧아진 명령 견적 setFocus 세션 findById quot wnd 0 usr tabsTAB_ shortened command 견적 caretPosition 4 세션 findById 견적 wnd 0 tbar 0 btn 11 견적 누르기 세션 findById 견적 wnd 0 tbar 0 btn 15 견적 press.

이제 생성된 코드를 조정하여 새 알림 ID를 추출하고 다듬은 VBScript 실행 작업으로 새 알림 ID를 반환합시다.

SAP 알림을 변수로 Power Automate Desktop으로 반환하는 조정된 VBScript의 스크린샷 변수를 통한 데스크탑.

SAP 알림을 변수를 통해 Power Automate Desktop으로 반환하는 조정된 VBScript의 스크린샷입니다 39 이는 저장 버튼입니다 세션 findById quot wnd 0 tbar 0 btn 11 quot 누르기 39 추출될 데이터가 포함된 전체 상태 표시줄 텍스트 statusBarMessage quot wnd 0 sbar pane 0 quot text 39 statusBarMessage 자르기 교체 교체 quot 알림 quot quot quot quot 저장된 quot quot quot 39 이는 나가기 버튼입니다 세션 findById quot wnd 0 tbar 0 btn 15 quot press 39 이는 새롭게 생성된 ID를 Power Automate Desktop의 VBScript 출력 변수에 씁니다 WScript Echo notificationID.

이것은 VBScript 실행 작업의 VBScript 출력 변수를 새로 생성된 알림 ID로 설정합니다.

SAP 상태 표시줄 텍스트 추출을 가능하게 하는 강조 표시된 스크립트가 있는 VBScript 실행 작업 대화 상자를 보여주는 스크린샷입니다.

VBScriptOutput의 내용을 보려면 다음 이미지의 출력과 유사한 표시 메시지 작업을 사용할 수 있습니다.

VBScriptOutput 콘텐츠가 포함된 디버그 표시 메시지를 보여 주는 스크린샷입니다.

표시 메시지 작업 및 해당 매개 변수를 보여 주는 스크린샷입니다.

로우 코드 접근

로우 코드 접근 방식은 작업 및 사용자 지정 선택기를 사용하여 다운스트림 흐름 처리에 중요한 새로 생성된 레코드 ID 또는 기타 상태 메시지를 추출합니다.

다음 단계에서는 수동 작업 디자인을 기록하거나 사용하여 새 SAP PM 알림 레코드를 만드는 방법에 대해 자세히 설명하지 않습니다. 사용법 복습이 필요하면로우 코드 또는 Power Automate Desktop의 SAP GUI를 사용하는 코드 없는 RPA를 리뷰하세요.

로우 코드 접근 방식을 위해 다음 단계를 따릅니다.

  1. 데스크톱 레코더 또는 수동 작업 디자인을 사용하여 SAP PM 알림 프로세스에 필요한 모든 제어를 캡처합니다.

  2. 알림 레코드를 만들고 선택한 후 도구 모음에서 PM 알림 생성 화면의 도구 모음에서 저장을 선택한 후 나타나는 상태 텍스트를 캡처합니다.

    강조 표시된 저장 버튼이 있는 완료된 알림 레코드를 보여주는 스크린샷입니다.

    항목이 저장되면 상태 표시줄 텍스트에 새 알림 번호가 표시되어야 하는 이전 화면으로 리디렉션됩니다.

  3. 이제 Power Automate Desktop으로 돌아가서 창에서 UI 요소의 세부 정보 가져오기로 이름이 지정된 작업을 검색하고 저작 캔버스에 추가합니다.

  4. UI 요소 드롭다운 메뉴를 선택한 다음 새 UI 요소 추가 버튼을 선택합니다.

    창 작업 대화 상자에서 UI 요소의 세부 정보 가져오기를 보여 주는 스크린샷입니다. 대화 상자에는 UI 요소 드롭다운 메뉴가 확장되어 입력을 기다리고 있습니다.

  5. SAP Easy Access 창을 선택하고 GUI 상태 표시줄로 레이블된 빨간색 테두리가 표시될 때까지 상태 표시줄 위로 마우스를 가져갑니다. 테두리가 활성화되어 있는 동안 Ctrl 키를 누른 다음 상태 표시줄을 클릭하여 선택합니다.

    알림 ID와 선택한 컨트롤이 있는 Power Automate Desktop 추적 세션을 나열하는 상태 메시지와 함께 SAP 화면을 보여주는 스크린샷입니다.

  6. 저장을 선택합니다.

    선택한 UI 요소가 있는 창 작업 대화 상자에서 UI 요소의 세부 정보 가져오기를 보여주는 스크린샷입니다.

  7. 작업 창에서 텍스트 바꾸기 작업을 검색하고 디자인 캔버스로 드래그합니다.

  8. 찾을 텍스트에서 알림을 입력합니다. 대체에서 %''% 문자를 입력하여 빈 문자열을 입력합니다.

    지정된 매개 변수가 있는 텍스트 바꾸기 작업 대화 상자를 보여주는 스크린샷.

  9. 다른 텍스트 바꾸기 작업을 추가하고 생성된 변수%NotificationId%(으)로 이름을 변경합니다. 찾을 텍스트에서 저장을 입력하고 대체에서 빈 문자열(%''%)을 입력합니다.

    지정된 매개 변수가 있는 다른 텍스트 바꾸기 작업 대화 상자를 보여주는 스크린샷입니다.

  10. 작업 창에서 텍스트 자르기 작업을 검색하고 디자인 캔버스로 드래그하고 %NotificationId%을(를) 자를 텍스트 값으로 선택하고 생성된 변수%TrimmedNotificationID%(으)로 이름 변경합니다.

    지정된 매개 변수가 있는 텍스트 자르기 작업 대화 상자를 보여주는 스크린샷.

  11. 작업 창에서 메시지 표시 작업을 검색하고 디자인 캔버스로 드래그합니다. 메시지 보관함 제목표시할 메시지를 내 필요에 맞게 설정합니다.

    지정된 매개 변수가 있는 메시지 표시 작업 대화 상자를 보여주는 스크린샷.

  12. 새 SAP PM 알림을 생성하고 다음 이미지와 같이 표시할 수 있는 새로 생성된 알림 ID를 추출하는 자동화를 실행합니다.

    표시 메시지를 통해 새로 생성된 알림 ID를 출력하는 실행 중인 Power Automate Desktop 스크립트을 보여주는 스크린샷입니다.