Posts

IBMi (AS400) fans only - HOW TO GET CURRENT TIME FROM CL (CONTROL LANGUAGE)

Image
#IBMiSample This example gets current time in format HHMMSS.              PGM                                                   DCL        VAR(&TIME) TYPE(*CHAR) LEN(6)              RTVSYSVAL  SYSVAL(QTIME) RTNVAR(&TIME)                SNDPGMMSG MSG(&TIME)                                  ENDPGM                                  

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

Image

IBMi (AS400) fans only - Fully Free RPG: Procedure with a parameter and return value

Image
#IBMiSample AS5502.RPGLE - Procedure with a parameter and return value       **FREE          Ctl-Opt DFTACTGRP(*No);          Dcl-S gMyVar Char(13) Inz('<---Hello--->');          Dcl-S pValue2 Char(3);          Dcl-S pValue3 Char(3);          Dsply gMyVar;          pValue2='!__';          pValue3='__!';          gMyVar = MyProc('Goodbye':pValue2:pValue3);          Dsply gMyVar;          *InLR = *On;        Return;        Dcl-Proc MyProc;          Dcl-Pi *N Char(13); // Char(13) the length of returned                                   // parameter. It is like gMyVar Char(13)          pValue1 Char(7) Const;          pValue2 Char(

IBMi (AS400) fans only - QSQGNDDL API: How to get SQL SOURCE specification from a database object

Image
#IBMiSample QSQGNDDL API generates the SQL data definition language statements from a database object. Here's how to use it. How to get SQL CREATE TABLE specification from DDS

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