第一篇:异常的总结
异常的总结
算术异常类:ArithmeticExecption
空指针异常类:NullPointerException
类型强制转换异常:ClassCastException
数组负下标异常:NegativeArrayException
数组下标越界异常:ArrayIndexOutOfBoundsException
违背安全原则异常:SecturityException
文件已结束异常:EOFException
文件未找到异常:FileNotFoundException
字符串转换为数字异常:NumberFormatException
操作数据库异常:SQLException
输入输出异常:IOException
方法未找到异常:NoSuchMethodException
java.lang.AbstractMethodError
抽象方法错误。当应用试图调用抽象方法时抛出。
java.lang.AssertionError
断言错。用来指示一个断言失败的情况。
java.lang.ClassCircularityError
类循环依赖错误。在初始化一个类时,若检测到类之间循环依赖则抛出该异常。
java.lang.ClassFormatError
类格式错误。当Java虚拟机试图从一个文件中读取Java类,而检测到该文件的内容不符合类的有效格式时抛出。
java.lang.Error
错误。是所有错误的基类,用于标识严重的程序运行问题。这些问题通常描述一些不应被应用程序捕获的反常情况。
java.lang.ExceptionInInitializerError
初始化程序错误。当执行一个类的静态初始化程序的过程中,发生了异常时抛出。静态初始化程序是指直接包含于类中的static语句段。
java.lang.IllegalAccessError
违法访问错误。当一个应用试图访问、修改某个类的域(Field)或者调用其方法,但是又违反域或方法的可见性声明,则抛出该异常。
java.lang.IncompatibleClassChangeError
不兼容的类变化错误。当正在执行的方法所依赖的类定义发生了不兼容的改变时,抛出该异常。一般在修改了应用中的某些类的声明定义而没有对整个应用重新编译而直接运行的情况下,容易引发该错误。
java.lang.InstantiationError
实例化错误。当一个应用试图通过Java的new操作符构造一个抽象类或者接口时抛出该异常.java.lang.InternalError
内部错误。用于指示Java虚拟机发生了内部错误。
java.lang.LinkageError
链接错误。该错误及其所有子类指示某个类依赖于另外一些类,在该类编译之后,被依赖的类改变了其类定义而没有重新编译所有的类,进而引发错误的情况。
java.lang.NoClassDefFoundError
未找到类定义错误。当Java虚拟机或者类装载器试图实例化某个类,而找不到该类的定义时抛出该错误。
java.lang.NoSuchFieldError
域不存在错误。当应用试图访问或者修改某类的某个域,而该类的定义中没有该域的定义时抛出该错误。
java.lang.NoSuchMethodError
方法不存在错误。当应用试图调用某类的某个方法,而该类的定义中没有该方法的定义时抛出该错误。
java.lang.OutOfMemoryError
内存不足错误。当可用内存不足以让Java虚拟机分配给一个对象时抛出该错误。
java.lang.StackOverflowError
堆栈溢出错误。当一个应用递归调用的层次太深而导致堆栈溢出时抛出该错误。
java.lang.ThreadDeath
线程结束。当调用Thread类的stop方法时抛出该错误,用于指示线程结束。
java.lang.UnknownError
未知错误。用于指示Java虚拟机发生了未知严重错误的情况。
java.lang.UnsatisfiedLinkError
未满足的链接错误。当Java虚拟机未找到某个类的声明为native方法的本机语言定义时抛出。
java.lang.UnsupportedClassVersionError
不支持的类版本错误。当Java虚拟机试图从读取某个类文件,但是发现该文件的主、次版本号不被当前Java虚拟机支持的时候,抛出该错误。
java.lang.VerifyError
验证错误。当验证器检测到某个类文件中存在内部不兼容或者安全问题时抛出该错误。
java.lang.VirtualMachineError
虚拟机错误。用于指示虚拟机被破坏或者继续执行操作所需的资源不足的情况。
java.lang.ArithmeticException
算术条件异常。譬如:整数除零等。
java.lang.ArrayIndexOutOfBoundsException
数组索引越界异常。当对数组的索引值为负数或大于等于数组大小时抛出。
java.lang.ArrayStoreException
数组存储异常。当向数组中存放非数组声明类型对象时抛出。
java.lang.ClassCastException
类造型异常。假设有类A和B(A不是B的父类或子类),O是A的实例,那么当强制将O构造为类B的实例时抛出该异常。该异常经常被称为强制类型转换异常。
java.lang.ClassNotFoundException
找不到类异常。当应用试图根据字符串形式的类名构造类,而在遍历CLASSPAH之后找不到对应名称的class文件时,抛出该异常。
java.lang.CloneNotSupportedException
不支持克隆异常。当没有实现Cloneable接口或者不支持克隆方法时,调用其clone()方法则抛出该异常。
java.lang.EnumConstantNotPresentException
枚举常量不存在异常。当应用试图通过名称和枚举类型访问一个枚举对象,但该枚举对象并不包含常量时,抛出该异常。
java.lang.Exception
根异常。用以描述应用程序希望捕获的情况。
java.lang.IllegalAccessException
违法的访问异常。当应用试图通过反射方式创建某个类的实例、访问该类属性、调用该类方法,而当时又无法访问类的、属性的、方法的或构造方法的定义时抛出该异常。
java.lang.IllegalMonitorStateException
违法的监控状态异常。当某个线程试图等待一个自己并不拥有的对象(O)的监控器或者通知其他线程等待该对象(O)的监控器时,抛出该异常。
java.lang.IllegalStateException
违法的状态异常。当在Java环境和应用尚未处于某个方法的合法调用状态,而调用了该方法时,抛出该异常。
java.lang.IllegalThreadStateException
违法的线程状态异常。当县城尚未处于某个方法的合法调用状态,而调用了该方法时,抛出异常。
java.lang.IndexOutOfBoundsException
索引越界异常。当访问某个序列的索引值小于0或大于等于序列大小时,抛出该异常。
java.lang.InstantiationException
实例化异常。当试图通过newInstance()方法创建某个类的实例,而该类是一个抽象类或接口时,抛出该异常。
java.lang.InterruptedException
被中止异常。当某个线程处于长时间的等待、休眠或其他暂停状态,而此时其他的线程通过Thread的interrupt方法终止该线程时抛出该异常。
java.lang.NegativeArraySizeException
数组大小为负值异常。当使用负数大小值创建数组时抛出该异常。
java.lang.NoSuchFieldException
属性不存在异常。当访问某个类的不存在的属性时抛出该异常。
java.lang.NoSuchMethodException
方法不存在异常。当访问某个类的不存在的方法时抛出该异常。
java.lang.NullPointerException
空指针异常。当应用试图在要求使用对象的地方使用了null时,抛出该异常。譬如:调用null对象的实例方法、访问null对象的属性、计算null对象的长度、使用throw语句抛出null等等。
java.lang.NumberFormatException
数字格式异常。当试图将一个String转换为指定的数字类型,而该字符串确不满足数字类型要求的格式时,抛出该异常。
java.lang.RuntimeException
运行时异常。是所有Java虚拟机正常操作期间可以被抛出的异常的父类。
java.lang.SecurityException
安全异常。由安全管理器抛出,用于指示违反安全情况的异常。
java.lang.StringIndexOutOfBoundsException
字符串索引越界异常。当使用索引值访问某个字符串中的字符,而该索引值小于0或大于等于序列大小时,抛出该异常。
java.lang.TypeNotPresentException
类型不存在异常。当应用试图以某个类型名称的字符串表达方式访问该类型,但是根据给定的名称又找不到该类型是抛出该异常。该异常与 ClassNotFoundException的区别在于该异常是unchecked(不被检查)异常,而ClassNotFoundException 是checked(被检查)异常。
java.lang.UnsupportedOperationException
不支持的方法异常。指明请求的方法不被支持情况的异常。
异常
javax.servlet.jsp.JspException: Cannot retrieve mapping for action /Login(/Login是你的action名字)
可能原因
action没有再struts-config.xml 中定义,或没有找到匹配的action,例如在JSP文件中使用 action=“Login.do”.将表单提交给Login.do处理,如果出现上述异常,请查看struts-config.xml中的定义部分,有时可能是打错了字符或者是某些不符合规则,可以使用strutsconsole工具来检查。 -------------------- 异常 org.apache.jasper.JasperException: Cannot retrieve definition for form bean null 可能原因 这个异常是因为Struts根据struts-config.xml中的mapping没有找到action期望的form bean。大部分的情况可能是因为在form-bean中设置的name属性和action中设置的name属性不匹配所致。换句话说,action和 form都应该各自有一个name属性,并且要精确匹配,包括大小写。这个错误当没有name属性和action关联时也会发生,如果没有在action 中指定name属性,那么就没有name属性和action相关联。当然当action制作某些控制时,譬如根据参数值跳转到相应的jsp页面,而不是处理表单数据,这是就不用name属性,这也是action的使用方法之一 Java的Struts框架的异常处理 Struts提供了一个更简单的方式来处理未捕获的异常,并将用户重定向到一个专门的错误页面。 Struts的异常处理所使用的“exception”拦截容易。“exception”拦截器作为默认的栈的一部分,所以不必做任何额外的配置。它可为准备使用的盒。 根据 局部异常映射:将 全局异常映射:将 全局异常映射对所有的Action都有效,但局部异常映射仅对该异常映射所在的Action有效。 如果局部异常映射和全局异常映射配置了同一个异常类型,在 有异常往外抛即可。你也可以在方法里面抛,比如throw SQLException。 我们可以使用Struts2的标签输出异常信息: 输出异常的message属性信息: 有了处理系统异常的基础,我们来看一看自定义异常: packagecom.exception;public class MyException extends Exception { private String message; publicMyException(String message){ super(message);this.message = message;} public String getMessage(){ return message;} public void setMessage(String message){ this.message = message;} } public String execute()throws Exception { if(!“hello”.equals(usename)||!“world”.equals(password)){ throw new MyException(“用户名或密码错误,您发现了吧!”);} return “success”;} 在action配置中的异常处理 在全局配置中的异常处理 错误页面error.jsp <%@ page language=“java” import=“java.util.*” pageEncoding=“UTF-8”%> <%@ taglib prefix=“s” uri=“/struts-tags”%> 第二篇:struts异常总结
第三篇:Oracle异常总结
Oracle异常总结
Oracle异常处理异常处理是考验一个应用程序健壮性的最好方式,开发人员必须考虑程序中可能出现的各种错误,并进行相应的处理。
Oracle中异常分为预定义异常,非预定义异常和自定义异常三种。
一预定义异常预定义异常是指由PL/SQL所提供的系统异常。当PL/SQL应用程序违反了Oracle规则或出现其它系统限制的情况时,将会隐含地触发一个内部异常。
以下是PL/SQL为我们预定义的异常(经常更新中): CURSOR_ALREADY_OPEN该异常触发ORA-06511错误。
当程序中的一个游标已经执行了打开操作,如果开发人员试图再一次打开这个已经打开的游标时,将触发该异常。
示例: DECLARE CURSOR test_cursor IS SELECT SYSDATE FROM dual;BEGIN OPEN test_cursor;FOR test_cursor2 IN test_cursor LOOP dbms_output.put_line(test_cursor2.SYSDATE);END LOOP;EXCEPTION WHEN cursor_already_open THEN dbms_output.put_line('游标已经打开,不能再次对游标执行打开操作。');END;/ 2 INCALID_CURSOR该异常触发ORA-01001错误。
当试图对一个尚未打开的游标执行任何操作,如打开该非法的游标执行赋值操作,或者关闭未打开的游标时,将触发该异常。
示例: DECLARE CURSOR test_cursor IS SELECT SYSDATE FROM dual;test_time DATE;BEGIN--OPEN test_cursor;FETCH test_cursor INTO test_time;dbms_output.put_line('当前时间为: ' || test_time);CLOSE test_cursor;EXCEPTION WHEN invalid_cursor THEN dbms_output.put_line('请检查游标是否已经打开.');END;/ 3 NO_DATA_FOUND该异常触发ORA-01403错误。
当读取一个游标进行赋值操作(SELECT INTO操作)时,如果未返回任何行,将触发该异常。
示例: DECLARE test_owner DATE;BEGIN SELECT t.owner INTO test_owner FROM all_tables t WHERE t.table_name = 'test';dbms_output.put_line(test_owner);EXCEPTION WHEN NO_DATA_FOUND THEN dbms_output.put_line('No value.');END;/ 4 TOO_MANY_ROWS该异常触发ORA-01422错误。
上面是没有返回记录,这里是返回对条记录的时候会触发该异常。示例: DECLARE test_records dba_tables%ROWTYPE;BEGIN select * INTO test_records from dba_tables where owner='APPS' AND ROWNUM < 3;dbms_output.put_line(test_records.table_name);EXCEPTION WHEN too_many_rows THEN dbms_output.put_line('Too many values.');END;/ 5 VALUE_ERROR该异常触发ORA-06502错误。
当在PL/SQL程序中执行赋值操作时,如果右边值的长度大于左边变量的长度,将触发该异常。
示例: DECLARE v_test VARCHAR2(1);BEGIN SELECT 'WHAT' INTO v_test FROM dual;dbms_output.put_line(v_test);EXCEPTION WHEN value_error THEN dbms_output.put_line('变量的长度不够.');END;/ 6 DUP_VAL_ON_INDEX该异常触发ORA-00001错误。
若表的每一列声明为主键,或具有惟一性,如果对该列插入重复的值时将触发该异常。示例:
CREATE TABLE test_table(v_id NUMBER PRIMARY KEY, v_name VARCHAR2(20))INSERT INTO test_table VALUES(1,'test1');INSERT INTO test_table VALUES(2,'test2');SELECT * FROM test_table;BEGIN UPDATE test_table SET v_name = new_name WHERE v_id = &input_id;EXCEPTION WHEN dup_val_on_index THEN dbms_output.put_line('在deptno列上不能出现重复值.');END;/ 7 CASE_NOT_FOUND该异常触发ORA-06592错误。
在CASE语句中,如果CASE语句的条件在WHEN子句中没有找到对应的条件分支,且该CASE语句不包含ELSE分支,将触发该异常。示例: DECLARE v_test NUMBER;BEGIN SELECT val INTO v_test FROM dual;CASE WHEN v_test = 1 THEN dbms_output.put_line(v_test);WHEN v_test = 2 THEN dbms_output.put_line(v_test);WHEN v_test = 3 THEN dbms_output.put_line(v_test);--ELSE
--dbms_output.put_line(v_test);END CASE;EXCEPTION WHEN case_not_found THEN dbms_output.put_line('在CASE语句中没有与' || v_test || '相关的条件.');END;/ 8 ZERO_DIVIDE该异常触发ORA-01476错误。当在程序中使用0作为除数进行运算时,将触发该异常。示例: DECLARE v_test1 NUMBER := 100;v_test2 NUMBER := 0;v_test3 NUMBER := 0;BEGIN v_test3 := v_test1 / v_test2;dbms_output.put_line(v_test3);EXCEPTION WHEN zero_divide THEN dbms_output.put_line('0不能作为除数.');END;/ 9 INVALID_NUMBER该异常触发ORA-01722错误。数字或值错误,或字符到数值的转换错误。示例: BEGIN UPDATE emp SET sal = sal + '1oo';--1oo EXCEPTION WHEN invalid_number THEN dbms_output.put_line('输入的数字不正确.');END;/ DECLARE v_test NUMBER;v_test2 NUMBER;BEGIN v_test := '100';v_test2 := '1a';dbms_output.put_line(v_test);EXCEPTION WHEN INVALID_NUMBER THEN DBMS_OUTPUT.PUT_LINE('输入的数字不正确.');END;/ 10 ACCESS_INTO_NULL该异常触发ORA-06530错误。
当程序中的对象还没有先进行对象初始化的操作,就直接为对象的属性赋值,将触发该异常。
示例: DECLARE v_test test_type;BEGIN v_test.v_name := 'test';EXCEPTION WHEN access_into_null THEN dbms_output.put_line('首先初始化对象v_test');END;/ 11 COLLECTION IS NULL该异常触发ORA-06531错误。
在给集合元素赋值前,必须先初始化该集合元素,否则触发该异常。示例: DECLARE TYPE emp_ssn_array IS TABLE OF NUMBER/* INDEX BY BINARY_INTEGER*/;best_employees emp_ssn_array;BEGIN best_employees(0):= '123456';dbms_output.put_line('best_employees(0): ' || best_employees(0));EXCEPTION WHEN collection_is_null THEN dbms_output.put_line('必须初始化集合元素.');END;/ 12 SUBSCRIPT_BEYOND_COUNT该异常触发ORA-06533错误。当使用复合数据类型时,如果下标越界触发该异常。示例: DECLARE TYPE test_array IS VARRAY(20)OF NUMBER;v_test test_array;BEGIN v_test := test_array(123456);dbms_output.put_line('v_test(1): ' || v_test(2));EXCEPTION WHEN subscript_beyond_count THEN dbms_output.put_line('下标越界.');END;/ 13 SUBSCRIPT_OUTSIDE_LIMIT该异常触发ORA-06532错误,当使用复合数据类型时,如果下标为负值时触发该异常。
示例: DECLARE TYPE test_array IS VARRAY(20)OF NUMBER;v_test test_array;BEGIN v_test := test_array(123456);dbms_output.put_line('v_test(-1): ' || v_test(-1));EXCEPTION WHEN subscript_outside_limit THEN dbms_output.put_line('下标不能是负数.');END;/ 14 LONIN_DENIED该异常触发ORA_01017错误。当PL/SQL连接数据库时,如果密码错误,将触发该异常。15 NOT_LOGGED_ON该异常触发ORA-01012错误。如果PL/SQL没有连接数据库,程序运行将触发该异常。16 PROGRAM_ERROR该异常触发ORA-06501错误。
如果出现该异常,则表示PL/SQL的内部问题。用户可能需要重新安装数据字典和PL/SQL系统包。ROWTYPE MISMATCH该异常触发ORA-06504错误。
在赋值时,如果宿主游标变量和PL/SQL游标变量的返回类型不兼容,将触发该异常。18 SELF_IF_NULL该异常触发ORA-30625错误。
在使用对象类型时,如果在NULL示例上调用成员方法将触发该异常。19 STORAGE_ERROR该异常触发ORA-06500错误。
当PL/SQL块运行时,如果走出内在空间或内在被损坏则触发该异常。20 SYS_INVALID_ROWID该异常触发ORA-01410错误。当将字符串转变为ROWID时,如果使用了无效的字符串则触发该异常。21 TIMEOUT_ON_RESOURCE该异常触发ORA-00051错误。Oracle在等待资源时出现超时错误时将触发该异常。ORA-04021Oracle在等待资源时出现超时错误,该资源可能被其它session锁住,此时将触发该异常。ORA-01791 不是Selected表达式SELECT DISTINCT goodsid, barcode, depotid, goodsname FROM sa_sale WHERE depotid = '11' ORDER BY selldate 这句话执行的时候就有错误,但把排序换成 order by Goodsid 或其它
Barcode,DepotId,GoodsName的时候均没有错误,这是因为 selldate不在查询结果字段中,而且这个语句是distinct语句。所以会出现这个错误
下边给出正确的解决办法: SELECT goodsid, barcode, depotid, goodsname FROM(SELECT DISTINCT goodsid, barcode, depotid, goodsname, selldate FROM sa_sale WHERE depotid = '11')ORDER BY selldate 24 ORA-01002: fetch out of sequence当游标中数据集已经取完,然后再一次进行FETCH操作时将触发该异常。PLS-00382: expression is of wrong type表达式类型错误。即在代码中赋予操作的左右两边的类型不等。
二非预定义异常使用非预定义异常的步骤如下: 定义异常->关联异常和错误->引用例外
当定义Oracle错误和例外之间的关联关系时,要使用伪过程EXCEPTION_INTI。下面以处理ORA-02291错误为例说明: DECLARE e_integrity EXCEPTION;PRAGMA EXCEPTION_INIT(e_integrity,-2291);BEGIN UPDATE emp SET deptno = dno WHERE empno = &eno;EXCEPTION WHEN e_integrity THEN dbms_output.put_line('该部门不存在.');END;/ 三自定义异常使用预定义异常和非预定义异常,程序可以捕获Oracle错误,并且在出现Oracle错误时自动触发对应的异常。但是在实际应用中,可能还会遇到其它错误,这时,可以为特定的情况自定义异常,不过需要显示触发该异常:通过定义异常,然后关联异常和错误,显示触发异常,最后在EXCEPTION 中处理该异常。
示例: DECLARE l_error_message VARCHAR2(200);e_user_exception EXCEPTION;BEGIN ** ** ** ** **;IF '出现错误' THEN l_error_message := '定义错误信息';RAISE e_user_exception;END IF;EXCEPTION WHEN e_user_exception THEN raise_application_error(-20001, l_error_message);END;/ 四例外函数1 SQLCODE,SQLERRM在PL/SQL块中出现Oracle错误时,通过使用例外函数可以取得错误号以及相关的错误消息。
SQLCODE 返回Oracle错误号。SQLERRM 返回错误号对应的错误消息。示例: DECLARE v_ename emp.ename%TYPE;BEGIN SELECT ename INTO v_ename FROM emp WHERE sal = &v_sal;dbms_output.put_line('雇员名:' || v_ename);EXCEPTION WHEN NO_DATA_FOUND THEN dbms_output.put_line('不存在工资为' || v_sal || '雇员');WHEN OTHERS THEN dbms_output.put_line('错误号' || SQLCODE);dbms_output.put_line(SQLERRM);END;/ 2 RAISE_APPLICATION_ERROR在存储过程,函数和包中使用RAISE_APPLICATION_ERROR可以自定义错误号和消息。
raise_application_error:用于自定义错误消息(用于程序段中)语法: raise_application_error(error_number,message[,{TRUE | FALSE}]);error_number : 错误号,范围是:-20000 ~-20999之间的负整数;message : 错误消息,长度不能超过2048字节;第三个可靠选参数,如果TRUE,该错误会被放在先前错误堆栈中;如果FALSE(默认),则替换先前所有错误.示例:
CREATE OR REPLACE PROCEDURE raise_comm(eno NUMBER, commission NUMBER)IS v_comm emp.comm%TYPE;BEGIN SELECT comm INTO v_comm FROM emp WHERE emp = eno;IF v_comm IS NULL THEN raise_application_error(-20001, '该员工无补助.');END IF;EXCEPTION WHEN NO_DATA_FOUND THEN dbms_output.put_line('该雇员不存在.');END;/
第四篇:员工异常行为排查总结
员工异常行为排查总结
第一条 目的依据
为规范有序开展员工异常行为排查工作,建立常态化排查机制,提升员工合规意识,防范操作风险、案件风险,根据《上海银行从业人员行为管理办法(试行)》、《上海银行内部控制基本规定》、《上海银行案件风险排查管理规程》等规定,结合《上海银保监局关于印发上海银行保险机构从业人员异常行为跨机构联动排查工作机制的通知》要求,制定本办法。
第二条 基本定义
本办法所称“员工异常行为排查”,是指全行各部门、各经营单位及其辖属机构(以下统称各单位)根据案件防控、员工管理和员工异常行为监测需要,对所辖员工的异常行为或有关线索进行排查,并跟踪、处置、化解风险隐患,落实整改和责任追究的管理活动。
本办法所称的“员工”,是指与我行签订劳动合同的正式员工(含内退员工)和劳务派遣制员工。
本办法所称“异常行为”是指员工存在或涉嫌存在违反法律法规、违背职业操守等制度规范的行为。
第三条 组织原则
员工异常行为排查工作是案件风险排查工作的重要组成部分,也是员工行为管理的重要手段。排查工作由各级党委领导,各单位应高度重视,遵循依法合规、稳妥有序、分层分级的组织实施原则,并依法或通过与员工签订协议等方式获得有效授权。各单位在排查工作中应加强与纪检监察部门和组织人事部门的沟通,实行齐抓共管、联防联控,形成预防网络与监督合力。
第四条 工作职责
总行法律合规部牵头负责全行员工异常行为排查工作的机制建设,主要职责包括:制定并及时根据管理需要修订本办法;组织开展全行定期排查工作,并督办问题的跟踪处置、整改和责任追究工作,必要时可直接发起责任追究;根据需要组织部署专项排查工作;组织相关单位开展线索核查;建立问题台账,定期总结分析,开展警示教育,并根据要求向行领导、监管部门汇报等。
各单位承担所辖全部员工异常行为排查工作的主体责任,各单位一把手是该项工作的第一责任人。各一级分行(含总行营业部)的法律合规部门参照总行法律合规部职责,牵头负责本单位员工异常行为排查相关工作。
各单位主要职责包括:依据排查内容或专项排查方案,对辖内员工组织实施定期排查或专项排查工作;及时向法律合规部门报送排查发现的问题和线索;根据需要组织核查或参与核查问题线索,对于发现的违规问题及时落实整改、责任追究等。各单位应指定专人负责员工异常行为排查工作,严格遵守保密规定,不得违规泄露排查工作人员名单、排查结果、排查对象身份信息和个人隐私等。
第五条 排查内容
员工异常行为排查的内容覆盖员工工作、生活和廉洁自律三个方面,具体内容详见《员工异常行为排查明细表》(附件1-1)。排查内容由总行负责修改,各单位可以结合实际补充,但不得修改或删减总行统一发布的内容。
排查中应对群众反映情况、信访投诉举报情况以及员工的违法违规违纪记录等予以重点排摸。
第六条 排查类别
员工异常行为排查主要分为定期排查和专项排查。
定期排查是指各单位结合日常工作对其所辖全部员工比照排查内容每月开展的全覆盖排摸检查。
专项排查是指各单位根据员工行为管理、案件风险排查等工作的需要,通过制定排查方案,对特定的排查内容或特定范围的员工组织开展的专门排查。各单位应向同级党委汇报组织开展专项排查的计划和开展情况。对于重点问题、关键岗位人员,应不定期开展专项排查。
对于排查发现的风险隐患或问题线索,应及时组织开展线索核查,并针对性采取跟踪处理措施,及时化解风险;对于查实的违规问题,应落实整改和责任追究。
第七条 日常排摸与线索收集
各单位应当将员工异常行为排查工作融入日常工作协同开展,将工作时间(八小时)内外的员工行为一并纳入排摸,因地制宜、灵活运用各种方式收集线索信息,包括但不限于:
(一)员工自行上报。通过对照规定的排查内容对个人的行为事项进行自查,对发现的问题及时上报所在单位。
(二)所在单位内部收集。主要是通过平常观察留意,个别谈心,小范围征询,人事考核,了解信访、举报和客诉情况等方式收集;还可以通过不定期抽查员工考勤记录、工作文件以及监控录像等资料收集。
(三)家访、外访相结合。通过对员工进行家访,了解员工家庭情况;通过到员工居住地居委会、小区物业、街坊邻居等处了解员工在社会上的表现;结合服务质量、上门对账、客户回访等工作,了解客户评价;对重点排查对象可以通过当地公安部门等调阅资料,走访了解其是否存在不良记录。
(四)利用各类非现场监测信息。通过各类系统非现场监测手段、外部信息服务平台或网站查询、业务检查反馈、监管部门提示等及时获取有关预警监测信息,如异常交易资金流水、外部工商信息预警、裁判文书网站查询、工商信息查询等。
第八条 线索核查
对于排查及日常工作中发现的员工异常行为线索,各单位必须高度重视,立即采取适当的方式核查事实,包括但不限于:
(一)要求涉事员工提交书面说明、承诺以及相关佐证材料;
(二)与相关员工进行访谈、谈话、问询,向本人及有关人员核实情况;
(三)进一步采取家访或外访方式了解核实情况;
(四)利用行内行外有关信息系统或平台进行查证;
(五)依据问题线索的重要程度,在辖内组织专项排查;
(六)向上级单位提交问题线索和跨机构协查需求等。
查清事实后,各单位应对相关问题进行初步定性,确定是否属于异常问题、关注问题或予以排除。原则上,线索核查工作应于发现后一个月内完成。
第九条 联动排查
根据监管要求,总行法律合规部设置专人专岗负责跨机构联动排查工作,主要职责包括:根据排查需要,对于涉嫌违法违规需进一步确认的线索,向上海银保监局报送需跨机构联动排查的人员名单;根据上海银保监局反馈的排查结果或下发的核查线索,组织有关单位,进一步开展内部甄别核查;查清事实后,将排查结果、责任追究情况等及时报告上海银保监局;协调相关单位开展我行内部跨机构的联动排查工作。
各单位应根据总行要求落实开展跨机构联动排查的相关线索核查工作,并及时上报查清的事实情况。
第十条 关注问题的跟踪处理
关注问题是指苗头性、倾向性的员工异常行为。对于暂时无法查清或难以定性的问题线索,应纳入关注问题予以管控。
对于关注问题,各单位应根据发现的问题情况,制定针对、可行、有效的处理措施,化解风险隐患,跟踪落实动态管控。
对于存在关注问题的员工,各单位应落实专人进行帮教,采用谈心谈话、家访等方法有针对性地进行世界观、人生观、价值观和职业道德的教育。对于转化不明显的,或者所处岗位较为关键、可能产生损害客户或我行利益风险的,应通过调换工作岗位等方式及早化解风险隐患。
关注问题在跟踪处理期间,一经查实涉及违法违规违纪的,应立即纳入异常问题,并落实整改和责任追究。对于自关注之日起超过一年仍不能确认为异常问题的,可予以暂时排除,纳入定期排查管理。
第十一条 异常问题的整改和责任追究
异常问题是指存在违法违规违纪问题的员工异常行为。
对于异常问题,各单位应认真分析原因,反思员工行为管理方面存在的薄弱环节,制定相应的整改计划和措施。原则上在三个月内完成个案整改,一年内完成机制性整改。
对于存在异常问题的员工,各单位应一查到底,严肃处理:
(一)对照我行员工违反规章制度处理规定等责任追究制度进行责任认定,严肃问责,并同步落实员工违规积分。原则上行内责任追究工作应在确认异常问题后三个月内落地。
(二)符合案件、案件风险事件或案件风险线索判定标准的,应按照涉刑案件管理相关规定进行处置。
(三)涉及党员违纪的,还应移交纪检部门处理;涉嫌违法犯罪的,还应移送公安或监察机关查处。
第十二条 信息报送
各单位对于排查情况的报告应坚持月报与及时报相结合。
(一)月报
各单位应每月向总行报送本单位定期(月度)排查汇总情况、当月新发现的关注问题明细情况、存量关注和异常问题的跟踪处理情况等。报送材料需经单位一把手审批后,于次月初3个工作日内报送至总行法律合规部。
(二)及时报
各单位应及时向总行报送以下信息:
1、新确认的异常问题情况专报,包括定期排查、专项排查、跨机构联动核查和其他各类方式确认的异常问题。报送材料经单位一把手审批后,于确认异常时点3个工作日内报送至总行法律合规部。
2、自主组织开展的专项排查报告。各单位应在完成专项排查报告后3个工作日内向总行法律合规部报备专项排查报告。
3、对于按照监管部门或上级单位要求开展的专项排查,严格按照规定时限完成相关信息报告。
4、对于符合案件、案件风险事件、案件风险线索,或重大事项、突发事件等定义的问题,各单位还应按照相关规定另行报送。
第十三条 系统运用
员工异常行为排查全流程管理纳入操作风险与内控合规管理(GRC)系统,包括线索推送、问题录入、汇总报送、跟踪处置和查询统计。各单位应通过系统及时处理问题线索、完成问题信息的录入、审批和报送;按规定完成对部门和机构的月度汇总;持续跟踪并实时更新问题的处置进展、整改和责任追究情况等。
第十四条 监督检查和考核问责
总行定期或不定期对各单位员工异常行为排查工作的组织开展情况以及问题的报送情况进行监督检查。
对于各单位排查工作组织实施不力,迟报漏报问题和相关信息,未按要求及时完成系统操作等,纳入合规经营考核扣分。对于管理失职、瞒报信息造成内控漏洞、操作风险隐患、产生资产损失或不良后果的,按照我行相关制度进行责任追究。
第五篇:存货异常结存问题总结
存货异常结存问题总结
在业务进行过程中,库存会因为某些原因出现异常结存,NC系统中涉及到的库存异常结存有以下几种:
现就系统可能出现的这几种情况及调整方式做一下讲解。
第一种:数量金额均为负数
(一)出现原因:
数量金额为负数,也就是我们常说的负库存:主要是在企业上ERP系统之前遗留在财务账上的账面数。
(二)处理方式:
1. 企业在上ERP系统之后,期初库存按实盘数入系统,同时导入到存货核算期初余额; 2. 确认财务账面负数能不能调整:
1)如果是本企业内部库管部门和财务部门对账差额,可调整的。建议本部分数据不在库存期初、存货核算期初体现,只在总账科目期初上作保留。在系统正常运行后,逐步消减存货核算与总账差额(调整总账)
2)如果是本企业与外部单位之间发生的,不能做调整的,必须在业务模块体现的。单建一仓库保留这部分数据。
3. 存货进行负库存控制,保证ERP系统正常运行过程中不会出现负库存。设定方式:存货管理档案“允许负库存”不选。
/ 5
第二种:数量金额方向相反
在控制负库存的情况下,出现数量金额方向相反,就是数量为正数,金额为负数。
(一)出现原因:
在日常业务中入库后,出库价格手工录入,且出库单价比入库单价大。1)采购入库单
2)出库单手工录入价格
3)存货核算收发存情况
(二)处理方式:
1)在不需实时出业务毛利表的情况下,库存出库单据不带出库单价。减少出库金额的人为错误; 2)对已存在的这种情况,在存货核算里做出库调整单,调整出库成本。
调整后的存货收发存汇总表:
/ 5
3)进行参数控制,视“数量金额方向相反”为异常库存,在出库单成本计算时,选择“抛错中断执行”,对日常单据成本计算时,能及时发现这种错误,修改相关出库单据。
第三种:数量为零,金额为负或数量为零,金额为正
(一)出现原因:
本月采购入库,本月采购发票未到。本月发生出库业务(销售、调出、其它等),当月结转成本以暂估成本价结转的。
下月到票后,采购发票金额与暂估入库金额不一致,采购结算后,存货核算的入库成本会有改变。在本种存货完全出库后,系统内会留下差额(数量为零,金额不为零)。1. 采购入库单(签字后暂估到存货核算)
2. 当月出库
3. 存货收发存汇总表
/ 5
4. 采购发票后到,金额与采购入库单不一致
5. 结算后,存货核算存货明细账及收发存汇总表
注:如果采购发票金额小于采购暂估金额,会形成负结存金额;如果发票金额大于采购暂估金额,会形成正结存金额。
(二)处理方式:
1.做出库调整单,手工调整出库成本。
2.参数设置,成本计算时,自动进行出库成本调整单 1)参数IA0022:异常结存处理方式:自动生成调整单调整 2)参数IA0037:“是否跟据入库调整单调出库成本”选择“是”。
/ 5
3)成本计算后,存货明细账查询及收发存汇总表
第四种:数量为负,金额为零或数量为正,金额为零
(一)出现原因:
在控制负库存的情况下,不会出现数量为负,金额为零。
数量为正,金额为零,一般也是出库手工录入出库价格出现库存数量还有,金额没有了。
(二)处理方式:
同第二种数量为正,金额为负的处理方式相同。做出库调整单,调整出库成本。
/ 5