Monday, August 11, 2025

Powershell Command over PrintQueue


In JD Edwards EnterpriseOne (JDE) environments, file management in directories like PrintQueue, media objects, and upload folders becomes critical for performance, cleanup, and troubleshooting.

Over time, these folders grow significantly, especially in production environments. PowerShell provides a fast and reliable way to analyze, filter, copy, and count JDE-related files.

This blog covers practical PowerShell commands used in real JDE environments for PrintQueue analysis and file operations.

1. Finding JDE PrintQueue Information

The PrintQueue directory in JDE stores batch print outputs, reports, and spool files. Over time, it accumulates large volumes of data.

Typical Path:

C:\JDEdwardsPPack\E920\PrintQueue

You can inspect files using:

Get-ChildItem -Path "C:\JDEdwardsPPack\E920\PrintQueue"

What This Helps With:

  • Identify active and old print jobs
  • Analyze disk usage
  • Support troubleshooting for UBE printing issues

2. Copying PrintQueue Files Based on Age (Retention Strategy)

In large JDE environments, old PrintQueue files need to be archived based on age.

Example: Files older than 1000 days

Get-ChildItem -Path "C:\JDEdwardsPPack\E920\PrintQueue" |
Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-1000)} |
Copy-Item -Destination "C:\JDEdwardsPPack\E920\GoLive\PrintQueueArc"

Why This Matters:

  • Prevents PrintQueue folder from growing uncontrollably
  • Improves system performance
  • Helps in archival strategy for compliance

3. Finding a Specific File in JDE Folder

Sometimes troubleshooting requires locating a specific report or PDF generated by JDE.

Example:

