vimer linux kernel 爱好者

工作笔记

2016-03-21
dhc

技术细节

加载共享内存

shmadmin load

查看后台服务是否OK

applist

注意

DBS函数完成之后,要重启服务生效

配置的三张表

任何交易都应该配置三张表,这样的程序才会陪解析

insert into TX_DEF values (‘2421’, ‘教师个人信息’, ‘100000000000000000100000100010000000000000000000000000000000000000000000 1000000000000000000000000000000000000000100000000000000’, ‘1’, null, null, ‘0’, null, null, null, null, ‘Y’);

insert into TX_FLOW_DEF (TX_CODE, FLOW_CODE, SUB_TX_CODE, SUB_TX_RSLT, FLOW_IND) values (‘2421’, 0, ‘2421’, ‘#$’, null);

insert into TX_SUB_DEF (SUB_TX_CODE, SUB_TX_NAME, TX_FUNC, ACCT_IND, CHNL_IND, YW_TYPE) values (‘2421’, ‘教师个人信息’, ‘sp2421’, ‘0’, ‘0’, null);

如果报白名单错误,还需要这样:

SELECT * FROM tx_ctl_reg WHERE tx_code=’2421’ and beg_date <=20190102 and end_date >=20190102 and sts=’1’ order by prior_no desc; INSERT INTO TX_CTL_REG VALUES (‘2421’, 1, 1, ‘0001’, ‘**’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘’, ‘**’, 19000101, 99999999, 9999, ‘1’, ‘1’, ‘教师个人信息’);

这里明显有问题,需要好好了解一下。

相关的表定义

tx_def: 交易定义表(交易码和交易名称)

关于函数的用法

注意整型的变量:

long id_no = 0;

get_zd_long(“0290”,&id_no);

前端

如果把解决方案重新拿到另一台电脑上,很可能不会添加项目成功,那么,原因可能是如下:

图片

解决这个问题的方案可能是:安装一个svn或者解压Subversion.zip到报错误的目录

实习重点

存在的问题整理: 1、表结构涉及方面:1)建立唯一索引,以姓名为检索条件不合理–重名、不可控等,最好采用编码的形式唯一且可控; 2)指定表空间; 3)char和varchar2的区别; 2、memset();初始化变量要前后一致,避免出现初始化变量长度出现偏差,导致的程序处理错误; 3、跳转至错误出口一定要赋错误码,另外错误描述要与错误信息相符; 4、pub_base_sysinit();遇到公函要去查看具体功能,并且添加返回值判断–查找方法xgrep,了解g_pub_tx通用记账结构体; 5、获取前端域值,get_zd_data、get_zd_int、get_zd_double以及get_fd_data(不压缩空格)的作用和区别分别是什么要弄明白,使用域值要注意类型和长度; 6、定义变量:首先要规范,变量类型+描述;其次变量长度要满足域值长度,定义变量小会导致内存溢出等; 7、变量赋值,尽量摈弃strcpy,而使用memcpy; 8、避免出现跳流水号的问题:核心系统中一笔主交易产生一笔流水(有据可查),不允许跳号,因此查询交易单独写,查询交易设置tx_def的log_ind为0不写流水。 9、游标、指针为关闭会导致占用内存,影响系统性能,若文件指针未关闭,导致文件句柄一直占用,不被释放,超过2000就不在写文件,出错。 10、日志打印级别的问题:调试信息使用vtcp_trace、交易提示信息用vtcp_info、交易错误信息用vtcp_exit; 11、if、esle if 、else要配对,严格上if必须有else去配对,去处理特殊情况,哪怕是去报错; 12、set_zd_data(DC_FILE_SND,”1”);文件传输标志,默认0没有文件、1有文件、2有连续文件,目前只有0和1,2的情况随着技术改进已取消; 13、程序注释量太少; 14、金额判断采用系统中的基础公函; 15、原子交易尽量少用sql_execute(),修改数据采用DBS更新函数, 原因:1)DBS函数有锁表的机制,避免同时修改同一条数据,由于时间差引起的风险,例如日终批量扣款和取款同时进行的情况; 2)DBS函数修改dd_mst主表时,会根据余额、起息日、积数、上次交易日期等数据的变化,更新MAC值,避免私自修改数据库的风险; 3)sql_execute报错没有明显的报错,唯一好处是操作方便; 16、批量交易退出时:批量交易代码+错误信息,方便排查错误,提高工作效率; 17、修改数据要登记明细; 18、开发小项目,最好有需求讨论和设计。

0909

1、账户、产品、科目之前的关系? 2、什么时候用登记薄、什么时候用分户? 3、现金不能隔日冲账的原因? 4、什么是资产负债表日?

考试知识点: 1、账户、产品、科目之前的关系? 账户:产品和科目的具体体现,会计核算的具体载体,开立账户时即确定产品科目信息,根据实际增减变化修改分户余额; ——针对银行客户核算 科目:对六大会计要素的细分,一级二级三级科目人行规定的,不可变化。记账过程除了修改分户账, 还要依据会计恒等式和复式记账规则记科目账;最终汇总成资产负债表。 ——人行通过报表监督 产品:依据科目,根据不同的业务核算需要设定,例如某行为吸收存款、在山东设定三个月整存整取利率高于法定存款利率0.5的产品A,在宁夏设定三个月整存整取利率高于法定存款利率0.9的产品B,产品A和产品B的核算仍然按三个月整存整取科目核算,但是由于存款利率不同导致损益不同,当然产品属性有很多种,因此一个科目可以延伸多种产品,便于银行营销获利。 ——银行统计收益情况

2、什么时候用登记薄、什么时候用分户? 与客户资金有关的用分户表,目前系统各分户主表dd_mst、ln_mst、in_mst; 用于登记银行或客户信息的用登记薄。

3、现金不能隔日冲账的原因? 现金不同于其他科目,属于实物,一旦丢失,不可恢复;因此需要当日清点,不可隔日冲销; 假如可以隔日冲账,A柜员昨日发生一笔现金存款业务,次日冲销掉,挪作私用,会出现现金流失的情况。

4、什么是资产负债表日? 资产负债表日也指会计年末和会计中期期末。我国的会计年度采用公历年度,即1月1日至12月31日。因此,年度资产负债表日是指每年的12月31日,中期资产负债表日是指各会计中期期末,包括月末、季末、和半年末。例如第一季度的资产负债表日是3月31日而半年的资产负债表日则是6月30日等等。

5、定期自动转存后,算下一期的利息是上一期利息会加到本金中算利息吗? 分本息转存和本金转存 本息转存时 利息和本金一起转入下一个存期 本金转存时利息转到收息户 本金进入下一个存期


Comments

Content