diff --git a/.astro/astro/content.d.ts b/.astro/astro/content.d.ts
index 474e0cd..9ece352 100644
--- a/.astro/astro/content.d.ts
+++ b/.astro/astro/content.d.ts
@@ -425,6 +425,20 @@ declare module 'astro:content' {
collection: "docs";
data: InferEntrySchema<"docs">
} & { render(): Render[".mdx"] };
+"extensions/ibmi-fs/index.mdx": {
+ id: "extensions/ibmi-fs/index.mdx";
+ slug: "extensions/ibmi-fs";
+ body: string;
+ collection: "docs";
+ data: InferEntrySchema<"docs">
+} & { render(): Render[".mdx"] };
+"extensions/ibmi-fs/objects.mdx": {
+ id: "extensions/ibmi-fs/objects.mdx";
+ slug: "extensions/ibmi-fs/objects";
+ body: string;
+ collection: "docs";
+ data: InferEntrySchema<"docs">
+} & { render(): Render[".mdx"] };
"extensions/renderer/index.mdx": {
id: "extensions/renderer/index.mdx";
slug: "extensions/renderer";
@@ -537,6 +551,20 @@ declare module 'astro:content' {
collection: "docs";
data: InferEntrySchema<"docs">
} & { render(): Render[".mdx"] };
+"tips/secure.mdx": {
+ id: "tips/secure.mdx";
+ slug: "tips/secure";
+ body: string;
+ collection: "docs";
+ data: InferEntrySchema<"docs">
+} & { render(): Render[".mdx"] };
+"tips/secure_ssh.mdx": {
+ id: "tips/secure_ssh.mdx";
+ slug: "tips/secure_ssh";
+ body: string;
+ collection: "docs";
+ data: InferEntrySchema<"docs">
+} & { render(): Render[".mdx"] };
"tips/setup.mdx": {
id: "tips/setup.mdx";
slug: "tips/setup";
diff --git a/.astro/settings.json b/.astro/settings.json
index b724ac4..db063ef 100644
--- a/.astro/settings.json
+++ b/.astro/settings.json
@@ -1,5 +1,5 @@
{
"_variables": {
- "lastUpdateCheck": 1773776142351
+ "lastUpdateCheck": 1775676910082
}
}
\ No newline at end of file
diff --git a/astro.config.mjs b/astro.config.mjs
index fd50e7f..8031161 100644
--- a/astro.config.mjs
+++ b/astro.config.mjs
@@ -130,7 +130,37 @@ export default defineConfig({
},
{
label: 'Browsers',
- autogenerate: { directory: 'browsers/' },
+ items: [
+ {
+ label: 'IBM i Browsers',
+ link: 'browsers/',
+ },
+ {
+ label: 'Object Browser',
+ link: 'browsers/object-browser/',
+ },
+ {
+ label: 'IFS Browser',
+ link: 'browsers/ifs-browser/',
+ },
+ {
+ label: 'User Library List',
+ link: 'browsers/user-library-list/',
+ },
+ {
+ label: 'Go To File',
+ link: 'browsers/goToFile/',
+ },
+ {
+ label: 'IBM i FileSystem',
+ autogenerate: { directory: 'extensions/ibmi-fs/' },
+ collapsed: true,
+ badge: {
+ text: 'NEW',
+ variant: 'tip'
+ },
+ },
+ ],
collapsed: false,
},
{
@@ -138,14 +168,14 @@ export default defineConfig({
items: [
{
label: 'RPGLE',
- autogenerate: { directory: 'extensions/rpgle/' },
+ autogenerate: { directory: 'extensions/rpgle/' },
collapsed: true,
},
- {
+ {
label: 'CLLE',
link: 'extensions/clle'
},
- {
+ {
label: 'Renderer',
link: 'extensions/renderer',
badge: {
@@ -155,7 +185,7 @@ export default defineConfig({
},
{
label: 'Db2 for i',
- autogenerate:{ directory: 'extensions/db2i/'},
+ autogenerate:{ directory: 'extensions/db2i/'},
collapsed: true,
badge: {
text: 'New AI',
diff --git a/src/content/docs/extensions/ibmi-fs/images/Info.png b/src/content/docs/extensions/ibmi-fs/images/Info.png
new file mode 100644
index 0000000..d1787a0
Binary files /dev/null and b/src/content/docs/extensions/ibmi-fs/images/Info.png differ
diff --git a/src/content/docs/extensions/ibmi-fs/images/Locks.png b/src/content/docs/extensions/ibmi-fs/images/Locks.png
new file mode 100644
index 0000000..8c5bd8e
Binary files /dev/null and b/src/content/docs/extensions/ibmi-fs/images/Locks.png differ
diff --git a/src/content/docs/extensions/ibmi-fs/images/ObjDtl.png b/src/content/docs/extensions/ibmi-fs/images/ObjDtl.png
new file mode 100644
index 0000000..3ed401d
Binary files /dev/null and b/src/content/docs/extensions/ibmi-fs/images/ObjDtl.png differ
diff --git a/src/content/docs/extensions/ibmi-fs/images/ObjectBrowser.png b/src/content/docs/extensions/ibmi-fs/images/ObjectBrowser.png
new file mode 100644
index 0000000..21c03d7
Binary files /dev/null and b/src/content/docs/extensions/ibmi-fs/images/ObjectBrowser.png differ
diff --git a/src/content/docs/extensions/ibmi-fs/images/auth.png b/src/content/docs/extensions/ibmi-fs/images/auth.png
new file mode 100644
index 0000000..563e777
Binary files /dev/null and b/src/content/docs/extensions/ibmi-fs/images/auth.png differ
diff --git a/src/content/docs/extensions/ibmi-fs/images/logo.png b/src/content/docs/extensions/ibmi-fs/images/logo.png
new file mode 100644
index 0000000..fbb9d27
Binary files /dev/null and b/src/content/docs/extensions/ibmi-fs/images/logo.png differ
diff --git a/src/content/docs/extensions/ibmi-fs/index.mdx b/src/content/docs/extensions/ibmi-fs/index.mdx
new file mode 100644
index 0000000..98b4e08
--- /dev/null
+++ b/src/content/docs/extensions/ibmi-fs/index.mdx
@@ -0,0 +1,195 @@
+---
+title: IBM i FileSystem
+sidebar:
+ order: 1
+hero:
+ title: IBM i FileSystem
+ tagline: Advanced functionality for viewing and managing objects inside the IBM i QSYS file system
+ image:
+ html: ''
+---
+
+import { CardGrid, Card, Tabs, TabItem, LinkCard } from '@astrojs/starlight/components';
+import { Aside } from '@astrojs/starlight/components';
+import { Icon } from '@astrojs/starlight/components';
+
+The IBM i FileSystem extension provides advanced functionality for viewing and managing objects inside the IBM i QSYS file system. It extends the base Code for IBM i extension with specialized editors and operations for various IBM i object types.
+
+## Install
+
+The extension can be [installed from the Marketplace](https://marketplace.visualstudio.com/items?itemName=halcyontechltd.vscode-ibmi-fs) and is also part of the [IBM i Development Pack](https://marketplace.visualstudio.com/items?itemName=HalcyonTechLtd.ibm-i-development-pack).
+
+
+
+## Usage
+
+Once connected to your IBM i system using Code for IBM i:
+
+1. Navigate to the **Object Browser**
+2. Browse to any supported object type
+3. Click on the object to open it in the custom editor
+4. Use the **Action Bar** (top right) to perform object-specific operations
+
+---
+
+## Supported Object Types
+
+The extension supports **22 different IBM i object types** with comprehensive viewing capabilities and interactive actions. Below is a summary table of all supported object types:
+
+| Object Type | Type Code | Actions | Description |
+|-------------|-----------|---------|-------------|
+| đĻ Save Files | `*SAVF` | â | Store and manage saved objects and libraries |
+| đ¨ Data Queues | `*DTAQ` | â | Inter-process communication queues |
+| đ Data Areas | `*DTAARA` | â | Shared data storage objects |
+| đ¨ī¸ Output Queues | `*OUTQ` | â | Manage spooled files and printer output |
+| đ Job Queues | `*JOBQ` | â | Manage batch jobs waiting to be processed |
+| đž User Spaces | `*USRSPC` | â | Temporary or permanent data storage |
+| đ User Indexes | `*USRIDX` | â | Fast keyed access to user-defined entries |
+| đ Message Files | `*MSGF` | â | Predefined application messages |
+| đŦ Message Queues | `*MSGQ` | â | Store and manage system/user messages |
+| đ Binding Directories | `*BNDDIR` | â | Lists of service programs and modules |
+| đ§ Programs | `*PGM` | â | Executable program objects |
+| đ§ Service Programs | `*SRVPGM` | â | Shared executable code libraries |
+| đ§Š Modules | `*MODULE` | â | Compiled ILE objects |
+| âī¸ Commands | `*CMD` | â | IBM i CL command definitions |
+| đ Job Descriptions | `*JOBD` | â | Runtime environment for batch jobs |
+| đ Journal Receivers | `*JRNRCV` | â | Store journal entries for recovery |
+| đ Journals | `*JRN` | â | Record changes for auditing and recovery |
+| đ DDM Files | `*DDMF` | â | Access files on remote systems |
+| đĨī¸ Subsystem Descriptions | `*SBSD` | â | Define independent operating environments |
+| đ¯ Classes | `*CLS` | â | Runtime attributes for batch jobs |
+| đ Files | `*FILE` | â | Physical/logical files, views, and indexes |
+| đ Query Definitions | `*QRYDFN` | â | Query/400 database query definitions |
+
+**Legend:**
+- â **Actions Available** - Interactive operations (create, modify, delete, send, clear, etc.)
+- â **View Only** - Read-only information display
+
+
+
+---
+
+## Display Object *Generic* Information
+
+A generic action available for **all object types** (yes, even those not supported) that provides comprehensive information similar to the WRKOBJ/DSPOBJD command.
+
+
+
+
+View detailed object information:
+- Owner and definer
+- Creation date and time
+- Object size and attributes
+- Text description
+- Object type and library
+- Source file information (if applicable)
+
+
+
+
+
+View all locks on the object:
+- Lock state and status
+- Lock scope (shared/exclusive)
+- Job holding the lock
+- User and job number
+- Lock timestamp
+
+
+
+
+
+View object authorizations:
+- User and group authorities
+- Specific permissions (*READ, *ADD, *UPD, *DLT, *EXECUTE, etc.)
+- Authorization list information
+- Public authority settings
+
+
+
+
+
+View object usage information:
+- Last used timestamp
+- Days used count
+- Save and restore timestamps
+- Last change date
+
+
+
+
+
+*Information Tab - View detailed object information including owner, creation date, size and attributes*
+
+
+*Locks Tab - View all active locks on the object with state, scope and job holding the lock*
+
+
+*Authorizations Tab - View user and group authorities with specific permissions*
+
+### How to Access
+
+There are two ways to access object information:
+
+
+
+
+Press **`Ctrl+Shift+D`** (Windows/Linux) or **`Cmd+Shift+D`** (Mac):
+
+1. Enter the library name
+2. Enter the object name
+3. Select the object type
+4. View the information in a multi-tab interface
+
+This provides quick access without navigating the Object Browser.
+
+
+
+
+
+Right-click on any object in the Object Browser and select **"Additional Information"** from the context menu.
+
+
+
+
+
+
+---
+
+## View Object Details and Actions
+
+To view the **detailed object content** and **interact with object-specific actions**, **click directly on the object** in the Object Browser. This will open the custom editor for that object type, where you can:
+
+- View the complete object content
+- Use the **Action Bar** (top right) to perform operations
+- Edit and modify the object (when applicable)
+- Access object-specific features and tools
+
+
+*Object Details Editor - Click on an object to open the custom editor with full content and interactive actions*
+
+
+
+---
+
+## Localization
+
+This extension supports multiple languages through VSCode's built-in localization framework.
+
+### Supported Languages
+
+- đŦđ§ **English** (default)
+- đŽđš **Italian**
+- đĢđˇ **French**
+- đŠđĒ **German**
+- đĒđ¸ **Spanish**
+- đ¯đĩ **Japanese**
+- đ°đˇ **Korean**
+- đ§đˇ đĩđš **Brazilian Portuguese**
+- đ¨đŗ **Simplified and Traditional Chinese**
\ No newline at end of file
diff --git a/src/content/docs/extensions/ibmi-fs/objects.mdx b/src/content/docs/extensions/ibmi-fs/objects.mdx
new file mode 100644
index 0000000..090a849
--- /dev/null
+++ b/src/content/docs/extensions/ibmi-fs/objects.mdx
@@ -0,0 +1,815 @@
+---
+title: Object Details
+sidebar:
+ order: 2
+---
+
+import { Aside } from '@astrojs/starlight/components';
+
+This page provides detailed information about each supported object type, including all available features and actions.
+
+---
+
+## đĻ Save Files (SAVF)
+
+Save files are special file objects used to store saved objects and libraries.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `SAVE_FILE_INFO` | Retrieve save file metadata and save command |
+| Table Function | `QSYS2` | `SAVE_FILE_OBJECTS` | List objects, members, and spooled files in save file |
+
+### Features
+
+- đ Display save file contents (objects, members, spooled files, IFS directories)
+- âŦī¸ Download save file to local system
+- âŦī¸ Upload save file(s) from local system
+- đī¸ Clear save file contents
+- đž Save objects/libraries to save file
+- đ Restore objects/libraries from save file
+
+### Available Actions
+
+| Action | Description |
+|--------|-------------|
+| **Download** | Download the save file to your local system as a binary file |
+| **Upload** | Upload one or more save files from your local system to IBM i |
+| **Save** | Save objects or libraries into the save file using SAVOBJ/SAVLIB |
+| **Restore** | Restore objects or libraries from the save file using RSTOBJ/RSTLIB |
+| **Clear** | Clear all contents from the save file |
+
+---
+
+## đ¨ Data Queues (DTAQ)
+
+Data queues are objects used for inter-process communication, allowing programs to send and receive messages asynchronously.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `DATA_QUEUE_INFO` | Retrieve data queue attributes and configuration |
+| Table Function | `QSYS2` | `DATA_QUEUE_ENTRIES` | List all messages in the data queue |
+| Procedure | `QSYS2` | `CLEAR_DATA_QUEUE` | Clear all messages from the queue |
+| Procedure | `QSYS2` | `SEND_DATA_QUEUE` | Send message to data queue |
+| Procedure | `QSYS2` | `SEND_DATA_QUEUE_UTF8` | Send UTF-8 message to data queue |
+
+### Features
+
+- đ Display data queue information and attributes
+- đ View messages in the queue
+- âĄī¸ Send new messages to the queue
+- đī¸ Clear all messages from the queue
+- đ Support for keyed and non-keyed data queues
+
+### Available Actions
+
+| Action | Description |
+|--------|-------------|
+| **Send Message** | Send a new message to the data queue |
+| **Clear Queue** | Remove all messages from the data queue |
+
+### Information Displayed
+
+- Queue type (keyed/non-keyed)
+- Maximum message length
+- Current number of messages
+- Maximum number of messages
+- Sequence (FIFO/LIFO/Keyed)
+- Force to auxiliary storage setting
+- All messages with their content and keys (if keyed)
+
+---
+
+## đ Data Areas (DTAARA)
+
+Data areas are objects that store data that can be accessed by multiple programs.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `DATA_AREA_INFO` | Retrieve data area type, length, and current value |
+
+### Features
+
+- đ Display data area information and current value
+- đ View data area attributes (type, length, decimal positions)
+- âī¸ Change data area content
+- đĸ Support for different data area types (*CHAR, *DEC, *LGL)
+
+### Available Actions
+
+| Action | Description |
+|--------|-------------|
+| **Change Value** | Modify the content of the data area using CHGDTAARA |
+
+### Information Displayed
+
+- Data area type (*CHAR, *DEC, *LGL)
+- Length and decimal positions (for *DEC)
+- Current value
+- Text description
+
+---
+
+## đ¨ī¸ Output Queues (OUTQ)
+
+Output queues manage spooled files and printer output.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `OUTPUT_QUEUE_INFO` | Retrieve output queue status and configuration |
+| View | `QSYS2` | `OUTPUT_QUEUE_ENTRIES_BASIC` | List all spooled files in the queue |
+| Procedure | `SYSTOOLS` | `DELETE_OLD_SPOOLED_FILES` | Delete spooled files older than specified days |
+| Function | `SYSTOOLS` | `GENERATE_PDF` | Generate PDF from spooled file |
+
+### Features
+
+- đ Display output queue information and statistics
+- đ List all spooled files in a queue with details
+- â¸ī¸ Hold/Release output queues
+- đī¸ Clear output queue
+- âļī¸ Start/Stop printer writers
+- đ Generate PDF from spooled files
+- đī¸ Delete individual or old spooled files
+- đ¨ Dynamic UI based on queue and writer status
+
+### Available Actions
+
+| Action | Description |
+|--------|-------------|
+| **Hold Queue** | Hold the output queue (HLDOUTQ) |
+| **Release Queue** | Release the output queue (RLSOUTQ) |
+| **Clear Queue** | Clear all spooled files from the queue (CLROUTQ) |
+| **Manage Writer** | Start or stop printer writers associated with the queue |
+| **Delete Old Spools** | Delete spooled files older than a specified number of days |
+
+### Information Displayed
+
+- Queue status (held/released)
+- Number of spooled files
+- Writer status
+- List of all spooled files with:
+ - File name and number
+ - Job name, user, and number
+ - Status (ready, held, printing, etc.)
+ - Pages and copies
+ - Creation date and time
+
+---
+
+## đ Job Queues (JOBQ)
+
+Job queues manage batch jobs waiting to be processed.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `JOB_QUEUE_INFO` | Retrieve job queue status and statistics |
+| View | `SYSTOOLS` | `JOB_QUEUE_ENTRIES` | List all jobs in the queue with details |
+
+### Features
+
+- đ Display job queue information and statistics
+- đ List all jobs in a queue with their details
+- â¸ī¸ Hold/Release/Clear job queues
+- â¸ī¸ Hold/Release/End individual jobs
+- đ¨ Dynamic UI based on queue and job status
+
+### Available Actions
+
+| Action | Description |
+|--------|-------------|
+| **Hold Queue** | Hold the job queue (HLDJOBQ) |
+| **Release Queue** | Release the job queue (RLSJOBQ) |
+| **Clear Queue** | Clear all jobs from the queue (CLRJOBQ) |
+
+### Information Displayed
+
+- Queue status (held/released)
+- Number of jobs
+- Subsystem information
+- List of all jobs with:
+ - Job name, user, and number
+ - Job status
+ - Job type
+ - Priority
+ - Submission date and time
+
+---
+
+## đž User Spaces (USRSPC)
+
+User spaces provide temporary or permanent storage for data that can be accessed by multiple programs.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `USER_SPACE_INFO` | Retrieve user space attributes and configuration |
+| Table Function | `QSYS2` | `USER_SPACE` | Read user space content |
+| Procedure | `QSYS2` | `CHANGE_USER_SPACE` | Modify user space data at specific position |
+
+### Features
+
+- đ Display user space information and attributes
+- đ View user space content (hexadecimal and text representation)
+- âī¸ Change user space data at specific positions
+- đ Support for different user space sizes
+- đ Automatic space extension capabilities
+
+### Available Actions
+
+| Action | Description |
+|--------|-------------|
+| **Change Data** | Modify data at a specific position in the user space |
+
+### Information Displayed
+
+- Current size and initial size
+- Auto-extend setting
+- Space value (initial fill character)
+- Content displayed in both hexadecimal and text format
+- Offset positions for easy reference
+
+---
+
+## đ User Indexes (USRIDX)
+
+User indexes provide fast keyed access to data stored in user-defined entries, similar to a hash table or dictionary.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `USER_INDEX_INFO` | Retrieve user index attributes and configuration |
+| Table Function | `QSYS2` | `USER_INDEX_ENTRIES` | List all entries with keys and values |
+| Procedure | `QSYS2` | `ADD_USER_INDEX_ENTRY` | Add new entry to user index |
+| Table Function | `QSYS2` | `REMOVE_USER_INDEX_ENTRY` | Remove entries from user index |
+
+### Features
+
+- đ Display user index information and attributes
+- đ View all entries with their keys and values
+- â Add new entries to the user index
+- đī¸ Remove entries from the user index
+- đ Support for variable-length entries
+- đ View entry statistics and index configuration
+
+### Available Actions
+
+| Action | Description |
+|--------|-------------|
+| **Add Entry** | Add a new key-value entry to the user index |
+| **Remove Entry** | Remove an entry from the user index by key |
+
+### Information Displayed
+
+- Entry length attributes
+- Key length
+- Immediate update setting
+- Optimization setting
+- Number of entries
+- List of all entries with keys and values
+
+---
+
+## đ Message Files (MSGF)
+
+Message files contain predefined messages used by IBM i applications.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `MESSAGE_FILE_DATA` | Retrieve all message definitions from message file |
+
+### Features
+
+- đ Display all messages in the message file
+- đ View message details (ID, text, severity, reply type)
+- đ First and second level message text
+- âī¸ Reply type and valid reply values
+- đ Fast table component for performance with many messages
+
+### Information Displayed
+
+- Message ID
+- Message severity
+- First level text
+- Second level text (help text)
+- Reply type
+- Valid reply values
+- Default reply value
+
+
+
+---
+
+## đŦ Message Queues (MSGQ)
+
+Message queues store messages sent by programs, system functions, or users, providing communication between jobs.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `MESSAGE_QUEUE_INFO` | Retrieve all messages in the queue with details |
+| Procedure | `QSYS2` | `SEND_MESSAGE` | Send message to message queue |
+
+### Features
+
+- đ Display message queue contents with detailed information
+- đ View message text (first and second level)
+- đ Show message metadata (severity, timestamp, sender job/user)
+- đī¸ Clear all messages from the queue
+- đ¨ Send message to the queue
+- đ Fast table component for performance with many messages
+
+### Available Actions
+
+| Action | Description |
+|--------|-------------|
+| **Send Message** | Send a new message to the message queue |
+| **Clear Queue** | Remove all messages from the queue |
+
+### Information Displayed
+
+- Message ID and type
+- Message severity
+- Message text (first and second level)
+- Sender information (job, user, program)
+- Timestamp
+- Reply status (for inquiry messages)
+
+---
+
+## đ Binding Directories (BNDDIR)
+
+Binding directories contain lists of service programs and modules used during program binding.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `BINDING_DIRECTORY_INFO` | Retrieve all entries in binding directory |
+| View | `QSYS2` | `PROGRAM_EXPORT_IMPORT_INFO` | Retrieve exported symbols from service programs |
+
+### Features
+
+- đ Display binding directory entries
+- đ View bound objects (library, type, activation)
+- đ Creation date and time information
+- â Add new entries to binding directory
+- đī¸ Delete entries from binding directory
+- đ View exported symbols from service programs
+
+### Available Actions
+
+| Action | Description |
+|--------|-------------|
+| **Add Entry** | Add a new service program or module to the binding directory |
+
+### Information Displayed
+
+- Object name and library
+- Object type (*SRVPGM or *MODULE)
+- Activation group
+- Creation timestamp
+- For service programs: list of exported procedures
+
+---
+
+## đ§ Programs (PGM) and Service Programs (SRVPGM)
+
+Programs and service programs are executable objects.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `PROGRAM_INFO` | Retrieve comprehensive program information |
+| View | `QSYS2` | `BOUND_MODULE_INFO` | List all bound modules |
+| View | `QSYS2` | `BOUND_SRVPGM_INFO` | List all bound service programs |
+| View | `QSYS2` | `PROGRAM_EXPORT_IMPORT_INFO` | Retrieve exported procedures (for *SRVPGM) |
+
+### Features
+
+- đ Display comprehensive program information
+- đ View program attributes and properties
+- đ List bound modules
+- đĻ List bound service programs
+- đ View exported symbols (for service programs)
+- đ Debug data availability information
+- đ Creation and compilation information
+
+### Information Displayed
+
+- Program type and attributes
+- Activation group
+- Optimization level
+- Debug data availability
+- Creation and compilation timestamps
+- Source file information
+- List of bound modules
+- List of bound service programs
+- Exported procedures (for *SRVPGM)
+- Program size and statistics
+
+
+
+---
+
+## đ§Š Modules (MODULE)
+
+Modules are compiled ILE objects that contain executable code and can be bound into programs or service programs.
+
+### Features
+
+- đ Display comprehensive module information
+- đ View module attributes (creation date, source file, compiler options)
+- đ Detailed size information (code size, data size, debug data)
+- đ§ List all procedures defined in the module
+- đ View imported and exported symbols
+- đĻ Display referenced system objects
+- ÂŠī¸ Show copyright information
+- đ¨ Multi-tab interface for organized information display
+
+### Information Displayed
+
+- Module attributes and compiler options
+- Source file and member information
+- Creation and compilation timestamps
+- Size breakdown (code, data, debug)
+- List of procedures with export status
+- Imported and exported symbols
+- Referenced system objects
+- Copyright information
+
+
+
+---
+
+## âī¸ Commands (CMD)
+
+Command objects define IBM i CL commands.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `COMMAND_INFO` | Retrieve command definition and attributes |
+
+### Features
+
+- đ Display command definition
+- đ View all command parameters
+- đ Parameter keywords and values
+- đ Parameter descriptions
+- đĸ CCSID information
+
+### Information Displayed
+
+- Command processing program
+- Validity checker program
+- Mode (production/debug)
+- Threadsafe indicator
+- Maximum positional parameters
+- Prompt override program
+- List of all parameters with:
+ - Keyword
+ - Type and length
+ - Minimum/maximum values
+ - Default value
+ - Required/optional status
+ - Prompt text
+
+
+
+---
+
+## đ Job Descriptions (JOBD)
+
+Job descriptions define the runtime environment for batch jobs.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `JOB_DESCRIPTION_INFO` | Retrieve job description attributes and configuration |
+
+### Features
+
+- đ Display job description attributes
+- đ View job queue, output queue, and message queue
+- đ¤ User profile and initial library list
+- âī¸ Job attributes and system values
+- đ§ Routing data and request data
+
+### Information Displayed
+
+- Job queue and priority
+- Output queue and priority
+- Message queue
+- User profile
+- Initial library list
+- Job date and job switches
+- Routing data
+- Request data
+- Accounting code
+- Message logging level
+- Inquiry message reply
+
+
+
+---
+
+## đ Journal Receivers (JRNRCV)
+
+Journal receivers store journal entries for auditing, recovery, and replication purposes.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `JOURNAL_RECEIVER_INFO` | Retrieve journal receiver attributes and configuration |
+
+### Features
+
+- đ Display journal receiver information and attributes
+- đ View receiver status and statistics
+- đĸ View sequence number ranges (first/last)
+- đ View attachment and detachment timestamps
+- đ View linked receivers (previous/next in chain)
+- đ View remote journal configuration
+- đ View filter settings (objects, images, programs)
+- đž View size and threshold information
+
+### Information Displayed
+
+- Receiver status (online/saved/freed)
+- Sequence number range
+- Attachment and detachment timestamps
+- Associated journal
+- Previous and next receivers in chain
+- Size and threshold information
+- Remote journal configuration
+- Filter settings
+
+
+
+---
+
+## đ Journals (JRN)
+
+Journals record changes to database files, data areas, and other objects for auditing, recovery, and replication.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `JOURNAL_INFO` | Retrieve journal configuration and settings |
+| View | `QSYS2` | `JOURNAL_RECEIVER_INFO` | Retrieve receiver chain information |
+| Table Function | `QSYS2` | `DISPLAY_JOURNAL` | Display journal entries using SQL queries |
+
+### Features
+
+- đ Display journal information and configuration
+- đ View journal receiver chain with details
+- đ View attached receiver and receiver statistics
+- đĸ View sequence number ranges for each receiver
+- đ View attachment, detachment, and save timestamps
+- đ View remote journal configuration
+- đ Display journal entries using SQL queries
+- â Generate new journal receivers
+- đž View size and threshold information
+- âī¸ View journal settings (cache, filtering, fixed-length data options)
+
+### Available Actions
+
+| Action | Description |
+|--------|-------------|
+| **Generate Receiver** | Generate a new journal receiver (CHGJRN JRNRCV(*GEN)) |
+| **Display Journal** | Display journal entries using SQL queries |
+
+### Information Displayed
+
+- Current attached receiver
+- Journal state and attributes
+- Receiver chain with all receivers
+- Sequence number ranges
+- Attachment and detachment timestamps
+- Remote journal configuration
+- Journal settings (cache, filtering, etc.)
+- Journaled objects
+
+---
+
+## đ DDM Files (DDMF)
+
+DDM (Distributed Data Management) files provide access to files on remote systems.
+
+### Features
+
+- đ Display DDM file configuration and attributes
+- đ View remote location information (system name/address, port)
+- đ View remote file name and library
+- âī¸ View access method and file attributes
+- đ View security and connection settings
+- đ Support for multi-line field values
+
+### Information Displayed
+
+- Remote location name
+- Remote system name or IP address
+- Remote file name and library
+- Port number
+- Access method
+- Local/remote format
+- Connection settings
+- Security settings
+
+
+
+---
+
+## đĨī¸ Subsystem Descriptions (SBSD)
+
+Subsystem descriptions define independent operating environments within IBM i that control how work enters the system and how resources are allocated.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `SUBSYSTEM_INFO` | Retrieve subsystem status and configuration |
+| View | `QSYS2` | `SUBSYSTEM_POOL_INFO` | Retrieve memory pool configuration |
+| View | `QSYS2` | `AUTOSTART_JOB_INFO` | Retrieve autostart job entries |
+| View | `QSYS2` | `WORKSTATION_INFO` | Retrieve workstation entries |
+| View | `QSYS2` | `ROUTING_ENTRY_INFO` | Retrieve routing entries |
+| View | `QSYS2` | `PRESTART_JOB_INFO` | Retrieve prestart job entries |
+| View | `QSYS2` | `JOB_QUEUE_INFO` | Retrieve job queue entries |
+| Table Function | `QSYS2` | `ACTIVE_JOB_INFO` | Retrieve active jobs in subsystem |
+
+### Features
+
+- đ Display subsystem information and status (active/inactive)
+- đ View memory pools configuration
+- đ View autostart job entries (AJEs)
+- đģ View workstation entries (WSEs)
+- đ View job queue entries (JOBQEs)
+- đ View routing entries (RTGEs)
+- ⥠View prestart job entries (PJEs)
+- đĨ View active jobs in the subsystem (when active)
+- âļī¸ Start subsystem
+- âšī¸ End subsystem with multiple options (*IMMED, *CNTRLD)
+- đ End individual jobs within the subsystem
+- đ¨ Dynamic UI based on subsystem status
+
+### Available Actions
+
+| Action | Description |
+|--------|-------------|
+| **Start Subsystem** | Start the subsystem (STRSBS) |
+| **End Subsystem** | End the subsystem with options (*IMMED or *CNTRLD) |
+
+### Information Displayed
+
+- Subsystem status (active/inactive)
+- Memory pools configuration
+- Autostart job entries
+- Workstation entries
+- Job queue entries
+- Routing entries
+- Prestart job entries
+- Active jobs (when subsystem is active)
+
+---
+
+## đ¯ Classes (CLS)
+
+Classes define the runtime attributes for batch jobs, controlling how jobs execute and consume system resources.
+
+### Features
+
+- đ Display class information and attributes
+- đī¸ View run priority (1-99, lower number = higher priority)
+- âąī¸ View time slice in milliseconds
+- đž View maximum temporary storage allowed
+- ⥠View maximum CPU time limit
+- đĨ View maximum active threads
+- âŗ View default wait time for locks
+- đī¸ View purge eligibility status
+- đ View usage statistics (last used date, days used count)
+- đ§ Automatic creation of required SQL objects using QWCRCLSI API
+
+### Information Displayed
+
+- Run priority (1-99)
+- Time slice (milliseconds)
+- Default wait time
+- Maximum CPU time
+- Maximum temporary storage
+- Maximum threads
+- Purge eligibility
+- Usage statistics
+
+
+
+---
+
+## đ Files (FILE)
+
+File objects include physical files (PF), logical files (LF), views, and indexes that store and organize data.
+
+### IBM i SQL Services Used
+
+| Type | Schema | Name | Purpose |
+|------|--------|------|---------|
+| View | `QSYS2` | `SYSTABLES` | Retrieve table/file metadata and attributes |
+| View | `QSYS2` | `SYSCOLUMNS` | Retrieve column definitions and properties |
+| View | `QSYS2` | `SYSVIEWS` | Retrieve view definition and capabilities |
+| View | `QSYS2` | `SYSTABLESTAT` | Retrieve file statistics (rows, operations, I/O) |
+| View | `QSYS2` | `SYSMEMBERSTAT` | Retrieve member-level statistics |
+| View | `QSYS2` | `SYSINDEXES` | Retrieve index metadata and attributes |
+| View | `QSYS2` | `SYSINDEXSTAT` | Retrieve index statistics and usage metrics |
+| Table Function | `QSYS2` | `OBJECT_STATISTICS` | Retrieve object-level statistics and information |
+| Table Function | `SYSTOOLS` | `RELATED_OBJECTS` | Retrieve dependent objects (indexes, views, constraints) |
+
+### Features
+
+- đ Display comprehensive file/table/view/index information
+- đ View file attributes (creation date, owner, journaling status, CCSID)
+- đ View detailed statistics (row counts, operations, I/O metrics)
+- đĨ Display file members with their statistics
+- đ§ Display columns and data types
+- đ Show dependent objects (indexes, views, constraints)
+- đ Query file contents using SQL SELECT
+- đ View view definitions and capabilities
+- đ¯ Support for both DDS and SQL-based files
+- đ¨ Multi-tab interface for organized information display
+
+### Available Actions
+
+| Action | Description |
+|--------|-------------|
+| **Query File** | Execute a SQL SELECT statement to view file contents |
+
+### Information Displayed
+
+- File type (PF, LF, view, index)
+- File attributes and creation information
+- Record format and CCSID
+- Journaling status
+- Number of members and records
+- File statistics (reads, writes, updates, deletes)
+- Column definitions with data types
+- File members with statistics
+- Dependent objects (indexes, views, constraints)
+- View definition (for views)
+
+---
+
+## đ Query Definitions (*QRYDFN)
+
+Query definitions are objects created by Query/400 or Query Manager that define database queries.
+
+### Features
+
+- đ Translate *QRYDFN objects to SQL statements in text editor
+- đ Automatic file reference conversion (LIB/FILE â LIB.FILE)
+
+### Available Actions
+
+| Action | Description |
+|--------|-------------|
+| **View as SQL** | Open the query definition translated to SQL in a text editor |
+
+### Information Displayed
+
+The query definition is automatically translated to an equivalent SQL SELECT statement, making it easier to understand and potentially migrate to SQL-based queries.
+
+
\ No newline at end of file