Thursday, March 29, 2012

Audit Table - Flags does not get migrated while copying a project to Target environment using Application Designer

While performing upgrades or migrating projects between environments, I have noticed that the Audit Table and Audit Flags are not getting migrated properly from the source environment to the target environment.

Looking at this issue, I identified that the Audit table and audit flags are not getting copied to target environment, due to incorrect setting in the 'Copy Options'  while copying a project from a source database to target database through Application Designer. Actually, there is a setting while copying projects to either move the audit table and audit flags are to skip them. In order to verify this, perform the following:

  1. In Application Designer try to copy a project from Source to required Target environment
  2. Sign in to Target Database when prompted
  3. Now, click on 'Options' in the Copy Dialog and then click on 'General Options'
  4. Now we could see a section as 'Audit Flags on Records'. There are two radio buttons in this section:
    • 'Keep Target Audit Flags' - This is the default value and if is selected the audit flags will not be migrated. Because using this option preserves the enabled target flags and the audit flags enabled in the source are also retained. Differences between the Source and target databases never get displayed in the compare report.
    • 'Set Target Audit Flags' - If this value is selected target flags from the source environment are moved to the target environment.
This concept is also explained in Application Designer Peoplebook.

Friday, March 23, 2012

About Page Item Name, Component Item Name and Menu Item Name

Most of often I have seen that even a person who has stayed with PeopleSoft techincal finding it difficult to identify where to change the label if users asks to do so in an existing page. Whether to modify PeopleSoft Page Item Name or Component Item Name or Menu Item Name and end up changing in trial and error method. This post briefs on where these three item names can be set and where the changes would be visible.

PageItem Name:

Displays a name for each page in the component. This name must be unique in the component, and the default is the page name. This name is for informational purposes only. If you use the same page on more than one component, you might want to change the item name to reflect the purpose of the page in the component.
Where to set PageItem Name?
Though it is called as PageItem(Panelitem) name it is a property at component level and cannot be set at page level.
Item Label
Serves as the default folder tab label, unless a different label is specified. The item label should be unique for each page in a single component menu. The folder tab label is usually used when shorter names are needed for folder tabs.
Where to View?
Bar (Component) Item: 
Where to Set?
In the Menu definition, the thick rectangle surrounding the bar item indicates that this element in the menu definition is currently selected. The empty, dashed rectangle is a placeholder for a new bar item label. Double-click the rectangle to display the Bar Item Properties dialog box. Enter/Edit the bar item name and label. The most commonly used bar item name is Use. The new(if new) label appears in the menu and the empty rectangle appears in a new location.
Where to view?
Menu Item Label:
Where to Set?
On the menu definition, double click and access the properties of the menu. Specify the text label to appear on the menu. The label appears in the Home bar item or in a cascade menu of a menu group. You can place an ampersand in the text to assign a keyboard shortcut for the menu.
Where to View?

Thursday, March 1, 2012

Disabling NLS feature in Datastage 8.5


We have recently upgraded from Datastage 7.5 to IBM Infosphere Information server Datastage 8.5.  We have Peoplesoft EPM 8.9 Warehouse setup and Datastage is the ETL tool that is used to load the data into different layers of warehouse.  Datastage is used in loading every layer of the warehouse (Stage, Enriched and Multi-Dimension layers).  There are Daily and Monthly ETL jobs that are scheduled to run through Control-M and the jobs run 24/7 due to different regions of business by the client (NA, APAC and EMEA).

After we upgraded our Datastage environment from 7.5 to 8.5 the performance of the jobs reduced by at least 30% and this had an high impact on the deliverables. Delay in one region stream affected the other region streams and due to a feed from EPM to FGL system, there was additional impact as well.
We analyzed the performance and found that the poor performance was attributed to two reasons.

1. Architectural change from Datastage 7.5 to 8.5
2. ETL jobs designed as “Server” jobs rather than “parallel” jobs.


Architecture of Datastage has changed drastically from 7.5 to 8.5 with a change from 2tier architecture to n-tier architecture and also the Datastage Metadata architecture is moved from file based metadata architecture in 7.5 to Database based Metadata architecture in 8.5.
Pic 1: Datastage 7.5 Architecture


Pic 2: Datastage 8.5 Architecture

Another important observation we made is that, during installation of Datastage 8.5 we have installed the feature of NLS which was not activated in Datastage 7.5 as the client is not licensed for NLS Multilingual license in 7.5. We found below issues with this setup in 8.5:

1. EPM Database is a Non-Unicode database and the Datastage 8.5 engine is a NLS capable engine with “UTF-8” Character set.
2. For every row of data that is being transformed into database, Datastage 8.5 engine was trying to convert its character set from UTF standard to ISO standard which was resulting in performance issue.
3. IBM has posted that the performance of the Server jobs can take a hit if NLS capability is installed during installation process as per screenshot below.



Once the NLS feature was installed on the Datastage engine there was no way of uninstalling it. To fix this issue, we came up with a little trick to turn off the NLS feature;

Steps to Disable NLS settings in Datastage 8.5:
Step1: Log in as Datastage Administrator user on to Datastage engine server and cd to $DSHOME
Step 2: Open “uvconfig” file (Configuration file used by Datastage engine to boot up), go to the section “NLSMODE” and change the value for NLSMODE to 0
# NLSMODE – Set to 1 if NLS mode is ON for the
# system as a whole. 0 means that NLS mode is OFF.
#NLSMODE 1
NLSMODE 0
Save the uvconfig
Step 3: Regenerate the “uvconfig” file
$DSHOME$ ./bin/uvregen
uvregen: reconfiguration complete, disk segment size is 17946748
Step 4: Stop  the Datastage engine
$DSHOME$ uv -admin -stop
Stopping JobMonApp
JobMonApp has been shut down.
DataStage Engine 8.5.0.0 instance “adb” has been brought down.
Step 5: Change the NLS character set value in dsenv file of Datastage Engine to ISO standard.
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1; export NLS_LANG#NLS_LANG=AMERICAN_AMERICA.UTF8; export NLS_LANG
Step 6: Invoke the dsenv and boot the engine
$DSHOME$ . ./dsenv
$DSHOME$ uv -admin -start
DataStage Engine 8.5.0.0 instance “adb” has been brought up.
Starting JobMonApp
JobMonApp has been started.
With the above steps the NLS language support functionality is disabled in Datastage 8.5.
Step 7. Regenerate the indexes for all the Datastage projects using uv DS.TOOLS
DataStage Tools Menu
1. Report on project licenses
2. Rebuild Repository indices
3. Set up server-side tracing >>
4. Administer processes/locks >>
5. Adjust job tunable properties
Which would you like? ( 1 – 5 )  ?2
Once we disabled the NLS feature in Datastage 8.5, we gained performance of upto 30% from the existing performance levels.  We also made the following recommendations to the development team to further improve the performance.

1. Use Oracle OCI Stage while designing the Datastage jobs instead of the DRS Connector stage.
2. Redesign the longest running jobs in “parallel” mode instead of “server mode”. We did a POC for this and resulted in 50% to 60% gain of performance.


Even though the step performed did not completely un-install the NLS feature, it disabled the NLS capability which resulted in better performance.

If you are planning for your Datastage 8.5 installation please keep these points noted and plan your installation accordingly.