This commit was generated by cvs2svn to compensate for changes in r6942,
which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@6943 c028cbd2-c16b-5b4b-a496-9718f37d4682
This commit is contained in:
parent
4eb7aec100
commit
a9a9ba67c5
15
ibm36/ibm36.cpp
Executable file
15
ibm36/ibm36.cpp
Executable file
@ -0,0 +1,15 @@
|
||||
#include <xvt.h>
|
||||
|
||||
#include "ibm36.h"
|
||||
|
||||
int main(int argc, char** argv)
|
||||
{
|
||||
int n = argc > 1 ? atoi(argv[1]+1) : 0;
|
||||
switch(n)
|
||||
{
|
||||
default:
|
||||
ibm36100(argc, argv); break;
|
||||
}
|
||||
exit(0);
|
||||
return 0;
|
||||
}
|
1
ibm36/ibm36.h
Executable file
1
ibm36/ibm36.h
Executable file
@ -0,0 +1 @@
|
||||
int ibm36100(int argc, char* argv[]);
|
2
ibm36/ibm36.url
Executable file
2
ibm36/ibm36.url
Executable file
@ -0,0 +1,2 @@
|
||||
#include <default.url>
|
||||
|
370
ibm36/ibm36100.cpp
Executable file
370
ibm36/ibm36100.cpp
Executable file
@ -0,0 +1,370 @@
|
||||
#include <applicat.h>
|
||||
#include <automask.h>
|
||||
#include <browfile.h>
|
||||
#include <filetext.h>
|
||||
#include <prefix.h>
|
||||
#include <progind.h>
|
||||
#include <tabutil.h>
|
||||
#include <utility.h>
|
||||
#include <viswin.h>
|
||||
|
||||
#include "ibm36.h"
|
||||
|
||||
#include <comuni.h>
|
||||
#include <clifo.h>
|
||||
|
||||
class TMask36 : public TAutomask
|
||||
{
|
||||
protected:
|
||||
virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly);
|
||||
|
||||
public:
|
||||
TMask36() : TAutomask("ibm36100") { }
|
||||
virtual ~TMask36() { }
|
||||
};
|
||||
|
||||
bool TMask36::on_field_event(TOperable_field& o, TField_event e, long jolly)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
class TTrasfer36 : public TSkeleton_application
|
||||
{
|
||||
protected:
|
||||
virtual void main_loop();
|
||||
virtual const char* extra_modules() const { return "*"; } // Non e' un modulo normale
|
||||
|
||||
public:
|
||||
const TString& cap2com(const TString& cap, const TString& name) const;
|
||||
void split_indir(const TString& indir, TString& via, TString& civ) const;
|
||||
void import_tables(const TFilename& name, TBrowsefile_field& bf);
|
||||
void import_clifo(const TFilename& name, TBrowsefile_field& bf);
|
||||
};
|
||||
|
||||
const TString& TTrasfer36::cap2com(const TString& cap, const TString& name) const
|
||||
{
|
||||
if (cap.not_empty())
|
||||
{
|
||||
TString16 str(cap); str.right_just(5, '0');
|
||||
if (str[2] == '1')
|
||||
str.overwrite("00", 3);
|
||||
|
||||
TRelation rel(LF_COMUNI);
|
||||
TRectype filter(LF_COMUNI); filter.put(COM_CAPCOM, cap);
|
||||
TCursor comuni(&rel, "", 3, &filter, &filter);
|
||||
const TRecnotype total = comuni.items();
|
||||
if (total > 0)
|
||||
{
|
||||
comuni = 0;
|
||||
if (total > 1)
|
||||
{
|
||||
TRecnotype bestpos = 0L;
|
||||
int bestlen = 0;
|
||||
comuni.freeze(TRUE);
|
||||
for (; comuni.pos() < total; ++comuni)
|
||||
{
|
||||
const TString& dencom = comuni.curr().get(COM_DENCOM);
|
||||
for (int l = 0; toupper(dencom[l]) == toupper(name[l]); l++);
|
||||
if (l > bestlen)
|
||||
{
|
||||
bestlen = l;
|
||||
bestpos = comuni.pos();
|
||||
}
|
||||
}
|
||||
comuni = bestpos;
|
||||
}
|
||||
return comuni.curr().get(COM_COM);
|
||||
}
|
||||
}
|
||||
return EMPTY_STRING;
|
||||
}
|
||||
|
||||
void TTrasfer36::split_indir(const TString& indir, TString& via, TString& civ) const
|
||||
{
|
||||
const int comma = indir.rfind(',');
|
||||
if (comma > 0)
|
||||
{
|
||||
via = indir.left(comma);
|
||||
civ = indir.mid(comma+1);
|
||||
}
|
||||
else
|
||||
{
|
||||
bool has_digit = FALSE;
|
||||
for (int i = indir.len()-1; i > 0; i--)
|
||||
{
|
||||
if (has_digit)
|
||||
{
|
||||
if (indir[i] == ' ')
|
||||
break;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (isdigit(indir[i]))
|
||||
has_digit = TRUE;
|
||||
}
|
||||
}
|
||||
if (i > 0 && has_digit)
|
||||
{
|
||||
via = indir.left(i);
|
||||
civ = indir.mid(i+1);
|
||||
}
|
||||
}
|
||||
|
||||
if (via.empty())
|
||||
{
|
||||
via = indir;
|
||||
civ.cut(0);
|
||||
}
|
||||
|
||||
via.cut(35);
|
||||
civ.cut(10);
|
||||
}
|
||||
|
||||
void TTrasfer36::import_tables(const TFilename& name, TBrowsefile_field& bf)
|
||||
{
|
||||
TString msg;
|
||||
msg = "Importazione tabelle vendite";
|
||||
|
||||
TProgind pi(::fsize(name), msg, TRUE, TRUE);
|
||||
long valid = 0;
|
||||
|
||||
msg.insert("@b", 0);
|
||||
msg << " dal file " << name;
|
||||
bf.add_line(msg);
|
||||
bf.add_line("");
|
||||
|
||||
TFile_text file(name, "ibm36tab.ini");
|
||||
|
||||
TTable ban("%BAN");
|
||||
|
||||
TRecord_text curr;
|
||||
while (file.read(curr) == NOERR)
|
||||
{
|
||||
pi.setstatus(file.read_file()->tellg());
|
||||
if (pi.iscancelled())
|
||||
break;
|
||||
|
||||
const TString& type = curr.type();
|
||||
if (type == "A26")
|
||||
{
|
||||
const TString& ann = file.get_field(curr, "ANNULLATO");
|
||||
if (ann != "A")
|
||||
{
|
||||
msg = "Importazione tabelle vendite - Record validi: ";
|
||||
msg << ++valid;
|
||||
pi.set_text(msg);
|
||||
|
||||
TString16 cod = file.get_field(curr, "CODICE");
|
||||
TString16 abi = file.get_field(curr, "ABI");
|
||||
TString16 cab = file.get_field(curr, "CAB");
|
||||
if (abi.empty() || cab.empty())
|
||||
{
|
||||
if (abi.empty()) abi = "99999";
|
||||
if (cab.empty()) { cab = cod; cab.right_just(5, '0'); }
|
||||
|
||||
msg = "! La banca ";
|
||||
msg << cod << " non dispone di un codice ABI/CAB valido";
|
||||
bf.add_line(msg);
|
||||
msg = "- Verra' creata la banca fittizia ";
|
||||
msg << abi << ' ' << cab;
|
||||
bf.add_line(msg);
|
||||
}
|
||||
abi.right_just(5, '0');
|
||||
cab.right_just(5, '0');
|
||||
|
||||
TString16 codtab = abi;
|
||||
ban.put("CODTAB", codtab);
|
||||
if (ban.read() != NOERR)
|
||||
{
|
||||
msg = "- Creazione dell'istituto fittizio ";
|
||||
msg << abi;
|
||||
bf.add_line(msg);
|
||||
|
||||
ban.put("CODTAB", codtab);
|
||||
ban.put("S0", "Banca per trasferimenti IBM36");
|
||||
ban.write();
|
||||
}
|
||||
|
||||
codtab << cab;
|
||||
ban.put("CODTAB", codtab);
|
||||
if (ban.read() == NOERR)
|
||||
{
|
||||
ban.put("I14", cod);
|
||||
ban.rewrite();
|
||||
}
|
||||
else
|
||||
{
|
||||
ban.put("CODTAB", codtab);
|
||||
ban.put("S0", file.get_field(curr, "RAGSOC"));
|
||||
ban.put("I14", cod);
|
||||
|
||||
const TString& cap = file.get_field(curr, "CAP");
|
||||
ban.put("S3", cap);
|
||||
|
||||
const TString& loc = file.get_field(curr, "LOCALITA");
|
||||
ban.put("S1", loc);
|
||||
|
||||
const TString& com = cap2com(cap, loc);
|
||||
ban.put("S5", com);
|
||||
|
||||
const TString& ind = file.get_field(curr, "INDIRIZZO");
|
||||
TString via, civ;
|
||||
split_indir(ind, via, civ);
|
||||
ban.put("S2", via);
|
||||
ban.put("S7", civ);
|
||||
|
||||
ban.write();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
msg = "Record importati: ";
|
||||
msg << valid;
|
||||
bf.add_line(msg);
|
||||
bf.add_line("");
|
||||
}
|
||||
|
||||
void TTrasfer36::import_clifo(const TFilename& name, TBrowsefile_field& bf)
|
||||
{
|
||||
TAssoc_array missing_firm;
|
||||
TString msg;
|
||||
long valid = 0;
|
||||
|
||||
msg = "Importazione Clienti/Fornitori";
|
||||
TProgind pi(::fsize(name), msg, TRUE, TRUE);
|
||||
TFile_text file(name, "ibm36cf.ini");
|
||||
|
||||
msg.insert("@b", 0);
|
||||
bf.add_line(msg);
|
||||
bf.add_line("");
|
||||
|
||||
TRelation rel(LF_CLIFO); rel.add(LF_CFVEN, "TIPOCF=TIPOCF|CODCF=CODCF");
|
||||
|
||||
TRecord_text curr;
|
||||
while (file.read(curr) == NOERR)
|
||||
{
|
||||
pi.setstatus(file.read_file()->tellg());
|
||||
if (pi.iscancelled())
|
||||
break;
|
||||
|
||||
const int tipo_record = curr.type()[0] - '0';
|
||||
if (tipo_record >= 1 && tipo_record <= 6)
|
||||
{
|
||||
const char stato_record = file.get_field(curr, "ANNULLATO")[0];
|
||||
if (stato_record == 'A')
|
||||
continue;
|
||||
|
||||
const long ditta = atol(file.get_field(curr, "DITTA"));
|
||||
if (prefix().get_codditta() != ditta)
|
||||
{
|
||||
if (prefix().exist(ditta))
|
||||
prefix().set_codditta(ditta);
|
||||
else
|
||||
{
|
||||
msg.format("%ld", ditta);
|
||||
if (missing_firm.objptr(msg) == NULL)
|
||||
{
|
||||
missing_firm.add(msg, msg);
|
||||
msg.insert("Non esiste la ditta ", 0);
|
||||
msg << ": Effettuare il trasferimento della contabilita'";
|
||||
bf.add_line(msg);
|
||||
}
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
const char* tipocf = (tipo_record & 0x1) ? "C" : "F";
|
||||
const long codcf = atol(file.get_field(curr, "CODCF"));
|
||||
TLocalisamfile& clifo = rel.lfile();
|
||||
clifo.put(CLI_TIPOCF, tipocf);
|
||||
clifo.put(CLI_CODCF, codcf);
|
||||
int err = clifo.read();
|
||||
if (err == NOERR)
|
||||
{
|
||||
file.add_field(curr, "TIPOCF", tipocf);
|
||||
}
|
||||
|
||||
switch(tipo_record)
|
||||
{
|
||||
case 1:
|
||||
case 2:
|
||||
if (err != NOERR)
|
||||
{
|
||||
msg = "! Non esiste il ";
|
||||
msg << (*tipocf == 'C' ? "cliente" : "fornitore") << ' ' << codcf;
|
||||
bf.add_line(msg);
|
||||
msg = "- Inserimento di ";
|
||||
msg << file.get_field(curr, "COGNOME") << file.get_field(curr, "NOME");
|
||||
bf.add_line(msg);
|
||||
|
||||
rel.write_enable(LF_CFVEN, FALSE);
|
||||
const int err = file.autosave(rel, curr);
|
||||
if (err != NOERR)
|
||||
{
|
||||
msg = "! Errore di scrittura sul file LF_CLIFO: ";
|
||||
msg << err;
|
||||
bf.add_line(msg);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (err == NOERR)
|
||||
{
|
||||
rel.write_enable(LF_CFVEN);
|
||||
const int err = file.autosave(rel, curr);
|
||||
if (err != NOERR)
|
||||
{
|
||||
msg = "! Errore di scrittura sul file LF_CFVEN: ";
|
||||
msg << err;
|
||||
bf.add_line(msg);
|
||||
}
|
||||
else
|
||||
valid++;
|
||||
}
|
||||
break;
|
||||
case 4:
|
||||
// Ignored
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
msg = "Record importati: ";
|
||||
msg << valid;
|
||||
bf.add_line(msg);
|
||||
bf.add_line("");
|
||||
}
|
||||
|
||||
void TTrasfer36::main_loop()
|
||||
{
|
||||
TMask36 m;
|
||||
TBrowsefile_field& bf = (TBrowsefile_field&)m.field(201);
|
||||
|
||||
TViswin& vw = bf.vis_win();
|
||||
vw.show_rulers(FALSE);
|
||||
|
||||
while (m.run() == K_ENTER)
|
||||
{
|
||||
vw.destroy_lines();
|
||||
TFilename name;
|
||||
|
||||
name = m.get(101);
|
||||
if (name.not_empty())
|
||||
import_tables(name, bf);
|
||||
|
||||
name = m.get(102);
|
||||
if (name.not_empty())
|
||||
import_clifo(name, bf);
|
||||
|
||||
vw.goto_top();
|
||||
}
|
||||
}
|
||||
|
||||
int ibm36100(int argc, char* argv[])
|
||||
{
|
||||
TTrasfer36 a;
|
||||
a.run(argc, argv, "Trasferimento IBM36");
|
||||
return 0;
|
||||
}
|
38
ibm36/ibm36100.uml
Executable file
38
ibm36/ibm36100.uml
Executable file
@ -0,0 +1,38 @@
|
||||
TOOOLBAR "Toolbar" 0 19 0 0
|
||||
|
||||
BUTTON DLG_OK 10 2
|
||||
BEGIN
|
||||
PROMPT -12 -1 ""
|
||||
END
|
||||
|
||||
BUTTON DLG_QUIT 10 2
|
||||
BEGIN
|
||||
PROMPT -22 -1 ""
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
PAGE "Trasferimento da IBM 36" -1 -1 68 8
|
||||
|
||||
STRING 101 50
|
||||
BEGIN
|
||||
PROMPT 1 1 "Tabelle "
|
||||
FSELECT ""
|
||||
END
|
||||
|
||||
STRING 102 50
|
||||
BEGIN
|
||||
PROMPT 1 2 "Cli/For "
|
||||
FSELECT ""
|
||||
END
|
||||
|
||||
BROWSEFILE 201 -3 -1
|
||||
BEGIN
|
||||
PROMPT 0 4 ""
|
||||
FLAGS "R"
|
||||
END
|
||||
|
||||
ENDPAGE
|
||||
|
||||
ENDMASK
|
||||
|
304
ibm36/ibm36cf.ini
Executable file
304
ibm36/ibm36cf.ini
Executable file
@ -0,0 +1,304 @@
|
||||
[MAIN]
|
||||
TYPEPOS = 1
|
||||
TYPELEN = 1
|
||||
|
||||
[RECORD 1]
|
||||
LENGTH(0) = 1
|
||||
LENGTH(1) = 1
|
||||
LENGTH(2) = 4
|
||||
LENGTH(3) = 6
|
||||
LENGTH(4) = 30
|
||||
LENGTH(5) = 20
|
||||
NAME(0) = ANNULLATO
|
||||
NAME(1) = TIPOCF
|
||||
NAME(2) = DITTA
|
||||
NAME(3) = CODCF
|
||||
NAME(4) = COGNOME
|
||||
NAME(5) = NOME
|
||||
POSITION(0) = 0
|
||||
POSITION(1) = 1
|
||||
POSITION(2) = 2
|
||||
POSITION(3) = 6
|
||||
POSITION(4) = 12
|
||||
POSITION(5) = 42
|
||||
FIELD(1) = TIPOCF
|
||||
FIELD(3) = CODCF
|
||||
FIELD(4) = RAGSOC[1,30]
|
||||
FIELD(5) = RAGSOC[31,50]
|
||||
|
||||
[RECORD 2]
|
||||
LENGTH(0) = 1
|
||||
LENGTH(1) = 1
|
||||
LENGTH(2) = 4
|
||||
LENGTH(3) = 6
|
||||
LENGTH(4) = 30
|
||||
LENGTH(5) = 20
|
||||
NAME(0) = ANNULLATO
|
||||
NAME(1) = TIPOCF
|
||||
NAME(2) = DITTA
|
||||
NAME(3) = CODCF
|
||||
NAME(4) = COGNOME
|
||||
NAME(5) = NOME
|
||||
POSITION(0) = 0
|
||||
POSITION(1) = 1
|
||||
POSITION(2) = 2
|
||||
POSITION(3) = 6
|
||||
POSITION(4) = 12
|
||||
POSITION(5) = 42
|
||||
FIELD(1) = TIPOCF
|
||||
FIELD(3) = CODCF
|
||||
FIELD(4) = RAGSOC[1,30]
|
||||
FIELD(5) = RAGSOC[31,50]
|
||||
|
||||
[RECORD 3]
|
||||
LENGTH(0) = 1
|
||||
LENGTH(1) = 1
|
||||
LENGTH(2) = 4
|
||||
LENGTH(3) = 6
|
||||
LENGTH(4) = 6
|
||||
LENGTH(5) = 2
|
||||
LENGTH(6) = 3
|
||||
LENGTH(7) = 1
|
||||
LENGTH(8) = 3
|
||||
LENGTH(9) = 2
|
||||
LENGTH(10) = 2
|
||||
LENGTH(11) = 2
|
||||
LENGTH(12) = 2
|
||||
LENGTH(13) = 10
|
||||
LENGTH(14) = 2
|
||||
LENGTH(15) = 5
|
||||
LENGTH(16) = 1
|
||||
LENGTH(17) = 1
|
||||
LENGTH(18) = 3
|
||||
LENGTH(19) = 2
|
||||
LENGTH(20) = 2
|
||||
LENGTH(21) = 2
|
||||
LENGTH(22) = 2
|
||||
LENGTH(23) = 3
|
||||
LENGTH(24) = 3
|
||||
LENGTH(25) = 3
|
||||
LENGTH(26) = 1
|
||||
LENGTH(27) = 1
|
||||
LENGTH(28) = 6
|
||||
LENGTH(29) = 2
|
||||
LENGTH(30) = 1
|
||||
LENGTH(31) = 6
|
||||
LENGTH(32) = 6
|
||||
LENGTH(33) = 6
|
||||
LENGTH(34) = 6
|
||||
LENGTH(35) = 1
|
||||
LENGTH(36) = 2
|
||||
LENGTH(37) = 3
|
||||
LENGTH(38) = 3
|
||||
LENGTH(39) = 3
|
||||
LENGTH(40) = 1
|
||||
LENGTH(41) = 7
|
||||
LENGTH(42) = 7
|
||||
LENGTH(43) = 1
|
||||
LENGTH(44) = 1
|
||||
LENGTH(45) = 5
|
||||
LENGTH(46) = 4
|
||||
LENGTH(47) = 4
|
||||
LENGTH(48) = 4
|
||||
LENGTH(49) = 1
|
||||
LENGTH(50) = 1
|
||||
LENGTH(51) = 1
|
||||
LENGTH(52) = 1
|
||||
LENGTH(53) = 12
|
||||
|
||||
NAME(0) = ANNULLATO
|
||||
NAME(1) = TIPOCF
|
||||
NAME(2) = DITTA
|
||||
NAME(3) = CODCF
|
||||
NAME(4) = CODICE PER COGE
|
||||
NAME(5) = NAZIONE
|
||||
NAME(6) = VALUTA
|
||||
NAME(7) = LINGUA
|
||||
NAME(8) = INDIRIZZO DOCUMENTO
|
||||
NAME(9) = NOTE ANAGRAFICHE
|
||||
NAME(10) = CODICE LEGALE
|
||||
NAME(11) = CATEGORIA CONTABILE
|
||||
NAME(12) = ZONA
|
||||
NAME(13) = CODICE MECCANOGRAFICO
|
||||
NAME(14) = CODICE AGENTE
|
||||
NAME(15) = PROVVIGIONE AGENTE
|
||||
NAME(16) = FLAG LIQUIDAZIONE PROVVIGIONI
|
||||
NAME(17) = LIVELLO DI FATTURAZIONE
|
||||
NAME(18) = CODICE INDIRIZZO DI SPEDIZIONE
|
||||
NAME(19) = PRIMO CODICE DOCUMENTO
|
||||
NAME(20) = SECONDO CODICE DOCUMENTO
|
||||
NAME(21) = CODICE MODALITA' SPEDIZIONE
|
||||
NAME(22) = MODALITA' CONSEGNA/PORTO
|
||||
NAME(23) = PRIMO CODICE VETTORE
|
||||
NAME(24) = SECONDO CODICE VETTORE
|
||||
NAME(25) = TERZO CODICE VETTORE
|
||||
NAME(26) = RAGGRUPPAMENTO DOCUMENTI
|
||||
NAME(27) = NUMERO COPIE DOCUMENTI
|
||||
NAME(28) = CODICE FORNITORE ASSOCIATO
|
||||
NAME(29) = CODICE ASSOGGETTAMENTO FISCALE
|
||||
NAME(30) = FLAG FATTURE IN SOSPENSIONE D'IMPOSTA
|
||||
NAME(31) = DATI LETTERA ESENZIONE VS. NUMERO PROT.
|
||||
NAME(32) = DATI LETTERA ESENZIONE VS. DATA REG.
|
||||
NAME(33) = DATI LETTERA ESENZIONE NS. NUMERO PROT.
|
||||
NAME(34) = DATI LETTERA ESENZIONE NS. DATA REG.
|
||||
NAME(35) = FLAG ADDEBITO BOLLO FISSO
|
||||
NAME(36) = CODICE CATEGORIA FINANZIARIA
|
||||
NAME(37) = CODICE BANCA D'APPOGGIO
|
||||
NAME(38) = CODICE BANCA PRESENTAZIONE EFFETTI
|
||||
NAME(39) = CODICE INDIRIZZO EFFETTI
|
||||
NAME(40) = GESTIONE CAUZIONI
|
||||
NAME(41) = DATA INIZIO RID
|
||||
NAME(42) = DATA REVOCA RID
|
||||
NAME(43) = FILLER
|
||||
NAME(44) = EMISSIONE EFFETTI A RICHIESTA
|
||||
NAME(45) = IMPORTO MINIMO EFFETTI/1000
|
||||
NAME(46) = GGMM INIZIO NON ACCETTAZIONE EFFETtI
|
||||
NAME(47) = GGMM FINE NON ACCETTAZIONE EFFETtI
|
||||
NAME(48) = GGMM SCADENZA EFFETTI DEI PERIODI NON ACCETTATI
|
||||
NAME(49) = FLAG ADDEBITO BOLLI RIBA
|
||||
NAME(50) = FLAG ADDEBITO BOLLI TRATTE
|
||||
NAME(51) = FLAG ADDEBITO BOLLI SPESE INCASSO
|
||||
NAME(52) = FLAG ALIQUOTA RIDOTTA
|
||||
NAME(53) = CONTO CORRENTE BANCA D'APPOGGIO
|
||||
|
||||
POSITION(0) = 0
|
||||
POSITION(1) = 1
|
||||
POSITION(2) = 2
|
||||
POSITION(3) = 6
|
||||
POSITION(4) = 12
|
||||
POSITION(5) = 18
|
||||
POSITION(6) = 20
|
||||
POSITION(7) = 23
|
||||
POSITION(8) = 24
|
||||
POSITION(9) = 27
|
||||
POSITION(10) = 29
|
||||
POSITION(11) = 31
|
||||
POSITION(12) = 33
|
||||
POSITION(13) = 35
|
||||
POSITION(14) = 45
|
||||
POSITION(15) = 47
|
||||
POSITION(16) = 50
|
||||
POSITION(17) = 51
|
||||
POSITION(18) = 52
|
||||
POSITION(19) = 55
|
||||
POSITION(20) = 57
|
||||
POSITION(21) = 59
|
||||
POSITION(22) = 61
|
||||
POSITION(23) = 63
|
||||
POSITION(24) = 66
|
||||
POSITION(25) = 69
|
||||
POSITION(26) = 72
|
||||
POSITION(27) = 73
|
||||
POSITION(28) = 74
|
||||
POSITION(29) = 80
|
||||
POSITION(30) = 82
|
||||
POSITION(31) = 83
|
||||
POSITION(32) = 89
|
||||
POSITION(33) = 95
|
||||
POSITION(34) = 101
|
||||
POSITION(35) = 107
|
||||
POSITION(36) = 108
|
||||
POSITION(37) = 110
|
||||
POSITION(38) = 113
|
||||
POSITION(39) = 116
|
||||
POSITION(40) = 119
|
||||
POSITION(41) = 120
|
||||
POSITION(42) = 124
|
||||
POSITION(43) = 128
|
||||
POSITION(44) = 129
|
||||
POSITION(45) = 130
|
||||
POSITION(46) = 133
|
||||
POSITION(47) = 141
|
||||
POSITION(48) = 149
|
||||
POSITION(49) = 157
|
||||
POSITION(50) = 158
|
||||
POSITION(51) = 159
|
||||
POSITION(52) = 160
|
||||
POSITION(53) = 161
|
||||
|
||||
FIELD(1) = TIPOCF
|
||||
FIELD(3) = CODCF
|
||||
FIELD(6) = CODVAL
|
||||
FIELD(7) = CODLIN
|
||||
FIELD(8) = 17->CODINDDOC
|
||||
FIELD(9) = 17->CODNOTE
|
||||
FIELD(10) = 17->CODLEG
|
||||
FIELD(11) = 17->CODCATC
|
||||
FIELD(12) = 17->CODZONA
|
||||
FIELD(13) = 17->CODPRCF
|
||||
FIELD(14) = 17->CODAG
|
||||
FIELD(15) = 17->PERCPROVV
|
||||
FIELD(16) = 17->LIQPAG
|
||||
FIELD(18) = 17->CODINDSP
|
||||
FIELD(19) = 17->CODNOTESP1
|
||||
FIELD(20) = 17->CODNOTESP2
|
||||
FIELD(21) = 17->CODSPMEZZO
|
||||
FIELD(22) = 17->CODPORTO
|
||||
FIELD(23) = 17->CODVETT1
|
||||
FIELD(24) = 17->CODVETT2
|
||||
FIELD(25) = 17->CODVETT3
|
||||
FIELD(26) = 17->RAGGDOC
|
||||
FIELD(28) = 17->CODCFASS
|
||||
FIELD(29) = 17->ASSFIS
|
||||
FIELD(30) = 17->FATTSOSP
|
||||
FIELD(31) = 17->VSNRPROT
|
||||
FIELD(32) = 17->VSDATAREG
|
||||
FIELD(33) = 17->NSNPROT
|
||||
FIELD(34) = 17->NSDATAREG
|
||||
FIELD(36) = 17->CATFIN
|
||||
FIELD(39) = 17->CODINDEFF
|
||||
FIELD(44) = 17->EMEFFRICH
|
||||
FIELD(45) = 17->IMPMINEFF
|
||||
FIELD(46) = 17->NONACCEFF
|
||||
FIELD(48) = 17->NONSCADEFF
|
||||
FIELD(49) = 17->ADDBOLLI
|
||||
FIELD(52) = 17->IVARID
|
||||
FIELD(53) = NUMCC
|
||||
|
||||
[RECORD 4]
|
||||
LENGTH(0) = 1
|
||||
LENGTH(1) = 1
|
||||
LENGTH(2) = 4
|
||||
LENGTH(3) = 6
|
||||
NAME(0) = ANNULLATO
|
||||
NAME(1) = TIPOCF
|
||||
NAME(2) = DITTA
|
||||
NAME(3) = CODCF
|
||||
POSITION(0) = 0
|
||||
POSITION(1) = 1
|
||||
POSITION(2) = 2
|
||||
POSITION(3) = 6
|
||||
FIELD(1) = TIPOCF
|
||||
FIELD(3) = CODCF
|
||||
|
||||
[RECORD 5]
|
||||
LENGTH(0) = 1
|
||||
LENGTH(1) = 1
|
||||
LENGTH(2) = 4
|
||||
LENGTH(3) = 6
|
||||
NAME(0) = ANNULLATO
|
||||
NAME(1) = TIPOCF
|
||||
NAME(2) = DITTA
|
||||
NAME(3) = CODCF
|
||||
POSITION(0) = 0
|
||||
POSITION(1) = 1
|
||||
POSITION(2) = 2
|
||||
POSITION(3) = 6
|
||||
FIELD(1) = TIPOCF
|
||||
FIELD(3) = CODCF
|
||||
|
||||
[RECORD 6]
|
||||
LENGTH(0) = 1
|
||||
LENGTH(1) = 1
|
||||
LENGTH(2) = 4
|
||||
LENGTH(3) = 6
|
||||
NAME(0) = ANNULLATO
|
||||
NAME(1) = TIPOCF
|
||||
NAME(2) = DITTA
|
||||
NAME(3) = CODCF
|
||||
POSITION(0) = 0
|
||||
POSITION(1) = 1
|
||||
POSITION(2) = 2
|
||||
POSITION(3) = 6
|
||||
FIELD(1) = TIPOCF
|
||||
FIELD(3) = CODCF
|
46
ibm36/ibm36tab.ini
Executable file
46
ibm36/ibm36tab.ini
Executable file
@ -0,0 +1,46 @@
|
||||
[MAIN]
|
||||
FIELDSEP =
|
||||
RECORDSEP =
|
||||
RECORDSIZE =
|
||||
SKIPLINES = 0
|
||||
TYPEFIELD = 1
|
||||
TYPEPOS = 1
|
||||
TYPELEN = 3
|
||||
|
||||
[RECORD A26]
|
||||
FIELD(4) = S0
|
||||
LENGTH(0) = 1
|
||||
LENGTH(1) = 3
|
||||
LENGTH(2) = 3
|
||||
LENGTH(3) = 10
|
||||
LENGTH(4) = 50
|
||||
LENGTH(5) = 35
|
||||
LENGTH(6) = 5
|
||||
LENGTH(7) = 20
|
||||
LENGTH(8) = 2
|
||||
LENGTH(9) = 5
|
||||
LENGTH(10) = 5
|
||||
NAME(0) = ANNULLATO
|
||||
NAME(1) = TIPO
|
||||
NAME(2) = CODICE
|
||||
NAME(3) = FILLER
|
||||
NAME(4) = RAGSOC
|
||||
NAME(5) = INDIRIZZO
|
||||
NAME(6) = CAP
|
||||
NAME(7) = LOCALITA
|
||||
NAME(8) = PROVINCIA
|
||||
NAME(9) = ABI
|
||||
NAME(10) = CAB
|
||||
POSITION(0) = 0
|
||||
POSITION(1) = 1
|
||||
POSITION(2) = 4
|
||||
POSITION(3) = 7
|
||||
POSITION(4) = 17
|
||||
POSITION(5) = 67
|
||||
POSITION(6) = 102
|
||||
POSITION(7) = 107
|
||||
POSITION(8) = 127
|
||||
POSITION(9) = 129
|
||||
POSITION(10) = 134
|
||||
USE = %BAN
|
||||
|
Loading…
x
Reference in New Issue
Block a user