ハンズオン演習の進め方と環境準備
各演習は、「この演習で身につくこと」→「前提・準備(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)に置き換えます。
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で終わります
プレイグラウンド
Section titled “プレイグラウンド”練習用 API プレイグラウンド は、ターミナルを使えない人向けの入口です。
- 「入力例(プリセット)」から、やりたいことに近いものを選びます(例:ページング、絞り込み、障害を起こす)
limitを変える、qに条件を足す、REST-Framework-Version を切り替える、のように 1 つずつ変えて「送信」を押します- ステータス、主要なヘッダー、整形した JSON を確認します。画面の下に出る curl をターミナルに貼れば、同じ結果が得られます
curl の準備
Section titled “curl の準備”macOS と Linux は curl が標準で入っています。Windows は、WSL か Git Bash を使うと、演習の bash のコマンドがそのまま使えます。PowerShell では curl が別のコマンド(Invoke-WebRequest)の別名になっていることがあるため、curl.exe と書くか、WSL を使ってください。環境変数の書き方も異なります(PowerShell は $env:BASE = "…")。
出力の整形に、jq があると便利です。なくても、| jq … の部分を外せば進められます。
Python の準備
Section titled “Python の準備”Python 3.9 以上を使います。requests を使うのは、REST 演習3 と自動化演習です。FBDI 演習・SQL 演習・BICC 演習・OIC 演習は、標準ライブラリだけで動きます。
python3 -m venv .venvsource .venv/bin/activate # Windows の Git Bash では source .venv/Scripts/activatepip install requests
export API_BASE="https://<このサイトのURL>/api/mock/fscmRestApi/resources/11.13.18.05"export API_USER=learnerexport API_PASSWORD=welcome1import osimport 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 で作ります。
Postman の準備
Section titled “Postman の準備”curl の代わりに Postman でも試せます。画面の名称は、Postman のバージョンで変わることがあります。
- 環境(Environments)を作り、変数
BASEにベース URL を入れます - 新しいリクエスト(GET)を作り、URL に
{{BASE}}/invoices?limit=5&onlyData=trueと入力します - Authorization タブで、種類に Basic Auth を選び、ユーザー名に
learner、パスワードにwelcome1を入れます - Headers タブに
REST-Framework-Version(例:2)を追加します。障害の練習にはX-Mock-Fault: 429を足します - POST・PATCH では、Body タブで raw と JSON を選び、本文を入力します
ローカルでモックを動かす
Section titled “ローカルでモックを動かす”このサイトのリポジトリを手元に取得している場合は、ローカルでモック API を動かせます。モックは Cloudflare Pages Functions で動くため、npm run dev や npm run preview では動きません。
npm install # 初回のみnpm run buildnpx 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/が更新されます)
Fusion 環境がある場合の権限
Section titled “Fusion 環境がある場合の権限”実機で試すときの権限の目安です。必要なロールは環境やリリースで変わるため、各演習の「前提・準備」と、セキュリティ担当の確認を優先してください。
| 演習 | 必要な権限・準備の目安 |
|---|---|
| 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のように、画面にも履歴にも残らない方法で設定します - 大量の取得は環境に負荷をかけるため、件数を絞って試します
つまずいたとき
Section titled “つまずいたとき”| 症状 | 原因と対処 |
|---|---|
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 を使います |
公式ドキュメント
Section titled “公式ドキュメント”本サイトは学習目的で個人が作成した非公式の教材であり、Oracle Corporation およびその関連会社とは関係ありません。内容の正確性は保証しません。最新の仕様・試験範囲は必ず公式ドキュメントと Oracle University の情報で確認してください。
模擬テストの問題は公開されている出題範囲(Exam Topics)と公式ドキュメントをもとに独自に作成したもので、実際の試験問題ではありません。
Oracle、Java、MySQL は Oracle Corporation およびその子会社、関連会社の米国およびその他の国における登録商標です。その他の製品名・会社名は各社の商標です。
© 2026 Fusion ERP 実装ラボ