📄 term.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 + -