DECLARE rg_name varchar2(40) := 'R_OM'; rg_id RecordGroup; gc_id GroupColumn; pl_id ParamList; V_COUNT INTEGER; a number; BEGIN rg_id := Find_Group(rg_name); if not Id_Null(rg_id) THEN delete_group('R_OM'); end if; rg_id := Create_Group(rg_name); gc_id := Add_Group_Column(rg_id, 'no', number_column,38); gc_id := Add_Group_Column(rg_id, 'an', CHAR_COLUMN,9); go_block('OM'); first_record; V_COUNT := 0; while TRUE loop if :CHOIX = '1' then V_COUNT := V_COUNT + 1; Add_Group_Row( rg_id, END_OF_GROUP ); Set_Group_number_Cell( 'R_OM.NO', V_COUNT, :OM.NO); Set_Group_Char_Cell( 'R_OM.AN', V_COUNT, :OM.AN); end if; if :system.last_record = 'TRUE' then exit; end if; next_record; end loop; first_record; /**************parametre d'impression********************/ pl_id := Get_Parameter_List('datatemp'); IF NOT Id_Null(pl_id) THEN Destroy_Parameter_List( pl_id ); END IF; pl_id := Create_Parameter_List('datatemp'); Add_Parameter(pl_id,'paramform',TEXT_PARAMETER,'NO'); Add_Parameter(pl_id,'Q_OM',DATA_PARAMETER,rg_name); Add_Parameter(pl_id,'P_cin',text_PARAMETER,:etat_sommesdues.cin); Run_Product(REPORTS,'om_report.RDF',SYNCHRONOUS,RUNTIME,FILESYSTEM,pl_id,NULL); end if; END;