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.
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%).
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).
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.