PowerSeller80 Integration Inventory
All external system integrations, data exchange protocols, and plugin architecture.
Integration Summary
| Integration | Direction | Protocol | Data Format | Status |
|---|---|---|---|---|
| DDE Pricing | Inbound | DDE (Windows IPC) | Cell values | Active |
| Eikon Pricing | Bidirectional | .NET DLL (nvo_pricing) | RIC codes / prices | Active |
| LSEG Workspace | Bidirectional | Direct | JSON / prices | Active |
| External Pricing | Outbound → Inbound | HTTP/OLE | URL params / response | Active |
| Plugin System | Inbound (extends app) | In-process PB windows | str_parms | Active |
| File Import | Inbound | File I/O | Delimited, fixed-width | Active |
| Database Import | Inbound | ODBC/DB connection | SQL | Active |
| XML/ULDD Import | Inbound | File/.NET | MISMO 3.0, ULDD, PDD | Active |
| Data Export | Outbound | File I/O | CSV, Excel, XML, PDF, + 7 more | Active |
1. DDE Pricing Integration
Purpose: Retrieve real-time instrument prices from external applications via Windows DDE.
Data Flow:
Configuration Tables:
pscat_instrument_dde_links— Single-value links (security, cash, WL instruments)pscat_inst_dde_links_multi— Multi-rate grid links (MBS, WL, best efforts)pscat_treasury_dde_links_multi— Bond/note links (strike prices, put/call premiums)pscat_dde_result_names— Named result fields (mbs month 1-6, price, premium, coupon_rate)pscat_inst_dde_rslt_names_rel— Instrument-to-result-name mappingpscat_dde_applications— Registered DDE application/topic pairs
Data Retrieved:
- MBS/WL/Best Efforts: result_value, coupon_rate, market_date, price_type
- Treasury/Futures: option_price, strike_price, option_type
- Security/Cash: result_value (coupon_rate or price)
Key Files:
app_extf/n_cst_dde_functions.sru— DDE link managementapp_extf/n_cst_perform_dde.sru— DDE execution engine
2. Thomson Reuters Eikon Integration
Purpose: Retrieve pricing data from Eikon terminal via .NET interop.
Data Flow:
Connection States: Connected, Connected (AdxRtList Unavailable), Disconnected, Offline, LocalMode
Implementation:
- Uses
nvo_pricing.NET DLL (not traditional DDE) n_cst_eikon_timerpolls connection status- On connected: submits RIC codes, receives prices
- Timeout configurable via user preference "Eikon timeout" (minutes)
Key Files:
app_extf/n_cst_eikon_timer.sruapp_extf/n_cst_perform_dde.sru
3. LSEG Workspace Integration
Purpose: Retrieve pricing data from LSEG Workspace (successor to Eikon).
Implementation: Runs after Eikon in the DDE execution loop. Uses dedicated functions:
of_execute_workspace()of_get_price_field_list_ws()of_import_workspace_prices()of_load_workspace_ds()of_terminate_workspace()
Key Files: app_extf/n_cst_perform_dde.sru
4. External Pricing Sources
Purpose: Fetch pricing data from web-based pricing APIs (e.g., Mortech).
Data Flow:
Supported Sources:
- Mortech — OLE automation via
ExternalPricing.ExternalPricing→GetMortechPricing(url) - URL-based — HTTP request with mapped loan/investor fields
Configuration Tables:
pxcat_external_pricing_sources— Source name, customer_id, user_name, password, emailpxcat_external_loan_fields— Loan field mappings for URL constructionpxcat_external_loan_field_values— Field value mappingspxcat_investors_for_external_source— Investors enabled per sourcepxcat_instruments_for_external_source— Instruments enabled per source
Key Files:
pricing/n_cst_obtain_validate_prices.srupricing/w_test_external_pricing_source.srw
5. Plugin Architecture
Purpose: Extend PowerSeller with investor-specific rate sheet plugins and custom functionality.
Plugin Lifecycle:
Plugin Record Structure:
plugin_id— Unique identifierwindow_name— PowerBuilder window class to openmenu_label— Display text in Plug-ins menumenu_order— Sort ordercurrent_version— Version stringdata_mgr_association— Enabled for Data Manager modulesecondary_mgr_association— Enabled for Secondary Managerrisk_mgr_association— Enabled for Risk Managerpost_closing_association— Enabled for Post Closingapp_runner_association— Enabled for App Runnerexpiration_date— License expiration
Known Plugins (from LibList):
| Plugin PBL | Purpose |
|---|---|
| plugin.pbl | Base plugin framework |
| ahmratesheet.pbl | AHM rate sheets |
| amfratesheet.pbl | AMF rate sheets |
| caliberratesheet.pbl | Caliber rate sheets |
| famcratesheet.pbl | FAMC rate sheets |
| fhlbratesheet.pbl | FHLB rate sheets |
| fhlbcincinnati.pbl | FHLB Cincinnati |
| fhlbindianapolis.pbl | FHLB Indianapolis |
| flagstarratesheet.pbl | Flagstar rate sheets |
| fmcratesheet.pbl | FMC rate sheets |
| fnm_fre_b2b.pbl | Fannie Mae / Freddie Mac B2B |
| jpmcbratesheet.pbl | JPMC rate sheets |
| masshousingratesheet.pbl | Mass Housing rate sheets |
| mrcratesheet.pbl | MRC rate sheets |
| nrzratesheet.pbl | NRZ rate sheets |
| phmratesheet.pbl | PHM rate sheets |
| phhratesheet.pbl | PHH rate sheets |
| phlratesheet.pbl | PHL rate sheets |
| pnmacratesheet.pbl | PNMAC rate sheets |
| radianratesheet.pbl | Radian rate sheets |
| rwtratesheet.pbl | RWT rate sheets |
| tmsratesheet.pbl | TMS rate sheets |
| truistratesheet.pbl | Truist rate sheets |
| usbratesheet.pbl | USB rate sheets |
| wfratesheet.pbl | Wells Fargo rate sheets |
| powerfill.pbl | PowerFill functionality |
Key Files:
Pwrsell/m_plugin.srm— Plugin menu classsecurity/n_cst_site_security.sru— Plugin registration and licensing
6. File Import
Purpose: Import loan and entity data from delimited or fixed-width text files.
Import Pipeline:
Configuration Tables:
pxcat_external_file_maps— Import map definitions (map_name, separator, delimiter, fixed_length)pxcat_import_map_columns— Column mappingspxcat_import_log_*— Error/warning logspxcat_import_history— Import run history
Key Files:
import/n_cst_perform_import.sru— Base import orchestratorimport/n_cst_perform_import_file.sru— File-specific importimport/n_cst_perform_import_db.sru— Database import
7. Database Import
Purpose: Import data from an external database via SQL connection.
Implementation: Same validation pipeline as file import, but reads from external DB connection instead of file.
8. XML/ULDD Import and Export
Purpose: Import and export loan data in MISMO/ULDD/PDD XML format for agency delivery.
Supported Schemas:
- MISMO 3.0 (base schema)
- ULDD Phase 4a Extension (Fannie Mae / Freddie Mac)
- ULDD Phase 5 Extension
- Ginnie Mae PDD 3.0
- xlink
Supported Maps:
- FRE ULDD 4A, FRE ULDD 5
- FNM ULDD 4A, FNM ULDD 5
- FNM FRE ULDD 4A, FNM FRE ULDD 5
- GNM PDD 3.0
Implementation:
nvo_ddxml— .NET interop (PowerSeller.DDXml.dll) for XML load, build, validaten_cst_psxml— ULDD import/export orchestration, field mapping, validation
Configuration Tables:
pxcat_xml_maps— XML map definitionspxcat_xml_map_schema_rel— Map-to-schema relationshipspxcat_xml_schemas— Schema definitionspsuldd_*— ULDD staging tables
Key Files:
app_extf/n_cst_psxml.sruapp_extf/nvo_ddxml.sru
9. Data Export
Purpose: Export data from any DataWindow to multiple file formats.
Supported Formats:
| Format | Extension | Description |
|---|---|---|
| CSV | .csv | Comma-separated values |
| DBase3 | .dbf | dBase III format |
| Excel8 | .xls | Excel 97-2003 |
| XLSX | .xlsx | Excel 2007+ |
| HTML | .html | HTML table |
| PDF document | ||
| PSR | .psr | PowerBuilder saved report |
| SQL Insert | .sql | SQL INSERT statements |
| Text | .txt | Plain text (fixed or delimited) |
| XML | .xml | XML document |
| XSL-FO | .fo | XSL Formatting Objects |
Options: Fixed-length or delimited, configurable separators/delimiters, optional headings, custom sort order, conversion values.
Key Files: app_extf/n_cst_perform_export.sru