Wednesday, May 28, 2014

Adding a Large Number of Objects to an OMW Project in EnterpriseOne

Occasionally it is necessary to place a large number of objects in an EnterpriseOne Object Management Workbench project.  The default method of selecting a single object in the right pane and clicking the left arrow to add an object to a project is cumbersome but not a huge issue for an object or two.  After about ten objects though and the interface gets tiresome.


A typical use that necessitates placing a large number of objects in an OMW project is when a UBE and all of its versions need to be modified.  Since some UBE's have dozens of versions the standard method is just too time-consuming.  Fortunately there is a way of working around this limitation.

OMW has an row exit button titled "Add All Objects" that is used to add all objects listed in the right pane to the selected project in the left pane.  This is shown below:





















You would use the "Search" field in the right pane to create the list of objects that you wish to add to a project, select the desired project in the left pane, then click "Add All Objects".  Be sure to select the correct project in the left pane since OMW will place them in the topmost project (your default project) if you do not explicitly select a project.

Wildcards can be used in the "Search" field if desired:






















OMW also has an advanced search that can be used to select objects using more complex criteria:








































Regardless of the search method utilized, the "Add All Objects" method in OMW results in a dramatic time savings and a more accurate method of adding objects to an EnterpriseOne Object Management Workbench project.

Thursday, May 22, 2014

JD Edwards EnterpriseOne Product codes

JD Edwards EnterpriseOne categorizes its objects into several systems/verticals.Each of these contain few tables, views, applications,reports, BSFNs etc.,Each vertical is assigned a product code.
  • I am listing some of them here for offline reference.You can actually get the full list by pinging the UDC application with code 98/SY.
  • If Pxx1234 is the name of an object, xx refers to the product code owning this object. Speaking in general, every object owned by a product will have the product code as its second and third letters. For example P01012,P4211,F0911,R0006p

Product Code Description

