Testata Job


Files

Questi sorgenti rappresentano un programma "command processor".

I suffissi previsti sono: ".bat", ".cmd", ".job".

Testata

Il codice che segue mostra la testata standard.

    goto bm_settings
:BM_JOB
    Title         =   Echo Environment and Files
    Name          =   jenv 
    Type          =   BPrint
    SystemName    =   A32_BM
    System        =   Batch Machine Test Runs
    Site          =   ARLIB32
:BM_DOC
    **************************************************************
    Title:           Echo Environment and Files
    **************************************************************
    Author:          JPA, AR Enterprise SpA
    Date-Composed:   10/06/1999
    Date-Changed:    10/06/1999
    System:          A32_BM
    Keys:          
    **************************************************************
    Description:
    @job
    <P>Il job esegue una serie di operazioni su files di testo per 
    provare la batch machine</P>
    @/job
    <P>Sequenza delle operazioni:</P>
    <OL>
        <LI>echo in(%_BM_EXC%, %_BM_ARGS%, %_BM_FT%, %_BM_FA%, 
                    %_AR_LogFile%, %_BM_OS%, %BM_32_Ar_LocDir%
                    %debugf%, %BM_32_debugf%).
            </LI>
        <LI>#src(merge.c) in(%_FT1%, %_FT2%) out(%_BM_FT%).
            </LI>
        <LI>type in(%_FT1%).
            </LI>
        <LI>type in(%_FT2%).
            </LI>
        <LI>type in(%_BM_FT%).
            </LI>
        <LI>del in(%_FT1%, %_FT2%, %_BM_FT%).
            </LI>
    </OL>
    **************************************************************
    Revisions:
    **************************************************************
:BM_SCHEDULE
    ....
:BM_RUN

Le regole di parsing di questa testata sono leggermente diverse da quelle previste per gli altri sorgenti:

  1. Il sorgente deve iniziare con una label ":BM_JOB" entro 10 righe dall'inizio del file.
  2. Non vengono gestiti i comandi #include.
  3. Dalla Label "BM_JOB"
    1. Vengono estratti i seguenti campi:
      1. Name, se presente.
      2. Title
      3. Type, se presente
    2. Non vengono estratti:
      1. SystemName1.
      2. System.
      3. Site.
  4. La testata è il contenuto tra la label ":BM_DOC" e la label sucessiva. Una label sucessiva è riconosciuta da una riga che inizia con ':' in colonna 1.
  5. Al contenuto della testata viene aggiunta una riga sintetica "Title: xxx" qualora non fosse presente un title nella testata.
  6. La testata così composta viene gestita nel solito modo.

Dalla testata vengono estratti e gestiti i seguenti campi:

Tag di Testata dei Job

Tag

Regola

Title

Titolo o descrizione breve del programma. Dalla sezione BM_JOB.

Author:

Autore del programma. Deve essere un e-mail. Il sistema cerca di ricostruire l'e-mail grazie ai files di supporto.

Written:

Qutore del sorgente.

Date-Composed:

Data di creazione del sorgente.

Date-Changed:

Data di ultima modifica. Se assente il sistema cerca di ricavarla dalle revisioni.

System:

Il sistema o sotto-sistema cui appartiene il sorgente.

Keys:

Parole chiave relative alle caratteristiche Tecniche del programma. Sono parole separate da virgola.

Description:

Un testo in formato %body.full che descrive il contenuto del sorgente.

Revisions:

Blocco descrittivo delle modifiche apportate. Il blocco è composto da un insieme di singoli blocchi Revision. Il tutto è chiuso da un "*" in colonna 1.

Revision

Inizio singola revisione. La riga ha il seguenti formati:

  1. "Revision nnn.nnn aaaa-mm-gg hh:mm:ss sigla-autore".
  2. "Revision gg-mm-aaaa sigla-autore"

Il primo formato è compatibile con i programmi automatici di gestione delle revisioni. Il secondo formato può essere utilizzato manualmente.

Una o più riche sucessive in formato %body.mini. Quete riche vengono chiuse da:

  1. Una nuova riga di inizio revisione.
  2. Un '*' in colonna 1.

La label @job nella descrizione comporta un trattamento molto particolare. Se presente a fronte del sorgente si crea un documento JOB: Processi Batch. Le informazioni necessarie vengono prelevate interamente dal sorgente, v. JOB -- Lavoro batch. La descrizione di questo documento comprende il testo racchiuso ta il tag @job e il tag @/job. Nel documento sorgente viene invece copiato il testo completo.



1 Si osservi che esistono due sistemi. Il primo --- chiamato SystemName ---nella sezione BM_JOB che viene usato nei file di log. Il secondo nella sezione BM_DOC che viene usato nella documentazione. Vi sono motivi storici per questa scelta. Il primo motivo che SystemName non appare sempre. Può essere in un file di include o può essere dedotto dal log corrente. In questo caso tipicamente è il nome del menu di lancio. Usato in questo modo ha una grana troppo grossa per essere utilizzabile nella documentazione. Resta comunque una incoerenza che può generare confusione.

dsg.src.head.job • LastModified: 14-9-2007 • John Peter Arnold