function definition_after_data() {
        global $USER, $CFG, $DB, $PAGE;
        $mform = $this->_form;
        $requestid = new requests();
        $id = $this->_customdata['id'];
        $school = $mform->getElementValue('school_name');
        $countvalue = $mform->getElementValue('count');
        $fid = $school[0];
        if ($countvalue == 1) {
            $pro_count = $mform->getElementValue('count_pros');
            if ($pro_count > 1) {
                // single school and more than one program assigned to a user
                $program1 = $mform->getElementValue('program_name1');
                $schoolid = $mform->getElementValue('schoolid');
                $pro_index = $program1[0];
                if ($pro_index > 0 && $pro_count > 1) {
                    $semesteres = $requestpro->semester($schoolid, $pro_index);
                    $semesteres = $requestid->semester($schoolid, $pro_index);
                    foreach ($semesteres as $s) {

                        $value2 = $s->fullname;
                    }
                    $ser_id = $mform->createElement('static', 'serviceid', get_string('student_id', 'local_request'), $serviceid->serviceid);
                    $mform->insertElementBefore($ser_id, 'program_name');
                    $sem_name = $mform->createElement('static', 'semester_name', get_string('semester_name', 'local_request'), $value2);
                    $mform->insertElementBefore($sem_name, 'addschool');
                }
            }
        }
        // more than one school assiged to a user
        if ($school[0] > 0 && isset($school) && $countvalue > 1) {
            $service = $requestid->service($fid);
            $users = $requestid->users($fid);
            $programses = $requestid->program($fid);
            $mypro = array();
            $mypro[''] = get_string('selectprogram', 'local_programs');
            foreach ($programses as $p) {
                $mypro[$p->id] = $p->fullname;
            }
            $ser_id = $mform->createElement('static', 'serviceid', get_string('student_id', 'local_request'), $service->serviceid);
            $mform->insertElementBefore($ser_id, 'addschool');
            $name = $mform->createElement('static', 'name', get_string('name', 'local_request'), $users->fullname);
            $mform->insertElementBefore($name, 'addschool');
            if (count($mypro) == 2) {
                // more than school and one program to user
                $pro_name = $mform->createElement('static', 'program_name', get_string('program_name', 'local_request'), $mypro[$p->id]);
                $mform->insertElementBefore($pro_name, 'addschool');
                $pro_id = $mform->createElement('hidden', 'programid', $p->id);
                $mform->insertElementBefore($pro_id, 'addschool');
                $semesteres = $requestid->semester($fid, $p->id);
                foreach ($semesteres as $s) {
                    $mysemvalue = $s->fullname;
                    $mysemid = $s->id;
                }
                $sems_name = $mform->createElement('static', 'semester_name', get_string('semester_name', 'local_request'), $mysemvalue);
                $mform->insertElementBefore($sems_name, 'addschool');
                $sem_id = $mform->createElement('hidden', 'semesterid', $mysemid);
                $mform->insertElementBefore($sem_id, 'addschool');
                $school_programs = $requestid->school_programs($fid);
                $programs = array();
                $programs[''] = get_string("select", "local_request");
                foreach ($school_programs as $sch_pro) {
                    $programs[$sch_pro->id] = $sch_pro->fullname;
                }
                $sch_pro = $mform->createElement('select', 'toprogramid', get_string('to_program_name', 'local_request'), $programs);
                $mform->insertElementBefore($sch_pro, 'addschool');
                $mform->addRule('toprogramid', get_string('error_request_transfer', 'local_request'), 'required', null, 'server');
            } else {
                // more than one program and school assined to user
                $pro_name = $mform->createElement('select', 'program_name', get_string('program_name', 'local_request'), $mypro);
                $mform->insertElementBefore($pro_name, 'addschool');
                $mform->addRule('program_name', get_string('programid', 'local_prefix'), 'required', null, 'client');
            }
            $formatvalue3 = $mform->getElementValue('program_name');
            if ($formatvalue3[0] > 0) {
                $semesteres = $requestid->semester($fid, $formatvalue3[0]);
                foreach ($semesteres as $s) {
                    $mysemvalue = $s->fullname;
                }
                $sem_name = $mform->createElement('static', 'semester_name', get_string('semester_name', 'local_request'), $mysemvalue);
                $mform->insertElementBefore($sem_name, 'addschool');
            }
        }
    }