Patch level : 12.0 960

Files correlati     : ve0.exe ve1.exe ve5.exe ve6.exe
Commento            :

Segnalato errore di scrittura nella contabilizzazione analitica
Evitato il calcolo di campi virtuali nelle righe descrizione. (Provare anche gli altri tipi tiga)
This commit is contained in:
Alessandro Bonazzi 2020-05-13 11:12:29 +02:00
parent db47c54b81
commit 1dae6bc689
12 changed files with 155 additions and 116 deletions

View File

@ -495,6 +495,7 @@ public:
bool is_attrezzatura() const { return tipo() == RIGA_ATTREZZATURE;}
bool is_sconto() const { return tipo() == RIGA_SCONTI; }
bool is_omaggio() const { return tipo() == RIGA_OMAGGI; }
bool is_descrizione() const { return tipo() == RIGA_DESCRIZIONI; }
const TString& imponibile() const { return _imponibile;}
const TString& imposta() const { return _field_imposta;}

View File

@ -272,7 +272,8 @@ void TRiga_documento::forza_sola_descrizione()
for (const TObject* o = _tipi.get(); o; o = _tipi.get())
{
const TTipo_riga_documento* trd = (const TTipo_riga_documento*)o;
if (trd->tipo() == RIGA_DESCRIZIONI)
if (trd->is_descrizione())
{
const TString& c = trd->codice();
if (cod.empty() || c < cod)
@ -1110,8 +1111,12 @@ void TRiga_documento::put_str(const char* fieldname, const char* val)
if (TRectype::get(RDOC_TIPORIGA) != v)
{
TAuto_variable_rectype::put_str(fieldname, v);
reset_fields(*this);
set_fields(*this);
if (tipo().is_descrizione())
reset_memo_fld();
else
set_fields(*this);
}
else
dirty_fields();

View File

@ -787,6 +787,7 @@ void TDocumento::copy_contents(const TDocumento& src, bool copy_header)
{
const TRiga_documento& s = src[i];
TRiga_documento & r = new_row(s.tipo().codice());
copy_data(r, s);
r.set_original_rdoc_key(s);
}
@ -795,6 +796,7 @@ void TDocumento::copy_contents(const TDocumento& src, bool copy_header)
TRiga_documento& TDocumento::insert_row(int row, const char *tipo)
{
TRiga_documento& r = (TRiga_documento&)TMultiple_rectype::insert_row(row);
if (tipo && *tipo)
r.set_tipo(tipo);
return r;

View File

@ -700,8 +700,10 @@ bool TElaborazione_esterna::elabora(TLista_documenti& doc_in, TLista_documenti&
par.format("%d,%d", LF_RIGHEDOC, r);
if (p.find(par) < 0)
break;
const TString& tiporiga = c.get(RDOC_TIPORIGA, par, -1, "01");
TRiga_documento& row = d.new_row(tiporiga);
for (int i = row.items()-1; i >= 0; i--)
{
const char* fname = row.fieldname(i);

View File

@ -319,6 +319,7 @@ enum error_type {
cont_seq_error,
cau_ritintra_error,
m770_write_error,
anal_write_error,
generic_error
};

View File

@ -229,6 +229,7 @@ bool TFatturazione_bolle::raggruppa(TDocumento& doc_in, TDocumento& doc_out)
if (dest.full()) // crea una riga descrizione nuova per indirizzo di spedizione valido
{
TRiga_documento& rout = doc_out.new_row();
rout.forza_sola_descrizione();
rout.put(RDOC_DESCR, dest);
}
@ -242,6 +243,7 @@ bool TFatturazione_bolle::raggruppa(TDocumento& doc_in, TDocumento& doc_out)
if (riga_rif > doc_out.physical_rows())
{
TRiga_documento& rout = doc_out.new_row();
rout.forza_sola_descrizione();
}

View File

@ -3250,7 +3250,11 @@ error_type TContabilizzazione::write_all(TDocumento& doc, TMovimentoPN_VE & movi
write_intra(doc);
if (good() && (ca_config().get_int("Authorizations") & 0x5)) // No CI qui
{
write_anal(doc, movimento);
if (!good())
display_error(doc);
}
const int tipocoll = _caus->link_m770();
const bool do_770 = tipocoll == 1 || tipocoll == 5 || tipocoll == 6;
@ -3319,38 +3323,41 @@ error_type TContabilizzazione::write_all(TDocumento& doc, TMovimentoPN_VE & movi
error_type TContabilizzazione::write_all_re(TDocumento& doc, TMovimentoPN_VE & movimento)
// Scrive il movimento e le scadenze, gestendo la rinumerazione se il movimento e' gia presente
{
// N.B: _error non viene settato, per non stampare il messaggio di errore 2 volte.
// basta solo ritornare qualcosa di != da no_error, per evitare le operazioni successive
// a write_all
TRectype& head = movimento.curr();
long numreg = head.get_long(MOV_NUMREG);
TSaldo_agg saldo;
// N.B: _error non viene settato, per non stampare il messaggio di errore 2 volte.
// basta solo ritornare qualcosa di != da no_error, per evitare le operazioni successive
// a write_all
TRectype& head = movimento.curr();
long numreg = head.get_long(MOV_NUMREG);
TSaldo_agg saldo;
int err = NOERR;
const long old_numreg = doc_contabilized(doc, false);
if (old_numreg > 0)
{
TMovimentoPN oldmov;
oldmov.curr().put(MOV_NUMREG, old_numreg);
if (oldmov.read() == NOERR)
aggiorna_saldi(saldo, oldmov, false); // Leggo i vecchi saldi
err = movimento.rewrite();
}
else
err = movimento.write();
if (err != NOERR)
{
error_box("*** Errore %d scrivendo il movimento contabile %ld.", err, numreg);
return generic_error;
}
int err = NOERR;
const long old_numreg = doc_contabilized(doc, false);
if (old_numreg > 0)
{
TMovimentoPN oldmov;
oldmov.curr().put(MOV_NUMREG, old_numreg);
if (oldmov.read() == NOERR)
aggiorna_saldi(saldo, oldmov, false); // Leggo i vecchi saldi
err = movimento.rewrite();
}
else
err = movimento.write();
if (err != NOERR)
{
error_box("*** Errore %d scrivendo il movimento contabile %ld.", err, numreg);
return generic_error;
}
// Aggiorno subito i saldi
aggiorna_saldi(saldo, movimento, true);
dispatch_transaction(movimento, old_numreg > 0 ? "MODIFY": "INSERT");
if (good() && (ca_config().get_int("Authorizations") & 0x5)) // No CIAUT
write_anal(doc, movimento);
// Aggiorno subito i saldi
aggiorna_saldi(saldo, movimento, true);
dispatch_transaction(movimento, old_numreg > 0 ? "MODIFY" : "INSERT");
if (good() && (ca_config().get_int("Authorizations") & 0x5)) // No CIAUT
{
write_anal(doc, movimento);
if (!good())
display_error(doc);
}
if (good())
{
_total_docs++;
@ -4137,6 +4144,7 @@ error_type TContabilizzazione::write_anal(TDocumento& doc, const TMovimentoPN& m
TContabilizzazione_analitica canal(*this);
const long numreg_cg = movimento.curr().get_long(MOV_NUMREG);
TAnal_mov mov;
canal.elabora(doc, numreg_cg, _viswin, _can_write, mov);
}
@ -4675,6 +4683,9 @@ void TContabilizzazione::display_error(TDocumento& doc)
msg.format("Errore in scrittura della scheda percipiente relativa\nal documento %s/%ld.",
(const char*)numerazione, numero);
break;
case anal_write_error:
msg.format("Errore in scrittura del movimento analitico relativa\nal documento %s/%ld.",
(const char*)numerazione, numero);
default: // errori generici o non indicati vengono visualizzati nel punto dell'errore
//msg.format("E' stato rilevato un errore generico contabilizzando il documento %s/%ld.",
// (const char*)numerazione,numero);

View File

@ -393,6 +393,7 @@ bool TConsegna_ordini::genera_righe_riferimento(const TDocumento& indoc, TDocume
if (riga_rif > outdoc.physical_rows())
{
TRiga_documento& rout = outdoc.new_row();
rout.forza_sola_descrizione();
}
@ -717,8 +718,10 @@ bool TConsegna_ordini::elabora(TLista_documenti& doc_in, TLista_documenti& doc_o
break;
}
}
const TString4 tiporiga = inrec.get(RDOC_TIPORIGA);
TRiga_documento& outrec = j < 1 || j >= outdoc.physical_rows() ? outdoc.new_row(tiporiga) : outdoc.insert_row(j + 1, tiporiga);
const TString& qta_field_orig = inrec.field_qta();
const TString& qta_field = outrec.field_qta();
const TString& qtaevasa_field = inrec.field_qtaevasa();

View File

@ -254,6 +254,7 @@ bool TConsuntivazione_produzione::elabora(TLista_documenti& doc_in, TLista_docum
const TString4 tiporiga = riga_ordine.get(RDOC_TIPORIGA);
TRiga_documento& outrec = outdoc.new_row(tiporiga);
TDocumento::copy_data(outrec, riga_ordine);
outrec.put(qta_fld, qta);
if (qta_fld != RDOC_QTA)
{

View File

@ -718,6 +718,7 @@ bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TVis
TString_array conti;
const char tipomov = mov.get_char(MOVANA_TIPOMOV);
const bool ok = find_conti(riga, conti, annoes, riclassifica_fdr_fde, tipomov, amount_to_split, no_ca_amount, valore, pareggio);
if (!ok)
{
if (viswin != NULL)
@ -819,25 +820,33 @@ bool TContabilizzazione_analitica::elabora(TDocumento& doc, long numreg_cg, TVis
if (amount_to_split != ZERO)
split_sp_amount(mov, has_pareggio, totdoc, spese, amount_to_split, no_ca_amount, doc.decimals());
if (can_write && mov.rows() > 0)
if (can_write && mov.rows() > 0)
{
totdoc.normalize();
mov.put(MOVANA_SEZIONE, totdoc.sezione());
mov.put(MOVANA_TOTDOC, totdoc.valore());
TLocalisamfile movana(LF_MOVANA);
int err = NOERR;
if (numreg_ca > 0)
mov.rewrite(movana);
err = mov.rewrite(movana);
else
{
mov.write(movana);
err = mov.write(movana);
numreg_ca = mov.get_long(MOVANA_NUMREG);
doc.put(DOC_NUMREGCA, numreg_ca);
}
if (viswin != NULL)
{
msg.format(FR("--- Movimento analitico $[r,w]%ld$[n,w] del %s"), numreg_ca, datacomp.string());
viswin->add_line(msg);
if (err != NOERR)
{
msg.format(FR("--- Movimento analitico $[r,w]%ld$[n,w] del %s errore %d"), numreg_ca, datacomp.string(), err);
_error = anal_write_error;
}
else
msg.format(FR("--- Movimento analitico $[r,w]%ld$[n,w] del %s"), numreg_ca, datacomp.string());
viswin->add_line(msg);
}
}

View File

@ -4600,6 +4600,7 @@ bool TBarcode_mask::on_code_entered(const TString& code)
}
TRiga_documento& r = doc.new_row(_dm.get(F_LBTIPORIGA));
r.put(RDOC_CODART, codart);
r.put(RDOC_CODARTMAG, codart);
r.put(RDOC_LIVELLO, livello);
@ -4696,6 +4697,7 @@ bool TDocumento_mask::movint_handler(TMask_field& f, KEY key)
{
const TRiga_documento& rin = din[r];
TRiga_documento& rout = dout.new_row(rin.get(RDOC_TIPORIGA));
dout.copy_data(rout, rin); rout.reset_original_rdoc_key();
}
m.doc2mask(false);

View File

@ -1926,31 +1926,31 @@ IFNDEF(PR_JOLLY1)
F_PROMPT(JOLLY1, "Jolly 1 ")
ENDIF
IFNDEF(FI_JOLLY1)
F_FIELD(JOLLY1, 0)
F_FIELD(JOLLY1, 999999)
ENDIF
IFNDEF(FL_JOLLY1)
F_FLG(JOLLY1, 0)
F_FLG(JOLLY1, 999999)
ENDIF
IFNDEF(CH_JOLLY1)
F_CHK(JOLLY1, 0)
F_CHK(JOLLY1, 999999)
ENDIF
IFNDEF(MS_JOLLY1)
!!define MS_JOLLY1 0
!!define MS_JOLLY1 999999
ENDIF
TY_JOLLY1 FR_JOLLY1 LN_JOLLY1 DE_JOLLY1
BEGIN
PROMPT X_JOLLY1 Y_JOLLY1 PR_JOLLY1
IF(FL_JOLLY1 != 0)
IF(FL_JOLLY1 != 999999)
FLAGS FL_JOLLY1
ENDIF
IF(CH_JOLLY1 != 0)
IF(CH_JOLLY1 != 999999)
CHECKTYPE CH_JOLLY1
ENDIF
IF(MS_JOLLY1 != 0)
IF(MS_JOLLY1 != 999999)
MESSAGE MS_JOLLY1,MF_JOLLY1
ENDIF
IF(FI_JOLLY1 != 0)
IF(FI_JOLLY1 != 999999)
FIELD FI_JOLLY1
ENDIF
END
@ -1976,31 +1976,31 @@ IFNDEF(PR_JOLLY2)
F_PROMPT(JOLLY2, "Jolly 2 ")
ENDIF
IFNDEF(FI_JOLLY2)
F_FIELD(JOLLY2, 0)
F_FIELD(JOLLY2, 999999)
ENDIF
IFNDEF(FL_JOLLY2)
F_FLG(JOLLY2, 0)
F_FLG(JOLLY2, 999999)
ENDIF
IFNDEF(CH_JOLLY2)
F_CHK(JOLLY2, 0)
F_CHK(JOLLY2, 999999)
ENDIF
IFNDEF(MS_JOLLY2)
!!define MS_JOLLY2 0
!!define MS_JOLLY2 999999
ENDIF
TY_JOLLY2 FR_JOLLY2 LN_JOLLY2 DE_JOLLY2
BEGIN
PROMPT X_JOLLY2 Y_JOLLY2 PR_JOLLY2
IF(FL_JOLLY2 != 0)
IF(FL_JOLLY2 != 999999)
FLAGS FL_JOLLY2
ENDIF
IF(CH_JOLLY2 != 0)
IF(CH_JOLLY2 != 999999)
CHECKTYPE CH_JOLLY2
ENDIF
IF(MS_JOLLY2 != 0)
IF(MS_JOLLY2 != 999999)
MESSAGE MS_JOLLY2,MF_JOLLY2
ENDIF
IF(FI_JOLLY2 != 0)
IF(FI_JOLLY2 != 999999)
FIELD FI_JOLLY2
ENDIF
END
@ -2026,31 +2026,31 @@ IFNDEF(PR_JOLLY3)
F_PROMPT(JOLLY3, "Jolly 3 ")
ENDIF
IFNDEF(FI_JOLLY3)
F_FIELD(JOLLY3, 0)
F_FIELD(JOLLY3, 999999)
ENDIF
IFNDEF(FL_JOLLY3)
F_FLG(JOLLY3, 0)
F_FLG(JOLLY3, 999999)
ENDIF
IFNDEF(CH_JOLLY3)
F_CHK(JOLLY3, 0)
F_CHK(JOLLY3, 999999)
ENDIF
IFNDEF(MS_JOLLY3)
!!define MS_JOLLY3 0
!!define MS_JOLLY3 999999
ENDIF
TY_JOLLY3 FR_JOLLY3 LN_JOLLY3 DE_JOLLY3
BEGIN
PROMPT X_JOLLY3 Y_JOLLY3 PR_JOLLY3
IF(FL_JOLLY3 != 0)
IF(FL_JOLLY3 != 999999)
FLAGS FL_JOLLY3
ENDIF
IF(CH_JOLLY3 != 0)
IF(CH_JOLLY3 != 999999)
CHECKTYPE CH_JOLLY3
ENDIF
IF(MS_JOLLY3 != 0)
IF(MS_JOLLY3 != 999999)
MESSAGE MS_JOLLY3,MF_JOLLY3
ENDIF
IF(FI_JOLLY3 != 0)
IF(FI_JOLLY3 != 999999)
FIELD FI_JOLLY3
ENDIF
END
@ -2076,31 +2076,31 @@ IFNDEF(PR_JOLLY4)
F_PROMPT(JOLLY4, "Jolly 4 ")
ENDIF
IFNDEF(FI_JOLLY4)
F_FIELD(JOLLY4, 0)
F_FIELD(JOLLY4, 999999)
ENDIF
IFNDEF(FL_JOLLY4)
F_FLG(JOLLY4, 0)
F_FLG(JOLLY4, 999999)
ENDIF
IFNDEF(CH_JOLLY4)
F_CHK(JOLLY4, 0)
F_CHK(JOLLY4, 999999)
ENDIF
IFNDEF(MS_JOLLY4)
!!define MS_JOLLY4 0
!!define MS_JOLLY4 999999
ENDIF
TY_JOLLY4 FR_JOLLY4 LN_JOLLY4 DE_JOLLY4
BEGIN
PROMPT X_JOLLY4 Y_JOLLY4 PR_JOLLY4
IF(FL_JOLLY4 != 0)
IF(FL_JOLLY4 != 999999)
FLAGS FL_JOLLY4
ENDIF
IF(CH_JOLLY4 != 0)
IF(CH_JOLLY4 != 999999)
CHECKTYPE CH_JOLLY4
ENDIF
IF(MS_JOLLY4 != 0)
IF(MS_JOLLY4 != 999999)
MESSAGE MS_JOLLY4,MF_JOLLY4
ENDIF
IF(FI_JOLLY4 != 0)
IF(FI_JOLLY4 != 999999)
FIELD FI_JOLLY4
ENDIF
END
@ -2126,31 +2126,31 @@ IFNDEF(PR_JOLLY5)
F_PROMPT(JOLLY5, "Jolly 5 ")
ENDIF
IFNDEF(FI_JOLLY5)
F_FIELD(JOLLY5, 0)
F_FIELD(JOLLY5, 999999)
ENDIF
IFNDEF(FL_JOLLY5)
F_FLG(JOLLY5, 0)
F_FLG(JOLLY5, 999999)
ENDIF
IFNDEF(CH_JOLLY5)
F_CHK(JOLLY5, 0)
F_CHK(JOLLY5, 999999)
ENDIF
IFNDEF(MS_JOLLY5)
!!define MS_JOLLY5 0
!!define MS_JOLLY5 999999
ENDIF
TY_JOLLY5 FR_JOLLY5 LN_JOLLY5 DE_JOLLY5
BEGIN
PROMPT X_JOLLY5 Y_JOLLY5 PR_JOLLY5
IF(FL_JOLLY5 != 0)
IF(FL_JOLLY5 != 999999)
FLAGS FL_JOLLY5
ENDIF
IF(CH_JOLLY5 != 0)
IF(CH_JOLLY5 != 999999)
CHECKTYPE CH_JOLLY5
ENDIF
IF(MS_JOLLY5 != 0)
IF(MS_JOLLY5 != 999999)
MESSAGE MS_JOLLY5,MF_JOLLY5
ENDIF
IF(FI_JOLLY5 != 0)
IF(FI_JOLLY5 != 999999)
FIELD FI_JOLLY5
ENDIF
END
@ -2176,31 +2176,31 @@ IFNDEF(PR_JOLLY6)
F_PROMPT(JOLLY6, "Jolly 6 ")
ENDIF
IFNDEF(FI_JOLLY6)
F_FIELD(JOLLY6, 0)
F_FIELD(JOLLY6, 999999)
ENDIF
IFNDEF(FL_JOLLY6)
F_FLG(JOLLY6, 0)
F_FLG(JOLLY6, 999999)
ENDIF
IFNDEF(CH_JOLLY6)
F_CHK(JOLLY6, 0)
F_CHK(JOLLY6, 999999)
ENDIF
IFNDEF(MS_JOLLY6)
!!define MS_JOLLY6 0
!!define MS_JOLLY6 999999
ENDIF
TY_JOLLY6 FR_JOLLY6 LN_JOLLY6 DE_JOLLY6
BEGIN
PROMPT X_JOLLY6 Y_JOLLY6 PR_JOLLY6
IF(FL_JOLLY6 != 0)
IF(FL_JOLLY6 != 999999)
FLAGS FL_JOLLY6
ENDIF
IF(CH_JOLLY6 != 0)
IF(CH_JOLLY6 != 999999)
CHECKTYPE CH_JOLLY6
ENDIF
IF(MS_JOLLY6 != 0)
IF(MS_JOLLY6 != 999999)
MESSAGE MS_JOLLY6,MF_JOLLY6
ENDIF
IF(FI_JOLLY6 != 0)
IF(FI_JOLLY6 != 999999)
FIELD FI_JOLLY6
ENDIF
END
@ -2226,31 +2226,31 @@ IFNDEF(PR_JOLLY7)
F_PROMPT(JOLLY7, "Jolly 7 ")
ENDIF
IFNDEF(FI_JOLLY7)
F_FIELD(JOLLY7, 0)
F_FIELD(JOLLY7, 999999)
ENDIF
IFNDEF(FL_JOLLY7)
F_FLG(JOLLY7, 0)
F_FLG(JOLLY7, 999999)
ENDIF
IFNDEF(CH_JOLLY7)
F_CHK(JOLLY7, 0)
F_CHK(JOLLY7, 999999)
ENDIF
IFNDEF(MS_JOLLY7)
!!define MS_JOLLY7 0
!!define MS_JOLLY7 999999
ENDIF
TY_JOLLY7 FR_JOLLY7 LN_JOLLY7 DE_JOLLY7
BEGIN
PROMPT X_JOLLY7 Y_JOLLY7 PR_JOLLY7
IF(FL_JOLLY7 != 0)
IF(FL_JOLLY7 != 999999)
FLAGS FL_JOLLY7
ENDIF
IF(CH_JOLLY7 != 0)
IF(CH_JOLLY7 != 999999)
CHECKTYPE CH_JOLLY7
ENDIF
IF(MS_JOLLY7 != 0)
IF(MS_JOLLY7 != 999999)
MESSAGE MS_JOLLY7,MF_JOLLY7
ENDIF
IF(FI_JOLLY7 != 0)
IF(FI_JOLLY7 != 999999)
FIELD FI_JOLLY7
ENDIF
END
@ -2276,31 +2276,31 @@ IFNDEF(PR_JOLLY8)
F_PROMPT(JOLLY8, "Jolly 8 ")
ENDIF
IFNDEF(FI_JOLLY8)
F_FIELD(JOLLY8, 0)
F_FIELD(JOLLY8, 999999)
ENDIF
IFNDEF(FL_JOLLY8)
F_FLG(JOLLY8, 0)
F_FLG(JOLLY8, 999999)
ENDIF
IFNDEF(CH_JOLLY8)
F_CHK(JOLLY8, 0)
F_CHK(JOLLY8, 999999)
ENDIF
IFNDEF(MS_JOLLY8)
!!define MS_JOLLY8 0
!!define MS_JOLLY8 999999
ENDIF
TY_JOLLY8 FR_JOLLY8 LN_JOLLY8 DE_JOLLY8
BEGIN
PROMPT X_JOLLY8 Y_JOLLY8 PR_JOLLY8
IF(FL_JOLLY8 != 0)
IF(FL_JOLLY8 != 999999)
FLAGS FL_JOLLY8
ENDIF
IF(CH_JOLLY8 != 0)
IF(CH_JOLLY8 != 999999)
CHECKTYPE CH_JOLLY8
ENDIF
IF(MS_JOLLY8 != 0)
IF(MS_JOLLY8 != 999999)
MESSAGE MS_JOLLY8,MF_JOLLY8
ENDIF
IF(FI_JOLLY8 != 0)
IF(FI_JOLLY8 != 999999)
FIELD FI_JOLLY8
ENDIF
END
@ -2326,31 +2326,31 @@ IFNDEF(PR_JOLLY9)
F_PROMPT(JOLLY9, "Jolly 9 ")
ENDIF
IFNDEF(FI_JOLLY9)
F_FIELD(JOLLY9, 0)
F_FIELD(JOLLY9, 999999)
ENDIF
IFNDEF(FL_JOLLY9)
F_FLG(JOLLY9, 0)
F_FLG(JOLLY9, 999999)
ENDIF
IFNDEF(CH_JOLLY9)
F_CHK(JOLLY9, 0)
F_CHK(JOLLY9, 999999)
ENDIF
IFNDEF(MS_JOLLY9)
!!define MS_JOLLY9 0
!!define MS_JOLLY9 999999
ENDIF
TY_JOLLY9 FR_JOLLY9 LN_JOLLY9 DE_JOLLY9
BEGIN
PROMPT X_JOLLY9 Y_JOLLY9 PR_JOLLY9
IF(FL_JOLLY9 != 0)
IF(FL_JOLLY9 != 999999)
FLAGS FL_JOLLY9
ENDIF
IF(CH_JOLLY9 != 0)
IF(CH_JOLLY9 != 999999)
CHECKTYPE CH_JOLLY9
ENDIF
IF(MS_JOLLY9 != 0)
IF(MS_JOLLY9 != 999999)
MESSAGE MS_JOLLY9,MF_JOLLY9
ENDIF
IF(FI_JOLLY9 != 0)
IF(FI_JOLLY9 != 999999)
FIELD FI_JOLLY9
ENDIF
END
@ -2376,31 +2376,31 @@ IFNDEF (PR_JOLLY10)
F_PROMPT(JOLLY10, "Jolly 10 ")
ENDIF
IFNDEF (FI_JOLLY10)
F_FIELD(JOLLY10, 0)
F_FIELD(JOLLY10, 999999)
ENDIF
IFNDEF (FL_JOLLY10)
F_FLG(JOLLY10, 0)
F_FLG(JOLLY10, 999999)
ENDIF
IFNDEF (CH_JOLLY10)
F_CHK(JOLLY10, 0)
F_CHK(JOLLY10, 999999)
ENDIF
IFNDEF (MS_JOLLY10)
!!define MS_JOLLY10 0
!!define MS_JOLLY10 999999
ENDIF
TY_JOLLY10 FR_JOLLY10 LN_JOLLY10 DE_JOLLY10
BEGIN
PROMPT X_JOLLY10 Y_JOLLY10 PR_JOLLY10
IF(FL_JOLLY10 != 0)
IF(FL_JOLLY10 != 999999)
FLAGS FL_JOLLY10
ENDIF
IF(CH_JOLLY10 != 0)
IF(CH_JOLLY10 != 999999)
CHECKTYPE CH_JOLLY10
ENDIF
IF(MS_JOLLY10 != 0)
IF(MS_JOLLY10 != 999999)
MESSAGE MS_JOLLY10
ENDIF
IF(FI_JOLLY10 != 0)
IF(FI_JOLLY10 != 999999)
FIELD FI_JOLLY10
ENDIF
END