00 Foundation Environment
01 Address Book
02 ElectronicMail
03 Accounts Receivable
03B Enhanced Accounts Receivable
03C IssueManagement System
0301 Credit Management
04 Accounts Payable
05 Time Accounting/HRM Base
05A JD Edwards HR & PR Foundation
05C JD Edwards HR & PR Foundation - Canadian
05T Time Entry
05U JD Edwards HR & PR Foundation - US
06 Payroll
07 Payroll
07S Payroll SUI
07Y US Payroll Year End
08 Human Resources
08B Benefits Administration
08C JD Edwards HR Canadian
08H Health and Safety
08P Position Control
08R RecruitmentManagement
08U JD Edwards HR - US
08W Wage and Salary
09 General Accounting
09E ExpenseManagement (EMS)
10 Financial Reporting
10C Multi-Site Consolidations
11 Multi-Currency/Euro
11C Cash Basis
12 Fixed Assets
13 Equipment Plant Management
14 Modeling, Planning, Budgeting
15 Property Management
16 Profit Management (EPS)
17 Customer ServiceManagement System
17A Ariba Integration
17C Call Management (part of CSMS)
17X Travel & ExpenseMgt Powered by Extensity
18 Time Management
19 Utility CIS
20 Energy base
21 LeaseManagement
2101 MTI Electrical Distribution
22 Production
23 Revenue Distribution
24 Gas Contracts
25 Joint Interest Billing
26 Gas Balancing
27 Investor Services
29 AFE Accounting
30 Product DataManagement
30A Product Costing
3010 Process DataManagement
31 Shop FloorManagement
31A Manufacturing Accounting
3110 Process Control
32 Sales Configurator
32C CustomWorks Configurator
33 Capacity Planning
34 Requirements Planning
34A Advanced Planning & Scheduling (APS)
35 Enterprise Facility Planning
36 Forecasting
37 QualityManagement
38 AgreementManagement
39 Advanced Stock Valuation
40 Inventory/OP Base
4010 Advanced Price Adjustment
41 InventoryManagement
41B Bulk StockManagement
42 SalesManagement
42A Lead Opportunity Management
42B Sales Order Entry
42E ECS Sales Management
43 Procurement
44 SubcontractManagement
44H HomebuilderManagement
4401 HomebuilderManagement
45 Advanced Pricing
46 Warehouse Management
47 Electronic Commerce
48 Work Order Processing
48S Service Billing
49 Transportation Management
50 Job Cost Base
51 Job Costing (Job Cost Accounting)
52 Contract Billing
53 ChangeManagement
55-59 Reserved for Clients
60-69 Reserved for Custom
70 Multi-National Products
71 Client Server Applications
72 WorldVision
73 M&D Complementary Products
74 EMEA Localization
74H Hungary
74I Ireland
74L Portugal
74M Denmark Localization
74N Nordics Localization
74O Norway Localization
74P Poland Localization
74R Russian
74S Spain Localization
74T Turkey
74W Sweden Localization
74Z Czech Republic
75 ASEAN Localization
75A Australian Payroll
75C China
75H Thailand Localization
75I India
75K Korea Localization
75N New Zealand
75T Taiwan Localization
75Z New Zealand Localization
76 Latin American Localization
76A Argentina Localization
76B Brazil
76C Columbia Localization
76H Chile Localization
76M Payroll (Mexico)
76P Peru Localization
76V Venezuela Localization
77 Canadian Payroll
77Y Canada Payroll Year End
79 Translation Tools
80 Business Intelligence
81 DREAMWriter (JD EdwardsWorld software only)
82 JD EdwardsWorldWriter
83 Management Reporting - FASTR
84 Distributive Data Processing
85 Custom Programming
86 Electronic Doc. Interchange
87 Internal
88 Cautious Purge System
89 Conversion Programs
91 Documentation
92 Computer Assisted Design
93 Computer Assisted Programming
94 Security Officer
95 Sleeper
96 Computer Operations
96P NO INFO ON THIS SYSTEM
97 Software Installation
98 Technical Tools
98E Electronic Burst and Bind
98FT Form Type
98SA Sample Application
99 Technical Tools-Internal
99D Technical Tools-DASD Sizer (reporting syst. only)
99M Technical Tools-Masters/Update (reporting syst. only)
99P NO INFO ON THIS SYSTEM
D3N dcLINK (data collection)
H00 Foundation (UDC only)
H01 Address Book (incl. ALL mail)
H03 Accounts Receivable
H03B New Accounts Receivable
H04 Accounts Payable
H05 Standalone Time Accounting
H07 Payroll
H08 Human Resources
H09 General Accounting
H12 Fixed Assets
H13 Plant/EquipmentMgmt
H15 Commercial PropertyManagement
H30 Product DataManagement
H301 Process DataManagement
H31 Shop FloorManagement
H311 Process Control
H32 ConfigurationManagement
H33 Capacity Requirements Planning
H34 DRP/MRP/MPS
H35 Enterprise Facility Planning
H36 Advanced Forecasting
H40 Inventory/OP Base
H41 InventoryManagement
H415 Bulk InventoryManagement
H42 Sales Order Processing
H43 Procurement
H44 Contract Management
H44H HomebuilderManagement
H45 Sales Analysis
H46 Warehouse Management
H50 Job Cost Base
H72 Client/Server Base
H73 Client Service - A/P Voucher Entry
H74 CS - Pay Time Entry
H75 CS - Sales Order Entry
H76 CS - Training & Development
H78 CS - Travel Expense Management
H79 Translation Tools
H90 JD Edwards Tools
H91 Design Tools
H92 Interactive Engine / OL
H93 Data Base and Communications
H94 Batch Engine
H95 Technical Resources/Applications
H96 Deployment
H97 Automated Testing Tools
H98 Internet
H99 Product Version Control
H99P Technical Tools-OWPVC Internal
JE42 Sales Order/Pricing (ECS Enhancements)
JE44 Distribution Contracts (ECS Enhancements)
JE48 Automated Gantry Inter. (ECS Enhancements)

