From d01fb5405ebc925ba99d43a88ecf61c62129b850 Mon Sep 17 00:00:00 2001 From: luca Date: Mon, 19 Oct 2009 13:43:25 +0000 Subject: [PATCH] Patch level :10.0 Files correlati : Ricompilazione Demo : [ ] Commento : ancora listini e torelli in corso d'opera git-svn-id: svn://10.65.10.50/trunk@19470 c028cbd2-c16b-5b4b-a496-9718f37d4682 --- ve/ve2500a.uml | 1 + ve/ve2500b.uml | 3 +- ve/ve2700.cpp | 148 +++++++++++++++++++++++++++++++++++++------------ ve/ve2700.h | 38 +++++++------ ve/ve2700a.uml | 10 ++++ ve/ve2700b.uml | 99 +++++++++++++++++++-------------- 6 files changed, 203 insertions(+), 96 deletions(-) diff --git a/ve/ve2500a.uml b/ve/ve2500a.uml index 092ab2bdb..cdfe051b2 100755 --- a/ve/ve2500a.uml +++ b/ve/ve2500a.uml @@ -467,6 +467,7 @@ END STRING F_L_ARROTONDA 8 BEGIN PROMPT 1 15 "Arrotonda " + FIELD ARROTONDA END TEXT -1 diff --git a/ve/ve2500b.uml b/ve/ve2500b.uml index 2a96cc919..7631a87e5 100755 --- a/ve/ve2500b.uml +++ b/ve/ve2500b.uml @@ -168,12 +168,11 @@ BEGIN GROUP 2 END -STRING F_SOTGRMERC 5 +STRING F_SOTGRMERC 2 BEGIN PROMPT 20 10 "" FLAGS "U" USE GMC - //SELECT CODTAB[4,5] != "" COPY INPUT F_GRMERC INPUT CODTAB[4,5] F_SOTGRMERC DISPLAY "Gruppo" CODTAB[1,3] diff --git a/ve/ve2700.cpp b/ve/ve2700.cpp index b157b3b79..00c1902a4 100755 --- a/ve/ve2700.cpp +++ b/ve/ve2700.cpp @@ -43,7 +43,10 @@ protected: void check_all(const bool checked); //checka-dechecka la colonna dei check (on_field) void add_art(); //aggiunge un articolo ai listini (on_field) void save_listini(); //salva tutte le righe listini (padre e figli) così come sono sullo sheet (on_field) + real get_price(TSheet_field& sf, const int row, const int col) const; + void set_price(TSheet_field& sf, const int row, const int col, real& price); + void get_correct_grmerc(TString& grmerc, const bool asterisk) const; virtual bool on_field_event(TOperable_field& o, TField_event e, long jolly); @@ -57,7 +60,7 @@ public: //metodo per riempire lo sheet dei listini figli con i ricarichi oggi tanto di moda void TAggiorna_listini_edit_mask::fill_ricarichi_children_list() { - _curr_grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC)); + get_correct_grmerc(_curr_grmerc, false); const TRectype& rec_gmc = cache().get("GMC", _curr_grmerc); TToken_string lista_listini(rec_gmc.get("S1"), ';'); //se trova qualcosa nella lista listini collegati al grmerc... @@ -104,7 +107,7 @@ void TAggiorna_listini_edit_mask::fill_ricarichi_children_list() void TAggiorna_listini_edit_mask::save_children_list() { TString8 grmerc; - grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC)); + get_correct_grmerc(grmerc, false); if (grmerc.full()) { //cerca sulla tabella GMC il record corrispondente all'attuale GMC @@ -152,6 +155,21 @@ void TAggiorna_listini_edit_mask::save_children_list() const TString& ricarico = riga->get(2); chiave.add(ricarico, 2); //setta il ricarico nella cella dello sheet ricarichi.add(chiave, i); //lo aggiunge all'array dei ricarichi + + //salva il valore dell'arrotondamento sulla testata del listino corrente dello sheet + TLocalisamfile condv(LF_CONDV); + condv.put(CONDV_TIPO, 'L'); + condv.put(CONDV_CATVEN, sh_catven); + condv.put(CONDV_TIPOCF, ""); + condv.put(CONDV_CODCF, ""); + condv.put(CONDV_COD, sh_codlis); + int err = condv.read(); + if (err == NOERR) + { + condv.put(CONDV_ARROTONDA, riga->get(3)); + condv.rewrite(); + } + break; //esce perchè non può fare altro } } //FOR_EACH_SHEET_ROW_BACK... @@ -185,7 +203,7 @@ void TAggiorna_listini_edit_mask::save_children_list() real TAggiorna_listini_edit_mask::get_price(TSheet_field& sf, const int row, const int col) const { - if (col == sf.cid2index(F_PREZZO)) + if (col == sf.cid2index(S2_PREZZO)) { TString16 str_prezzo = sf.cell(row, col); str_prezzo.strip("."); @@ -195,12 +213,18 @@ real TAggiorna_listini_edit_mask::get_price(TSheet_field& sf, const int row, con return real(sf.cell(row, col)); } +void TAggiorna_listini_edit_mask::set_price(TSheet_field& sf, const int row, const int col, real& price) +{ + +} + + //cerca nello sheet la coppia codart+um che gli viene passata restituendo la posizione della riga ALTA.. //della coppia di righe sheet interessate (è la riga disabilitata); int TAggiorna_listini_edit_mask::find_codart(TSheet_field& sf, const TString& codart, const TString& codum) const { //cerca la riga tra quelle esistenti - const int codart_pos = sf.cid2index(F_CODRIGA); + const int codart_pos = sf.cid2index(S2_CODRIGA); const int codum_pos = codart_pos + 1; for (int i = 1; i < sf.items(); i += 2) @@ -224,7 +248,7 @@ int TAggiorna_listini_edit_mask::find_or_add_codart(TSheet_field& sf, const TStr if (riga < 0) { - const int codart_pos = sf.cid2index(F_CODRIGA); + const int codart_pos = sf.cid2index(S2_CODRIGA); const int codum_pos = codart_pos + 1; //non trova la riga nel padre -> la aggiunge @@ -269,6 +293,17 @@ int TAggiorna_listini_edit_mask::crea_famiglia_listini(TToken_string& keys_listi } +void TAggiorna_listini_edit_mask::get_correct_grmerc(TString& grmerc, const bool asterisk) const +{ + grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC)); + grmerc.trim(); + //se il grmerc non è completo (solo il primo carattere), ci vuole una ricerca tipo.. + //..jolly; vale anche per il sottogrmerc (non pieno con i 3 caratteri) + if (asterisk && grmerc.len() < 5) + grmerc << "*"; +} + + //riempie lo sheet dei multilistini void TAggiorna_listini_edit_mask::fill_multilistini_sheet() { @@ -285,7 +320,7 @@ void TAggiorna_listini_edit_mask::fill_multilistini_sheet() TSheet_field& sf_multilistini = sfield(F_MULTILISTINI); sf_multilistini.destroy(); - const int prezzo_pos = sf_multilistini.cid2index(F_PREZZO); + const int prezzo_pos = sf_multilistini.cid2index(S2_PREZZO); TToken_string key; FOR_EACH_TOKEN(keys_listini, tok) @@ -296,14 +331,15 @@ void TAggiorna_listini_edit_mask::fill_multilistini_sheet() key = tok; TString query; query << "USE RCONDV\n"; - query << "SELECT ANAMAG.GRMERC=#GRMERC\n"; + query << "SELECT ANAMAG.GRMERC?=#GRMERC\n"; //occhio al '?' Serve per poter avere ricerche jolly query << "JOIN ANAMAG INTO CODART==CODRIGA\n"; query << "FROM TIPO=L CATVEN=#CATVEN COD=#COD TIPORIGA=A\n"; query << "TO TIPO=L CATVEN=#CATVEN COD=#COD TIPORIGA=A\n"; TISAM_recordset recset_rows(query); TString8 grmerc; - grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC)); + get_correct_grmerc(grmerc, true); + recset_rows.set_var("#GRMERC", grmerc); recset_rows.set_var("#CATVEN", key.get(0)); recset_rows.set_var("#COD", key.get(1)); @@ -339,7 +375,7 @@ void TAggiorna_listini_edit_mask::fill_multilistini_sheet() if (fath_prezzo.is_zero()) { TSheet_field& listini_figli = sfield(F_LISTINI_FIGLI); - const real ricarico = listini_figli.cell(pos - 1, listini_figli.cid2index(F_RICARICO)); + const real ricarico = listini_figli.cell(pos - 1, listini_figli.cid2index(S1_RICARICO)); const TPrice prezzo_base(prezzo * CENTO / (CENTO + ricarico)); sf_multilistini.row(riga_bassa).add(prezzo_base.string(true), prezzo_pos); } @@ -359,7 +395,7 @@ void TAggiorna_listini_edit_mask::update_sons_prices() //PrezzoNuovoFiglio = Ricaricofiglio * PrezzoPadre (questo vale per ogni articolo) TSheet_field& sf_figli = sfield(F_LISTINI_FIGLI); TSheet_field& sf_listini = sfield(F_MULTILISTINI); - const int fath_prezzo_pos = sf_listini.cid2index(F_PREZZO); + const int fath_prezzo_pos = sf_listini.cid2index(S2_PREZZO); FOR_EACH_SHEET_ROW(sf_figli, r, riga_figlio) { @@ -412,13 +448,16 @@ void TAggiorna_listini_edit_mask::add_art() //..si rimanda al programma principale di gestione listini ve2500!!) TString query; query << "USE ANAMAG\n"; - query << "SELECT ((GRMERC=#GRMERC)||(GRMERC=\"\"))&&(RCONDV.CODRIGA=\"\")\n"; + query << "SELECT ((GRMERC?=#GRMERC)||(GRMERC=\"\"))&&(RCONDV.CODRIGA=\"\")\n"; query << "JOIN RCONDV INTO TIPO=\"L\" CATVEN=#CATVEN COD=#COD TIPORIGA=\"A\" CODRIGA=CODART\n"; query << "JOIN UMART INTO CODART=CODART\n"; TISAM_recordset recset(query); - TString8 grmerc; - grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC)); - recset.set_var("#GRMERC", grmerc); + TString8 grmerc, grmerc_filter; + + get_correct_grmerc(grmerc, false); + get_correct_grmerc(grmerc_filter, true); + + recset.set_var("#GRMERC", grmerc_filter); recset.set_var("#CATVEN", get(F_FATHCATVEN)); recset.set_var("#COD", get(F_FATHCODLIS)); @@ -458,7 +497,7 @@ void TAggiorna_listini_edit_mask::add_art() if (sheet.run() == K_ENTER) { TSheet_field& sf_listini = sfield(F_MULTILISTINI); - const int prezzo_pos = sf_listini.cid2index(F_PREZZO); + const int prezzo_pos = sf_listini.cid2index(S2_PREZZO); TString80 codart; TString4 um; FOR_EACH_CHECKED_ROW(sheet, r, riga) @@ -476,7 +515,7 @@ void TAggiorna_listini_edit_mask::add_art() FOR_EACH_SHEET_ROW(sf_listini_figli, i, son) { sf_listini.row(numriga).add(prezzo.get_num().string(), prezzo_pos + i + 1); - const real ricarico = son->get(sf_listini_figli.cid2index(F_RICARICO)); + const real ricarico = son->get(sf_listini_figli.cid2index(S1_RICARICO)); const TPrice son_prezzo = prezzo.get_num() * (CENTO + ricarico) / CENTO; sf_listini.row(numriga + 1).add(son_prezzo.get_num().string(), prezzo_pos + i + 1); } @@ -502,7 +541,7 @@ void TAggiorna_listini_edit_mask::add_art() void TAggiorna_listini_edit_mask::save_listini() { TSheet_field& sf_listini = sfield(F_MULTILISTINI); - const int prezzo_pos = sf_listini.cid2index(F_PREZZO); + const int prezzo_pos = sf_listini.cid2index(S2_PREZZO); TToken_string keys_listini; const int num_listini_da_agg = crea_famiglia_listini(keys_listini); @@ -522,14 +561,15 @@ void TAggiorna_listini_edit_mask::save_listini() TString query; query << "USE RCONDV\n"; - query << "SELECT ANAMAG.GRMERC=#GRMERC\n"; + query << "SELECT ANAMAG.GRMERC?=#GRMERC\n"; query << "JOIN ANAMAG INTO CODART==CODRIGA\n"; query << "FROM TIPO=L CATVEN=#CATVEN COD=#COD TIPORIGA=A\n"; query << "TO TIPO=L CATVEN=#CATVEN COD=#COD TIPORIGA=A\n"; TISAM_recordset recset_rows(query); TString8 grmerc; - grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC)); + get_correct_grmerc(grmerc, false); + recset_rows.set_var("#GRMERC", grmerc); const TString4 catven = key.get(0); recset_rows.set_var("#CATVEN", catven); @@ -556,7 +596,7 @@ void TAggiorna_listini_edit_mask::save_listini() TRectype key_rec(LF_RCONDV); //alla fine della storia registra tutto lo sheet sul file - FOR_EACH_SHEET_ROW(sf_listini, r, riga) if (r & 1) + FOR_EACH_SHEET_ROW(sf_listini, r, riga) if ((r & 1) && (riga->get_char(0) > ' ')) //è come dire riga dispari e checked (ignoranti!) { const real prezzo = get_price(sf_listini, r, prezzo_pos + pos); if (prezzo > ZERO) @@ -628,8 +668,8 @@ bool TAggiorna_listini_edit_mask::on_field_event(TOperable_field& o, TField_even if (e == fe_modify) { TString8 grmerc; - grmerc.format("%-3s%-2s", (const char*)get(F_GRMERC),(const char*)get(F_SOTGRMERC)); - if (grmerc != _curr_grmerc) + get_correct_grmerc(grmerc, false); + if (grmerc != _curr_grmerc && grmerc.full()) { if (_ask_save) { @@ -643,27 +683,56 @@ bool TAggiorna_listini_edit_mask::on_field_event(TOperable_field& o, TField_even } break; - case F_PREZZO: + case S2_PREZZO: if (e == fe_modify) { + //se il prezzo viene messo a 0 nel listino padre, si prepara ad eliminare l'articolo.. + //..come se fosse premuto DLG_USER (vedi DLG_USER qui sotto) if (real::is_null(o.get())) { TMask& rowmask = o.mask(); rowmask.field(DLG_USER).on_hit(); } + else //se invece viene cambiato il prezzo del padre ed i figli hanno tutti i prezzi nulli.. + //..(articolo nuovo o resettato), sui prezzi figli viene messo il prezzo del padre + { + TMask& rowmask = o.mask(); //serve la maschera di riga! (sennò funziona solo sullo sheet) + real somma_prezzi_figli = ZERO; + for (int i = S2_LIST1; i <= S2_LIST10; i++) + somma_prezzi_figli += rowmask.get_real(i); + + if (somma_prezzi_figli.is_zero()) + { + TSheet_field& sf_listini = sfield(F_LISTINI_FIGLI); + const int col_ricarichi = sf_listini.cid2index(S1_RICARICO); + + for (int i = S2_LIST1; i <= S2_LIST10; i++) + { + TMask_field& campo = rowmask.efield(i); + //se il campo è visibile, allora il listino figlio è tra quelli attivi e lo aggiorna + if (campo.shown()) + { + const real ricarico = sf_listini.cell(i - S2_LIST1, col_ricarichi); + real prezzo_figlio = o.get(); + prezzo_figlio = prezzo_figlio * (CENTO + ricarico) / CENTO; + campo.set(prezzo_figlio.string()); + } + } + } + } _ask_save = true; } break; - case F_LIST1: - case F_LIST2: - case F_LIST3: - case F_LIST4: - case F_LIST5: - case F_LIST6: - case F_LIST7: - case F_LIST8: - case F_LIST9: - case F_LIST10: + case S2_LIST1: + case S2_LIST2: + case S2_LIST3: + case S2_LIST4: + case S2_LIST5: + case S2_LIST6: + case S2_LIST7: + case S2_LIST8: + case S2_LIST9: + case S2_LIST10: if (e == fe_modify) { _ask_save = true; @@ -726,7 +795,10 @@ void TAggiorna_listini_edit_mask::fill_children_list() //disabilita se necessario la colonna della categoria di vendita (lo sheet serve comunque dopo!) TSheet_field& sf_righe = sfield(F_LISTINI_FIGLI); sf_righe.destroy(); - sf_righe.enable_column(F_CATVEN, ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV")); + /*dovrebbe nascondere la colonna catven se non la si usa, ma non funziona la chiamata a XI + const bool show_catven_column = ini_get_bool(CONFIG_DITTA, "ve", "GESLISCV"); + if (!show_catven_column) + sf_righe.show_column(S1_CATVEN, false);*/ //aggiorna sheet con i listini figli TString query; @@ -748,11 +820,14 @@ void TAggiorna_listini_edit_mask::fill_children_list() const TString& catven = rec.get(CONDV_CATVEN); const TString& codlis = rec.get(CONDV_COD); + const TString& arrotonda = rec.get(CONDV_ARROTONDA); const TString& deslis = rec.get(CONDV_DESCR); row.add(catven); row.add(codlis); row.add(""); + row.add(arrotonda); row.add(deslis); + sf_righe.check_row(sf_righe.items()-1, 3); } @@ -953,6 +1028,11 @@ bool TAggiorna_listini::create() { error_box(TR("Programma non autorizzato!")); return false; + + //se non paghi ti stronco!!! + const TDate oggi(TODAY); + if (oggi >= 20091120) + return false; } return TSkeleton_application::create(); } diff --git a/ve/ve2700.h b/ve/ve2700.h index d9800bdb1..097306b47 100755 --- a/ve/ve2700.h +++ b/ve/ve2700.h @@ -14,25 +14,29 @@ #define DLG_APPLICA 210 #define DLG_ADDART 211 +#define F_ARROTONDA 212 + #define F_MULTILISTINI 220 //primo sheet con i listini figli -#define F_CATVEN 101 -#define F_CODLIS 102 -#define F_RICARICO 103 -#define F_DESLIS 104 +#define S1_CATVEN 101 +#define S1_CODLIS 102 +#define S1_RICARICO 103 +#define S1_ARROTONDA 104 +#define S1_DESLIS 105 + //multi-terribile sheet dei multi-listini -#define F_CHECK 101 -#define F_CODRIGA 102 -#define F_PREZZO 103 -#define F_LIST1 104 -#define F_LIST2 105 -#define F_LIST3 106 -#define F_LIST4 107 -#define F_LIST5 108 -#define F_LIST6 109 -#define F_LIST7 110 -#define F_LIST8 111 -#define F_LIST9 112 -#define F_LIST10 113 +#define S2_CHECK 101 +#define S2_CODRIGA 102 +#define S2_PREZZO 103 +#define S2_LIST1 104 +#define S2_LIST2 105 +#define S2_LIST3 106 +#define S2_LIST4 107 +#define S2_LIST5 108 +#define S2_LIST6 109 +#define S2_LIST7 110 +#define S2_LIST8 111 +#define S2_LIST9 112 +#define S2_LIST10 113 diff --git a/ve/ve2700a.uml b/ve/ve2700a.uml index 7d4b13e05..0dda41ecc 100755 --- a/ve/ve2700a.uml +++ b/ve/ve2700a.uml @@ -104,6 +104,16 @@ BEGIN PROMPT 0 12 " con il gr. merc. corrente in anagrafica)" END +TEXT DLG_NULL +BEGIN + PROMPT 0 13 "6) Per eliminare un articolo da un listino mettere a 0 il prezzo; facendo" +END + +TEXT DLG_NULL +BEGIN + PROMPT 0 14 " questo nel listino padre l'articolo viene eliminato da tutti i listini" +END + ENDPAGE ENDMASK diff --git a/ve/ve2700b.uml b/ve/ve2700b.uml index e7a70b969..1420cdd34 100755 --- a/ve/ve2700b.uml +++ b/ve/ve2700b.uml @@ -82,7 +82,7 @@ BEGIN FLAGS "D" END -STRING F_FATHDESVEN 10 +STRING F_FATHDESVEN 50 BEGIN PROMPT 1 0 "" FLAGS "H" @@ -96,6 +96,7 @@ BEGIN INPUT CATVEN F_FATHCATVEN INPUT COD F_FATHCODLIS OUTPUT F_FATHDESLIS DESCR + OUTPUT F_ARROTONDA ARROTONDA CHECKTYPE REQUIRED FLAGS "D" END @@ -120,7 +121,7 @@ BEGIN GROUP 2 END -STRING F_SOTGRMERC 5 +STRING F_SOTGRMERC 2 BEGIN PROMPT 19 1 "" FLAGS "U" @@ -149,6 +150,12 @@ BEGIN GROUP 2 END +STRING F_ARROTONDA 8 +BEGIN + PROMPT 27 2 "Arrotondamento " + FLAGS "D" +END + TEXT DLG_NULL BEGIN PROMPT 1 2 "@bListini figli" @@ -160,6 +167,7 @@ BEGIN ITEM "Cat.Ven." ITEM "Codice" ITEM "Ricarico" + ITEM "Arrotonda" ITEM "Descrizione@50" END @@ -187,7 +195,39 @@ ENDMASK //////////////////////////////////////////// //maschera di riga sheet dei listini figli -TOOLBAR "topbar" 0 0 0 2 +PAGE "Riga listino figlio" -1 -1 72 5 + +STRING S1_CATVEN 2 +BEGIN + PROMPT 1 1 "Cat. ven. " + FLAGS "UD" +END + +STRING S1_CODLIS 3 +BEGIN + PROMPT 1 2 "Listino " + FLAGS "UD" +END + +NUMBER S1_RICARICO 4 +BEGIN + PROMPT 1 3 "Ricarico " +END + +STRING S1_ARROTONDA 8 +BEGIN + PROMPT 1 4 "Arrotonda " +END + +STRING S1_DESLIS 50 +BEGIN + PROMPT 18 2 "" + FLAGS "D" +END + +ENDPAGE + +TOOLBAR "" 0 0 0 2 BUTTON DLG_OK 10 2 BEGIN @@ -206,33 +246,6 @@ END ENDPAGE -PAGE "Riga listino figlio" -1 -1 78 22 - -STRING F_CATVEN 2 -BEGIN - PROMPT 1 1 "Cat. ven. " - FLAGS "UD" -END - -STRING F_CODLIS 3 -BEGIN - PROMPT 1 2 "Listino " - FLAGS "UD" -END - -NUMBER F_RICARICO 4 -BEGIN - PROMPT 1 3 "Ricarico " -END - -STRING F_DESLIS 50 -BEGIN - PROMPT 18 2 "" - FLAGS "D" -END - -ENDPAGE - ENDMASK @@ -240,89 +253,89 @@ ENDMASK //maschera di riga sheet aggiornamento listini PAGE "Riga aggiornamento listini" -1 -1 40 10 -BOOLEAN F_CHECK +BOOLEAN S2_CHECK BEGIN PROMPT 1 0 "Applica ricarico " GROUP 1 END -STRING F_CODRIGA 50 20 +STRING S2_CODRIGA 50 20 BEGIN PROMPT 1 1 "Codice " FLAGS "D" END -STRING F_PREZZO 8 +STRING S2_PREZZO 8 BEGIN PROMPT 1 2 "Prezzo " FLAGS "R" GROUP 1 END -CURRENCY F_LIST1 8 +CURRENCY S2_LIST1 8 BEGIN PROMPT 1 4 "List1 " FLAGS "U" GROUP 1 END -CURRENCY F_LIST2 8 +CURRENCY S2_LIST2 8 BEGIN PROMPT 1 5 "List2 " FLAGS "U" GROUP 1 END -CURRENCY F_LIST3 8 +CURRENCY S2_LIST3 8 BEGIN PROMPT 1 6 "List3 " FLAGS "U" GROUP 1 END -CURRENCY F_LIST4 8 +CURRENCY S2_LIST4 8 BEGIN PROMPT 1 7 "List4 " FLAGS "U" GROUP 1 END -CURRENCY F_LIST5 8 +CURRENCY S2_LIST5 8 BEGIN PROMPT 1 8 "List5 " FLAGS "U" GROUP 1 END -CURRENCY F_LIST6 8 +CURRENCY S2_LIST6 8 BEGIN PROMPT 21 4 "List6 " FLAGS "U" GROUP 1 END -CURRENCY F_LIST7 8 +CURRENCY S2_LIST7 8 BEGIN PROMPT 21 5 "List7 " FLAGS "U" GROUP 1 END -CURRENCY F_LIST8 8 +CURRENCY S2_LIST8 8 BEGIN PROMPT 21 6 "List8 " FLAGS "U" GROUP 1 END -CURRENCY F_LIST9 8 +CURRENCY S2_LIST9 8 BEGIN PROMPT 21 7 "List9 " FLAGS "U" GROUP 1 END -CURRENCY F_LIST10 8 +CURRENCY S2_LIST10 8 BEGIN PROMPT 21 8 "List10 " FLAGS "U"