이 시나리오에서는 샘플 스크립트를 사용하여 정기적인 데이터 통합을 자동화하는 방법을 살펴봅니다.
아래와 유사한 스크립트가 포함된 뱃치(.bat) 또는 쉘(.sh) 파일을 생성하여 데이터 통합 관련 활동을 자동화합니다. 아래의 Windows용 샘플 스크립트에서는 다음 활동을 완료하여 일일 애플리케이션 데이터 통합을 자동화합니다.
DailyPlanData가 있는 경우 삭제DailyPlanData를 서비스에 업로드Plan1 계획 유형에서 Clear Plan Targets 비즈니스 규칙 실행LoadDailyPlan 작업 이름을 사용하여 데이터 임포트Balance Sheet - Plan 비즈니스 규칙 실행Allocate Plan Targets 비즈니스 규칙 실행DailyTarget.zip이 있는 경우 삭제ExportDailyTarget 작업 이름을 사용하여 DailyTarget.zip에 데이터 익스포트DailyTarget.zip을 서버에 다운로드하고 타임스탬프 추가주:
이 스크립트를 사용자의 용도에 맞게 고치는 경우 SET url 및 SET user 매개변수의 값을 수정합니다. 또한 요구사항에 맞게 dataimportfilename, dataexportfilename, importdatajobname, exportdatajobname, br_clear, br_calculatebalancesheet 및 br_allocatetarget 매개변수의 값을 수정할 수 있습니다.
Windows 태스크 스케줄러를 사용하여 스크립트 스케줄을 예약하는 방법에 대한 자세한 내용은 스크립트 실행 자동화를 참조하십시오.
@echo off
rem Sample Script to demonstrate daily data integration with
rem Cloud EPM 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%