Skip to content

Menus for interacting with IBMi AS400 using NodeJS and inquirer.

License

Notifications You must be signed in to change notification settings

Teqed/interact-ibmi

Repository files navigation

interact-ibmi

stability-wip CI Depfu

GitHub last commit GitHub

Menus for interacting with IBMi AS400 using the node-odbc package.

prototype image of interact-ibmi showing the main menu



This is a work-in-progress with the goals of being able to view file records using ODBC, insert new records, and delete selected records, as well as perform some system commands.

To-do

  • [:heavy_check_mark:] Make ODBC connections to IBMi
  • [:heavy_check_mark:] Send SQL queries to fetch data from tables and store it in objects
  • [:heavy_check_mark:] Find QSYS2 tables for retrieving system information
  • [:heavy_check_mark:] Send QCMDEXC commands to system using SQL queries
  • [:heavy_check_mark:] Handle errors on QCMDEXC commands
  • [:heavy_check_mark:] Handle errors on regular SQL queries
  • [:heavy_check_mark:] Create a new system user by copying another user's profile
  • [:heavy_check_mark:] Place new system user on authorization lists and create directory entry

prototype image of interact-ibmi showing some user diagnostics
Some basic user diagnostics already done!

  • [🔜] Execute commands provided by argument
  • [🔜] Clean-up menus and output
  • [🔜] Handle bad logins gracefully
  • [🔜] Add a dotfile configuration
  • [🔜] Improve generic usage -- input, output
  • [🔜] Optimize for bsh env

Who is this for?

This is mostly a personal pet project to learn some new technologies, and may involve a lot of refactoring or swapping of dependencies as I experiment. When finished, I hope this tool could be useful for quickly performing routine diagnostics, simple query tasks, and perhaps aid in troubleshooting.

However, there's a lot of other tools available from IBM, the open source community, and third-party vendors that can already accomplish each of those tasks. Two tools I would recommend for general purposes are IBM's own Access Client Solutions (ACS) which can be run on OpenJava on most platforms, and Liam Barry's Code for IBM i which is an excellent VSCode extension for working with IBMi that includes an API for creating your own extensions.

Prerequisites

You must have IBM ODBC drivers installed for your platform. These are provided by IBM and are often included with installations of ACS. You must reboot after the installation. For more information, see the instructions on the node-odbc package, which this prereq is inherited from.

Usage

Open your commandline and use:

npx @teqed/interact-ibmi@latest

That's it, npx will take care of everything from there. You should be greeted by the login screen after it finishes downloading. Run the same command again as needed.

About

Menus for interacting with IBMi AS400 using NodeJS and inquirer.

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors 4

  •  
  •  
  •  
  •