コンテンツにスキップ

ハンズオン演習の進め方と環境準備

各演習は、「この演習で身につくこと」→「前提・準備(Fusion 環境あり/なし)」→「手順」→「確認ポイント」→「解答例」→「よくあるエラーと対処」→「発展課題」の順に進みます。解答例は折りたたまれているので、先に自分で解いてから開いてください。

演習 内容 環境なしルート 実機ルート
練習用 API プレイグラウンド ブラウザからモック API にリクエストを送り、同じ内容の curl を確認する モック API(ブラウザのみ) 不要
REST 演習1 limit・offset・orderBy・fields・q で請求書を検索する。Version 1 と 2 の q の違い モック API(curl/プレイグラウンド) Fusion(読み取りのみ)
REST 演習2 子リソース、expand・finder、POST・PATCH・DELETE、Version 1 と 4 のエラー応答 モック API Fusion(データが変わる。テスト環境で)
REST 演習3 Python で hasMore が false になるまで全件取得し、CSV に出力する。再試行・タイムアウト モック API(Python 3.9 以上、requests) Fusion(GET のみ)
FBDI 演習 AP 請求書の CSV と zip の作成、取込前チェック、importBulkData、リジェクトの修正 モック API+Python+curl(簡略 CSV) Fusion(FBDI テンプレートは Windows 版 Excel)
自動化演習 importBulkData の投入、ESSJobStatusRF のポーリング、ログ取得、失敗の分類 モック API+Python Fusion+統合ユーザー
SQL 演習 AP 請求書から GL 仕訳まで 7 段で追跡し、金額を 3 点照合する サンプルデータ(Python の sqlite3) Fusion(BI Publisher のデータモデルで SQL)
BIP 演習 GL 仕訳明細のデータモデル、RTF と Excel のレイアウト、月次スケジュール 机上(サンプル表の SQL+設計シート) Fusion(BI Publisher)
OTBI 演習 AP の未払残高の分析と、プロンプト付きダッシュボード 机上(手計算+設計表) Fusion(OTBI)
BICC 演習 抽出対象・増分・削除検知の設計、BICC の設定、取込処理の検証 机上+サンプルファイル(Python 3) Fusion(BICC)+OCI Object Storage
OIC 演習1 スケジュール統合で FBDI 取込を自動化する(Stage File・ERP Cloud アダプタ・フォルト処理) 机上(統合設計書)+モック API(Python) OIC+Fusion+SFTP
OIC 演習2 ビジネスイベントを購読し、最新状態を取り直して外部へ通知する。冪等性・再送 机上(設計シート)+モック API のシミュレーション(Python) OIC+Fusion
セキュリティ演習 カスタムロールの作成、BU のデータアクセス付与、結果の確認 机上(ロール設計シート) Fusion(Security Console)
VBS 演習 Redwood ページに DFF 項目と条件付きの必須ルールを追加して公開する 机上(拡張仕様書) Fusion+Visual Builder Studio
AI Agent Studio 演習 社内規程 Q&A エージェントを、設計から公開まで作る 机上(設計シート・評価セット) Fusion(AI Agent Studio)

一覧の順は、おおよその難しさと依存関係の順です。REST 演習 → FBDI・自動化 → SQL・BIP・OTBI・BICC → OIC → セキュリティ・VBS・AI の順に進めると、前の演習の知識が次の演習で使えます。

練習用モック API のベース URL と認証

Section titled “練習用モック API のベース URL と認証”

