Skip to main content

aidp-peoplesoft

Read from Oracle PeopleSoft into a Spark DataFrame in an AIDP notebook via the AIDP `aidataplatform` Spark format handler. Use when the user mentions PeopleSoft, PSFT, HCM, FSCM, Campus Solutions, or has a PeopleSoft host/port. Auth is host/port + database name + user/password. Read-only.

الانتقال إلى التثبيت

معلومات المصدر

المستودع
oracle-samples/oracle-aidp-samples
آخر نشاط في المصدر
٢٦ يونيو ٢٠٢٦ في ١٥:٤٥
لغة SKILL.md المكتشفة
الإنجليزية
النجوم
٤٦
التفرعات
٣٠

خيارات التثبيت

يُحدَّد Prompt الذي يراجع المصدر أولًا بشكل افتراضي. يمكنك التبديل إلى أمر مباشر أو تنزيل نسخة محلية.

مراجعة ملفات المصدر

اقرأ SKILL.md وأي ملفات مرافقة يعرضها SkillsMP قبل أن تقرر التثبيت.

عرض SKILL.md

SKILL.md
تعليمات المصدر · معاينة للقراءة فقط
name
aidp-peoplesoft
description
Read from Oracle PeopleSoft into a Spark DataFrame in an AIDP notebook via the AIDP `aidataplatform` Spark format handler. Use when the user mentions PeopleSoft, PSFT, HCM, FSCM, Campus Solutions, or has a PeopleSoft host/port. Auth is host/port + database name + user/password. Read-only.
allowed-tools
Read, Write, Edit, Bash
# `aidp-peoplesoft` — Oracle PeopleSoft via AIDP `aidataplatform` ## When to use - User wants to ingest PeopleSoft data (HCM, FSCM, Campus Solutions, ELM, CRM) into a Spark DataFrame from an AIDP notebook. - User mentions: "PeopleSoft", "PSFT", "PS HCM", "Campus Solutions". ## When NOT to use - For Oracle Autonomous DB family (ALH/ADW/ATP) → [`aidp-alh`](../aidp-alh/SKILL.md). - For generic Oracle DB on Compute / Base DB / on-prem → [`aidp-oracle-db`](../aidp-oracle-db/SKILL.md). - For Oracle Siebel → [`aidp-siebel`](../aidp-siebel/SKILL.md). ## Prerequisites in the AIDP notebook 1. Helpers on `sys.path` (run `aidp-connectors-bootstrap` first). 2. Env vars / OCI Vault secrets: - `PSFT_HOST` (PeopleSoft DB host) - `PSFT_PORT` (typically `1521` for the underlying Oracle DB) - `PSFT_DATABASE_NAME` (Oracle SID / service) - `PSFT_USER`, `PSFT_PASSWORD` - `PSFT_SCHEMA` (typically `SYSADM`) - `PSFT_TABLE` (PeopleSoft record table, e.g. `PS_JOB`, `PS_VOUCHER`) ## Read ```python import os from oracle_ai_data_platform_connectors.aidataplatform import ( AIDP_FORMAT, aidataplatform_options, ) opts = aidataplatform_options( type="ORACLE_PEOPLESOFT", host=os.environ["PSFT_HOST"], port=int(os.environ["PSFT_PORT"]), database_name=os.environ["PSFT_DATABASE_NAME"], user=os.environ["PSFT_USER"], password=os.environ["PSFT_PASSWORD"], schema=os.environ.get("PSFT_SCHEMA", "SYSADM"), table=os.environ["PSFT_TABLE"], ) df = spark.read.format(AIDP_FORMAT).options(**opts).load() df.show(10) ``` ## Pushdown SQL Push a complete source query at the database — connector skips schema/table option building and runs the SQL verbatim. Useful for joins, filters, derived columns where you don't want Spark to fetch the full table. ```python opts = aidataplatform_options( type="ORACLE_PEOPLESOFT", host=os.environ["PSFT_HOST"], port=int(os.environ["PSFT_PORT"]), database_name=os.environ["PSFT_DATABASE_NAME"], user=os.environ["PSFT_USER"], password=os.environ["PSFT_PASSWORD"], extra={ "pushdown.sql": ( "SELECT EMPLID, EFFDT, DEPTID, JOBCODE " "FROM SYSADM.PS_JOB " "WHERE EFF_STATUS = 'A' AND EFFDT >= DATE '2025-01-01'" ), }, ) df = spark.read.format(AIDP_FORMAT).options(**opts).load() df.show(10) ``` ## Gotchas - **Connector is read-only.** PeopleSoft is treated as a source-of-truth system; writes back must go through PeopleSoft's own application APIs, not Spark. - **Underlying Oracle DB.** Most PeopleSoft installs run on Oracle DB; the connector hits the DB directly. Network reachability rules from `aidp-oracle-db` apply — cluster pod CIDR needs L3 path to the PeopleSoft DB host. - **`SYSADM` schema** is the standard PeopleSoft owner. Ensure the connector user has `SELECT` privs on the PS_* tables you need — PeopleSoft tables are not granted to PUBLIC by default. - **Read row count** before pulling — PeopleSoft fact tables can have hundreds of millions of rows. Always include a `WHERE` filter via `pushdown.sql` for production. ## References - Helper: [scripts/oracle_ai_data_platform_connectors/aidataplatform.py](../../scripts/oracle_ai_data_platform_connectors/aidataplatform.py) - Official sample: [oracle-samples/oracle-aidp-samples → `data-engineering/ingestion/Read_Only_Ingestion_Connectors/Oracle_PeopleSoft.ipynb`](https://github.com/oracle-samples/oracle-aidp-samples/blob/main/data-engineering/ingestion/Read_Only_Ingestion_Connectors/Oracle_PeopleSoft.ipynb)
عرض على GitHub