Collecting or Enabling ODBC Trace

Steps1]Open the ODBCAD32 application
2]Go to 'Tracing' tab.
3]Give a proper path in the 'Log File Path'
4] Click 'Start Tracing Now'
5] Now run your application using the ODBC apis.For example here I am running the activconsole.exe
5]Now view the trace log.
6]Once done click 'Stop Tracing Now'
Note: Enabling the ODBC level trace will drastically slow down your system.So use it cautiously.

Downloading JD Edwards Support Assistant

Most of you should be aware by now that the Knowlwedge Garden/Customer Partner connection is dead and metalink3 aka My Oracle Support is in place know.Most of the customers/parners/employees will be confused with the new interface and it will take some time to get to used to this.
But after using it for few days, I would say it is better organised[into tabs] and more informative.
For example the Update Center is embedded under the tab "Patches and Downloads".If you want to download the latest version of the JD Edwards Support Assistant, follow the steps
1.Sign in to metalink3
2.Click "Patches and Downloads" tab.
3.In the Update center application's search pane,set
type to "
JD Edwards Support Assistant"
Release to "All" and do a Search.In the left side pane you will see the latest version of the Support assistant.Add this to download basket and download the SA.

confusion with the sqlserver driver classname

sqlserver 2005 jdbc driver:sqljdbc.jar
driver class name : com.microsoft.sqlserver.jdbc.SQLServerDriver
sqlserver 2000 jdbc driver:msbase.jar,mssqlserver.jar,msutil.jar
driver class name : com.microsoft.jdbc.sqlserver.SQLServerDriver
Often people get confused with the driver class name and the driver to be used.The best approach I follow is to open the jar[say sqljdbc.jar] with a winzip[or equivalent] and observe the path.

Windows event viewer eventvwr[Win+Run]

Start using Windows Event Viewer utility while troubleshooting issues like failure to start a service/application etc on windows. You might get a clue thereKeyboard shortcut :eventvwr[Win+Run]Intro to event viewer

First System user in EnterpriseOne

Multiple E1 users will be mapped to one or more system users.This system user is what that speaks to database.Fat Client and JAS server get the system user from enterprise Server.Enterprise server obtains it from F98OWSEC table.but how does Enterprise Server connects to F98owsec table for the first time?
ok..
It takes the user/password information specified under the [SECURITY] section of jde.ini.So make sure Enterprise Server's JDE.ini file is not accessible to the end users.

What if the SecurityServer under [SECURITY] for FAT client is left blank?
[SECURITY]
SecurityServer=
This means you are not pointing to any Security Server.Means you will not get any system user.So the EnterpriseOne user/pwd entered in the login screen will be used to connect to the database...

Knowing the MSDE/SSE port Number

Here is an easy way to find the port number on which your MSDE is running.
Open your registry and navigate to [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\JDELOCAL\MSSQLServer\SuperSocketNetLib\Tcp] and check the "TcpPort"

On similar lines you can check the SQL server 2005 Express Edition ' port number...
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\JDESSELOCAL\MSSQLServer\SuperSocketNetLib\Tcp]

EXCEPTION_Enabled in JDE.ini

In JDE when you see
"Business Function has caused a memroy violation.[Invalid Overwrite or Read].There has been an error running the following Business Function"XYZ.
This is commonly caused..........or recompiling business functions that use the data dictionary item.
"
and/or
"Your JD Edwards EnterpriseOne system has experienced a fatal system error and is unstable.Please exit EnterpriseOne....", this means a severe exception happened and it had been caught/absorbed by the system.
Sometimes you might want the crash to happen to troubleshoot/identify the cause of the exception/violation.i.e if the system crash you can collect the crash dump and send it to developers for analyzing it.
If you do not want the system to absorb the exceptions, set the following flag in JDE.ini
[INTERACTIVE RUNTIME]
EXCEPTION_Enabled=False

