1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65
|
FUNCTION input_info()
DEFINE idx SMALLINT,
i SMALLINT,
b SMALLINT,
found_some SMALLINT,
sel_info CHAR(500),
sel_info2 CHAR(500)
DEFINE tab_sto ARRAY[32767] OF RECORD
pro_four LIKE produit.pro_four ,
val_sto_PC decimal(16,2) ,
val_inst_acc decimal(16,2),
val_accepter CHAR(50),
val_detruit CHAR(50)
END RECORD
LET sel_info=" SELECT produit.pro_four,"
," sum(stock_avo.avo_qte_liv * stock_avo.avo_gross),"
," sum(fic_av_acc.gross * fic_av_acc.qt_a)"
," FROM produit,stock_avo,fic_av_acc"
," WHERE produit.pro_code = stock_avo.avo_produit"
," AND produit.pro_code = fic_av_acc.code_pro"
," AND (stock_avo.avo_cause = 'P' OR stock_avo.avo_cause= 'C')"
," AND (fic_av_acc.valide = 'S')"
," AND " , q_stock CLIPPED
,"GROUP BY produit.pro_four"
PREPARE requete_c FROM sel_info
DECLARE c_info SCROLL CURSOR FOR requete_c
OPEN c_info
FETCH c_info INTO tab_ent_avoir[1].*
LET found_some = 0
LET i = 1
FOREACH c_info INTO tab_ent_avoir[i].*
LET tab_sto[i].pro_four = tab_ent_avoir[i].pro_four
LET tab_sto[i].val_sto_PC = tab_ent_avoir[i].val_sto_PC
LET tab_sto[i].val_inst_acc = tab_ent_avoir[i].val_inst_acc
LET i = i + 1
END FOREACH
LET sel_info2 =" SELECT sum(fic_av_acc.gross * fic_av_acc.qt_a), "
," sum(stock_avo.avo_qte_liv * stock_avo.avo_gross)"
," FROM fic_av_acc,stock_avo,produit"
," WHERE fic_av_acc.code_pro = produit.pro_code"
," AND stock_avo.avo_produit = produit.pro_code"
," AND fic_av_acc.valide= 'V' "
," AND ",q_stock CLIPPED
PREPARE requete_c2 FROM sel_info2
DECLARE c_info2 SCROLL CURSOR FOR requete_c2
OPEN c_info2
fETCH c_info2 INTO tab_ent_avoir[1].*
FOREACH c_info2 INTO tab_ent_avoir[i].*
LET tab_sto[i].val_accepter=tab_ent_avoir[i].val_accepter
LET tab_sto[i].val_detruit = tab_ent_avoir[i].val_detruit
LET b = b + 1
END FOREACH
CALL set_count(i-1)
DISPLAY ARRAY tab_sto TO s_sto_avoir.*
CLOSE c_info2
CLOSE c_info
END FUNCTION |
Partager