Posts

Showing posts with the label iseries

IBMi (AS400) fans only - How to store passwords in a secure way in a DB2 SQL Server database

Image
#IBMiSample This is a wery simple way to store passwords in a secure way in a DB2 SQL Server database. First of all create a table with only two fileds, user (UTENTE), and password (PWD). CREATE TABLE A01AWPWD (UTENTE varchar(128), PWD VARCHAR(124) FOR BIT DATA) Establish an encryption key. My encryption key for this example is skjdjuiu%Tr&$*+[be%_tr=\? Fill the table with users and passwords: INSERT INTO A01AWPWD (UTENTE, PWD) VALUES ('User01', ENCRYPT('Passw01', 'skjdjuiu%Tr&$*+[be%_tr=\?'))          INSERT INTO A01AWPWD (UTENTE, PWD) VALUES ('User02', ENCRYPT('Passw02', 'skjdjuiu%Tr&$*+[be%_tr=\?')) INSERT INTO A01AWPWD (UTENTE, PWD) VALUES ('JohnS', ENCRYPT('ert%9ii', 'skjdjuiu%Tr&$*+[be%_tr=\?')) Now we have a table A01AWPWD with ENCRYPTED passwords. Try this: SELECT PWD  FROM A01AWPWD  WHERE UTENTE = 'JohnS' As you can see, the password is ENCRYPTED. To read  (DECRYPT) the  passwords y

IBMi (AS400) fans only - How to print with a externally described printer file

Image

IBMi (AS400) fans only - How to get today's date from CL (Control Language)

Image

IBMi (AS400) fans only - Reverse date 6 0 in one instruction

Image
#IBMiSample In this example, the  OTDTP0  field is numeric 6 with 0 decimal places. It should contain a number rapresenting a DATE in yymmdd (i.e 210208 - February 8, 2021) or ddmmyy format  (i.e 080221 - February 8, 2021). The following instructions turns yymmdd to ddmmyy or viceversa (the other way around). OTDTP0 zoned(6); OTDTP0 = %dec(%char(%date(OTDTP0:*ymd):*dmy0):6:0); // yymmdd to ddmmyy OTDTP0 = %dec(%date(OTDTP0:*ymd):*dmy);  // yymmdd to ddmmyy I appreciate all the comments made on this blog.

IBMi (AS400) fans only - Fully Free RPG get Today's date with a single instruction

Image

IBMi (AS400) fans only - Fully Free RPG: Example to get day of week

Image

IBMi (AS400) fans only - Fully free RPG: minimalist SUBFILE example

Image

IBMi (AS400) fans only - Fully Free RPG: Single Page Subfile SQLRPGLE Example Program

Image

IBMi (AS400) fans only ' My files for all my examples:

Image
#IBMiSample Run this SQLRPGLE to create and populate the files to use my further examples: **free //***************************** //* create CLANA00F & OTORD00F* //***************************** ctl-opt option(*nodebugio) dftactgrp(*no) actgrp(*new); // The EXEC SQL is never executed. It is used at compile time. exec sql Set Option Commit = *None; // Create File exec sql CREATE or REPLACE TABLE CLANA00F ( CLANN0 CHARACTER(01) NOT NULL WITH DEFAULT, CLCCL0 NUMERIC(7, 0) GENERATED ALWAYS AS IDENTITY PRIMARY KEY, CLCIB0 CHARACTER(03) NOT NULL WITH DEFAULT, CLNOM0 CHARACTER(50) NOT NULL WITH DEFAULT ) RCDFMT CLANA ; // Create index exec sql CREATE INDEX CLANA01L ON CLANA00F (CLCCL0 ASC); // Fill values exec sql INSERT INTO CLANA00F (CLCIB0, CLNOM0) VALUES ('EN ','Rod Stewart'); exec sql INSERT INTO CLANA00F (CLCIB0, CLNOM0) VALUES ('EN ','Bobby McFerrin'); exec sql INSERT INTO CLANA00F (CLCIB0, CLNOM0) VALUES ('IT ','Adriano Celentano'); e