Saving an OMW object in zip [xml] format



This feature is available from 812/896 and above
Add the following section/setting in the JDE.ini file of FAT client.
[METADATA]
OMWZIP=1
Saving an object in zip format
Open OMW application
Highlight the required object and click Save.
Click OK. This saves the XML formatted specs in the spec folder.
Ex: Suppose you saved P01012 application, you will notice P01012.zip in the spec folder.
Restoring the XML formatted specs
Open OMW
Highlight the desired object [If you are trying to restore a non – existent object, just create a dummy object by that name] and click restore.
Press OK

Usage:

  • You might have developed an application in one FAT client and want to transfer it to a different FAT machine
  • Sending the customised specs to someone else for troubleshooting

Troubleshooting FAT client Installation

Sometimes FAT Client installation might fail at the end while creating environment variables or creating ODBC datasources etc.The best way to start troubleshooting the issue is by looking at the jdeinst.log/jdeinst.html in the c: directory.
If you notice that most of the stuff like database,specs, system folders are copied to your windows box and just environment variables,ODBC datasources are not set, you can give a try with the following command.
1] Win+R -> CMD
2] Navigate to directory where the install Manager setup.exe resides.
3] Now run the following command.
setup.exe -N -P DEMO -D E:\E900 -T Typical
DEMO is the PATHCODE.
E:\E900 is the location where we installed the Standalone E1/FAT.

cannot set a credential for pricipal 'sa'.Error Number: 15535 Severity: 16

Alter failed for Login 'sa'.
Cannot set a credential for pricipal 'sa'.
Error Number: 15535 Severity: 16 State: 1


The above error occurred when we attempted to change the sa user password using sql server management studio.



To resolve this, check the 'Map to credential' as shown in the picture and give a try.

Deleting a service from services.msc


In order to delete a service from the windows services list, use sc command tool
sc delete ServiceName
Ex:- sc delete ZTime

Check the sc command help for other options available.

com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the named instance has failed. Error: java.net.SocketTimeoutException: Receive timed out

This error will usually occur while trying to connect to named instance of SQL server using JDBC driver.com.microsoft.sqlserver.jdbc.SQLServerException: The connection to the named instance has failed. Error: java.net.SocketTimeoutException: Receive timed out