Get-ChildItem -Path "X:\JDEdwards\E920\mediaobj\htmlupload" `
-Filter "FILE-10-0-10-141-58881134646742537-1504646610815.pdf"

4. Counting Files in a JDE Folder


To understand storage usage or file volume, you can count files easily.

Example:

Get-ChildItem -Path "D:\JDEdwards\E920\mediaobj\htmlupload" -File |
Measure-Object | Select-Object -ExpandProperty Count

5. Counting Files Between Date Range

For audit or cleanup planning, filtering by date range is extremely useful.

Script:

$Path = "D:\JDEdwards\E920\mediaobj\htmlupload"      
$StartDate = "2017-01-01"
$EndDate = "2023-01-01"

(Get-ChildItem -Path $Path -File -Recurse |
Where-Object {
$_.CreationTime -ge $StartDate -and $_.CreationTime -le $EndDate
}).Count


6. Best Practices for JDE File Management

✔ Always Archive Before Delete

Never delete PrintQueue files directly in production without backup.


Final Thoughts

PowerShell is a powerful tool for managing JD Edwards PrintQueue and file system growth. With simple commands, administrators can:

  • Analyze file usage
  • Archive old print jobs
  • Count media objects
  • Improve system performance
  • Support compliance requirements

Sunday, February 16, 2025

JDE Web Package Build

 

Application 9.2

Tools Release 9.2.5.x

Verify Tools Planner ESU, Tools ESU and Tools ASI is completed

Three new applications have been delivered, off of menu GH9083, for the web client:

  • P9601W - Package Assembly
  • P9621W - Package Definition
  • P9631W - Package Deployment


Configure Deployment Server INI

[INSTALL]

ClientType=deployment

[JDENET_KERNEL_DEF11]
KrnlName=PACKAGE BUILD KERNEL
dispatchDLLName=jdekrnl.dll
dispatchDLLFunction=_JDEK_DispatchPkgBuildMessage@28
MaxNumberOfProcesses=1
numberOfAutoStartProcesses=1

 

Also, make sure the following matches the content in the jde.ini on the Enterprise Server:

[SECURITY]
SecurityServer=xxxxxxx
User=JDE
Password=xxxxxxxx
DefaultEnvironment=DV920

[JDENET]
serviceNameListen=6017
serviceNameConnect=6017


Start and Stop Deployment Server service - JDE B9 Client Network

Set Service to Start Automatic 

Use Application P9601W to Package Assembly,followed by Define and deployment....

Thursday, February 6, 2025

JDE Check-In Process Based on Tool Release

 

Understanding how the JD Edwards EnterpriseOne check-in process works across different Tools Releases is important for CNC administrators and developers. Over time, Oracle changed how specifications and artifacts are stored, managed, and deployed.

This article explains the differences in the check-in process from older releases through Tools 9.2.5.x and higher.


Tools Prior to 9.2.1

In releases prior to Tools 9.2.1, the check-in process was straightforward and relied heavily on the Deployment Server file system.


Specs

Specifications were copied:

  • From the Development Workstation
  • To the Central Objects tables (F987*)

These specification records were stored in the Central Objects database.

Artifacts

Artifacts such as:

  • Source files
  • Include files
  • Java files
  • Resource (.res) files

were copied from the Development Workstation directly to the Deployment Server pathcode folders.

Architecture Overview


Development Workstation
        |
        |---- Specs ----> Central Objects (F987*)
        |
        |---- Artifacts ----> Deployment Server Pathcode Folder




Tools 9.2.1.x to 9.2.4.x

Oracle gradually introduced the Repository tables (F98780R and F98780H) and changed how artifacts were handled.


Tools 9.2.1.x

Specs

Specifications continued to be copied:

  • From Development Workstation
  • To Central Objects (F987*) tables

Artifacts

Artifacts were copied to two locations:

Deployment Server Pathcode Folder

Artifacts copied included:

  • Source
  • Include
  • Java
  • Resource files

Repository Tables

Artifacts were also stored in:

  • F98780R
  • F98780H

This was the beginning of repository-based artifact management.

Architecture Overview

Development Workstation
|
|---- Specs ----> Central Objects (F987*)
|
|---- Artifacts ----> Deployment Server Pathcode Folder
|
|---- Artifacts ----> F98780R / F98780H

Tools 9.2.3.x

Tools 9.2.3 introduced major changes for NER and TER object handling.

Specs

Specifications still copied to:

  • Central Objects (F987*) tables

Artifacts

Deployment Server

The following continued to copy to Deployment Server:

  • Source
  • Include
  • Java
  • Resource files

However:

  • NER artifacts were no longer copied
  • TER artifacts were no longer copied

Repository Tables

Artifacts copied to:

  • F98780R
  • F98780H

But:

  • NER and TER artifacts were not stored in Repository tables
  • BSFN artifacts continued to be stored

Build-Time Generation

NER and TER artifacts (.c and .h) started being generated during package build time instead of being stored directly.

Key Change

This reduced dependency on storing generated NER and TER C source files in the Deployment Server and Repository.

Architecture Overview


Development Workstation
|
|---- Specs ----> Central Objects (F987*)
|
|---- BSFN Artifacts ----> Deployment Server
|
|---- BSFN Artifacts ----> F98780R / F98780H
|
|---- NER/TER .c and .h generated during build


Tools 9.2.4.x

Tools 9.2.4 further modernized artifact handling and reduced dependency on the Deployment Server.

Specs

Specifications continued to be copied to:

  • Central Objects (F987*) tables

Artifacts

Artifacts such as:

  • Source
  • Include
  • Java
  • Resource files

were copied only to:

  • F98780R
  • F98780H

Deployment Server Changes

The following were no longer copied to the Deployment Server:

  • BSFN artifacts
  • NER artifacts
  • TER artifacts

Repository Behavior

BSFN

BSFN artifacts continued to be stored in:

  • F98780R
  • F98780H

NER and TER

NER and TER artifacts were not stored in Repository tables.

Instead:

  • .c
  • .h

files were generated dynamically during build time.

Key Improvement

This release significantly reduced file-system dependency on the Deployment Server and moved EnterpriseOne closer to repository-centric object management.

Architecture Overview

Development Workstation
|
|---- Specs ----> Central Objects (F987*)
|
|---- BSFN Artifacts ----> F98780R / F98780H
|
|---- NER/TER generated during build



Tools 9.2.5.x and Higher

Tools 9.2.5 introduced another major architectural change.

E1Local Database Removed

The E1Local database was removed from the architecture.

This simplified the development and check-in process.

Specs

Specifications are copied:

  • From User Spec Tables (F98xxxUS)
  • To Central Objects Check-in location tables (F987xxx)

Artifacts

Artifacts including:

  • Source
  • Include
  • Java
  • Resource files

are copied directly into:

  • F98780R
  • F98780H

No Deployment Server artifact dependency exists for check-in processing.

Architecture Overview

Development Workstation
|
|---- User Spec Tables (F98xxxUS)
| |
| ---> Central Objects (F987*)
|
|---- Artifacts ----> F98780R / F98780H



Final Thoughts

The JD Edwards EnterpriseOne check-in architecture has evolved significantly over time:

  • Older releases depended heavily on Deployment Server file systems.
  • Mid releases introduced Repository tables.
  • Modern releases rely primarily on Repository storage and build-time artifact generation.

Understanding these changes helps CNC administrators troubleshoot:

  • Check-in failures
  • Missing artifacts
  • Package build issues
  • Repository synchronization problems
  • Object promotion inconsistencies

It also helps explain why older troubleshooting methods may not apply to newer Tools Releases.


Specs - Copied from the User Spec Tables (F98xxxUS) to the Central Objects (F987xxx) Check-in location tables.
Artifacts -> From Dev WorkStation source, include, java, res copied  to Repository F98780R and F98780H

Wednesday, January 22, 2025

JDE Submitted Job Execution Performance


Submitted jobs (UBE reports and batch processes) should also be regularly analyzed to identify:

  • Long-running jobs
  • Performance degradation
  • Resource-heavy versions
  • Runtime inconsistencies
  • Scheduling bottlenecks

One of the best ways to evaluate batch job performance is by analyzing execution time history from the F986114 table.

This article explains how to calculate:

  • Minimum runtime
  • Average runtime
  • Maximum runtime

for submitted jobs in JD Edwards.



Why Analyze Submitted Job Performance?

Monitoring submitted job execution helps identify:

  • UBEs taking longer over time
  • Jobs affected by data growth
  • Batch queue contention
  • SQL or indexing issues
  • Specific versions causing delays
  • Opportunities for scheduling optimization

Examples:

  • Nightly jobs suddenly increasing from 5 minutes to 45 minutes
  • Payroll or invoice jobs slowing after upgrades
  • Reports running inconsistently across environments


Step 1 – Create Execution Time Table

Creating a separate table helps simplify analysis and improves reporting performance.

SQL Server


-- Create table from execution history

SELECT 
    JCJOBNBR,
    JCPID,
    JCVERS,
    JCSTDTIM,
    JCETDTIM,
    DATEDIFF(MINUTE, JCSTDTIM, JCETDTIM) AS EXECUTION_MINUTE
INTO SVM920.F986114_EXECUTION
FROM SVM920.F986114
WHERE JCENHV LIKE '%PD920%'
    AND JCJOBSTS='D'
    AND DATEDIFF(MINUTE, JCSTDTIM, JCETDTIM) > 0
ORDER BY JCPID, JCVERS, EXECUTION_MINUTE DESC;
 

Step 2 – Find Execution Time for Jobs

This query calculates runtime in minutes for each submitted job.

SQL Server Query

SELECT
JCJOBNBR,
JCPID,
JCVERS,
JCSTDTIM,
JCETDTIM,
DATEDIFF(MINUTE, JCSTDTIM, JCETDTIM) AS EXECUTION_MINUTE
FROM SVM920.F986114
WHERE JCENHV LIKE '%PD920%'
AND JCJOBSTS='D'
AND DATEDIFF(MINUTE, JCSTDTIM, JCETDTIM) > 0
ORDER BY JCPID, JCVERS, EXECUTION_MINUTE DESC;


 AS400 / IBM i Query

SELECT
JCJOBNBR,
JCPID,
JCVERS,
JCSTDTIM,
JCETDTIM,
TIMESTAMPDIFF(4, CHAR(JCETDTIM - JCSTDTIM)) AS EXECUTION_MINUTE
FROM SVM920.F986114
WHERE
JCENHV LIKE '%PD920%'
AND JCJOBSTS='D'
AND TIMESTAMPDIFF(4, CHAR(JCETDTIM - JCSTDTIM)) > 0
ORDER BY JCJOBNBR DESC, JCVERS, EXECUTION_MINUTE DESC;

Note: You can add filter to seacrch specific UBE JCPID='Rxxxxx' AND JCVERS='XJDExxx'

Step 3 – Find Minimum, Average, and Maximum Runtime

After collecting execution data, aggregate the results to identify runtime patterns.


SELECT
JCJOBNBR,
JCPID,
JCVERS,
MIN(EXECUTION_MINUTE) AS MINIMUM,
AVG(EXECUTION_MINUTE) AS AVERAGE,
MAX(EXECUTION_MINUTE) AS MAXIMUM
FROM SVM920.F986114_EXECUTION
GROUP BY JCPID, JCVERS;

Understanding the Results

Minimum Runtime

Shows the fastest execution recorded.

Useful for identifying:

  • Best-case performance
  • Ideal execution window
  • System baseline

Average Runtime

Shows typical execution duration.

Useful for:

  • Capacity planning
  • SLA validation
  • Batch scheduling

Maximum Runtime

Shows worst-case execution.

Helpful for finding:

  • Blocking issues
  • Data spikes
  • Lock contention
  • Resource bottlenecks

Example Use Cases

Identify Slow UBEs

Find reports consistently taking too long.

Example:

UBEAverage Runtime
R42565  2 min
R09801  45 min
R55XXX03  90 min

Detect Performance Degradation

Compare current month vs previous month runtimes.

Batch Queue Optimization

Move heavy jobs into separate queues.

Infrastructure Planning

Determine whether:

  • Additional kernel processes are needed
  • Database tuning is required
  • More CPU or memory is needed

Recommended Enhancements

You can further improve reporting by adding:

Additional Filters

AND JCUSER = 'JDE'
AND JCSTDTIM >= '2025-01-01'


Build Dashboards

Use:

  • Power BI
  • SQL Reporting Services
  • Grafana
  • Excel Pivot Reports

to visualize job execution trends.


Final Thoughts

Submitted job performance analysis is one of the most overlooked areas in JD Edwards administration.

Using the F986114 table, CNC administrators can quickly identify:

  • Slow-running reports
  • Runtime inconsistencies
  • Capacity issues
  • Scheduling bottlenecks
  • Growth-related performance degradation

Regular monitoring of submitted jobs helps maintain stable batch processing and improves overall EnterpriseOne system performance.



Wednesday, September 25, 2024

Linux: Add user to sudo List


Managing sudo access is an important task for Linux administrators. Instead of logging in directly as root, it is considered a best practice to grant administrative privileges to individual users using sudo.

This article explains how to:

  • Add a user to the sudo list
  • Configure sudo timeout settings
  • Safely edit the sudoers file using visudo
  • Switch to the new privileged user 

Why Use sudo Instead of Root?

Using sudo provides several advantages:

  • Better security
  • Command auditing
  • Reduced risk of accidental system damage
  • Controlled privilege escalation
  • Individual accountability for administrative actions

Instead of sharing the root password, each user can use their own credentials.


Important: Never Edit sudoers Directly

The /etc/sudoers file controls sudo access.

Never edit this file using standard editors like:

  • vi
  • vim
  • nano

Direct editing can corrupt the file if multiple administrators edit simultaneously or if syntax errors are introduced.

Step 1 – Open sudoers File

Run:

sudo visudo

Step 2 – Navigate to Bottom of File

Inside the editor: Press Shift + G

This moves the cursor to the end of the document.


Step 3 – Enter Insert Mode

Press: i

This enables editing mode.


Step 4 – Configure sudo Timeout

Add the following line at the bottom of the file:

Defaults timestamp_timeout=1800

Step 5 – Add User to sudo Privileges

Locate the section containing:

root ALL=(ALL) ALL

Below that line, add:

myuserid ALL=(ALL) ALL

Note:Replace myuserid with your actual Linux username.


Step 6 – Save and Exit

Press:ESC

Then type::wq

Press Enter.

This will: Save the file and Exit the editor


Step 7 – Switch to the New User

Now switch from the current user (example: opc) to the new sudo-enabled user.

su - myuserid


Verify sudo Access

Run a simple sudo command:

sudo whoami

Friday, May 24, 2024

JDE SSO with Azure AD with MFA

 


JDE SSO with Azure AD with MFA









Saturday, May 18, 2024

SQL Server - Find Duplicate Submitted Jobs JDE


Find Duplicate Submitted Jobs JDE


WITH CTE(JCEXEHOST,JCFNDFUF2, duplicatecount)

AS (SELECT JCEXEHOST,JCFNDFUF2, ROW_NUMBER() OVER(PARTITION BY JCEXEHOST,JCFNDFUF2 ORDER BY  JCEXEHOST,JCFNDFUF2) AS DuplicateCount

    FROM SVM920.F986110 WHERE JCJOBSTS IN ('W') AND JCORGHOST='Enterprise_Server')

SELECT * FROM CTE WHERE DuplicateCount > 1;


Delete Duplicate Submitted Jobs JDE

WITH CTE(JCEXEHOST,JCFNDFUF2, duplicatecount)

AS (SELECT JCEXEHOST,JCFNDFUF2, ROW_NUMBER() OVER(PARTITION BY JCEXEHOST,JCFNDFUF2 ORDER BY  JCEXEHOST,JCFNDFUF2) AS DuplicateCount

    FROM SVM920.F986110 WHERE JCJOBSTS IN ('W') AND JCORGHOST='Enterprise_Server')

DELETE FROM CTE WHERE DuplicateCount > 1;

Wednesday, October 25, 2023

JDE Workflow Table

 

JDE Workflow Table

E1: WRKFLW: Frequently Asked Questions on EnterpriseOne Workflow (Doc ID 1329683.1)

F98800      Process Master

F98800D    Process Master Alternate Description
F98800T    Process Master Supplemental Information
F98810      Task Master
F98810D    Task Master Alternate Description
F98811      Task Specifications
F98830      Process Task Associations
F98840      Organizational Structure Master
F98845      Organizational Structure Rule

For 8.9 and beyond:
F98820      Workflow Engine
F98850      Argument Mapping
F98870      Process Observer

Saturday, September 16, 2023

READ BLOB in SQL Server

 


SELECT vrpid, vrvers, CAST ( CAST ( vrpodata AS VARBINARY(MAX)) AS NVARCHAR(MAX)) [POVal], vrvcd as DateChanged from pd920.f983051

where (vrpid like 'P%' or vrpid like 'R%')

and vrvcd > 12360

order by vrvcd DESC;

 

SELECT vrpid, vrvers, CAST ( CAST ( vrpodata AS VARBINARY(MAX)) AS NVARCHAR(MAX)) [POVal] from pd920.f983051

where (vrpid like 'P%' or vrpid like 'R%') and CAST ( CAST ( vrpodata AS VARBINARY(MAX)) AS NVARCHAR(MAX)) like '%:\%' or CAST ( CAST ( vrpodata AS VARBINARY(MAX)) AS NVARCHAR(MAX)) like '%\\%'

order by vrpid;

 

SELECT vrpid, vrvers, CAST ( CAST ( vrpodata AS VARBINARY(MAX)) AS NVARCHAR(MAX)) [POVal] from pd920.f983051

where (vrpid like 'P%' or vrpid like 'R%') and CAST ( CAST ( vrpodata AS VARBINARY(MAX)) AS NVARCHAR(MAX)) like '%:\%' or CAST ( CAST ( vrpodata AS VARBINARY(MAX)) AS NVARCHAR(MAX)) like '%\\%'

and vrvcd > 123060

order by vrpid;


select cast(substring(uobindta,1,8000) as varchar(8000)) from PD920.F98950;


Tuesday, July 18, 2023

Performance Questionaire

 


Are they Hosted? If yes where -?

 

JDE Detail –

 Application Release –

Tool Release –

Bitness -

Batch Server – OS/RAM/CPU

Database Server and Version –

Database Server  - OS/RAM/CPU

 

 

JDE –

 

Since when the issue is happening ?

Any recent changes done at hardware level or JDE Software (New Promotion) or Third Party ?

Last Full Package build date ?

Run Report R9698711 and see missing index as per JDE Standard?

Does Job remain in Wait Status long enough before start Processing?

Is this Standard or Using custom?  Custom BSFN, RDA or Table etc ?

Can Job be run with AntiVirus turn off on Enterpriser and Database Server and See performance?

 

Does Payroll Job Run Faster if it run’s in single threaded Queue ?

Is there specific time when Job run faster and time when Job run slower ?

What parameter is the comparison of Job performance?

Does Same Job run faster in one environment vs other environment?

Does any other Job is slower

 

DBA -

Verify Database is performance ?

Check Index on Database?

Check Fragmentation on Database?

Check Database Backup timing and see if timing is conflict when the job is running?

 

Infra Team

Check Performance of System for last 10 days.  Provide Screen Shot for monitoring ?

Which Antivirus running and is JDE Folder excluded ?


Thursday, July 6, 2023

JDE Tables

 CNC Tables

F986101 - Object Configuration Master

F98611 - Data Source Master

F98230 - OMW System Settings

F95921 - Role Relationships Table

F9654 - Deployment Locations Definition

F9651 - Machine Detail

F9650 - Machine Master

F00950 - Security Workbench Table

F00945 - Release Master

F00942T

F00941 - Environment Detail - One World

F00942 - Object Path Master File

F0094 - Library List Master File

F0092 -  Library Lists - User


ESU Table

F9670 - Software Update Master Table

F9671  - Software Update Detail Table

F9672 - Software Update Pathcode Information

F98881 - Specification Merge Logging File

F988810 - SpecMerge Tracking


Package Tables

F98220

F98221

F98222

F98223

F98224


Package Table

F9603

F96511

F98825

F98226



Friday, May 5, 2023

Understanding Kernel Refresh

 

Understanding Kernel Refresh

To optimize overall system workload into logical segments, JD Edwards EnterpriseOne assigns processing tasks to various kernel processes running on a JD Edwards EnterpriseOne Enterprise Server. These kernels use static and dynamic database connections at process initiation and maintains those connections to a database for the entire EnterpriseOne process life cycle. In case of any interruption to the database connection or connection sessions therein, the connection or session must be recovered or restarted. Understanding how static and dynamic EnterpriseOne database connections work and their impact on the JD Edwards system is important.

The JDBC interface of the EnterpriseOne HTML Server is a single-process connection to a database; on the other hand, multiple connections are made through the Enterprise Server kernel processes using JD Edwards EnterpriseOne CallObject kernels. The EnterpriseOne HTML Server depends on communication to the Enterprise Server Security kernel for authentication and other security process requests to function properly; thus loss of database connections on the Enterprise Server Security and Metadata kernel processes has a subsequent downstream effect on the EnterpriseOne HTML Server performance.

Kernels that are classified as static use a bootstrap login to establish the connection. This means that the login credentials are stored in and read from the jde.ini of the Enterprise Server. This is called the login environment. Unlike dynamic connections, a login to a static kernel is never logged out during the process lifetime. Again, this is because unlike dynamic connections, a static login environment is not subject to timeouts due to inactivity or logouts. Under normal conditions, these static kernels are only restarted when the Enterprise Server is restarted. Otherwise static kernels can only be restarted by manually killing the process and restarting it.

Among the key functions of a static kernel are database connections. If the connection to the database is temporarily lost for any reason such as network unavailability, the kernels have fault-tolerant logic to retry the connection for up to 75 seconds reusing the same connection. If the connection cannot be reestablished within 75 seconds, the process is failed. As previously mentioned, an entire static process can only be restarted by either restarting the Enterprise Server or by manually killing and restarting the process.

In order to avoid the situation where the database connection within a kernel process are in a failed state (timed out for more than 75 seconds) that is unknown to the system, functionality is added to Server Manager to refresh those database connections in static environments either periodically or on demand. This functionality is only available to an Admin user for Server Manager. When invoked, this function refreshes each static kernel for all database connections. The list of such static kernels may change from release to release, so it is not important that they be individually listed. Additionally, a static environment type, such as Security, may include multiple kernels of the same type. In such cases, this function will refresh each kernel in a static environment type.

It is important to note that the intent of a "refresh" is primarily to reestablish the database connections without resorting to a destructive "kill" action. As such, a refresh preserves the other logical states in the kernel and the kernel maintains the same internal functional state as it was prior to the refresh of the database connections.

One exception to the static kernel model is the Workflow kernel. This kernel can only free expired environments, that is, environments that have timed out. If a workflow environment is still active, it will not be forcibly freed by the refresh process.

Automatic Kernel Refresh

Note: The implementation of Automatic Kernel Refresh is only compatible with Oracle databases that are using multi node Real Time Application Cluster (RAC). This is because the process depends on the availability of a functioning node, which is not the case in a single node database in the event of a failure due to such factors are hardware or network issues. Multi node RAC environments are typically available for Oracle Autonomous Database (ADB) implementations.

In order to avoid disrupting normal processing, the JD Edwards kernel automatic kernel refresh logic only executes on an idle kernel process. If a kernel uses multiple threads, the logic will wait to refresh until all threads are idle. Basically a refresh involves a logout and a bootstrap login which reestablishes the database connections either using existing connections or establishing new connections; thus ensuring the connections are valid. This logout/login process does not kill a process or establish a new process - it reuses the existing process with reestablished database connections and returns the kernel to its prior state.

For implementation details, refer to the following section entitled: Using Automatic Kernel Refresh.

On-Demand Manual Kernel Refresh

You can use the Refresh Environments button to force a refresh for all static environments and CallObject kernels (which are dynamic kernels).

For static environments, the refresh will occur regardless of whether the kernel is idle. However, the refresh will wait until all threads of the kernel are complete. As with the automatic kernel refresh, the refresh does not kill a process or establish a new process - it reuses the existing process with reestablished database connections.

For CallObject kernels, these are dynamic kernels which are created by actual or programmatic user logins. Clicking the Refresh Environment button flags these kernels for recycling. In this case, recycling means the system will attempt to terminate a CallObject kernel gracefully, which means when all users of the CallObject kernel are either voluntarily logged out or forcibly logged out by an inactivity timeout (typically either 6 or 12 hours, for inactive or forced logouts, respectively). New CallObject kernels are created upon user login. This reestablishes the database connections for the kernel.

For example, in Production environments you might use the on-demand function if you are performing database patching during a planned maintenance window. In this case you would not be constrained by a short loss in system availability.

For implementation details, refer to the following section entitled: Using On-Demand Kernel Refresh.


https://docs.oracle.com/en/applications/jd-edwards/cross-product/9.2/eoism/understanding-kernel-refresh.html#u30154786

Tuesday, January 3, 2023

SQL Server and Database Collation

 

SELECT SERVERPROPERTY('Collation') AS 'Collation'


SELECT name, collation_name FROM sys.databases


The JDE Database Collation level should be Latin1_General_CI_AS_WS


msdb SQL_Latin1_General_CP1_CI_AS

DBA SQL_Latin1_General_CP1_CI_AS

JDE920 Latin1_General_CI_AS_WS

JDE_CRP Latin1_General_CI_AS_WS

JDE_DEVELOPMENT Latin1_General_CI_AS_WS

JDE_DV920 Latin1_General_CI_AS_WS

JDE_PRIST920 Latin1_General_CI_AS_WS

JDE_PS920 Latin1_General_CI_AS_WS

JDE_PY920 Latin1_General_CI_AS_WS

JDE_PD920 Latin1_General_CI_AS_WS

JDE_PRODUCTION Latin1_General_CI_AS_WS