REST・FBDI・自動化・OIC の演習は、このサイトに用意した練習用モック API を使います。接続先は次の形です。<このサイトのURL> は、いま開いているこのサイトのアドレス(例:https://example.pages.dev)に置き換えます。

ベース URL を環境変数に入れて、請求書を 2 件取得する(bash)
export BASE="https://<このサイトのURL>/api/mock/fscmRestApi/resources/11.13.18.05"
curl -s -u learner:welcome1 "$BASE/invoices?limit=2&onlyData=true"
  • 認証:Basic 認証が必須です。ユーザー名とパスワードは何でも通り、演習では learner と welcome1 を使います。Authorization: Bearer <任意の文字列> も受け付けます。認証ヘッダーがないと 401 Unauthorized を返します
  • REST-Framework-Version:ヘッダー REST-Framework-Version に 1〜9 を指定できます(省略時は 1)。q の構文、expand の形、エラーの形が変わります
  • CORS:許可済みなので、ブラウザの fetch からも呼べます
  • 案内:認証なしで https://<このサイトのURL>/api/mock/ を開くと、使い方の案内(JSON)が返ります
リソース メソッド 内容
invoices(子:invoiceLines) GET・POST・PATCH・DELETE AP 請求書 30 件と明細(架空)。作成・更新・削除は保存されません
suppliers(子:sites) GET 仕入先 10 件とサイト(架空)
erpintegrations POST・GET(finder) ジョブの投入(importBulkData・uploadFileToUCM・submitESSJobRequest・exportBulkData)と状況確認

モックにだけある練習用の機能もあります。本物の Fusion にはありません。

  • X-Mock-Fault: 429・500・503・random:擬似的な障害を返します。429 と 503 には Retry-After: 1 が付きます
  • X-Mock-Delay: 3000:指定したミリ秒(0〜10000)だけ待ってから返します
  • ジョブの状態:投入から 5 秒未満は WAIT、15 秒未満は RUNNING、そのあとは SUCCEEDED です。ファイル名に error を含めると ERROR、warning を含めると WARNING で終わります

練習用 API プレイグラウンド は、ターミナルを使えない人向けの入口です。

  1. 「入力例(プリセット)」から、やりたいことに近いものを選びます(例:ページング、絞り込み、障害を起こす)
  2. limit を変える、q に条件を足す、REST-Framework-Version を切り替える、のように 1 つずつ変えて「送信」を押します
  3. ステータス、主要なヘッダー、整形した JSON を確認します。画面の下に出る curl をターミナルに貼れば、同じ結果が得られます

macOS と Linux は curl が標準で入っています。Windows は、WSL か Git Bash を使うと、演習の bash のコマンドがそのまま使えます。PowerShell では curl が別のコマンド(Invoke-WebRequest)の別名になっていることがあるため、curl.exe と書くか、WSL を使ってください。環境変数の書き方も異なります(PowerShell は $env:BASE = "…")。

出力の整形に、jq があると便利です。なくても、| jq … の部分を外せば進められます。

Python 3.9 以上を使います。requests を使うのは、REST 演習3 と自動化演習です。FBDI 演習・SQL 演習・BICC 演習・OIC 演習は、標準ライブラリだけで動きます。

仮想環境を作って requests を入れる(初回のみ)
python3 -m venv .venv
source .venv/bin/activate # Windows の Git Bash では source .venv/Scripts/activate
pip install requests
export API_BASE="https://<このサイトのURL>/api/mock/fscmRestApi/resources/11.13.18.05"
export API_USER=learner
export API_PASSWORD=welcome1
動作確認(モック API の請求書を 1 件取得する)
import os
import requests
resp = requests.get(
f"{os.environ['API_BASE']}/invoices",
params={"limit": 1, "onlyData": "true"},
auth=(os.environ["API_USER"], os.environ["API_PASSWORD"]),
timeout=30,
)
resp.raise_for_status()
print(resp.json()["items"][0]["InvoiceNumber"]) # 例:SMP-0001

資格情報はコードに書かず、環境変数から読みます。実務では、タイムアウト・再試行・ページングも必要です。REST 演習3 で作ります。

curl の代わりに Postman でも試せます。画面の名称は、Postman のバージョンで変わることがあります。

  1. 環境(Environments)を作り、変数 BASE にベース URL を入れます
  2. 新しいリクエスト(GET)を作り、URL に {{BASE}}/invoices?limit=5&onlyData=true と入力します
  3. Authorization タブで、種類に Basic Auth を選び、ユーザー名に learner、パスワードに welcome1 を入れます
  4. Headers タブに REST-Framework-Version(例:2)を追加します。障害の練習には X-Mock-Fault: 429 を足します
  5. POST・PATCH では、Body タブで raw と JSON を選び、本文を入力します

このサイトのリポジトリを手元に取得している場合は、ローカルでモック API を動かせます。モックは Cloudflare Pages Functions で動くため、npm run dev や npm run preview では動きません。

ローカルでモック API を起動する(リポジトリのルートで。Node.js 22 以上)
npm install # 初回のみ
npm run build
npx wrangler pages dev ./dist
  • 表示された URL(通常は http://localhost:8788)でサイトを開きます。ベース URL は http://localhost:8788/api/mock/fscmRestApi/resources/11.13.18.05 です
  • 初回は、npx が wrangler のインストールを確認することがあります
  • npm run dev や npm run preview で開くと、プレイグラウンドに「モック API に接続できません」と出ます。上の手順で起動し直してください
  • ページの内容を書き換えたときは、npm run build をやり直します(dist/ が更新されます)

実機で試すときの権限の目安です。必要なロールは環境やリリースで変わるため、各演習の「前提・準備」と、セキュリティ担当の確認を優先してください。

演習 必要な権限・準備の目安
REST 演習 1〜3 REST で請求書を参照できる統合ユーザー。演習 2 は請求書を作成・更新できるロール(例:Accounts Payable Specialist)。必要なロールは公式の invoices のページに書かれていないため、セキュリティ担当に確認します
FBDI 演習 請求書取込とアップロードの職務ロール(Import Payable Invoice Batch、Upload data for Payables Import)を含むジョブロール。Manage Scheduled Processes の権限。UCM アカウント fin/payables/import へのアクセス。Windows 版 Excel
自動化演習 統合ユーザー(Integration Specialist、対象のデータ・アクセス、AttachmentsUser)と、取り込むジョブの権限
SQL・BIP 演習 BI Publisher のデータモデルとレポートを作成できる権限(BI 作成者向けのロール)。BIP 演習は Template Builder も使います
OTBI 演習 Payables Invoice Transaction Analysis Duty を含むロールと、分析・ダッシュボードの作成権限
BICC 演習 BIACM_ADMIN または BI Administrator。OCI Object Storage のバケットと、書き込めるユーザー
OIC 演習 OIC のインスタンスと統合を作れるロール。Fusion 側は統合ユーザー(Integration Specialist、データ・アクセス、AttachmentsUser、SOAOperator など)
セキュリティ演習 IT Security Manager(Security Console の操作)。データアクセスの付与は IT Security Manager か Application Implementation Consultant
VBS 演習 DFF を設定できるロール(例:Application Implementation Consultant)、VBS の利用者登録、Redwood 版のページ
AI Agent Studio 演習 AI Agent Studio を使えるテスト環境と、作る人・使う人のカスタムロール

実機で試すときの共通のルールです。

  • 必ずテスト環境を使います。作成・更新・削除は実際にデータを変えます
  • 接続先は、https://<your-pod>.fa.<region>.oraclecloud.com/fscmRestApi/resources/11.13.18.05 のように置き換えます
  • ユーザー名とパスワードは、環境変数から読みます。パスワードは read -rs FUSION_PASSWORD; export FUSION_PASSWORD のように、画面にも履歴にも残らない方法で設定します
  • 大量の取得は環境に負荷をかけるため、件数を絞って試します
症状 原因と対処
401 Unauthorized 認証ヘッダーがありません。curl に -u learner:welcome1 を付けます
400 Bad Request(q を付けたとき) REST-Framework-Version と q の構文が合っていません。Version 1 は ; で AND をつなぎ、Version 2 以降は and・or と '…' を使います(REST 演習1)
404 Not Found パスが違います。invoices・suppliers・erpintegrations のどれかか、<このサイトのURL> の置き換えを確認します
429・503 が返る ヘッダー X-Mock-Fault を付けたままではありませんか。外すと通常の応答に戻ります。付けたときは Retry-After の秒数を待って再試行します
プレイグラウンドが「モック API に接続できません」 ローカルで npm run dev か npm run preview を使っています。npm run build のあと npx wrangler pages dev ./dist で起動します
PowerShell で curl が動かない curl.exe と書くか、WSL・Git Bash を使います

本サイトは学習目的で個人が作成した非公式の教材であり、Oracle Corporation およびその関連会社とは関係ありません。内容の正確性は保証しません。最新の仕様・試験範囲は必ず公式ドキュメントと Oracle University の情報で確認してください。

模擬テストの問題は公開されている出題範囲(Exam Topics)と公式ドキュメントをもとに独自に作成したもので、実際の試験問題ではありません。

Oracle、Java、MySQL は Oracle Corporation およびその子会社、関連会社の米国およびその他の国における登録商標です。その他の製品名・会社名は各社の商標です。

© 2026 Fusion ERP 実装ラボ