To correct the problem make sure your named instance passes in the below scenarios.

  • When installing SQL Express, it is necessary to enable mixed mode security as the authentication mode in the advanced configuration options so that connections are possible using the user name and password.

  • Make sure that the SQL Server Browser is enabled.
    • Start-> Programs-> Microsoft SQL Server 2005 -> Configuration Tools -> SQL Server Configuration Manager.
    • Highlight on SQL Server 2005 Services.
    • In the right pane check to see if "SQL Server Browser" is running. If not, highlight it, right-click and choose Start. 

  • The JDBC provider only works with the TCP/IP protocol which is disabled by default on SSE. Enable the TCP/IP Protocol from the SQL Server Configuration Manager that ships with SSE and re-start the server services.

    • Start-> Programs-> Microsoft SQL Server 2005 -> Configuration Tools -> SQL Server Configuration Manager.
    • Expand SQL Server 2005 Network Configuration.
    • Highlight Protocols for SQLEXPRESS.
    • In the right pane, check to see if TCP/IP is enabled, if not, enable it and restart the services
  • Check the firewall settings on your computer.Try turning OFF and see if it resolves the issue
  • Token for user JDE is from untrusted node _GLOBALNODE

    The following error is seen in the Call Object kernel of enterprise Server

    10547/-290411632 WRK:Init Remote Env Token    
    Mon May 31 04:52:19.769309PSEOneAuthToken.cpp147
    IsValid: Token for user JDE is from untrusted node _GLOBALNODE
    10547/-290411632 WRK:Init Remote Env Token    
    Mon May 31 04:52:19.769456PSAuthToken.cpp702
    ValidateLocalAuthToken: returning PSAUTHTOKEN_UNTRUSTED_NODE
    10547/-290411632 WRK:Init Remote Env Token    
    Mon May 31 04:52:19.769615jdecsec.c2979
    Failed to validate auth token: token library unable to validate token
    10547/-290411632 WRK:Init Remote Env Token    
    Mon May 31 04:52:19.769759jdecsec.c2630
    Failed to validate token on local: eSecInvalidToken: The security token is invalid
    10547/-290411632 WRK:Init Remote Env Token    
    Mon May 31 04:52:19.769932jdb_ctl.c4244
    JDB1100030 - Failed to complete Security check by Token

    Probable solution:
    Turn on SECURITY SERVER in Enterprise Server' JDE.ini

    [28000] [Microsoft][SQL Native Client][SQL Server]Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection.

    Error:
    DIAG [28000] [Microsoft][SQL Native Client][SQL Server]Login failed for user '(null)'. Reason: Not associated with a trusted SQL Server connection. (18452) 
    DIAG [08S01] [Microsoft][SQL Native Client]TCP Provider: An existing connection was forcibly closed by the remote host.(10054)
    DIAG [08S01] [Microsoft][SQL Native Client]Communication link failure (10054)


    The above error will generally occur when the 'server authentiction' is set to "Windows Authentication mode'.This means one can login to Sql Server with Windows NT authentication using the network login ID only and not using a logID and password entered by the user.
    But the above error can occur even when the 'server authentiction' set to "SQL Server and Windows Authentication mode".One possibilty is when database user is null/empty.
    I intentionally passed null(\0) in userID and got the above error in the ODBC trace log.

    About Reports in JD Edwards EnterpriseOne

    Sections in a Report

    1)   Report Header
    2)   Page Header
    3)   Detail Sections
    a.  Columnar section
    b.  Group section
    c.  Tabular section
    4)   Level break Header section
    5)   Level break Footer section
    6)   Page Footer section
    7)   Report Footer section

    Questions
    How many numbers detail sections possible in a report template?
    Multiple. But the physical page size of report template should not exceed 45 inches in length and width. Report template that exceeds this limit might faces problems at runtime…

    How many detail sections can be added in a report template using report director?
    Using the Director, only one detail section can be inserted in the report template. Later RDA can be used to enhance the report template and add extra detail sections

    How many numbers (max) of Page Header/Page Footer sections possible in a report template?
    Only one

    How many numbers (max) of Report Header/Report Footer sections possible in a report template?
    Only one

    Can a business view be attached to a Page header section?
    No. Business views can be attached to details sections only

    what is the default font used to generate PDF reports in E1?
    Arial

    Is it possible to print the attachments that are inserted in the report?
    No. They are just useful to explain the functionality of the report, any special logic used, documenting the changes etc.,

    The properties and format of report headers and footers and of page headers and footers are similar to which detail section?
    Group section

    Report Templates Vs Batch Versions
    Report templates are master specifications of the report. It defines the data used, how the data is
    Selected , sorted, displayed, and formatted etc.
    Batch versions read the master specifications from the associated report template and over ride one or more specification of the report template like:
    • Section layout
    • Section data selection
    • Section event rules
    • Section database output
    • Section sort sequence
    This concept allows creating requirement specific reports (versions) without touching the Master (i.e Report Template). Basically you create one report template and create multiple version by overriding the specifications.
    Report Power points:
    ·      Report template is a Master specification
    ·      Batch version is a child i.e business need based customization of the Master

    Displaying images on Reports in JDE

    Does E1 support embedding images on reports? We're not asking about BI pubilisher
    JDE does not support embedding images directly on the report.The alternate way is to create a custom font using font creation tools and add that image to a report constant in RDA.
    Steps at a high level

    1. Create a new font(Itzlogo) and associate the image to one of the character, say B
    2. Save the font and install it to the windows\fonts folder
    3. Now open RDA and add Insert report constant at the place where you wish to have the image/logo/ signature.
    4. In the Variable Name enter the value say 'B'.Navigate to Font/Color tab.. choose the itzlogo font and click ok.
    5. The image will appear on the design aid....... Run the report to see the image now.
    Some of types of images that are added to the reports: Company logos, special symbols,Signatures ..etc

    JDE : Export the output data in Excel format

    The default output of a report in JDE is PDF file.The report can be designed to generate csv ( along with PDF) as well. But at times an excel file is required instead of csv.

    Here is the way
    1) Write the Data to a abc.txt file using one of the BSFN APIs.The fields/columns have to separated by TAB.
    2) Now after writing all the data, rename the file to abc.xls
    3) Here comes the catch, JDE tool set does not allow to type TAB character.So you can open notepad, press TAB key, copy it and paste in JDE. :)

    CNC Acronyms

    CNC 
    • CNC stands for Configurable Network Computing. What that means is that EnterpriseOne is HIGHLY configurable. Customers can mix and match servers, operating systems, and databases to fit their business needs, pockets and expertise. With time, the acronym CNC evolved into a title for the system administrator for an “EnterpriseOne + World” system.

    OMW
    • OMW is the acronym for Object Management Workbench. That is the tool that developers use to manage code changes. When code is ready to be tested, the developer promotes the code from development (DV733x) to the testing (PY733x) environment. They then tell the CNC to build and deploy a new Package.  When a CNC builds a new package that means we gather up all of the code changes and recompile the EnterpriseOne code to include those new changes. After the package is built, the CNC deploys the package out to the client and backend servers.

    JITI
    • JITI is the acronym for Just-In-Time Installation. When an EnterpriseOne full package is installed on a client computer, most, but not the entire package is installed. The specification files, also known as Specs, are quite large.  There are 4 Spec files that are not fully deployed initially. When you enter an application, you will see a screen asking you to wait while Just-In-Time Installation is loading a file. This is a one-time event. On terminal servers, CNCs run a batch job that fully populates the package so that users do not see the JITI windows. JITI was some-thing JDE did to help preserve disk space on client computers. I suspect that we will see this go away over time.

    Wednesday, May 14, 2014

    Recover Lost or Corrupt Password in E1 Local (OEE) Database

    One of the standard errors while running JD Edwards EnterpriseOne Standalone Demo is - “Unable to Locate Security Server”.
    But what when  you get that error after 6 or odd months when your standalone was working perfectly fine?

    Our JD Edwards EnterpriseOne Standalone Demo 9.0.2 or 9.0 or prior running on Oracle Database will cease to work after 6 months. This is due to the Oracle Database Password Expiration policies, which just expires the passwords. You can verify this in your JDE.LOG files, which would say Unable to logon – Password Expired.
    The issue above can also occur in one of the following situations:
    • If the Deployment Server or FAT client is replaced with a new hardware or hard drive after a crash or as part of an upgrade.
    • If the SYSTEM/SYS password of the Local Oracle database is not getting encrypted for some reason and there are errors in C:\ReconfigureMSDE.log
    Thankfully, Oracle has a solution to fix this. This applies to JD Edwards EnterpriseOne Tools – Version: 8.98 (Oracle Support ID: 1064181.1). Here are the steps to connect to the Local Oracle (OEE) database with NT administrator credentials. Once connected as an admin, then simply reset the SYSTEM/SYS password.
    1. Navigate to the OEE directory and locate the sqlnet.ora file. It should be located in the path
      E1Local\network\admin.
    2. Change this file (sqlnet.ora) and set SQLNET.AUTHENTICATION_SERVICES=(NTS).
    3. Restart the OEE E1Local instance.
    4. Login to the machine with an administrator account.
    5. Connect to the local database using “sqlplus / as sysdba”.
    6. Run the SQL command:  Alter user system identified by admin;
    7. Now exit sqlplus and run ReconfigureMSDE.exe (at system\bin32). You will now be able to encrypt the password for SYSTEM/SYS.
      Enter “admin” without quotes in the Change from password, and set the To password to Encrypted E1 Password.
    8. Go back and disable the NT authentication in OEE by setting the SQLNET.AUTHENTICATION_SERVICES=(NONE) in the same sqlnet.ora.
    9. Restarting the E1Local instance is required.
    Once this is done, you will be able to access / login to your JD Edwards EnterpriseOne Standalone.

    Tuesday, May 13, 2014

    How to Analyze Long running UBE’s

    Example Issue

    UBE runs for three days and never finishes.

    Need a valid profile to answer the question

    WHERE IS THE CODE/SYSTEM SPENDING ITS TIME?

    The problem question:

    • How to get that profile?
    • How to “get your arms around the process”?

     

    Analysis of Long running UBE’s

    In JDE.INI [DEBUG] DumpLPDS=0
    These settings:
    • Reduce log file size; debug gets large less quickly
    • Give a more accurate profile by stripping out stuff which does not help with performance analysis
    UBEDebugLevel=0 eliminates UBE ER entries which do not have time stamps and do not add performance relevant data DumpLPDS=0 eliminates dumping BSFN data structures twice for each call.
    Approaches
    1. Run the unmodified production use case with debug on
    2. Run the UBE with Reduced Data Selection
    3. Run for 30-60 minutes, then terminate job
    4. Run for a long period, collecting log samples at intervals
    5. Capture runtime call stacks over an extended interval
    Run the unmodified production use case with debug on
    Pros:
    • This is the ideal case – the entire run is captured beginning to end
    • No compromise to data sample.
    Cons:
    • For UBEs longer than two hours (absolute maximum), this method is almost certainly not viable.
    • Logs get too large too fast: several GB per hour
    • Some customers have 2GB file size limit on the operating system.
      • Note that this is usually modifiable
    • Debug logging adds a factor of 2-3 to the runtime

    Reduced Data Selection

    Pros:
    • Shorter, manageable run
    • Smaller log size
    • Job can finish, so a complete start-to-finish picture results
    • No need to terminate the job
    Cons:
    • Under sampling
    • Short time frame skews the profile
    • Fixed-cost / one-time hits at startup will be exaggerated
    • A 10-minute run of a 10 hour job will NOT give a reliable profile
    • Avoidance of problems you are trying to observe
    • If the problem is related to a sp specific data range, this may be missed
    • Job may be in infinite loop

    Run for 30-60 minutes, then terminate job

    Pros:
    • Less risk from under sampling
    • A reasonable sized log in the few GB range
    Cons:
    • UBE may have multiple sections, and the real problems may occur in a section that is never reached in the 30-60 minutes
      • Get a listing of the UBE’s ER to help get a clearer picture
      • Look at the UBE in the RDA tool
    • What the UBE is doing in the first hour may NOT be the same as what it’s doing in the third hour
      • Remember: a one-hour run with debugging on is probably 20-30 minutes of runtime without debug logging on
    •  If the job is running the same code for a long period – but slowing down gradually – this will also be missed by just getting the first hour
    • Killing the job prematurely means not seeing the complete picture
    • The graceful end of a UBE contains important indications of cache memory leaks:
      • Such as jdeCacheInit()not matched with jdeCacheTerminateAll()
      • Failure to call jdeCacheTerminateAll() will call the jdeCacheDestroyAllUserCaches()
        • This will prove difficult to count and match all jdeCacheInit() calls, as they may be initialized and closed in as many BSFNs.
    • Multiple sections in UBEs
      • When UBE processing contains multiple sections which process in serial fashion, a one-hour sample at the start of the run may never even capture a sample of the serious problem.
    • Problem data ranges in UBEs
      • Even if there is only a single section which does all the processing, specific data ranges later in the process may trigger slower throughput.
      • Other factors may cause a precipitous drop in throughput later in the process, such as memory consumption reaching thresholds.

    Run for a long period, collecting log samples at intervals

    Pros:
    • Obtain profiles for a much longer period
    • Perhaps collect a 30 minute log every 2-4 hours
    Cons:
    • The run needs monitoring, babysitting
    • Process is a bit of a “kludge”
    • Takes a long time, requires machine resources during that time

    Capture runtime call stacks over an extended interval

    DO NOT enable EOne debug logging
    • Capture a set of snapshots at different intervals over a long run
    Pros :
    • Can combine this method with other monitoring
    • Poor man’s “manual” sampling…can be effective
    • Use existing operating system commands
    • Debug code NOT required
    • Can help to spot infinite looping behavior
    Cons :
    • Raw call stacks are a bit obscure, not as intuitive to read
    • The run needs monitoring, babysitting
    • Takes a long time, requires machine resources during that time
    Conclusion
    • If the use case is less than two hours:
      • Run the unmodified production use case with debug on
    • In general, avoid reducing data selection
      • But this MAY help in identifying cache leaks – since the UBE finishes gracefully
      • Can view the end of the log file for missing cache terminates
    • Perhaps a reduced data selection case could be run in addition to one of the longer use cases
      • This would allow the end of the job to be captured
    • Try a one hour terminated run first
      • In general one single long-running SELECT should NOT drive the analysis
    • Next – try log samples throughout the run
    • Finally, try call stack samples

    How to view the data in tables?

    • The Universal Table Browser (UTB) can be used to view data in tables. This tool lets you verify the existence of data in a table as well as determine the table's structure. UTB uses JDEBASE API's to retrieve data from the database, making it independent of the database you access.

    Where to find the table definition?


    • Go into design of the table from Object Management Workbench.  Once in design, choose the File menu and select print. This will provide you with a hard copy. (*Note: If you wish to create a soft copy, create a file printer and then print to that).
    • The Table Columns Browse application P80010 is an application that was created to view table definitions and indexes.

    When is a table generated?

    • Generate a table after designing a new table or modifying an existing table by adding or removing columns. (*Note: Generating a table will drop and recreate the table which will remove all pre-existing data in the table). To ensure this data is not lost, you must export your data, generate the table, and then import it back in.  The changes need to be deployed to the server and client in a package.
    • When adding or changing indexes for a table there is no need to generate the table.  For an index change you can generate the indexes, and this will not affect the data stored in the table.

    FAQs:

    §  How does linearization work?
    ·         It’s a setting turned on by an Adobe library API. It causes the PDF file to be reorganized so that the resources needed for each page occur in a somewhat linear fashion in the PDF file.

    §  Is it possible to choose compression or linearization both OR only one can be chosen at a time?
    ·         If linearization is ON, Compression is always on no matter what the compression setting is. If linearization is off, then the compression setting determines whether the internals of each object in the PDF file will be compressed.

    ·      How does the compression option work? Does it mean that jobs process on the server in more or less the same time as normal, but PDF viewing becomes faster?
    ·         Yes. Viewing is faster because the PDF file is smaller, and hence quicker to download.

    §  Is it correct that choosing the linearization option means that jobs take much longer to process but that pdf viewing is much faster?
    ·         Yes. In addition to being compressed, the objects in the PDF file are organized in such a way that the PDF file can start to be viewed before it is downloaded in its entirety. However, if Byte-serving is not enabled in the JAS server's JAS.INI (which is on by default), this benefit will be negated.

    §  How much longer jobs take to process with the linearization option?
    ·         No. In general, the larger the report, the more intensive the processing to linearize.

    Featured Post

    Generate single index on table 

    Transaction tables such as F0911, F4111 etc hold a huge amount of data probably a third of petabyte. Generating indexes on such tables (th...

    Popular Posts