PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... »...
Transcript of PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... »...
![Page 1: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/1.jpg)
CP-70:Costpoint ExtensibilityUse Cases and Best Practices
Tom Kaminski, Deltek
![Page 2: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/2.jpg)
Agenda» The Basics
» Use Cases
» Extension Demo
» Best Practices
» Fun with APIs
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 2
![Page 3: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/3.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 3
Costpoint Extensibility
Use Cases and Best Practices
The Basics
![Page 4: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/4.jpg)
» A way to implement product
customization
» Extensibility Designer is the tool for
designing extensions
» Add new fields, tabs, new subscreens,
new applications (screens)
» Changes to field attributes
» Custom validations
What is Extensibility?
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 4
![Page 5: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/5.jpg)
Integrations using Extensibility
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 5
» Invoke custom logic before and after existing process/action execution
» Add new actions
» Call APIs
» Change standard reports – using Eclipse/BIRT
» Add new reports
![Page 6: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/6.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 6
• All customizations are segregated from Deltek code. Including business logic, app configuration, and data
• Customizations will not be impacted by hot fixes or updates (with the rare exception when an application has a major redesign)
• Support for role-based customizations
• Extensions can be quickly disabled for troubleshooting
Extensibility Benefits
Extension
System
Metadata
![Page 7: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/7.jpg)
Application
Server
Costpoint Data Architecture and Integration
SharePoint,
CMIS-
compatible
CMS, or NTFS
File System
Custom
Data
Extensibility
Content
Management
Integration
Web
Services
Web
Services
Compatible
Applications
Imports
Batched
DataApproval /
Workflow
API
Costpoint
DatabaseQuery
Exported
DataMigrated
Data
![Page 8: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/8.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 8
Costpoint Extensibility
Use Cases and Best Practices
Use Cases
![Page 9: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/9.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 9
» Generates files in a specific EDI format
» Actions executes a stored procedure, then a Java plug-in to export the file to an Alt File Location
Create EFT EDI 820 File
![Page 10: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/10.jpg)
» Process creates Negative Leave
WithOut Pay (LWOP) lines for any
regular LWOP lines coded on the
timesheet.
» Done for accounting purposes.
Generate Negative LWOP Timesheet Lines
10CONFIDENTIAL ©2019 Deltek, Inc. All Rights Reserved
![Page 11: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/11.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 11
» Process creates offsetting entries when AP Org in Header is different from the same level of
the org charged (2nd level, for example)
» Creates negative line for the charge org
» Creates positive line for the AP Org
» AP and PO Vouchers
Intercompany Payable Reclassification
![Page 12: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/12.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 12
» Codes
associated with
commodity
codes, location
groups, and
book settings
» Additional fields
on vouchers
including Ship
ID, Commodity
Code, POP
Dates
Asset Autoupdate Creation
![Page 13: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/13.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 13
» Uses SQL Server
“Change Data Capture”
» Manage CDC tables –
enable and disable
» Automatically backs up
disabled audit tables
(which get deleted)
Manage Audit Tables
![Page 14: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/14.jpg)
Custom UDEF
CONFIDENTIAL © Deltek, Inc. All Rights Reserved.14
• Creates a UDEF
(User Defined Field)
subtask under almost
any results set
• Configuration and
minor extensibility
update (RS Tree)
needed to deploy for
each results set
![Page 15: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/15.jpg)
Calculate Detail Burden Costs» Calculates detail burden by
Employee / Vendor / Vendor Employee / GLC / PLC
» Uses the routine used to calculate detail burden for the Cobra Interface as a base
» Use Labor History to allocate costs and burden to the lower levels
» Creates XT_BURDDETL_SUM and XT_BURDDETL_BURD_SUM tables
15CONFIDENTIAL ©2019 Deltek, Inc. All Rights Reserved
![Page 16: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/16.jpg)
Costpoint Integration Engine» Integration between
3rd party application and Costpoint
» Extensibility + Costpoint Web Services
» Each system sends native XML
» XML from 3rd party system is converted to Costpoint XML using simple SQL scripts
» Error reporting
16CONFIDENTIAL ©2019 Deltek, Inc. All Rights Reserved
3rd party
Application
Translation
from 3rd party
XML to
Costpoint XML
Costpoint +
Extensibility
Web
Services
Web
Services
Incoming
XML
Outgoing
XML
Error report
sent by Email
Identify
records to
export using
Web Services
![Page 17: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/17.jpg)
» Imports/Exports set up as processes
» Can be run using Costpoint Job Scheduler – every 5 minutes
» Import looks for XML files in an alternate file location or SFTP folder and processes
» Export outputs XML files from web services to an alternate file location or SFTP folder
» Configuration screen determines types of records being processed and criteria for selection of output records
» All transfers are logged
» Email messages sent to a security group
Costpoint Integration Engine (cont’d)
17CONFIDENTIAL ©2019 Deltek, Inc. All Rights Reserved
![Page 18: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/18.jpg)
» Creates Return Merchandise Authorization
» Configuration and Process screen
» Uses Internal Web Services to create a Sales Order, Manufacturing Order, and a Purchase Order
» Parses messages and reports to the screen
» Sends an email to configured users
» Can also Void / Close records
Create RMA
18CONFIDENTIAL ©2019 Deltek, Inc. All Rights Reserved
![Page 19: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/19.jpg)
Master Loader» Front end for web services – uses the Internal
Web Services to process the XML streams
» Can include multiple types of applications in one load
» Can either stop on an error record, or continue
» Batch mode allows XML to be loaded into a table, then processed by the Master Loader extension
» Error messages parsed – reports “Object Value” when it can
» All transactions and results are logged
» Can do imports, exports, and run processes
» Can be set to reprocess transactions
19CONFIDENTIAL ©2019 Deltek, Inc. All Rights Reserved
![Page 20: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/20.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 20
Costpoint Extensibility
Use Cases and Best Practices
Email Plug-in Example
![Page 21: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/21.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 21
» Generate Email if PO Due Date changes when PO is updated
» Send Email to the Buyer
» Identify the change in the email
Email Plug-in Example
![Page 22: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/22.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 22
Costpoint Extensibility
Use Cases and Best Practices
Best Practices
![Page 23: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/23.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 23
» Can existing Costpoint Functionality be used?
» Is there a future enhancement that will fill the need?
» Request a product enhancement (if low priority)?
» Create an extension when these avenues aren’t workable.
Do we really need an Extension?
![Page 24: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/24.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 24
» Suggest strategy – put all extensions for an application in one project
» Eliminates possibility of a conflict with another extension
» Project – Level where extension is deployed
» Unit – Level where extension is assigned to UI Profile
One Project, One Application
![Page 25: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/25.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 25
» Use Extension standards (field names begin with XT_, for example)
» Adding fields
» Put fields in a separate tab, or a separate results set
» SQL queries, stored procedures
» Use field lists, not * - table structure can change
Build so Updates won’t affect the Extension
![Page 26: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/26.jpg)
Use the Extensibility
Designer to Gain Knowledge
about an Application
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 26
![Page 27: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/27.jpg)
Extensibility Designer – Table Wizard
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 27
Add
Columns
Generate script for
Extension Package
(will automatically
add MODIFIED_BY,
TIME_STAMP, and
ROWVERSION if
desired
Apply to
Database
(Create
Table)
Save to
Results
Set
Specify
Primary
Keys
![Page 28: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/28.jpg)
» Without the “AS” keyword, it will prepend
the name of the table for the object ID
» Best practice: Prepend the alias with XT_
Build RS Query with “AS” keyword
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 28
![Page 29: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/29.jpg)
Additional Where Clause
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 29
» Filters the queried
results set
![Page 30: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/30.jpg)
» Can filter a lookup so only certain
values appear
» Alternative method: add the
“Additional Where” clause to the
RS that the Lookup uses
» That would filter for all
occurrences of the lookup for
assigned users
Where Clause on Lookup
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 30
![Page 31: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/31.jpg)
» Example: Autoload button in PO Receipts
brings in lines from the Purchase Order
» Extend the action to bring in extended
data from PO lines – using Java class
from Parent to loop through child results
set and populate fields
» Create your own action button
Updating an Action Button
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 31
![Page 32: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/32.jpg)
Calling Errors from Stored Procedures
CONFIDENTIAL © Deltek, Inc. All Rights Reserved 32
» Best done in Line or RS Validate routines
» Include two special predefined output parameters in stored procedure:
» VALIDATE_SEVERITY – integer
» VALIDATE_MSG_ID – string (VARCHAR(30) or VARCHAR2)
» Define the message in the Extension (can include field names from the RS enclosed in tildes ~PROJ_ID~)
» Initialize the variables
» SET @VALIDATE_SEVERITY = 0;
» SET @VALIDATE_MSG_ID = ‘’;
» Set the variables to call a message
» SET @VALIDATE_SEVERITY = 3; -- Error
» SET @VALIDATE_MSG_ID = ‘XT_EXTNAME_U1__INV_FLD’;
Error Codes
1 – INFORMATION
2 – WARNING
3 – ERROR
4 – FATAL
![Page 33: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/33.jpg)
» Build Results Set
» Include MODIFIED_BY,
TIME_STAMP, and ROWVERSION
fields in the table – but don’t include
these in the query
» Extend RS Tree – Add results set as child
Adding a Results Set to an Existing Tree
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 33
![Page 34: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/34.jpg)
Stored Procedures
vs Java
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 34
CapabilityStored
ProcedureJava
Create Info/Warning/Error Messages 1 per procedure Multiple
Update Other TablesIn one data
source
In multiple
data sources
Loop through results set for populate,
validate, before/after save plug-ins
Not needed –
does it for you
Required
(except line
validation)
Field Validation No Yes
Call Web Services / Internal API Maybe Yes
Create Constants No Yes
Loop through child results set records No Yes
Update without restarting Costpoint Yes No
Logging Custom table Logger
![Page 35: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/35.jpg)
Oracle SQL: When to use COMMIT
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 35
» RS plug-ins and Field Validations – no COMMITs should be done.
» The application does the commit for you, for all schemas.
» New Action plug-ins – the COMMIT should be coded.
» Existing Action plug-ins – both Before and After actions should contain a COMMIT.
» Depending on the action, COMMITs may be done in the action once, many times, or not
at all. This can be used to COMMIT the before action, but it would be a best practice to
code the COMMIT in the plug-in.
» Custom Schemas – Same rules apply.
![Page 36: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/36.jpg)
» Link action to a Parameter RS
» On the action, check “Show progress
meter”
» This identifies it as a “long running”
action
» Saved parameter needed to schedule
» Set up in the Costpoint Job Scheduler
Making a Process Schedulable
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 36
![Page 37: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/37.jpg)
» Where files are stored
when “File Location” is
left blank
» Costpoint table
» Can be written to with
stored procedure
Column Type Parameter
COMPANY_ID (pk) varchar(10) CP.CP_COMPANY_ID
USER_ID (pk) varchar(20) CP.CP_USER_ID
APP_ID (pk) varchar(20) CP.CP_APP_ID
FILE_NAME (pk) varchar(180) Something.txt – each must be unique
FILE_DESC varchar(254) Description of the file (can be NULL)
KEEP_UNTIL_DT smalldatetime Date when file expires (not NULL)
FILE_CONTENT_TYPE varchar(50) ‘text/plain’
FILE_CONTENT text File contents – use CR/LF for record
separation – char(13) + char(10)
MODIFIED_BY varchar(20) CP.CP_USER_ID
TIME_STAMP datetime GETDATE()
ROWVERSION int 3000, for example
Importing and Exporting using theInteral File Catalog – W_USER_FILE_CATLG
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 37
![Page 38: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/38.jpg)
Importing and Exporting Files
from the Internal Catalog
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 38
W_USER_FILE
_CATLG
Stored
Procedure
Process | File Upload
Process | File Download
Read from table
Write to table
![Page 39: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/39.jpg)
Extensibility Package
Production Environment
Extensibility Promotion
CONFIDENTIAL © Deltek, Inc. All Rights Reserved 39
Development Environment
(all construction is done here)
Test/QA Environment
Stored
ProceduresStored
ProceduresStored
Procedures
Custom
Table
Extension
(including
java
classes)
Promotion
Exported
Extension
Create
Table
Script
Stored
Procedure
s
Stored
Procedure
s
Create
Procedure
Scripts
DBWizard
– Deploy
Extension
DBWizard
– Deploy
Extension
Java
Source
Code
Java
Source
Code
Extensibility
Designer
Extensibility
Deployer
Extensibility
Designer
Extensibility
Deployer
OR
OR
![Page 40: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/40.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 40
» Include all objects with the extension package
» Use smarter scripts to build objects or update extensions
» Versioning and documenting changes
» Deployment tips
» UI Profiles – Best practices and promotion methods
Goals
![Page 41: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/41.jpg)
Deltek\Costpoint\71 Folder Structure
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 41
\Deltek
\Costpoint
\71
applications birt report bin custom xt_extname(custom BIRT
templates)
enterprise APP-INF classes com deltek enterprise extensions xt_extname common (java
classes)
Extensions java src com deltek enterprise extensions xt_extname common (java source)
dbscripts admin (extension
script)
Data(table, SP
scripts)
ExtProjects(exported
packages)
![Page 42: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/42.jpg)
Extension Files on the
Application Server
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 42
Script to create
extension
Folder for table create and
stored procedure scripts
![Page 43: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/43.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 43
» Include all scripts associated with an Extension in the package – tables, views, stored procedures
» Best to use the Table Wizard in the Extensibility Designer
» Generates script in the Data folder, in the correct format for the database platform
» Includes MODIFIED_BY, TIME_STAMP, and ROWVERSION for the RS
» Includes contraints (indexes)
» Deploys the script in the database
» Populates the RS
» Only create table if it doesn’t exist
» If updating extension and new objects (fields) added, set up script so it adds them if they don’t exist
» Code stored procedures so they are replaced, regardless
Strategy for Data Scripts
![Page 44: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/44.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 44
» For examples of table build and stored procedure scripts, look here:
» \Deltek\costpoint\71\Patches\Transactional\Microsoft SQL Server
» \Deltek\costpoint\71\Patches\Transactional\Oracle
Developing Scripts
![Page 45: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/45.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 45
» Set “Project Version”
» Add Notes
Document the Extension
![Page 46: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/46.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 46
» Export Script at the Project Level!
» Builds script to deploy the extension in
the ADMIN schema
» Must be done each time before
creating the Extension Package
Export Script
![Page 47: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/47.jpg)
Package the Extension
Project
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 47
• Select the Extension
• Review Objects in the Package
• Check the box to add version and
date
• Review the Package File Name
• Pack
![Page 48: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/48.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 48
Costpoint Extensibility
Use Cases and Best Practices
Fun with APIs
![Page 49: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/49.jpg)
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 49
» Currency Load
» Address Verification
Fun with APIs
![Page 50: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/50.jpg)
Deltek Global Consulting• Experience with developing hundreds of integrations
• Work directly with Deltek Engineering
» New features and methods
» Assistance with challenging solutions
» Product improvements
» Latest Costpoint technologies
• Deltek Server Resources to develop autonomous solutions
• Perform Customer Training – Web Services, Extensibility
CONFIDENTIAL © Deltek, Inc. All Rights Reserved. 50
![Page 51: PowerPoint Presentation · » Can be run using Costpoint Job Scheduler –every 5 minutes ... » Link action to a Parameter RS » On the action, check “Show progress ... applications](https://reader034.fdocuments.in/reader034/viewer/2022042204/5ea610f7681f1137e06da550/html5/thumbnails/51.jpg)