Switch to American English
Giovanni's logo
Comandi per preparare librerie e sorgenti per lo sviluppo in CGI
questo significa Versione 2
blue line


    Usa il comando cgidev2/setcgilib per preparare le tua libreria dei sorgenti e quella di produzione rispettivamente per lo sviluppo a la esecuzione di programmi CGI:
    Set lib.s for CGI development (SETCGILIB)
    CGI source library . . . . . . .            Name
    CGI production library . . . . . *SRCLIB    Name, *SRCLIB


    CGI source library: Il nome della libreria che dovrà contenere i sorgenti dei programmi CGI. Il comando crea in questa libreria gli oggetti seguenti:
    1. Comando, panel group e programma COMPILE: può essere utilizzato per rigenerare i moduli ed i programmi
    2. I seguenti file sorgenti (se mancanti)
      • QDDSSRC
      • QRPGLESRC
      • QCLSRC
      • QCMDSRC
      • QPNLSRC
    Nota 1- Il file sorgente QRPGLESRC conterrà dei nuovi membri da copiare (con statement /copy) nei sorgenti dei CGI RPG:
    • hspecs (Specifiche H per compilazione di un modulo)
    • hspecsbnd (Specifiche H per il binding, dimodochè nel comando crtpgm non è più necessario specificare la parola chiave bnddir)
    • prototypeb (prototipi delle chiamate ai servizi del service program di Mel)
    • usec (mappature del codice di ritorno dalle API)
    • variables3 (variabili comuni ai CGI)
    • prolog3 (ricezione della stringa di input spedita dal browser)
    Nota 3- È tua responsabilità mantenere - se ti serve - il programma CL compile ogni qualvolta venga sviluppato un nuovo modulo o un nuovo programma.

    CGI production library: nome della libreria che conterrà i programmi CGI. Se la libreria di produzione è la stessa dei sorgenti, occorre specificare *SRCLIB.
    Nella libreria di produzione vengono creati gli oggetti seguenti:
    • Il file sorgente HTMLSRC per i tuoi membri di HTML dinamico
    • Il comando CGIDEBUG (insieme con il file CGIDEBUG e l'area dati CGIDEBUG) per raccogliere la traccia degli input e degli ouput dei tuoi CGI.

    Cartella IFS: Il comando crea una cartella IFS con lo stesso nome della production library e vi aggiunge tre sottocartelle:
    • /production_library/css per i file .css
    • /production_library/html per i file .html
    • /production_library/graphics per gli oggetti grafici (icone, immagini, ecc.)

    Direttive HTTP: Alla fine del suo lavoro, questo comando ti chiede se vuoi generare "direttive" HTTP originarie piuttosto che Apache. Se ti sei collegato con un profilo utente che ha autorità *CHANGE sui file di controllo delle istanze HTTP (QUSRSYS/QATMHINSTC, QUSRSYS/QATMHTTPC), riceverai un elenco di istanze HTTP (originarie o Apache) tra cui scegliere. Effettuata la scelta, la istanza HTTP prescelta viene aggiornata con delle semplici direttive atte a supportare la nuova libreria ed un eventuale directory omonimo.
    Qui di seguito gli esempi dei due casi:
    • Diretytive HTTP originarie
      Map  /myprdlibh/*  /QSYS.LIB/MYPRDLIB.LIB/HTMLSRC.FILE/*
      Pass /QSYS.LIB/MYPRDLIB.LIB/HTMLSRC.FILE/*
      Pass /myprdlib/*
      Exec /myprdlibp/*  /QSYS.LIB/MYPRDLIB.LIB/*  %%EBCDIC%%
      dove myprdlib rappresenta il nome della libreria specificata come libreria di produzione.
      Il significato delle quattro direttive è il seguente:
      1-La direttiva Map specificare il nome scorciatoia /myprdlibh/ da utilizzare negli script html al posto di /QSYS.LIB/MYPRDLIB.LIB/HTMLSRC.FILE/ . Cioò consente di risparmiare lettere e quindi riduce il numero di errori
      2-La prima direttiva Pass consente all'HTTP di accedere ad eventuali pagine statiche contenute in membri del file HTMLSRC
      3-La seconda direttiva Pass consente all'HTTP di accedere ad una eventuale directory IFS di nome identico alla libreria di produzione. Tale directory potrebbe essere utilizzata per mantenere immagini ed altre pagine statiche.
      4-La direttiva Exec consente la esecuzione dei CGI nella libreria di produzione. Il parametro %%EBCDIC%% consente la corretta esecuzione della procedura zhbGetInput (lettura dell'input ricevuto dal browser remoto tramite un'API di alte prestazioni).
    • Direttive HTTP Apache
      AliasMatch /myprdlibh/(.*)\.htm /QSYS.LIB/MYPRDLIB.LIB/HTMLSRC.FILE/$1.mbr
      Alias /myprdlibh/ /QSYS.LIB/MYPRDLIB.LIB/HTMLSRC.FILE/
      Alias /myprdlib/ /myprdlib/
      ScriptAliasMatch /myprdlibp(.*).pgm /qsys.lib/myprdlib.lib/$1.pgm
      <Directory /QSYS.LIB/MYPRDLIB.LIB>
        AllowOverride None
        Options None
        order allow,deny
        allow from all
      </Directory>
      <Directory /myprdlib>
        AllowOverride None
        Options None
        order allow,deny
        allow from all
      </Directory>
      dove myprdlib rappresenta il nome della libreria specificata come libreria di produzione.
      Queste direttive funzionano così:
      1-La prima definisce il percorso /myprdlibh/*.htm tramite il quale uno può pagine statiche dal file MYPRDLIB/HTMLSRC utilizzando la estensione .htm
      2-La seconda definisce il percorso /myprdlibh a mapparsi su MYPRDLIB/HTMLSRC
      3-La terza informa che il percorso "/myprdlib" è sintatticamente accettabile
      4-La quarta consente la esecuzione di programmi CGI nella libreria MYPRDLIB. Questi programmi devono essere invocati tramite lo pseudo percorso myprdlibp
      5-Il primo gruppo Directory consente di accedere agli oggetti nella libreria MYPRDLIB (fondamentalmente pagine in HTMLSRC o programmi CGI)
      6-Il secondo gruppo Directory consente di accedere a file IFS nel percorso /myprdlib .



    Usa il comando cgidev2/crtcgisrc per creare un esempio di un sorgente CGI RPG, unitamente al suo HTML esterno in un membro del file sorgente HTMLSRC. Successivamente puoi creare il modulo, creare il programma ed eseguirlo.
    Questo comando può velocizzare il tuo sviluppo nelle prime fasi di apprendimento.
    Create sample CGI RPG source (CRTCGISRC)
    ILE-RPG CGI source member  . . .            Name
    CGI source library . . . . . . .            Name
    CGI production library . . . . . *SRCLIB    Name, *SRCLIB

    ILE-RPG CGI source member: Nome del membro nel file QRPGLESRC della libreria sorgente, in cui va generato lo scheletro del CGI.
    CGI source library: Nome della libreria sorgente contenente i sorgenti dei programmi CGI.
    CGI production library: Nome della libreria di produzione che conterrà il programma CGI risultante.