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

📄 term.cpre

📁 商业银行前置系统
💻 CPRE
字号:
/* * This is a part of the Application Preconsole * - Channel Access - TERM. * Copyright (C) 2001-2001 ABC.SDC. * All rights reserved. * * This source code is only intended as a supplement to the * Application Preconsole Reference and related * electronic documentation provided with the library. * See these sources for detailed information regarding the * Application Preconsole product.  * * Update record: * 2001-09-17 R.Cao         - public information filling */#include "ap.h"#include "apca.h"EXEC SQL INCLUDE sqlca;EXEC SQL INCLUDE "abis.h";#include "term.h"BOOL IsQueryLast(PCTIASTRU ptiastru){    return strcmp(ptiastru->szCheckup, "QUERY") == 0;}RESULT SetVchNo(PCXMLSTRU pxmlstruResp, PTOASTRU ptoastru){    char szRespCode[AP_LEN_RESPCODE + 1];    bufclr(szRespCode);        AP_DEMAND_EXT(AP_PATH_RESPCODE, szRespCode);        if (strcmp(szRespCode, AP_RESPCODE_ACCEPT) == 0)    {        ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_ACCDATE, ptoastru->szAccDate));        ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_VCHNO, ptoastru->szVchNo));    }    else if (strcmp(szRespCode, AP_RESPCODE_INCONSISTENT) == 0)    {        ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_HINTCODE, szRespCode));                if (strcmp(szRespCode, AP_RESPCODE_NEEDCANCEL) == 0)        {            ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_ACCDATE, ptoastru->szAccDate));            ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_VCHNO, ptoastru->szVchNo));        }    }    return NORMAL;}RESULT SetVchInfo(PCXMLSTRU pxmlstruResp, PTOASTRU ptoastru,                  PSTR pszVchNum, PSTR pszVchArea){    char szRespCode[AP_LEN_RESPCODE + 1];    char szVchArea[AP_LEN_VCHAREA + 1];    char szVchNum[AP_LEN_VCHNUM + 1];    bufclr(szRespCode);    bufclr(szVchNum);    bufclr(szVchArea);        AP_DEMAND_EXT(AP_PATH_RESPCODE, szRespCode);        if (strcmp(szRespCode, AP_RESPCODE_ACCEPT) == 0)    {        ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_ACCDATE, ptoastru->szAccDate));        ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_VCHNO, ptoastru->szVchNo));        ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_VCHAREA, szVchArea));        ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_VCHNUM, szVchNum));    }    else if (strcmp(szRespCode, AP_RESPCODE_INCONSISTENT) == 0)    {        ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_HINTCODE, szRespCode));                if (strcmp(szRespCode, AP_RESPCODE_NEEDCANCEL) == 0)        {            ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_ACCDATE, ptoastru->szAccDate));            ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_VCHNO, ptoastru->szVchNo));            ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_VCHAREA, szVchArea));            ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_VCHNUM, szVchNum));        }    }        strcpy(pszVchNum, szVchNum);        strcpy(pszVchArea, szVchArea);    return NORMAL;}/*  * 根据XML应答报文填写TOA必填项 */ RESULT FillToaWithRespXml(PTOASTRU ptoastru, PCXMLSTRU pxmlstruResp){    char szTransCode[AP_LEN_TRANSCODE + 1];    char szRespCode[AP_LEN_RESPCODE + 1];    char szJrnNo[AP_LEN_JRNNO + 1];    char szAuthLevel[AP_LEN_AUTHLEVEL + 1];    char szReqSeqNo[AP_LEN_SEQNO + 1];        ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_RESPDATE, ptoastru->szTransDate));    ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_RESPTIME, ptoastru->szTransTime));        ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_RESPCODE, szRespCode));        if (strcmp(szRespCode, AP_RESPCODE_ACCEPT) == 0)    {        ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_TRANSCODE, szTransCode));        ptoastru->nTransCode = atoi(szTransCode);        ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_JRNNO, szJrnNo));        ptoastru->nJrnNo = atoi(szJrnNo);                ptoastru->cRespType = 'N';    }    else if (strcmp(szRespCode, AP_RESPCODE_INCONSISTENT) == 0)    {        ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_TRANSCODE, szTransCode));        ptoastru->nTransCode = atoi(szTransCode);        ptoastru->cRespType = 'N';        ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_HINTCODE, ptoastru->szCheckup));        if (strncmp(ptoastru->szCheckup, AP_RESPCODE_NEEDCANCEL, 4) == 0)        {            ASSERT_NORMAL(AP_DEMAND_EXT(AP_PATH_JRNNO, szJrnNo));            ptoastru->nJrnNo = atoi(szJrnNo);                }                AP_DEMAND_EXT(AP_PATH_ABISRESPCODE, szRespCode);        strcat(ptoastru->szCheckup, szRespCode);    }    else if (AP_DEMAND_EXT(AP_PATH_AUTHLEVEL, szAuthLevel) == NORMAL &&             strcmp(szAuthLevel, "00") != 0)    {        strcpy(ptoastru->szAuthLevel, szAuthLevel);        ptoastru->cRespType = 'A';    }    else    {                if (AP_DEMAND_EXT(AP_PATH_ABISRESPCODE, szRespCode) != NORMAL)        {            strcpy(ptoastru->szCheckup, "AIPS");            AP_DEMAND_EXT(AP_PATH_RESPCODE, szRespCode);        }                strcpy(ptoastru->szData, szRespCode);        ptoastru->cRespType = 'E';    }        return NORMAL;}/* * 根据TIA填写XML请求报文公共域 */RESULT FillReqXmlWithTia(PCTIASTRU ptiastru, PXMLSTRU pxmlstruReq){    TIMESTRU timestru;    char szReqDate[AP_LEN_DATE + 1];    char szReqTime[AP_LEN_TIME + 1];    char szLastJrnNo[AP_LEN_JRNNO + 1];    char szReqId[AP_LEN_ID + 1];    char szChargeDev[AP_LEN_DEV + 1];    if (IsQueryLast(ptiastru))        ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_MSGTYPE, AP_MSGTYPE_QUERYREQ));        else        ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_MSGTYPE, AP_MSGTYPE_SUBMITREQ));             timestru = GetTime();        sprintf(szReqDate, "%04d%02d%02d",             timestru.nYear, timestru.nMon, timestru.nDay);                sprintf(szReqTime, "%02d%02d%02d",            timestru.nHour, timestru.nMin, timestru.nSec);                ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_REQDATE, szReqDate));    ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_REQTIME, szReqTime));                 ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_TERM, ptiastru->szTerm));    ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_TELLER, ptiastru->szTeller));         strcpy(szReqId, "1100");    strcat(szReqId, ptiastru->szTerm);               ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_REQID, szReqId));        ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_REQSEQNO, "000000000000"));                sprintf(szLastJrnNo, "%09ld", ptiastru->nLastJrnNo);        ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_LASTJRNNO, szLastJrnNo));     ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_CHARGEA, ptiastru->szChargeA));    ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_CHARGEB, ptiastru->szChargeB));        ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_CHARGEPWDA, ptiastru->szChargePwdA));     ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_CHARGEPWDB, ptiastru->szChargePwdB));        szChargeDev[1] = 0;    szChargeDev[0] = ptiastru->cChargeDevA;        ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_CHARGEDEVA, szChargeDev));         szChargeDev[0] = ptiastru->cChargeDevB;    ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_CHARGEDEVB, szChargeDev));            ASSERT_NORMAL(AP_INSERT_EXT(AP_PATH_AUTHLEVEL, ptiastru->szAuthLevel));    return NORMAL;}/* End of this file */

⌨️ 快捷键说明

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