일일 데이터 통합 자동화

이 시나리오에서는 샘플 스크립트를 사용하여 정기적인 데이터 통합을 자동화하는 방법을 살펴봅니다.

아래와 유사한 스크립트가 포함된 뱃치(.bat) 또는 쉘(.sh) 파일을 생성하여 데이터 통합 관련 활동을 자동화합니다. 아래의 Windows용 샘플 스크립트에서는 다음 활동을 완료하여 일일 애플리케이션 데이터 통합을 자동화합니다.

  • 환경에 사인인합니다.
  • DailyPlanData가 있는 경우 삭제
  • DailyPlanData를 서비스에 업로드
  • Plan1 계획 유형에서 Clear Plan Targets 비즈니스 규칙 실행
  • LoadDailyPlan 작업 이름을 사용하여 데이터 임포트
  • Balance Sheet - Plan 비즈니스 규칙 실행
  • Allocate Plan Targets 비즈니스 규칙 실행
  • DailyTarget.zip이 있는 경우 삭제
  • ExportDailyTarget 작업 이름을 사용하여 DailyTarget.zip에 데이터 익스포트
  • DailyTarget.zip을 서버에 다운로드하고 타임스탬프 추가
  • 환경에서 사인아웃합니다.

주:

이 스크립트를 사용자의 용도에 맞게 고치는 경우 SET urlSET user 매개변수의 값을 수정합니다. 또한 요구사항에 맞게 dataimportfilename, dataexportfilename, importdatajobname, exportdatajobname, br_clear, br_calculatebalancesheetbr_allocatetarget 매개변수의 값을 수정할 수 있습니다.

Windows 태스크 스케줄러를 사용하여 스크립트 스케줄을 예약하는 방법에 대한 자세한 내용은 스크립트 실행 자동화를 참조하십시오.

@echo off

rem Sample Script to demonstrate daily data integration with 
rem EPM Cloud application.
rem This script uploads Plan data, clears target numbers,
rem runs a business rule to calculate balance sheet data, and 
rem recalculates target numbers on the Vision demo application

rem Please update these parameters
SET url=https://example.oraclecloud.com
SET user=serviceAdmin
SET dataimportfilename=DailyPlanData.csv
SET dataexportfilename=DailyTarget
SET importdatajobname=LoadDailyPlan
SET exportdatajobname=ExportDailyTarget
SET br_clear=Clear Plan Targets
SET br_calculatebalancesheet=Balance Sheet - Plan
SET br_allocatetarget=Allocate Plan Targets

SET password=%1

rem Executing EPM Automate commands

CD /D %~dp0
call epmautomate login %user% %password% %url%
IF %ERRORLEVEL% NEQ 0 goto :ERROR

for /f %%i in ('call epmautomate listfiles') do if %%i==%dataimportfilename% (call epmautomate deletefile %%i)
IF %ERRORLEVEL% NEQ 0 goto :ERROR

call epmautomate uploadfile %dataimportfilename%
IF %ERRORLEVEL% NEQ 0 goto :ERROR

call epmautomate runbusinessrule "%br_clear%"
IF %ERRORLEVEL% NEQ 0 goto :ERROR

call epmautomate importdata "%importdatajobname%"
IF %ERRORLEVEL% NEQ 0 goto :ERROR

call epmautomate runbusinessrule "%br_calculatebalancesheet%"
IF %ERRORLEVEL% NEQ 0 goto :ERROR

call epmautomate runbusinessrule "%br_allocatetarget%" "TargetVersion=Baseline"
IF %ERRORLEVEL% NEQ 0 goto :ERROR

for /f %%i in ('call epmautomate listfiles') do if %%i=="%dataexportfilename%.zip" (call epmautomate deletefile %%i)
IF %ERRORLEVEL% NEQ 0 goto :ERROR

call epmautomate exportdata %exportdatajobname% "%dataexportfilename%.zip"
IF %ERRORLEVEL% NEQ 0 goto :ERROR

call epmautomate downloadfile "%dataexportfilename%.zip"
IF %ERRORLEVEL% NEQ 0 goto :ERROR

rem Section to rename the file

Set Timestamp=%date:~4,2%_%date:~7,2%_%date:~10,4%_%time:~1,1%%time:~3,2%%
ren "%dataexportfilename%.zip" "%dataexportfilename%_%Timestamp%.zip"

call epmautomate logout
IF %ERRORLEVEL% NEQ 0 goto :ERROR

:EOF
echo Scheduled Task Completed successfully
exit /b %errorlevel%

:ERROR
echo Failed with error #%errorlevel%.
exit /b %errorlevel%