OJT2021. 4. 14. 12:58

__상황

Legacy ERP 시스템에서 사용자에게 기능 접근 권한 부여가 필요한 상황이다.

관리자의 편의를 고려한 벌크 업데이트 기능 따위는 존재하지 않아서 사용자가 요청한 기능에 대한 접근 권한을 일일히 부여해줘야 한다.

귀찮은 것도 있지만 사용자가 요청한 내용의 누락의 가능성도 있고 권한이 제대로 부여되었는지 확인하는 것도 일이다.

해당 시스템에 DB에 바로 접근할 수 있는 권한이나 API가 제공되어 있지 않기 때문에 UI 상황에서 단순 방법 수작업이 필요하다.

__해결방법

AutoHotKey라는 스크립트 언어가 UI 환경에서 단순 반복 작업에 용이하다는 것을 발견하였다. 

AutoHotkey

 

AutoHotkey

AutoHotkey provides a simple, flexible syntax allowing you to focus more on the task at hand rather than every single little technicality. It supports not only the popular imperative-procedural paradigm, but also object-oriented and command-based programmi

www.autohotkey.com

AutoHotKey를 다운받아 설치 후 quick 가이드를 참고하여 아래의 내용들을 알아내었다.

#1. Shortcut 키를 사용하여 원하는 반복작업을 수행하게 할 수 있다.

#2. 파일이에 접근하여 목록을 가져오는 것이 가능하다.

#3. 반복문을 사용한 반복 작업이 가능하다.

 

이를 토대로 구현한 내용은 아래와 같다.

#변수 선언

Section := "LEED"

UserName := "NWHITEHEAD"

File := "C:\Users\jaehui.yoon\Desktop\AHK\mTMS\mTMS_ScreenList.txt"

# Alt + a 키 단축키 내용

!a::

# 반복문, 파일 리드, 파일 경로

Loop, read, %File%

{

# 반복문, Parse, InputVar [, Delimiters, OmitChars]

    Loop, parse, A_LoopReadLine, %A_Tab%

    {

           Send, %Section%

           Send, {TAB}

           Send, %UserName%

           Send, {TAB}

           Send, %A_LoopField%

           Send, {TAB}

           Send, N

           Send, {TAB}

           Send, Y

           Send, {ENTER}

           Sleep 3000

    }

}

Loop (parse a string) (sourceforge.net)

 

Loop (parse a string)

 

autohotkeykr.sourceforge.net

 

__주의 사항

프로그램이 안드로메다로 갈 수 있으니 테스트 중 뭔가 잘못될 경우를 생각하여 프로그램 탈출키를 만들어 놓아야 한다.

#x::ExitApp ; Win+X

반응형
Posted by newind2000