?? dphsacti.pc
字號:
{
#ifdef YYDEBUG
DebugLog("cn_cust_info error");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
}
/**-----------------------生成Pdn_account,pdn_accountinfo詳細資料----------------------------------------------------*/
if(strstr(gctable_bunch,"A3")!=0)
{
PrintStatus("yqd419進入pdn——account");
gcretval=intoPdn_accountProc();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("Pdn_servcontrol error");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
}
/**-----------------------生成Pdn_phssim詳細資料----------------------------------------------------*/
if(strstr(gctable_bunch,"J2")!=0)
{
PrintStatus("yqd434進入pdn——phssim");
gcretval=intoPdn_phssimProc();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("Pdn_phssim error");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
}
/**-----------------------生成Pdn_incr_prodProc詳細資料----------------------------------------------------*/
if(strstr(gctable_bunch,"G0")!=0)
{
PrintStatus("yqd448進入pdn——incr——prodproc");
gcretval=intoPdn_incr_prodProc();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("Pdn_incr_prod error");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
}
/**-----------------------生成Pdn_phone詳細資料----------------------------------------------------*/
if(strstr(gctable_bunch,"A1")!=0)
{
PrintStatus("yqd465 進入pdn——phone");
gcretval=intoPdn_phoneProc();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("Pdn_phone error");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
}
/**-----------------------生成p_orderdis詳細資料----------------------------------------------------*/
PrintStatus("yqd536======");
gcretval=intop_orderdis();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("Pdn_phone error");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
PrintStatus("yqd546======p_orderdis");
/**-----------------------生成Pdn_prod_prop詳細資料----------------------------------------------------*/
gcretval=intoPdn_prod_propProc();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("Pdn_phone error");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
/**-----------------------生成Pdn_prepay詳細資料----------------------------------------------------*/
PrintStatus("yqd======563");
gcretval=intoPdn_prepay();
if (gcretval != 0)
{
#ifdef YYDEBUG
DebugLog("Pdn_phone error");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(gcretval,gcretstr);
}
PrintStatus("yqd485程序運行完成");
/*************************************************************/
if ( CicsCommit() != 0)
{
#ifdef YYDEBUG
DebugLog("commit error");
fclose(tracefp);
CopyTr(gcfilename,gcyyerrlog);
#endif
exceptExit(10005,COMMIT_ERR );
}
else
{
#ifdef YYDEBUG
DebugLog("finish ");
fclose(tracefp);
#endif
/*
設置返回值
1.生產編號
2.生產流水
3.受理編號
4.訂單編號
5.產品編號
char gcmainproduce_id[26] = {0};
char gcmainproduce_no[26] = {0};
char gcmainorder_id[26] = {0};
char gcmainaccept_id[26] = {0};
char gcmainproduct_id[26] = {0};
sprintf(gcretstr,"1080yqd gccust_id:%s", gccust_id);
*/
setParamNum(5);
addParams(BEGIN,gcmainproduce_id,gcmainproduce_no,gcmainaccept_id,gcmainorder_id,gcmainproduct_id,END);
normalExit(0,LINK_SUCCESS);
}
}
/*--------------------end main---------------------------------*/
/*
* 函數說明:生成pdn_pdinfo信息
* 輸入參數:
* 輸出參數:
* 返 回 值:
*/
int intoPdn_pdinfoProc()
{
EXEC SQL BEGIN DECLARE SECTION;
char lca0[PDINFO_FIELD][PDINFO_LENGTH] = {0};
char lcsub[3] = {0};
int lisub=0;
char lcroad_name[102] = {0};
char lcprod_addr[302] = {0};
char lccomments[260] = {0};
int j=0;
int k=0;
int i=0;
int linum = 0;
EXEC SQL END DECLARE SECTION;
/*PrintStatus("yqd587 come in the inter of pdn_pdinfoproc");
EXEC SQL SELECT COUNT(*) INTO :linum FROM pdn_pdinfo
WHERE product_id=:gcmainproduct_id AND produce_type=1;
*/
EXEC SQL DELETE FROM pdn_pdinfo
WHERE produce_id=:gcmainproduce_id AND produce_type=1;
sprintf(gcretstr,"yqd:sqlca.sqlcode=%d",sqlca.sqlcode);
PrintStatus(gcretstr);
/* linum=-1;
EXEC SQL SELECT COUNT(*) INTO :linum FROM dc_sim_preprod
WHERE product_id=:gcoldproduct_id ;
PrintStatus(gcoldproduct_id);
sprintf(gcretstr,"yqd6018 RECORD COUNT IN DC_SIM_PREPROD=%d",linum);
PrintStatus(gcretstr);
*/
EXEC SQL INSERT INTO pdn_pdinfo(produce_id,produce_type,product_id,
owncust_id,usercust_id,
exch_code,product_no,unit_type,unit_code, month_rent,
prod_prop,prod_class,prod_pwd,prot_code,
use_state,time_len,town_id,measure_code,linebox_id,detail_id,
road_name,prod_addr,prod_zip,near_tel,out_flag,out_dist,stime,
alt_time,comments,safe_level,limit_time,post_flag,post_info,
post_addr,post_name,post_zip,town_flag,bill_type,prod_using,
rela_flag,rela_prod_id)
(SELECT :gcmainproduce_id,1,:gcmainproduct_id,
:gcGenCustid,:gcGenCustid,
exch_code,:gcproduct_no,unit_type,unit_code, month_rent,
prod_prop,prod_class,prod_pwd,prot_code,
use_state,time_len,town_id,measure_code,linebox_id,detail_id,
road_name,prod_addr,prod_zip,near_tel,out_flag,out_dist,sysdate,
alt_time,comments,safe_level,limit_time,post_flag,post_info,
post_addr,post_name,post_zip,town_flag,bill_type,prod_using,
rela_flag,rela_prod_id
FROM dc_sim_preprod
WHERE product_id =:gcoldproduct_id);
EXEC SQL SELECT COUNT(*) INTO :linum FROM pdn_pdinfo
WHERE produce_id=:gcmainproduce_id ;
sprintf(gcretstr,"yqd====631record of pdn_pdinfo:%d",linum);
PrintStatus(gcretstr);
if (sqlca.sqlcode < 0)
{
strcat(gcretstr,"插入pdn_pdinfo出錯");
sprintf(gcretstr,"yqd628:%d,%s",sqlca.sqlcode,sqlca.sqlerrm.sqlerrmc);
PrintStatus("yqd dphsacti1110");
PrintStatus(gcretstr);
return -1;
}
#ifdef YYDEBUG
DebugLog("pdn_pdinfo,gcowncust_id=%s",gcowncust_id);
#endif
return 0;
}
/*
* 函數說明:生成pdn_phone信息
* 輸入參數:
* 輸出參數:
* 返 回 值:
*/
int intoPdn_phoneProc()
{
EXEC SQL BEGIN DECLARE SECTION;
char lca1[PHONE_FIELD][PHONE_LENGTH] = {0};
char lcsub[3] = {0};
int lisub=0;
char lcsrowid[5] = {0};
char lccrowid[5] = {0};
int j=0;
int k=0;
int li_rows=0;
char lcswitch_id[11] = {0};
char lcno_level[11] = {0};
int linum=0;
EXEC SQL END DECLARE SECTION;
/*PrintStatus("yqd672 in inter of pdn_phoneproc");
*/
EXEC SQL SELECT switch_id,no_level
INTO :lcswitch_id,:lcno_level
FROM rn_number
WHERE product_no = :gcproduct_no;
if (sqlca.sqlcode < 0)
{
strcat(gcretstr,"查詢pdn_phone出錯");
return -1;
}
/* EXEC SQL SELECT COUNT(*) INTO :linum FROM rn_number
WHERE product_no = :gcproduct_no;
sprintf(gcretstr,"yqd687 RECORD COUNT IN rn_number=%d",linum);
PrintStatus(gcretstr);
*/
/*生成電話編號*/
sprintf(gcphone_id,"%d",GenPhoneidProc());
trim(gcphone_id);
if (strcmp(gcphone_id,"-1") == 0)
{
strcat(gcretstr,"生成電話編號出錯");
return -1;
}
EXEC SQL INSERT INTO pdn_phone(produce_id,produce_type,phone_id,product_id,
product_no,prodno_grade,sele_flag,group_no,inside_no,
tel_id,lead_no,ldist_type,secrecy_mode,line_type,subprod_num,
revs_type,fac_code,measure_id,hcol_id,hcol_seq,switch_id,
prodno_name,spare_fld0,spare_fld1,spare_fld2,spare_fld3,
spare_fld4,spare_fld5)
VALUES(:gcmainproduce_id,1,:gcphone_id,:gcmainproduct_id,
:gcproduct_no,:lcno_level,'1','','',0,'','','1',0,'','1',
:gcpsnm,'','','',:lcswitch_id,'','','','','','','');
if (sqlca.sqlcode < 0)
{
strcat(gcretstr,"插入pdn_phone出錯");
return -1;
}
/* EXEC SQL SELECT COUNT(*) INTO :linum FROM pdn_phone
WHERE produce_id = :gcmainproduce_id;
sprintf(gcretstr,"yqd717 RECORD COUNT IN pdn_phone=%d",linum);
PrintStatus(gcretstr);
*/
return 0;
}
/*
* 函數說明:生成pdn_incr_prod信息
* 輸入參數:
* 輸出參數:
* 返 回 值:
*/
int intoPdn_incr_prodProc()
{
EXEC SQL BEGIN DECLARE SECTION;
char lcg0[6][12] = {0};
char lcsub[3] = {0};
char lcsrowid[5] = {0};
char lccrowid[5] = {0};
int lisub=0;
int j=0;
int k=0;
int ltemp=0;
char lcprod_class[3]={0};
int linum=0;
int RetCode;
EXEC SQL END DECLARE SECTION;
EXEC SQL DECLARE curincrprod CURSOR FOR SELECT prod_class
FROM dc_sim_preincr
WHERE product_id = :gcoldproduct_id;
linum=-1;
/* EXEC SQL SELECT COUNT(*) INTO :linum
FROM dc_sim_preincr
WHERE product_id = :gcoldproduct_id;
sprintf(gcretstr,"yqd763RECORDCOUNTIN dc_sim_preincr=%d",linum);
PrintStatus(gcretstr);
*/
EXEC SQL OPEN curincrprod;
while (1)
{
EXEC SQL FETCH curincrprod INTO :lcprod_class;
RetCode = checkError("dc_sim_preincr",LINK_SELECT);
if ( RetCode == DATAERROR )
{
EXEC SQL close curincrprod;
return -1 ;
}
if ( ( RetCode==DATANOTFOUND )||( getCurRecRowNum() > MAX_ROW_NUM ) )
{
break;
}
/* sprintf(gcretstr,"yqd776 lcprod_class=%s",lcprod_class);
PrintStatus(gcretstr);*/
trim(lcprod_class);
EXEC SQL INSERT INTO pdn_incr_prod(produce_id,produce_type,product_id,prod_class,STIME,cons_flag)
VALUES(:gcmainproduce_id,1,:gcmainproduct_id,:lcprod_class,sysdate,'A');
if (sqlca.sqlcode < 0)
{
strcat(gcretstr,"插入pdn_incr_prod出錯");
return -1;
}
/* EXEC SQL SELECT COUNT(*) INTO :v_count1 FROM dc_prod_prop WHERE prod_class = :lcprod_class;
if (sqlca.sqlcode < 0)
{
EXEC SQL close curincrprod;
strcat(gcretstr,"查詢dc_prod_prop表出錯");
return -1;
}
if (v_count1 == 0)
{由于暫時不考慮pdn_prod_prop表,當在dc_prod_prop有數據的時候
要寫入該表,所以在只記錄在沒有數據的增值產品類別
EXEC SQL INSERT INTO pdn_incr_prod(produce_id,produce_type,product_id,prod_class,STIME,cons_flag)
VALUES(:gcmainproduce_id,1,:gcmainproduct_id,:lcprod_class,sysdate,'A');
if (sqlca.sqlcode < 0)
{
strcat(gcretstr,"插入pdn_incr_prod出錯");
return -1;
}
}
*/
}
EXEC SQL close curincrprod;
/* linum=-1;
EXEC SQL SELECT COUNT(*) INTO :linum
FROM pdn_incr_prod
WHERE product_id = :gcoldproduct_id AND produce_id = :gcmainproduce_id AND produce_type = 1 ;
sprintf(gcretstr,"yqd558RECORDCOUNTIN pdn_incr_prod=%d",linum);
PrintStatus(gcretstr);
*/
return 0;
}
/*
* 函數說明:生成pdn_prod_prop信息
* 輸入參數:
* 輸出參數:
* 返 回 值:
*/
int intoPdn_prod_propProc()
{
EXEC SQL BEGIN DECLARE SECTION;
char lcprod_class[3] = {0};
char lcitem_code[41] = {0};
char lcitem_value[256] = {0};
int RetCode=0;
EXEC SQL END DECLARE SECTION;
EXEC SQL DECLARE curdc_sim_preprop CURSOR FOR SELECT
prod_class,item_code,item_value
FROM dc_sim_preprop
WHERE product_id = :gcoldproduct_id;
EXEC SQL OPEN curdc_sim_preprop;
if (sqlca.sqlcode < 0)
{
strcpy(gcretstr,"打開游標出錯");
return -1;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -