⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 sjcjphzh.sqc

📁 本人写的在AIX下的用SQLC开发的处理DB2数据库中业务的程序
💻 SQC
📖 第 1 页 / 共 5 页
字号:
/*-------------------------------------------------------** 程序名:sjcjphzh.sqc** 程序员:由程序(t_prgmdl)自动生成** 编写时间:20040713** 程序功能:将盘后的交易资金信息倒出到文件中-------------------------------------------------------*/#include "trsfunc.h"EXEC SQL INCLUDE SQLCA;int main(int argc,char *argv[]){   time_t t_bgn,t_end;   int t_use,t_hour,t_min,t_sec;   int icntfetch,icntinsert,icntupdate,icnterror,iret,iper;   FILE *fp;   char logfile[30],showmsg[80];   char xwdm1[9],xwdm2[9],xwdm3[9],xwdm4[9];   int len;   char outtime[9],cuttime[3];   int temppos;					   int i,k,wtfslen;   char tempvalue[801]="";		/*临时用value内容值*/   char m_cznr[256]="";			/*操作内容,股东代码迁移用*/   char m_qckhh[51]="";			/*迁出客户号*/   char m_qrkhh[51]="";			/*迁入客户号*/   char m_qygddm[51]="";		/*迁移股东代码*/   char m_qyscdm[21]="";		/*迁移市场代码*/   char m_qckhh1[9]="";			/*迁出客户号*/   char m_qrkhh1[9]="";			/*迁入客户号*/   EXEC SQL BEGIN DECLARE SECTION;     /* 连接数据库所用的字段 */     char  m_dbs[11];     char  m_user[11];     char  m_password[11];     char  m_schema[11];     /* fund_stock_change 表的数据项 */          char   m_branch_code[4]="";		/*营业部代码*/     char   m_cust_no[11]="";			/*客户号*/     char   m_bill_no[13]="";			/*备注*/     char   m_holder_acc_no[16]="";		/*股东代码*/     char   m_rpt_acc_no[16]="";		/*股东代码*/     char   m_xkm_rpt_accno[16]="";		/*一级股东代码代码*/     char   m_stock_code[9]="";			/*xkm股东代码代码*/     char   m_market_code[2]="";		/*市场代码*/     char   m_market_name[11]="";		/*市场名称*/     double m_amt3=0;				/*股票发生*/     double m_amt4=0;				/*股票余额*/     double m_amt17=0;				/*资金发生金额*/     double m_amt7=0;				/*资金余额*/     char   m_order[11]="";			/*合同序号*/     double m_amt2=0;				/*平均成交价格*/     char   m_occur_date[9]="";			/*发生日期*/     char   m_occur_time[9]="";			/*发生时间*/     char   m_business_code[5]="";		/*业务代码*/     char   m_change_type[5]="";		/*变动类别 大集中的*/     char   m_currency_type[3]="";		/*货币代码*/     char   m_emp_code[7]="";			/*职工代码*/     char   m_emp_name[21]="";			/*职工姓名*/     char   m_sec_name[9]="";			/*证券名称*/     char   m_sec_code[9]="";			/*证券代码*/        char   m_zydm[5]="";			/*摘要代码*/     char   m_zymc[31]="";			/*摘要名称*/     char   m_bdlb[3]="";			/*变动类别*/     char   m_bdlbmc[31]="";			/*变动类别名称*/     double m_yj=0;				/*佣金*/     double m_yhs=0;				/*印花税*/     double m_ghf=0;				/*过户费*/     char   m_lsh[13]="";			/*流水号*/     char   m_join_lsh[13]="";			/*关联流水号*/     char   m_join_date[9]="";			/*关联日期*/     char   m_yhdm[7]="";			/*银行代码*/     char   m_bank_name[81]="";			/*银行名称*/     char   m_yhzh[41]="";			/*银行账号*/     char   m_bcsm[13]="";			/*补充说明*/     long   m_yxts=0;				/*有效天数*/     long   m_mxts=0;				/*免息天数*/     double m_tzll=0;				/*贷款利率*/     char   m_bz[2]="";				/*币种*/        double m_kyye=0;				/*可用余额*/     char   m_dqrq[9]="";			/*信用资金到期日期*/     char   m_gdxm[21]="";			/*股东姓名*/     char   m_sfzh[51]="";			/*身份账号*/     char   m_dlxm[21]="";			/*代理姓名*/     char   m_dlsf[51]="";			/*代理身份*/     char   m_wtqx[21]="";			/*委托权限*/     char   m_gdsx[3]="";			/*股东属性*/     char   m_tkfs[2]="";			/*???*/     char   m_lxdh[21]="";			/*联系电话*/     char   m_lxdz[41]="";			/*联系地址*/     char   m_card[51]="";			/*磁卡号*/     char   m_gdmm[21]="";			/*股东密码*/     char   m_mobile[16]="";			/*手机号*/     char   m_email[31]="";			/*EMAIL*/     char   m_khlb[3]="";			/*客户类别*/     char   m_dydm[11]="";			/*对应股东代码*/     char   m_zhxz[2]="";			/*帐户性质*/     char   m_fhkhh[11]="";			/*返还客户号*/          char   m_thisvalue[801]="";		/*other_change 的操作后内容*/     char   m_oldvalue[801]="";			/*other_change 的操作前内容*/     char   m_wtfs[5]="";			/*委托方式*/     long   m_sec_chg=0;			/*股票变化数量*/     long   m_sec_bal=0;			/*股票库存*/     char   m_sec_type[3]="";			/*新证券类别*/     char   m_zqlb[2]="";			/*老证券类别*/     char   m_scdm[2]="";			/*老市场代码*/     char   m_table[31]="";			/*变动的表名*/     char   m_newwtfs[2]="";			/*大集中委托方式*/     char   m_wtfsmc[21]="";			/*委托方式名称*/          char   m_oldzydm[9]="";			/*V6摘要代码*/     char   m_oldzymc[31]="";			/*V6摘要名称*/     char   m_oldhbdm[2]="";			/*v6货币代码*/     char   m_oldyhdm[2]="";			/*V6银行代码*/     char   m_today[20]="";			/*当前日期*/     char   m_nowtime[20]="";			/*当前时间*/          char   m_xkm_scbm[2]="";			/*西科母市场编码*/     char   m_xkm_hbdm[3]="";			/*西科母货币代码*/     char   m_xkm_gddm[16]="";			/*西科母采集的股东代码*/          double m_total_zjye=0;     double m_total_yj=0;     double m_total_yhs=0;     double m_total_ghf=0;     double m_total_amt=0;        EXEC SQL END   DECLARE SECTION;         char head[129]="";				/*包头信息*/   char data[2049]="";				/*包体信息*/      EXEC SQL WHENEVER NOT FOUND  CONTINUE;   EXEC SQL WHENEVER SQLWARNING CONTINUE;   EXEC SQL WHENEVER SQLERROR   CONTINUE;           if ( argc < 5 )    { printf("ERROR:Parameter is less than four!\n");      printf("Usage: %s dbs user password schema\n",argv[0]);      return 1;    }  strcpy(m_dbs,argv[1]);  strcpy(m_user,argv[2]);  strcpy(m_password,argv[3]);  strcpy(m_branch_code,argv[4]);    icntfetch=0;  icntinsert=0;  icntupdate=0;  icnterror=0;  iret=0;  iper=0;  strcpy(showmsg,"盘后交易数据采集");  printf("----------------%s:采集开始--------------\n",showmsg);/*  t_bgn=time(NULL);*/  EXEC SQL CONNECT TO :m_dbs USER :m_user USING :m_password;  if ( sqlca.sqlcode != 0 )   { printf("ERROR:Fail to connect to %s!\n",m_dbs);     return 3;   }     if (!getmacdatetime0(m_today,m_nowtime)) exit(0);  if (argc==6)  	strcpy(m_today,argv[5]);    strcat(logfile,"data/");  sprintf(logfile,"%s%s%s%s%s","data/","PH",m_branch_code,(char*)(m_today+2),".txt");    if ( ( fp=fopen(logfile,"w+")) == NULL )   { printf("Error:Open log file %s error!\n",logfile);     return 2;   }   /*资金,交易类数据采集*/   EXEC SQL DECLARE c2 CURSOR WITH HOLD FOR       SELECT CUST_NO,SERIAL_NO,OCCUR_DATE,BUSINESS_CODE,THIS_VALUE,LAST_VALUE,EMP_CODE,OCCUR_TIME,OP_OBJECT         FROM KS.other_change        where BRANCH_CODE=:m_branch_code and OCCUR_DATE=:m_today        order by CUST_NO,SERIAL_NO;   EXEC SQL OPEN c2;   while(1)   {   EXEC SQL FETCH c2 INTO       :m_cust_no,:m_lsh,:m_occur_date,:m_business_code,:m_thisvalue,:m_oldvalue,:m_emp_code,:m_occur_time,:m_table;   if (SQLCODE) break;         icntfetch++;      memset(data,0x0,sizeof(data));      TransBusinessCode(m_business_code,"",m_zydm,m_zymc,m_bdlb,m_oldzydm,m_oldzymc);            trim(m_cust_no);      trim(m_lsh);      trim(m_occur_date);      trim(m_business_code);      trim(m_thisvalue);      trim(m_oldvalue);      trim(m_emp_code);      trim(m_occur_time);      trim(m_zydm);      trim(m_zymc);      trim(m_bdlb);      trim(m_oldzydm);      trim(m_oldzymc);      if ((strcmp(m_emp_code,"SYSTEM")==0) || (strcmp(m_emp_code,"")==0))      	strcpy(m_emp_code,"000SYS");            /*4001 客户开户*/      if ((strcmp(m_zydm,"4001")==0))      {      	EXEC SQL SELECT NAME,CERT_NO,ENTRUST_AUTH,BAR_CODE,CUST_TYPE into :m_gdxm,:m_sfzh,:m_wtqx,:m_card,:m_khlb from ks.cust_base_info       		where BRANCH_CODE=:m_branch_code and CUST_NO=:m_cust_no;      	      	EXEC SQL SELECT PHONE,ADDR,MOBILE,EMAIL into :m_lxdh,:m_lxdz,:m_mobile,:m_email from ks.CUST_OTHER_INFO       		where BRANCH_CODE=:m_branch_code and CUST_NO=:m_cust_no;      		      	EXEC SQL SELECT NAME,CERT_NO into :m_dlxm,:m_dlsf from ks.AGENT_INFO       		where BRANCH_CODE=:m_branch_code and CUST_NO=:m_cust_no;      	      	strcpy(m_gdsx,"");      	strcpy(m_gdmm,"");      	        trim(m_cust_no);        trim(m_oldzydm);        trim(m_oldzymc);        trim(m_gdxm);        trim(m_sfzh);        trim(m_dlxm);        trim(m_dlsf);        trim(m_wtqx);        trim(m_lxdh);        trim(m_lxdz);        trim(m_card);        trim(m_mobile);        trim(m_email);        trim(m_khlb);        strcpy(m_xkm_hbdm,"00");        TranSymbol(m_lxdh);        TranSymbol(m_lxdz);        TranSymbol(m_email);              	sprintf(data,"0%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%06d",      	 m_cust_no,m_gdxm,m_sfzh,m_dlxm,m_dlsf,m_wtqx,"",m_khlb,m_lxdh,m_lxdz,m_card,"",m_email,m_oldzydm,m_oldzymc,icntfetch);      	         len = strlen(data);      	      	fprintf(fp,"1%07d",icntfetch);      	fprintf(fp,"%4s",m_zydm);      	fprintf(fp,"%04d",len);      	fprintf(fp,"%8s",m_occur_date);      	memset(outtime,0x0,sizeof(outtime));      	outtime[0]=m_occur_time[0];      	outtime[1]=m_occur_time[1];      	outtime[2]=m_occur_time[3];      	outtime[3]=m_occur_time[4];      	outtime[4]=m_occur_time[6];      	outtime[5]=m_occur_time[7];      	outtime[6]='0';      	outtime[7]='0';      	fprintf(fp,"%8s",outtime);      	fprintf(fp,"%c",m_xkm_hbdm[1]);      	fprintf(fp,"0%s",(char*) (m_emp_code+3));      	fprintf(fp,",%s%c%c",data,0x0d,0x0a);      }            /*4002 添加股东代码*/      if ((strcmp(m_zydm,"4002")==0))      {        printf("4002\n");        memset(tempvalue,0x00,sizeof(tempvalue));        memset(m_holder_acc_no,0x00,sizeof(m_holder_acc_no));        memset(m_market_code,0x00,sizeof(m_market_code));        memset(m_gdxm,0x00,sizeof(m_gdxm));        memset(m_cust_no,0x00,sizeof(m_cust_no));        memset(m_branch_code,0x00,sizeof(m_branch_code));                strcpy(tempvalue,m_thisvalue);        printf("%s\n",m_thisvalue);        temppos=0;        for (k=1;k<7;k++)        {          if (k!=1)          {       		temppos=temppos+i+1;          }          if (k==1)           {          	i=strcspn(m_thisvalue,"|");          	printf("%d\n",i);          }          else          {          	i=strcspn((char*) (m_thisvalue+temppos),"|");          }          if (k==2)            strncpy(m_cust_no,(char*) (m_thisvalue+temppos),i);          if (k==3)            strncpy(m_gdxm,(char*) (m_thisvalue+temppos),i);          if (k==4)            strncpy(m_market_code,(char*) (m_thisvalue+temppos),i);          if (k==5)            strncpy(m_holder_acc_no,(char*) (m_thisvalue+temppos),i);        }        m_market_code[1]=0;        m_holder_acc_no[10]=0;        	strcpy(m_gdsx,"");      	        trim(m_cust_no);        trim(m_oldzydm);        trim(m_oldzymc);        trim(m_gdxm);        trim(m_gdsx);        trim(m_market_code);        trim(m_holder_acc_no);               if (strcmp(m_market_code,"1")==0)          strcpy(m_xkm_scbm,"1");        if (strcmp(m_market_code,"2")==0)          strcpy(m_xkm_scbm,"0");        if (strcmp(m_market_code,"3")==0)          strcpy(m_xkm_scbm,"3");        if (strcmp(m_market_code,"4")==0)          strcpy(m_xkm_scbm,"2");        if (strcmp(m_market_code,"")==0)          strcpy(m_xkm_scbm,"");                if ((m_market_code[1]=='1') || (m_market_code[1]=='3'))          strncpy(m_xkm_gddm,(char*)(m_holder_acc_no+1),9);        else          strcpy(m_xkm_gddm,m_holder_acc_no);                  if ((strcmp(m_market_code,"1")==0) || (strcmp(m_market_code,"2")==0))          strcpy(m_xkm_hbdm,"00");        if (strcmp(m_market_code,"3")==0)          strcpy(m_xkm_hbdm,"02");        if (strcmp(m_market_code,"4")==0)          strcpy(m_xkm_hbdm,"01");              	sprintf(data,"0%s,%s,%s,%s,%s,%s,%s,%s,%06d",      	 m_cust_no,m_xkm_gddm,m_xkm_scbm,m_xkm_gddm,"",m_gdxm,m_oldzydm,m_oldzymc,icntfetch);      	         len = strlen(data);      	      	fprintf(fp,"1%07d",icntfetch);      	fprintf(fp,"%4s",m_zydm);      	fprintf(fp,"%04d",len);      	fprintf(fp,"%8s",m_occur_date);      	memset(outtime,0x0,sizeof(outtime));      	outtime[0]=m_occur_time[0];      	outtime[1]=m_occur_time[1];      	outtime[2]=m_occur_time[3];      	outtime[3]=m_occur_time[4];      	outtime[4]=m_occur_time[6];      	outtime[5]=m_occur_time[7];      	outtime[6]='0';      	outtime[7]='0';      	fprintf(fp,"%8s",outtime);      	fprintf(fp,"%c",m_xkm_hbdm[1]);      	fprintf(fp,"0%s",(char*) (m_emp_code+3));      	fprintf(fp,",%s%c%c",data,0x0d,0x0a);      }            /*4003 挂失股东代码*/      if ((strcmp(m_zydm,"4003")==0))      {        printf("4003\n");        memset(tempvalue,0x00,sizeof(tempvalue));        memset(m_holder_acc_no,0x00,sizeof(m_holder_acc_no));        strcpy(tempvalue,m_oldvalue);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -