Skip to main content

PowerSeller80 Integration Inventory

All external system integrations, data exchange protocols, and plugin architecture.


Integration Summary

IntegrationDirectionProtocolData FormatStatus
DDE PricingInboundDDE (Windows IPC)Cell valuesActive
Eikon PricingBidirectional.NET DLL (nvo_pricing)RIC codes / pricesActive
LSEG WorkspaceBidirectionalDirectJSON / pricesActive
External PricingOutbound → InboundHTTP/OLEURL params / responseActive
Plugin SystemInbound (extends app)In-process PB windowsstr_parmsActive
File ImportInboundFile I/ODelimited, fixed-widthActive
Database ImportInboundODBC/DB connectionSQLActive
XML/ULDD ImportInboundFile/.NETMISMO 3.0, ULDD, PDDActive
Data ExportOutboundFile I/OCSV, Excel, XML, PDF, + 7 moreActive

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 mapping
  • pscat_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 management
  • app_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_timer polls 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.sru
  • app_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.ExternalPricingGetMortechPricing(url)
  • URL-based — HTTP request with mapped loan/investor fields

Configuration Tables:

  • pxcat_external_pricing_sources — Source name, customer_id, user_name, password, email
  • pxcat_external_loan_fields — Loan field mappings for URL construction
  • pxcat_external_loan_field_values — Field value mappings
  • pxcat_investors_for_external_source — Investors enabled per source
  • pxcat_instruments_for_external_source — Instruments enabled per source

Key Files:

  • pricing/n_cst_obtain_validate_prices.sru
  • pricing/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 identifier
  • window_name — PowerBuilder window class to open
  • menu_label — Display text in Plug-ins menu
  • menu_order — Sort order
  • current_version — Version string
  • data_mgr_association — Enabled for Data Manager module
  • secondary_mgr_association — Enabled for Secondary Manager
  • risk_mgr_association — Enabled for Risk Manager
  • post_closing_association — Enabled for Post Closing
  • app_runner_association — Enabled for App Runner
  • expiration_date — License expiration

Known Plugins (from LibList):

Plugin PBLPurpose
plugin.pblBase plugin framework
ahmratesheet.pblAHM rate sheets
amfratesheet.pblAMF rate sheets
caliberratesheet.pblCaliber rate sheets
famcratesheet.pblFAMC rate sheets
fhlbratesheet.pblFHLB rate sheets
fhlbcincinnati.pblFHLB Cincinnati
fhlbindianapolis.pblFHLB Indianapolis
flagstarratesheet.pblFlagstar rate sheets
fmcratesheet.pblFMC rate sheets
fnm_fre_b2b.pblFannie Mae / Freddie Mac B2B
jpmcbratesheet.pblJPMC rate sheets
masshousingratesheet.pblMass Housing rate sheets
mrcratesheet.pblMRC rate sheets
nrzratesheet.pblNRZ rate sheets
phmratesheet.pblPHM rate sheets
phhratesheet.pblPHH rate sheets
phlratesheet.pblPHL rate sheets
pnmacratesheet.pblPNMAC rate sheets
radianratesheet.pblRadian rate sheets
rwtratesheet.pblRWT rate sheets
tmsratesheet.pblTMS rate sheets
truistratesheet.pblTruist rate sheets
usbratesheet.pblUSB rate sheets
wfratesheet.pblWells Fargo rate sheets
powerfill.pblPowerFill functionality

Key Files:

  • Pwrsell/m_plugin.srm — Plugin menu class
  • security/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 mappings
  • pxcat_import_log_* — Error/warning logs
  • pxcat_import_history — Import run history

Key Files:

  • import/n_cst_perform_import.sru — Base import orchestrator
  • import/n_cst_perform_import_file.sru — File-specific import
  • import/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, validate
  • n_cst_psxml — ULDD import/export orchestration, field mapping, validation

Configuration Tables:

  • pxcat_xml_maps — XML map definitions
  • pxcat_xml_map_schema_rel — Map-to-schema relationships
  • pxcat_xml_schemas — Schema definitions
  • psuldd_* — ULDD staging tables

Key Files:

  • app_extf/n_cst_psxml.sru
  • app_extf/nvo_ddxml.sru

9. Data Export

Purpose: Export data from any DataWindow to multiple file formats.

Supported Formats:

FormatExtensionDescription
CSV.csvComma-separated values
DBase3.dbfdBase III format
Excel8.xlsExcel 97-2003
XLSX.xlsxExcel 2007+
HTML.htmlHTML table
PDF.pdfPDF document
PSR.psrPowerBuilder saved report
SQL Insert.sqlSQL INSERT statements
Text.txtPlain text (fixed or delimited)
XML.xmlXML document
XSL-FO.foXSL 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


Integration Architecture Diagram