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

The PaSh Project gives your POSIX script superpowers by utilizing parallelization in order to speed up execution times.

The PaSh Project gives your POSIX script superpowers by utilizing parallelization in order to speed up execution times. This leads to faster results for data scientists,  engineers,  biologists,  economists,  administrators,  and programmers. I remember the time when the saying was "Learn Perl so you don't have to learn the Shell and its hundreds of utilities". Fast forward some decades and the use of shell scripts still has not been eradicated. On the contrary, their use has increased due to the rise of containers, VM's, administering the cloud, and Linux itself. This also serves as a lesson to those who are quick to denounce technologies as 'dead'. There's a time where a new use case revitalizes an old technology. So what is meant by "Unix philosophy"?  full article on i-programmer: https://www.i-programmer.info/news/90-tools/14990-the-pash-project-advancing-the-unix-philosophy-one-step-further.html    

CISA's K-12 Cybersecurity Foundations

  The Cybersecurity and Infrastructure Security Agency (CISA) and the U.S. Department of Homeland Security have issued instructions on how to secure K-12 schools in the USA against cyber attacks. https://www.i-programmer.info/news/149-security/19195-cisas-k-12-cybersecurity-foundations.html

Open Source Is Not Just About Software

  It's about infrastructure as well, something that although not attracting the limelight, is as important as the open source software it hosts. Today the stewards of the largest open source registries in the world have issued an open letter demanding urgent reform in how open source infrastructure is funded, maintained, and operated.  https://www.i-programmer.info/news/136-open-source/18334-open-source-is-not-just-about-software.html