Aggiunto backup di tutto
Aggiunti due form IVA git-svn-id: svn://10.65.10.50/trunk@1525 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
650d88c3d8
commit
b72d034963
179
ba/ba2200.cpp
179
ba/ba2200.cpp
@ -42,7 +42,7 @@ public:
|
|||||||
|
|
||||||
class TArchive : public TObject
|
class TArchive : public TObject
|
||||||
{
|
{
|
||||||
enum { BUFSIZE = 4096 };
|
enum { BUFSIZE = 4096*7 };
|
||||||
ALArchive* _arc;
|
ALArchive* _arc;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
@ -53,6 +53,9 @@ protected:
|
|||||||
bool fsplit(const char* filename, char floppy, const char* desc = "") const;
|
bool fsplit(const char* filename, char floppy, const char* desc = "") const;
|
||||||
bool fbuild(const char* filename, char floppy) const;
|
bool fbuild(const char* filename, char floppy) const;
|
||||||
|
|
||||||
|
int build_backup_list(long firm, TString_array& fl) const;
|
||||||
|
int build_restore_list(long firm, char floppy, TString_array& fl) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
bool backup(const char* dir, char floppy, const char* desc);
|
bool backup(const char* dir, char floppy, const char* desc);
|
||||||
bool backup(long firm, char floppy, const char* desc);
|
bool backup(long firm, char floppy, const char* desc);
|
||||||
@ -79,7 +82,7 @@ FILE* TArchive::ask_disk(TFilename& name, int disk, char floppy, bool lettura) c
|
|||||||
retry = yesno_box("Il file %s non e' accessibile: riprovare?", (const char*)name);
|
retry = yesno_box("Il file %s non e' accessibile: riprovare?", (const char*)name);
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
setvbuf(f, NULL, _IOFBF, 32000);
|
setvbuf(f, NULL, _IOFBF, BUFSIZE);
|
||||||
retry = FALSE;
|
retry = FALSE;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -94,6 +97,64 @@ long TArchive::fsize(FILE* f) const
|
|||||||
const long s = ftell(f);
|
const long s = ftell(f);
|
||||||
fseek(f, 0, SEEK_SET);
|
fseek(f, 0, SEEK_SET);
|
||||||
return s;
|
return s;
|
||||||
|
}
|
||||||
|
|
||||||
|
int TArchive::build_backup_list(long firm, TString_array& fl) const
|
||||||
|
{
|
||||||
|
fl.destroy();
|
||||||
|
if (firm < 0L)
|
||||||
|
{
|
||||||
|
fl.add(firm2dir(0L));
|
||||||
|
TLocalisamfile ditte(LF_NDITTE);
|
||||||
|
for (int err = ditte.first(); err == NOERR; err = ditte.next())
|
||||||
|
{
|
||||||
|
const char* dir = firm2dir(ditte.get_long("CODDITTA"));
|
||||||
|
if (fexist(dir))
|
||||||
|
fl.add(dir);
|
||||||
|
}
|
||||||
|
|
||||||
|
TFilename name(firm2dir(-1)); // __ptprf
|
||||||
|
name.add("config"); // Aggiungi configurazioni
|
||||||
|
if (fexist(name))
|
||||||
|
fl.add(name);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
fl.add(firm2dir(firm));
|
||||||
|
|
||||||
|
return fl.items();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// Costruisce la lista delle directory da scompattare
|
||||||
|
int TArchive::build_restore_list(long firm, char floppy, TString_array& fl) const
|
||||||
|
{
|
||||||
|
if (firm < 0) // Crea lista automaticamente
|
||||||
|
{
|
||||||
|
TFilename name("a:/backup.ini"); name[0] = floppy;
|
||||||
|
TConfig ini(name);
|
||||||
|
const int max = ini.list_paragraphs(fl); // Lista degli archivi
|
||||||
|
for (int i = max-1; i >= 0; i--)
|
||||||
|
{
|
||||||
|
const int disk = ini.get_int("Disk", fl.row(i));
|
||||||
|
if (disk == 1)
|
||||||
|
{
|
||||||
|
firm = atol(fl.row(i));
|
||||||
|
fl.add(firm2dir(firm), i); // Aggiungi gli archivi che iniziano qui
|
||||||
|
}
|
||||||
|
else fl.destroy(i, TRUE); // Elimina gli archivi che non iniziano qui
|
||||||
|
}
|
||||||
|
|
||||||
|
name = firm2dir(-1); // __ptprf
|
||||||
|
name.add("config"); // Aggiungi configurazioni
|
||||||
|
fl.add(name);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
fl.destroy();
|
||||||
|
fl.add(firm2dir(firm)); // Inserisci solo una ditta (o COM)
|
||||||
|
}
|
||||||
|
|
||||||
|
return fl.items();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@ -103,6 +164,7 @@ bool TArchive::fsplit(const char* filename, char floppy, const char* desc) const
|
|||||||
|
|
||||||
FILE* i = fopen(from, "rb"), *o = NULL;
|
FILE* i = fopen(from, "rb"), *o = NULL;
|
||||||
if (i == NULL) return error_box("Impossibile aprire il file '%s'", from);
|
if (i == NULL) return error_box("Impossibile aprire il file '%s'", from);
|
||||||
|
setvbuf(i, NULL, _IOFBF, BUFSIZE);
|
||||||
|
|
||||||
const long tot = fsize(i);
|
const long tot = fsize(i);
|
||||||
|
|
||||||
@ -118,10 +180,10 @@ bool TArchive::fsplit(const char* filename, char floppy, const char* desc) const
|
|||||||
bool ok = TRUE;
|
bool ok = TRUE;
|
||||||
while (ok)
|
while (ok)
|
||||||
{
|
{
|
||||||
const word letti = fread((char*)(const char*)buffer, 1, BUFSIZE, i);
|
const size_t letti = fread((char*)(const char*)buffer, 1, BUFSIZE, i);
|
||||||
|
|
||||||
if (o != NULL)
|
if (o != NULL)
|
||||||
ok = letti ? (fwrite((char*)(const char*)buffer, letti, 1, o) == 1) : TRUE;
|
ok = (letti > 0) ? (fwrite((char*)(const char*)buffer, letti, 1, o) == 1) : TRUE;
|
||||||
else
|
else
|
||||||
ok = FALSE;
|
ok = FALSE;
|
||||||
|
|
||||||
@ -135,23 +197,40 @@ bool TArchive::fsplit(const char* filename, char floppy, const char* desc) const
|
|||||||
TFilename parag(work.name()); parag.ext("");
|
TFilename parag(work.name()); parag.ext("");
|
||||||
TFilename ini("a:/backup.ini"); ini[0] = floppy;
|
TFilename ini("a:/backup.ini"); ini[0] = floppy;
|
||||||
|
|
||||||
if (fexist(ini))
|
bool asked = FALSE;
|
||||||
|
while (!asked)
|
||||||
{
|
{
|
||||||
TConfig c(ini, parag);
|
if (fexist(ini))
|
||||||
const TString16 d(c.get("Date"));
|
|
||||||
if (d.not_empty())
|
|
||||||
{
|
{
|
||||||
ok = yesno_box("Il disco %d contiene gia' un backup del direttorio %s del %s"
|
TConfig c(ini, parag);
|
||||||
"\nSi desidera continuare ugualmente?",
|
const int d = c.get_int("Disk");
|
||||||
disk, (const char*)parag, (const char*)d);
|
if (d == disk)
|
||||||
if (!ok) break;
|
{
|
||||||
}
|
ok = yesno_box("Il disco %d contiene gia' un backup del direttorio %s del %s"
|
||||||
}
|
"\nSi desidera continuare?",
|
||||||
else
|
disk, (const char*)parag, (const char*)c.get("Date"));
|
||||||
{
|
asked = TRUE;
|
||||||
FILE* i = fopen(ini, "w"); // Crea il file backup.ini
|
}
|
||||||
fclose(i);
|
else
|
||||||
|
{
|
||||||
|
if (d > 0)
|
||||||
|
{
|
||||||
|
ok = yesno_box("Inserire il disco %d nel drive %c:"
|
||||||
|
"\nSi desidera continuare?", disk, floppy);
|
||||||
|
if (!ok) break;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
asked = TRUE;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
FILE* i = fopen(ini, "w"); // Crea il file backup.ini
|
||||||
|
fclose(i);
|
||||||
|
asked = TRUE;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
if (!ok) break;
|
||||||
|
|
||||||
TConfig c(ini, parag);
|
TConfig c(ini, parag);
|
||||||
const char* oggi = TDate(TODAY).string();
|
const char* oggi = TDate(TODAY).string();
|
||||||
@ -160,14 +239,16 @@ bool TArchive::fsplit(const char* filename, char floppy, const char* desc) const
|
|||||||
c.set("Description", desc, NULL, TRUE);
|
c.set("Description", desc, NULL, TRUE);
|
||||||
c.set("Date", oggi, NULL, TRUE);
|
c.set("Date", oggi, NULL, TRUE);
|
||||||
|
|
||||||
ok = letti ? (fwrite((char*)(const char*)buffer, letti, 1, o) == 1) : TRUE;
|
ok = (letti > 0) ? (fwrite((char*)(const char*)buffer, letti, 1, o) == 1) : TRUE;
|
||||||
if (!ok) error_box("Impossibile scrivere i dati sul dischetto");
|
if (!ok) error_box("Impossibile scrivere i dati sul dischetto");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
w.addstatus(letti);
|
w.addstatus(letti);
|
||||||
if (letti < BUFSIZE) break;
|
if (ok)
|
||||||
if (ok) ok = !w.iscancelled();
|
ok = !w.iscancelled();
|
||||||
|
if (letti < BUFSIZE)
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose(i);
|
fclose(i);
|
||||||
@ -182,7 +263,9 @@ bool TArchive::fbuild(const char* filename, char floppy) const
|
|||||||
const TFilename work(filename);
|
const TFilename work(filename);
|
||||||
|
|
||||||
FILE* o = fopen(work, "wb"), *i = NULL;
|
FILE* o = fopen(work, "wb"), *i = NULL;
|
||||||
if (o == NULL) return error_box("Impossibile creare il file '%s'", (const char*)work);
|
if (o == NULL)
|
||||||
|
return error_box("Impossibile creare il file '%s'", (const char*)work);
|
||||||
|
setvbuf(o, NULL, _IOFBF, BUFSIZE);
|
||||||
|
|
||||||
long totale = 0L; // Bytes letti
|
long totale = 0L; // Bytes letti
|
||||||
long max = 1440000L; // Bytes da leggere
|
long max = 1440000L; // Bytes da leggere
|
||||||
@ -198,7 +281,7 @@ bool TArchive::fbuild(const char* filename, char floppy) const
|
|||||||
bool ok = TRUE;
|
bool ok = TRUE;
|
||||||
while (ok)
|
while (ok)
|
||||||
{
|
{
|
||||||
word letti = 0;
|
size_t letti = 0;
|
||||||
if (i != NULL)
|
if (i != NULL)
|
||||||
{
|
{
|
||||||
letti = fread((char*)(const char*)buffer, 1, BUFSIZE, i);
|
letti = fread((char*)(const char*)buffer, 1, BUFSIZE, i);
|
||||||
@ -207,7 +290,7 @@ bool TArchive::fbuild(const char* filename, char floppy) const
|
|||||||
else
|
else
|
||||||
ok = FALSE;
|
ok = FALSE;
|
||||||
|
|
||||||
if (!ok)
|
if (!ok) // Richiedi nuovo disco
|
||||||
{
|
{
|
||||||
if (i != NULL) fclose(i);
|
if (i != NULL) fclose(i);
|
||||||
i = ask_disk(name, ++disk, floppy, TRUE);
|
i = ask_disk(name, ++disk, floppy, TRUE);
|
||||||
@ -227,7 +310,7 @@ bool TArchive::fbuild(const char* filename, char floppy) const
|
|||||||
}
|
}
|
||||||
w.setmax(max);
|
w.setmax(max);
|
||||||
|
|
||||||
if (ok)
|
if (ok) // Leggi primo blocco di bytes
|
||||||
{
|
{
|
||||||
letti = fread((char*)(const char*)buffer, 1, BUFSIZE, i);
|
letti = fread((char*)(const char*)buffer, 1, BUFSIZE, i);
|
||||||
ok = letti > 0;
|
ok = letti > 0;
|
||||||
@ -235,7 +318,7 @@ bool TArchive::fbuild(const char* filename, char floppy) const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ok)
|
if (ok) // La lettura e stata fatta bene
|
||||||
{
|
{
|
||||||
ok = fwrite((char*)(const char*)buffer, 1, letti, o) == letti;
|
ok = fwrite((char*)(const char*)buffer, 1, letti, o) == letti;
|
||||||
if (ok)
|
if (ok)
|
||||||
@ -247,7 +330,8 @@ bool TArchive::fbuild(const char* filename, char floppy) const
|
|||||||
else error_box("Impossibile scrivere i dati sul file %s", (const char*)work);
|
else error_box("Impossibile scrivere i dati sul file %s", (const char*)work);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (letti < BUFSIZE || totale == max) break;
|
if (!ok || totale == max) // Esci in caso di errore o se hai finito
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
fclose(o);
|
fclose(o);
|
||||||
@ -269,8 +353,9 @@ bool TArchive::backup(const char* dir, char floppy, const char* desc)
|
|||||||
TFilename work; work.tempdir(); work.add(name); work.ext("gal");
|
TFilename work; work.tempdir(); work.add(name); work.ext("gal");
|
||||||
|
|
||||||
_arc = new ALArchive(work);
|
_arc = new ALArchive(work);
|
||||||
|
|
||||||
TProgress_win w("Archiviazione", this);
|
TString256 title("Archiviazione di "); title << name;
|
||||||
|
TProgress_win w(title, this);
|
||||||
ALEntryList list(w.monitor());
|
ALEntryList list(w.monitor());
|
||||||
_arc->AddWildCardFiles(list, "*.*");
|
_arc->AddWildCardFiles(list, "*.*");
|
||||||
|
|
||||||
@ -295,9 +380,18 @@ bool TArchive::backup(const char* dir, char floppy, const char* desc)
|
|||||||
}
|
}
|
||||||
|
|
||||||
bool TArchive::backup(long firm, char floppy, const char* desc)
|
bool TArchive::backup(long firm, char floppy, const char* desc)
|
||||||
{
|
{
|
||||||
const TFilename dir(firm2dir(firm));
|
TString_array fl;
|
||||||
return backup(dir, floppy, desc);
|
const int num_ditte = build_backup_list(firm, fl);
|
||||||
|
|
||||||
|
bool ok = TRUE;
|
||||||
|
for (int f = 0; f < num_ditte; f++)
|
||||||
|
{
|
||||||
|
ok = backup(fl.row(f), floppy, desc);
|
||||||
|
if (!ok) break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ok;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool TArchive::restore(const char* dir, char floppy, bool tmp)
|
bool TArchive::restore(const char* dir, char floppy, bool tmp)
|
||||||
@ -362,8 +456,18 @@ bool TArchive::restore(const char* dir, char floppy, bool tmp)
|
|||||||
|
|
||||||
bool TArchive::restore(long firm, char floppy, bool temp)
|
bool TArchive::restore(long firm, char floppy, bool temp)
|
||||||
{
|
{
|
||||||
const TFilename dir(firm2dir(firm));
|
TString_array fl;
|
||||||
return restore(dir, floppy, temp);
|
const int num_ditte = build_restore_list(firm, floppy, fl);
|
||||||
|
|
||||||
|
bool ok = TRUE;
|
||||||
|
for (int f = 0; f < num_ditte; f++)
|
||||||
|
{
|
||||||
|
ok = restore(fl.row(f), floppy, temp);
|
||||||
|
if (!ok) break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return ok;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TArchive::stop_job()
|
void TArchive::stop_job()
|
||||||
@ -460,8 +564,11 @@ KEY TArchive_app::query(long& firm, char& floppy, TString& desc, bool& temp) con
|
|||||||
const KEY k = m.run();
|
const KEY k = m.run();
|
||||||
|
|
||||||
if (k != K_QUIT)
|
if (k != K_QUIT)
|
||||||
{
|
{
|
||||||
firm = m.get_long(F_CODDITTA);
|
if (m.get(F_DATA) == "T")
|
||||||
|
firm = -1;
|
||||||
|
else
|
||||||
|
firm = m.get_long(F_CODDITTA);
|
||||||
floppy = m.get(F_FLOPPY)[0];
|
floppy = m.get(F_FLOPPY)[0];
|
||||||
desc = m.get(F_DESCR);
|
desc = m.get(F_DESCR);
|
||||||
temp = m.get_bool(F_TEMP);
|
temp = m.get_bool(F_TEMP);
|
||||||
|
@ -13,7 +13,8 @@ LIST F_DATA 1 14
|
|||||||
BEGIN
|
BEGIN
|
||||||
PROMPT 17 1 "Dati "
|
PROMPT 17 1 "Dati "
|
||||||
ITEM " |Ditta" MESSAGE ENABLE,1@
|
ITEM " |Ditta" MESSAGE ENABLE,1@
|
||||||
ITEM "C|Dati comuni" MESSAGE CLEAR,1@
|
ITEM "C|Dati comuni" MESSAGE CLEAR,1@|"Archivi comuni",F_RAGSOC
|
||||||
|
ITEM "T|Tutti" MESSAGE CLEAR,1@|"Archivi comuni e ditte",F_RAGSOC
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMBER F_CODDITTA 5
|
NUMBER F_CODDITTA 5
|
||||||
|
376
ba/boltitcf.frm
Executable file
376
ba/boltitcf.frm
Executable file
@ -0,0 +1,376 @@
|
|||||||
|
USE %DEL
|
||||||
|
JOIN 9 INTO CODDITTA=CODTAB[1,5]
|
||||||
|
JOIN 6 TO 9 INTO TIPOA=TIPOA CODANAGR=CODANAGR
|
||||||
|
JOIN 8 TO 9 INTO CODANAGR=CODANAGR
|
||||||
|
JOIN 13 TO 8 ALIAS 113 INTO COM=COMNASC
|
||||||
|
JOIN 13 TO 6 ALIAS 213 INTO COM=COMRF(COMRES)
|
||||||
|
JOIN %UCC TO 213@ ALIAS 14 INTO CODTAB=UFFCONC
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
SECTION BODY ODD 24 0 0
|
||||||
|
|
||||||
|
GROUP
|
||||||
|
BEGIN
|
||||||
|
KEY "Prima sezione"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "IMPORTO TRIBUTO"
|
||||||
|
PROMPT 2 13 ""
|
||||||
|
MESSAGE COPY,10@
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD R0
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "INTERESSI"
|
||||||
|
PROMPT 12 13 ""
|
||||||
|
MESSAGE ADD,10@
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD R1
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "TOTALE (in basso)"
|
||||||
|
PROMPT 19 13 ""
|
||||||
|
GROUP 10
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "TOTALE (in alto)"
|
||||||
|
PROMPT 19 2 ""
|
||||||
|
GROUP 10
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "TOTALE (in lettere)"
|
||||||
|
PROMPT 2 3 ""
|
||||||
|
GROUP 10
|
||||||
|
PICTURE "LETTERE"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "sul C/C n."
|
||||||
|
PROMPT 6 4 ""
|
||||||
|
FIELD 14@->S5
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "Concessione di"
|
||||||
|
PROMPT 10 5 ""
|
||||||
|
FIELD 14@->S0
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "Eseguito da"
|
||||||
|
PROMPT 7 6 ""
|
||||||
|
FIELD 6->RAGSOC[1,22]
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "Codice Concessione"
|
||||||
|
PROMPT 8 9 ""
|
||||||
|
FIELD 14@->CODTAB
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "Codice fiscale"
|
||||||
|
PROMPT 12 9 ""
|
||||||
|
FIELD 6->COFI
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING
|
||||||
|
BEGIN
|
||||||
|
KEY "CODICE TRIBUTO"
|
||||||
|
PROMPT 9 11 ""
|
||||||
|
FIELD S6
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING
|
||||||
|
BEGIN
|
||||||
|
KEY "PERIODO DI RIFERIMENTO"
|
||||||
|
PROMPT 20 11 ""
|
||||||
|
FIELD CODTAB[6,9]
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUP
|
||||||
|
BEGIN
|
||||||
|
KEY "Seconda sezione"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "IMPORTO TRIBUTO"
|
||||||
|
PROMPT 2 47 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD R0
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "INTERESSI"
|
||||||
|
PROMPT 12 47 ""
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
FIELD R1
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "TOTALE (in basso)"
|
||||||
|
PROMPT 19 47 ""
|
||||||
|
GROUP 10
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "TOTALE (in alto)"
|
||||||
|
PROMPT 19 45 ""
|
||||||
|
GROUP 10
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "TOTALE (in lettere)"
|
||||||
|
PROMPT 2 45 ""
|
||||||
|
GROUP 10
|
||||||
|
PICTURE "LETTERE"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "sul C/C n."
|
||||||
|
PROMPT 6 38 ""
|
||||||
|
FIELD 14@->S5
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "Concessione di"
|
||||||
|
PROMPT 10 39 ""
|
||||||
|
FIELD 14@->S0
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "Eseguito da"
|
||||||
|
PROMPT 7 40 ""
|
||||||
|
FIELD 6->RAGSOC[1,22]
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "Codice Concessione"
|
||||||
|
PROMPT 8 43 ""
|
||||||
|
FIELD 14@->CODTAB
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "Codice fiscale"
|
||||||
|
PROMPT 12 43 ""
|
||||||
|
FIELD 6->COFI
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING
|
||||||
|
BEGIN
|
||||||
|
KEY "CODICE TRIBUTO"
|
||||||
|
PROMPT 9 45 ""
|
||||||
|
FIELD S6
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING
|
||||||
|
BEGIN
|
||||||
|
KEY "PERIODO DI RIFERIMENTO"
|
||||||
|
PROMPT 20 56 ""
|
||||||
|
FIELD CODTAB[6,9]
|
||||||
|
END
|
||||||
|
|
||||||
|
GROUP
|
||||||
|
BEGIN
|
||||||
|
KEY "Terza sezione"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "TOTALE (in lettere)"
|
||||||
|
PROMPT 70 3 ""
|
||||||
|
GROUP 10
|
||||||
|
PICTURE "LETTERE"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "TOTALE (in alto)"
|
||||||
|
PROMPT 110 3 ""
|
||||||
|
GROUP 10
|
||||||
|
PICTURE "###.###.###^^^"
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "sul C/C n."
|
||||||
|
PROMPT 70 4 ""
|
||||||
|
FIELD 14@->S5
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "Concessione di"
|
||||||
|
PROMPT 74 5 ""
|
||||||
|
FIELD 14@->S0
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "Eseguito da (1)"
|
||||||
|
PROMPT 72 6 ""
|
||||||
|
FIELD 6->RAGSOC[1,30]
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "Eseguito da (2)"
|
||||||
|
PROMPT 102 6 ""
|
||||||
|
FIELD 6->RAGSOC[31,50]
|
||||||
|
END
|
||||||
|
|
||||||
|
LISTA
|
||||||
|
BEGIN
|
||||||
|
KEY "Tipo anagrafica"
|
||||||
|
FIELD 6->TIPOA
|
||||||
|
ITEM "F| " MESSAGE ENABLE,1@|DISABLE,2@
|
||||||
|
ITEM "G| " MESSAGE ENABLE,2@|DISABLE,1@
|
||||||
|
END
|
||||||
|
|
||||||
|
DATA
|
||||||
|
BEGIN
|
||||||
|
KEY "DATA DI NASCITA"
|
||||||
|
PROMPT 68 7 ""
|
||||||
|
GROUP 1
|
||||||
|
FLAGS "D"
|
||||||
|
PICTURE "# # ^ # # ^ ^ # # #"
|
||||||
|
FIELD 8->DATANASC
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "COMUNE (o Stato estero) DI NASCITA"
|
||||||
|
PROMPT 84 7 ""
|
||||||
|
GROUP 1
|
||||||
|
FLAGS "D"
|
||||||
|
FIELD 113@->DENCOM
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "PROV. DI NASCITA (sigla)"
|
||||||
|
PROMPT 123 7 ""
|
||||||
|
GROUP 1
|
||||||
|
FLAGS "D"
|
||||||
|
FIELD 113@->PROVCOM
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "SESSO (M o F)"
|
||||||
|
PROMPT 127 7 ""
|
||||||
|
GROUP 1
|
||||||
|
FLAGS "D"
|
||||||
|
FIELD 8->SESSO
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "DOMICILIO FISCALE: COMUNE"
|
||||||
|
PROMPT 65 8 ""
|
||||||
|
FIELD 213@->DENCOM
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "DOMICILIO FISCALE: VIA"
|
||||||
|
PROMPT 85 8 ""
|
||||||
|
FIELD 6->INDRF
|
||||||
|
FIELD 6->INDRES
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "DOMICILIO FISCALE: NUMERO CIVICO"
|
||||||
|
PROMPT 124 8 ""
|
||||||
|
FIELD 6->CIVRF
|
||||||
|
FIELD 6->CIVRES
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING
|
||||||
|
BEGIN
|
||||||
|
KEY "CODICE TRIBUTO"
|
||||||
|
PROMPT 68 13 ""
|
||||||
|
PICTURE "# # # #"
|
||||||
|
FIELD S6
|
||||||
|
END
|
||||||
|
|
||||||
|
STRING
|
||||||
|
BEGIN
|
||||||
|
KEY "PERIODO DI RIFERIMENTO"
|
||||||
|
PROMPT 80 13 ""
|
||||||
|
FIELD CODTAB[6,9]
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "Codice Concessione"
|
||||||
|
PROMPT 92 13 ""
|
||||||
|
PICTURE "# # #"
|
||||||
|
FIELD 14@->CODTAB
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "Codice fiscale"
|
||||||
|
PROMPT 100 13 ""
|
||||||
|
PICTURE "# # # # # # # # # # # # # # # #"
|
||||||
|
FIELD 6->COFI
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "Partita IVA"
|
||||||
|
PROMPT 109 15 ""
|
||||||
|
PICTURE "# # # # # # # # # # #"
|
||||||
|
FIELD 6->PAIV
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "IMPORTO TRIBUTO"
|
||||||
|
PROMPT 109 17 ""
|
||||||
|
PICTURE "# # # # # # # #^^^"
|
||||||
|
FIELD R0
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "INTERESSI"
|
||||||
|
PROMPT 109 19 ""
|
||||||
|
PICTURE "# # # # # # # #^^^"
|
||||||
|
FIELD R1
|
||||||
|
END
|
||||||
|
|
||||||
|
END
|
||||||
|
|
@ -4,7 +4,8 @@ JOIN 6 INTO TIPOA=S0[1,1] CODANAGR=S0[2,6]
|
|||||||
JOIN 8 TO 6 INTO CODANAGR=CODANAGR
|
JOIN 8 TO 6 INTO CODANAGR=CODANAGR
|
||||||
JOIN 13 TO 6 INTO COM=COMRF(COMRES)
|
JOIN 13 TO 6 INTO COM=COMRF(COMRES)
|
||||||
|
|
||||||
END
|
END
|
||||||
|
|
||||||
SECTION BODY 0 66 0 0
|
SECTION BODY 0 66 0 0
|
||||||
|
|
||||||
STRINGA
|
STRINGA
|
||||||
@ -83,7 +84,7 @@ BEGIN
|
|||||||
KEY "IRPEG 2100 GRUPPO 4: IMPOSTA"
|
KEY "IRPEG 2100 GRUPPO 4: IMPOSTA"
|
||||||
PROMPT 32 18 ""
|
PROMPT 32 18 ""
|
||||||
MESSAGE COPY,1@
|
MESSAGE COPY,1@
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###~~~"
|
||||||
FIELD R0
|
FIELD R0
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -92,7 +93,7 @@ BEGIN
|
|||||||
KEY "IRPEG 2100 GRUPPO 4: INTERESSI"
|
KEY "IRPEG 2100 GRUPPO 4: INTERESSI"
|
||||||
PROMPT 48 18 ""
|
PROMPT 48 18 ""
|
||||||
MESSAGE ADD,1@
|
MESSAGE ADD,1@
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###~~~"
|
||||||
FIELD R4
|
FIELD R4
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -102,7 +103,7 @@ BEGIN
|
|||||||
PROMPT 62 18 ""
|
PROMPT 62 18 ""
|
||||||
GROUP 1
|
GROUP 1
|
||||||
MESSAGE COPY,5@
|
MESSAGE COPY,5@
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###~~~"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO
|
NUMERO
|
||||||
@ -124,7 +125,7 @@ BEGIN
|
|||||||
KEY "IRPEG 2110 GRUPPO 10: IMPOSTA"
|
KEY "IRPEG 2110 GRUPPO 10: IMPOSTA"
|
||||||
PROMPT 32 23 ""
|
PROMPT 32 23 ""
|
||||||
MESSAGE COPY,2@
|
MESSAGE COPY,2@
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###~~~"
|
||||||
FIELD R1
|
FIELD R1
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -133,7 +134,7 @@ BEGIN
|
|||||||
KEY "IRPEG 2110 GRUPPO 10: INTERESSI"
|
KEY "IRPEG 2110 GRUPPO 10: INTERESSI"
|
||||||
PROMPT 48 23 ""
|
PROMPT 48 23 ""
|
||||||
MESSAGE ADD,2@
|
MESSAGE ADD,2@
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###~~~"
|
||||||
FIELD R5
|
FIELD R5
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -143,7 +144,7 @@ BEGIN
|
|||||||
PROMPT 62 23 ""
|
PROMPT 62 23 ""
|
||||||
GROUP 2
|
GROUP 2
|
||||||
MESSAGE ADD,5@
|
MESSAGE ADD,5@
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###~~~"
|
||||||
END
|
END
|
||||||
|
|
||||||
GRUPPO
|
GRUPPO
|
||||||
@ -171,7 +172,7 @@ BEGIN
|
|||||||
KEY "ILOR 3000 GRUPPO 06: IMPOSTA"
|
KEY "ILOR 3000 GRUPPO 06: IMPOSTA"
|
||||||
PROMPT 32 33 ""
|
PROMPT 32 33 ""
|
||||||
MESSAGE COPY,3@
|
MESSAGE COPY,3@
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###~~~"
|
||||||
FIELD R2
|
FIELD R2
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -180,7 +181,7 @@ BEGIN
|
|||||||
KEY "ILOR 3000 GRUPPO 06: INTERESSI"
|
KEY "ILOR 3000 GRUPPO 06: INTERESSI"
|
||||||
PROMPT 48 33 ""
|
PROMPT 48 33 ""
|
||||||
MESSAGE ADD,3@
|
MESSAGE ADD,3@
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###~~~"
|
||||||
FIELD R6
|
FIELD R6
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -190,7 +191,7 @@ BEGIN
|
|||||||
PROMPT 62 33 ""
|
PROMPT 62 33 ""
|
||||||
GROUP 3
|
GROUP 3
|
||||||
MESSAGE ADD,5@
|
MESSAGE ADD,5@
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###~~~"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO
|
NUMERO
|
||||||
@ -212,7 +213,7 @@ BEGIN
|
|||||||
KEY "ILOR 3110 GRUPPO 11: IMPOSTA"
|
KEY "ILOR 3110 GRUPPO 11: IMPOSTA"
|
||||||
PROMPT 32 38 ""
|
PROMPT 32 38 ""
|
||||||
MESSAGE COPY,4@
|
MESSAGE COPY,4@
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###~~~"
|
||||||
FIELD R3
|
FIELD R3
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -221,7 +222,7 @@ BEGIN
|
|||||||
KEY "ILOR 3110 GRUPPO 11: INTERESSI"
|
KEY "ILOR 3110 GRUPPO 11: INTERESSI"
|
||||||
PROMPT 48 38 ""
|
PROMPT 48 38 ""
|
||||||
MESSAGE ADD,4@
|
MESSAGE ADD,4@
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###~~~"
|
||||||
FIELD R7
|
FIELD R7
|
||||||
END
|
END
|
||||||
|
|
||||||
@ -231,7 +232,7 @@ BEGIN
|
|||||||
PROMPT 62 38 ""
|
PROMPT 62 38 ""
|
||||||
GROUP 4
|
GROUP 4
|
||||||
MESSAGE ADD,5@
|
MESSAGE ADD,5@
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###~~~"
|
||||||
END
|
END
|
||||||
|
|
||||||
NUMERO
|
NUMERO
|
||||||
@ -239,7 +240,7 @@ BEGIN
|
|||||||
KEY "TOTALE DA VERSARE"
|
KEY "TOTALE DA VERSARE"
|
||||||
PROMPT 62 44 ""
|
PROMPT 62 44 ""
|
||||||
GROUP 5
|
GROUP 5
|
||||||
PICTURE "###.###.###^^^"
|
PICTURE "###.###.###~~~"
|
||||||
END
|
END
|
||||||
|
|
||||||
STRINGA
|
STRINGA
|
||||||
@ -261,7 +262,7 @@ DATA
|
|||||||
BEGIN
|
BEGIN
|
||||||
KEY "DATA: giorno - mese - anno"
|
KEY "DATA: giorno - mese - anno"
|
||||||
PROMPT 12 56 ""
|
PROMPT 12 56 ""
|
||||||
PICTURE "@@ ^ @@^^^@@"
|
PICTURE "@@ ~ @@~~~@@"
|
||||||
FIELD D0
|
FIELD D0
|
||||||
END
|
END
|
||||||
|
|
||||||
|
198
ba/distitcf.frm
Executable file
198
ba/distitcf.frm
Executable file
@ -0,0 +1,198 @@
|
|||||||
|
USE %DEL
|
||||||
|
JOIN 9 INTO CODDITTA=CODTAB[1,5]
|
||||||
|
JOIN 6 TO 9 INTO TIPOA=TIPOA CODANAGR=CODANAGR
|
||||||
|
JOIN 8 TO 9 INTO CODANAGR=CODANAGR
|
||||||
|
JOIN 13 TO 8 ALIAS 113 INTO COM=COMNASC
|
||||||
|
JOIN 13 TO 6 ALIAS 213 INTO COM=COMRF(COMRES)
|
||||||
|
JOIN %UCC TO 213@ ALIAS 14 INTO CODTAB=UFFCONC
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
SECTION BODY 0 64 0 0
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "CONCESSIONE DI"
|
||||||
|
PROMPT 36 5 ""
|
||||||
|
FIELD 14@->S0
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "COD. CONCESS."
|
||||||
|
PROMPT 9 11 ""
|
||||||
|
FIELD 14@->CODTAB
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "CODICE FISCALE"
|
||||||
|
PROMPT 15 11 ""
|
||||||
|
FIELD 6->COFI
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "COGNOME, DENOMINAZIONE O RAGIONE SOCIALE"
|
||||||
|
PROMPT 2 15 ""
|
||||||
|
FIELD 6->RAGSOC[1,30]
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "NOME"
|
||||||
|
PROMPT 54 15 ""
|
||||||
|
FIELD 6->RAGSOC[31,-1]
|
||||||
|
END
|
||||||
|
|
||||||
|
LISTA
|
||||||
|
BEGIN
|
||||||
|
KEY "Tipo anagrafica"
|
||||||
|
FIELD 6->TIPOA
|
||||||
|
ITEM "F| " MESSAGE ENABLE,1@|DISABLE,2@
|
||||||
|
ITEM "G| " MESSAGE ENABLE,2@|DISABLE,1@
|
||||||
|
END
|
||||||
|
|
||||||
|
GRUPPO
|
||||||
|
BEGIN
|
||||||
|
KEY "Persone fisiche"
|
||||||
|
PROMPT 0 0 ""
|
||||||
|
GROUP 1
|
||||||
|
FLAGS "DH"
|
||||||
|
END
|
||||||
|
|
||||||
|
DATA
|
||||||
|
BEGIN
|
||||||
|
KEY "DATA DI NASCITA"
|
||||||
|
PROMPT 2 17 ""
|
||||||
|
GROUP 1
|
||||||
|
FLAGS "DH"
|
||||||
|
PICTURE "# # ~ # # ~ ~ # # #"
|
||||||
|
FIELD 8->DATANASC
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "SESSO (M o F)"
|
||||||
|
PROMPT 19 17 ""
|
||||||
|
GROUP 1
|
||||||
|
FLAGS "DH"
|
||||||
|
FIELD 8->SESSO
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "COMUNE (o Stato estero) DI NASCITA"
|
||||||
|
PROMPT 24 17 ""
|
||||||
|
GROUP 1
|
||||||
|
FLAGS "DH"
|
||||||
|
FIELD 113@->DENCOM
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "PROV. DI NASCITA (sigla)"
|
||||||
|
PROMPT 68 17 ""
|
||||||
|
GROUP 1
|
||||||
|
FLAGS "DH"
|
||||||
|
FIELD 113@->PROVCOM
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "DOMICILIO FISCALE: COMUNE"
|
||||||
|
PROMPT 8 19 ""
|
||||||
|
FIELD 213@->DENCOM
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "DOMICILIO FISCALE: PROV. (sigla)"
|
||||||
|
PROMPT 36 19 ""
|
||||||
|
FIELD 213@->PROVCOM
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "DOMICILIO FISCALE: VIA"
|
||||||
|
PROMPT 41 19 ""
|
||||||
|
FIELD 6->INDRF
|
||||||
|
FIELD 6->INDRES
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "DOMICILIO FISCALE: NUMERO CIVICO"
|
||||||
|
PROMPT 70 19 ""
|
||||||
|
FIELD 6->CIVRF
|
||||||
|
FIELD 6->CIVRES
|
||||||
|
END
|
||||||
|
|
||||||
|
STRINGA
|
||||||
|
BEGIN
|
||||||
|
KEY "PARTITA IVA"
|
||||||
|
PROMPT 12 47 ""
|
||||||
|
FIELD 6->PAIV
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "ANNO"
|
||||||
|
PROMPT 14 51 ""
|
||||||
|
PICTURE "~~@@"
|
||||||
|
FIELD CODTAB[6,9]
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "IMPORTO TRIBUTO"
|
||||||
|
PROMPT 20 51 ""
|
||||||
|
MESSAGE COPY,10@
|
||||||
|
PICTURE "###.###.###~~~"
|
||||||
|
FIELD R0
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "INTERESSI"
|
||||||
|
PROMPT 40 51 ""
|
||||||
|
MESSAGE ADD,10@
|
||||||
|
PICTURE "###.###.###~~~"
|
||||||
|
FIELD R1
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "TOTALE"
|
||||||
|
PROMPT 54 51 ""
|
||||||
|
GROUP 10
|
||||||
|
PICTURE "###.###.###~~~"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "TOTALE (in lettere)"
|
||||||
|
PROMPT 5 55 ""
|
||||||
|
GROUP 10
|
||||||
|
PICTURE "LETTERE"
|
||||||
|
END
|
||||||
|
|
||||||
|
NUMERO
|
||||||
|
BEGIN
|
||||||
|
KEY "TOTALE (in cifre)"
|
||||||
|
PROMPT 54 55 ""
|
||||||
|
GROUP 10
|
||||||
|
PICTURE "###.###.###~~~"
|
||||||
|
END
|
||||||
|
|
||||||
|
DATA
|
||||||
|
BEGIN
|
||||||
|
KEY "DATA: giorno - mese - anno"
|
||||||
|
PROMPT 12 60 ""
|
||||||
|
PICTURE "@@ ~ @@~~~@@"
|
||||||
|
FIELD D0
|
||||||
|
END
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
END
|
Loading…
x
Reference in New Issue
Block a user