Skip to main content

4GL's virtues (Part 2) Intergration with SQL

4GL makes code that would be difficult to write purely in SQL easy ,
plus it adds extra capabilities that would not be possible.

The following is a select loop that retrieves the result set
of a SQL query row by row and then manipulates it inside the loop.
Inside the loop you are free to use more SQL queries or 4GL code or mix them both!

For example, you can test conditions using if..then..else statements, assign values to host variables, load a tablefield or update tables in the database!

select   h_c_ylik = c_ylik,
         h_no_seir = no_seir,
         h_ps = ps,
         h_sxolia = sxolia
  from  mlax
  where end_axr='Ο'
  {
  if h_no_seir = '' then
     update mlax m
     set ps = ps + :h_ps
     where end_axr = ''  and
           no_seir = '' and
           c_ylik = :h_c_ylik;
     inquire_ingres (h_rowcount = rowcount,
                     h_errorno=errorno);
     if h_errorno!=0 then 
        rollback;
      callframe err_handler;
     endif;    
     if h_rowcount = 0 then
        insert into mlax
        (c_ylik,no_seir,end_axr,ps,sxolia)
        values
        (:h_c_ylik,'','',:h_ps,:h_sxolia);
        inquire_ingres (h_rowcount = rowcount,
                        h_errorno=errorno);
      if h_errorno!=0 then 
                   rollback;
           callframe err_handler;
               endif;
     endif;       
    else
       insert into mlaxr
       (c_ylik,no_seir,end_axr,ps,sxolia)
       values
       (:h_c_ylik,:h_no_seir,'',:h_ps,:h_sxolia);
       inquire_ingres (h_rowcount = rowcount,
                       h_errorno=errorno);
       if h_errorno!=0 then 
          rollback;
          callframe err_handler;
       endif;
    endif;
  };





There are many situations like this that make evident that 4GL is a rapid development tool

Comments

Popular posts from this blog

Spatial Data Management For GIS and Data Scientists

  Videos of the lectures taught in Fall 2023 at the University of Tennessee are now available as a YouTube playlist. They provide a complete overview of the concepts of GeoSpatial science using Google Earth Engine, PostgresSQL GIS , DuckDB, Python and SQL. https://www.i-programmer.info/news/145-mapping-a-gis/16772-spatial-data-management-for-gis-and-data-scientists.html

Microsoft Goes All Out On Educating Developers

  What better way to lure devs into the platform than to provide clear how-to instructions and deep educational material? Over the last couple of years, but especially during 2023, Microsoft has pumped up its educational facilities on . NET. For instance, it has released a number of self-paced projects we here at I Programmer have covered, such as: https://www.i-programmer.info/news/89-net/16857-microsoft-goes-all-out-on-educating-developers.html