📄 bank.ec
字号:
/**********************************************************
*
* 周国祥 2001/04/14 针对新库表进行修改
* mv jgbm.ec bank.ec
* 所有函数均加上主机号参数
*
* 最后修改:周国祥 2001/08/18
**********************************************************/
#include <stdio.h>
#include <math.h>
#include "all.h"
EXEC SQL INCLUDE sqlca;
EXEC SQL WHENEVER SQLERROR CALL error_handler;
EXEC SQL WHENEVER SQLWARNING CALL warning_handler;
EXEC SQL WHENEVER NOT FOUND CALL notfound_handler;
/** update by dongyi for the relation not 1---1 */
/*
* 获取联行上级行的行号主机号
*/
int get_bank_father(bankid, hostid, f_bankid, f_hostid)
char *bankid, *hostid; /* 联行行号、主机号 */
char *f_bankid, *f_hostid; /* 管辖行行号、主机号 */
{
$char bank_id[12], host_id[3];
$char f_bank_id[12], f_host_id[3];
strcpy(bank_id, bankid);
strcpy(host_id, hostid);
EXEC SQL SELECT father_bank_id, father_host_id
INTO :f_bank_id, :f_host_id
FROM adm_bank_ctrl
WHERE bank_id = :bank_id
AND host_id = :host_id;
if (sqlca.sqlcode == 0) {
DelSpace(f_bank_id);
DelSpace(f_host_id);
strcpy(f_bankid, f_bank_id);
strcpy(f_hostid, f_host_id);
return(0);
}
return(sqlca.sqlcode);
}
/*
* 根据联行行号主机号获取联行名称
*/
int get_bank_name(char *bank, char *host, char *name)
{
$char bankid[12], hostid[3], bankname[31];
int iReturn;
name[0] = 0;
strcpy(bankid, bank);
strcpy(hostid, host);
$declare bank_name_cur cursor for
select bank_name from bank_info
where bank_id = :bankid and host_id = :hostid;
$open bank_name_cur;
$fetch bank_name_cur into :bankname;
iReturn = sqlca.sqlcode;
if ( iReturn == 0) {
DelSpace(bankname);
strcpy(name, bankname);
}
$close bank_name_cur;
return iReturn;
}
/*
* 仅根据联行行号获取联行名称
*/
int get_bank_name1(char *bank, char *name)
{
$char bankid[12], bankname[31];
int iReturn;
name[0] = 0;
strcpy(bankid, bank);
$declare bank_name1_cur cursor for
select bank_name from bank_info
where bank_id = :bankid;
$open bank_name1_cur;
$fetch bank_name1_cur into :bankname;
iReturn = sqlca.sqlcode;
if ( iReturn == 0) {
DelSpace(bankname);
strcpy(name, bankname);
}
$close bank_name1_cur;
return iReturn;
}
/*
* 获取联行电传号码或授权电话
*/
int get_bank_auth(char *bankid, char *hostid, char *tele, char *telex)
{
$char bank_id[12], host_id[3], auth_tele[16], auth_telex[16];
tele[0] = telex[0] = 0;
strcpy(bank_id, bankid);
strcpy(host_id, hostid);
EXEC SQL SELECT auth_tel, telex
INTO :auth_tele, :auth_telex
FROM bank_info
WHERE bank_id = :bank_id
AND host_id = :host_id;
if (sqlca.sqlcode == 0) {
DelSpace(auth_tele);
DelSpace(auth_telex);
strcpy(tele, auth_tele);
strcpy(telex, auth_telex);
}
return(sqlca.sqlcode);
}
/*
* 获取联行银行类型
*/
int get_bank_type(char *bankid, char *hostid, char *type)
{
$char bank_id[12], host_id[3], bank_type[5];
int iReturn;
type[0] = '\0';
strcpy(bank_id, bankid);
strcpy(host_id, hostid);
$declare bank_type_cur cursor for
SELECT bank_type FROM bank_info
WHERE bank_id = :bank_id
AND host_id = :host_id;
$open bank_type_cur;
$fetch bank_type_cur into :bank_type;
iReturn = sqlca.sqlcode;
if ( iReturn == 0) {
DelSpace(bank_type);
strcpy(type, bank_type);
}
$close bank_type_cur;
return iReturn;
}
/*
* 检查联行间的上下管辖关系
* 若主机号为“99”, 则无需判断主机号一致
*/
int check_depend(char *a_bankid, char *a_hostid, char *bankid, char *hostid)
{
$char adm_bank_id[12], adm_host_id[3];
$char bank_id[12], host_id[3];
if (!strcmp(a_bankid, bankid) &&
(!strcmp(a_hostid, hostid) ||
!strcmp(a_hostid, "99") ||
!strcmp(hostid, "99")))
return(0);
strcpy(bank_id, bankid);
strcpy(host_id, hostid);
$declare depend_cur cursor for
select adm_bank_id, adm_host_id, host_id
from bank_info
where bank_id = :bank_id;
if(SQLCODE) {
errcall(ERROR,"declare error[%d]",SQLCODE);
return -1;
}
$open depend_cur;
if(SQLCODE) {
errcall(ERROR,"open error[%d]",SQLCODE);
return -1;
}
while(1) {
$fetch depend_cur into :adm_bank_id, :adm_host_id, :host_id;
if ( SQLCODE )
break;
DelSpace(adm_bank_id);
DelSpace(adm_host_id);
if (strcmp(hostid, "99") != 0 &&
strcmp(hostid, host_id) != 0 )
continue;
if ( !strcmp( adm_bank_id, a_bankid )
&& !strcmp( adm_host_id, a_hostid ) ) {
$close depend_cur;
return 0;
}
}
$close depend_cur;
return -1;
}
/*
* 检查联行间的上下管辖关系
*/
int check_depend1(char *a_bankid,char *bankid)
{
$char adm_bank_id[12];
$char bank_id[12];
if (!strcmp(a_bankid, bankid))
return(0);
strcpy(bank_id, bankid);
$declare depend_cur1 cursor for
select adm_bank_id
from bank_info
where bank_id = :bank_id;
if (SQLCODE) {
errcall(ERROR,"declare error[%d]",SQLCODE);
return -1;
}
$open depend_cur1;
if(SQLCODE) {
errcall(ERROR,"open error[%d]",SQLCODE);
return -1;
}
while(1) {
$fetch depend_cur1 into :adm_bank_id;
if ( SQLCODE )
break;
DelSpace(adm_bank_id);
if (!strcmp( adm_bank_id, a_bankid )) {
$close depend_cur1;
return 0;
}
}
$close depend_cur1;
return -1;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -