Accueil du site > Les articles > Générateur freeware de code source pour AS400
Version à imprimer Enregistrer au format PDF

Générateur freeware de code source pour AS400

SGSQL beta V3

lundi 25 juillet 2005, par Serge Gomes Visites  9096 Première mise en ligne le jeudi 9 décembre 2004.

Cet utilitaire permet de générer, à partir d’une requête SQL, le code source complet (dds et sqlrpgle) permettant de gérer un écran à sélection multiple (guide).

La version présentée est une beta freeware.


Un utilitaire modulable

- Cet utilitaire est basé sur un système de modèles (qui peuvent être personnalisés via SEU), pour cette 1ère version un seul modèle est disponible, il s’agit d’une fenêtre (80 colonnes).

Développez un écran complet en 5mn !

- SGSQL analyse votre requête SQL et génère automatiquement le code source complet (dds et sqlrpgle) permettant de gérer un écran à sélection multiple (guide).
- Le code source généré est directement compilable.
- Le programme obtenu permet à l’utilisateur de se positionner sur une ou plusieurs colonnes du guide et se termine soit par la sélection d’un enregistrement soit par l’activation de la touche F3 ou F12.

Exemple d’utilisation

Description du guide a générer

- Créer un écran présentant le code, le libellé, le volume et le poids de tous les articles actifs.
- L’utilisateur peut se positionner sur toutes les colonnes.
- Le programme doit renvoyer le code et le libellé sélectionné.

Mode opératoire

- CALL SGSQL

Sur l’écran 1 :

- Le titre que vous saisissez deviendra le titre de votre guide.
- Les membres sources (DDS et SQLRPGLE) s’ils n’existent pas seront créés.
- La validité de la requête est vérifiée.

JPEG - 40.9 ko
SGSQL ecran1

Sur l’écran 2 :

- la zone « CODE » peut être modifiée (ce nom sera celui utilisé dans les codes sources générés).
- La zone « LIBELLE » permet de renseigner les entêtes de colonnes du guide.
- La zone « PARM » permet de définir les champs utilisés en paramètres(PLIST) par l’application.
- La zone EDTCDE peut être renseignée pour les zones numériques.
- La zone « Opr » permet de chosir l’opérateur de positionnement utilisé dans la clause WHERE. Pour les zones alpha l’opérateur LIKE sera utilsé si l’utilisateur emploie le caractère % (ex A%).

JPEG - 27.5 ko
SGSQL ecran2

- Après validation (touche F6) les codes sources de l’écran et du programme RPG sont générés !

Compilation

 CRTDSPF FILE(SERGE/GUIDART)    
         SRCFILE(SERGE/QDDSSRC)  
         SRCMBR(GUIDART)        
         REPLACE(*NO)            


 CRTSQLRPGI OBJ(SERGE/GUIDART)          
            SRCFILE(SERGE/QRPGLESRC)    
            SRCMBR(GUIDART)            
            OBJTYPE(*MODULE)            
            REPLACE(*NO)                

 CRTPGM PGM(SERGE/GUIDART) BNDSRVPGM(SGSRVSQ)    

Guide généré

- La fenêtre est centrée sur l’écran.
- La bordure est ajustée au plus près des zones.
- Le sous-fichier est classé sur le libellé.
- La clause "ORDER BY" est réinitialisée (ainsi que la clause WHERE) en cas de positionnement (en prenant en compte les colonnes de la gauche vers la droite).

JPEG - 163.8 ko
Ecran généré

Description technique :

Pré-Requis

- V5R1 minimum
- Installation de SGSQL

Installation

- Créer fichier de sauvegarde CRTSAVF FILE(MABIB/SGSQL)sur votre AS400
- Décompresser le fichier sgsqlb3.zip qui contient le sgsql.savf
- FTP mode binary zip vers fichier de sauvegarde AS400 sgsql.savf vers MABIB/SGSQL
- RSTLIB SAVLIB(SGSQLLIB) DEV(*SAVF) SAVF(MABIB/SGSQL)

Contenu de SGSQLLIB

- QMODELSRC (Fichier source des modèle) : 2 membres, modèle DSPF(MOD1ECR) et modèle SQLRPGLE(MOD1RPG).
- 2 fichiers source QDDSSRC et QRPGLESRC. QRPGLESRC contient les sources de SGSQL et SGSRVSQ. Vous pouvez utiliser ces 2 fichiers pour stocker les sources générés. Si vous préférez utiliser d’autres fichiers, vous pouvez supprimer QDDDSRC et QRPGLESRC de SGSQLLIB.
- SGSRVSQ (Programme de service SQL). Ce programme permet de gérer la clause « WHERE » des requêtes SQL. Il doit être lié à la compilation du programme généré.
- SGMODELE (Fichier PF de description des modèles utiliser par SGSQL). Ce fichier doit être dans votre liste de bibliothèque quand vous utilisez SGSQL.
- SGSQLFM => DSPF de SGSQL.
- SGSQL => PGM (SQLRPGLE)

Première utilisation

- Mettre SGSQLLIB dans votre liste de bibliothèques
- CALL SGSQL

Fix Bug
- 10/05/2005 Prise en compte Integer Large
- 10/05/2005 Bug génération de la requête (mauvais cadrage) corrigé.
- 10/05/2005 Le modèle 1 permet l’affichage en 80 et 132 colonnes
- 25/07/2005 Passage paramètre par pointeurs au pgm de service (SGSRVSQL remplacé par SGSRVSQ)
- 17/02/2006 Bug sur définition de zone avec clause "xxx AS" corrigé.
- 14/04/2006 Nouveau modèle plein écran (N°2 en cours de finition) .

Ce qui reste à faire pour la V1 (todo list)

- Correction d’éventuels bugs constatés.
- Nouveaux modèles
- Liste d’impression(prtf) permettant d’imprimer le résultat d’une sélection.
- Gestion plein écran (dspf) avec double sous-fichier (un des sous-fichier permettant de confirmer la suppression d’enregistrements), prototypage d’appel au programme de maintenance, gestions des touches de fonction ...
- D’autres modèles tels-que cgi-web, xml peuvent être envisagés.

P.-S.

Les sources du générateur sont fournis à titre d’exemple et ne doivent pas être utilisés dans un cadre commercial. La version beta3 passe les paramètres du programme de service par pointeurs.

Documents joints