Commit d49da95c authored by 王业明's avatar 王业明
Browse files

初始化 BAPIDE 1.5.0

parent 646dac8e
javacDefaultEncoding.. = UTF-8
source.. = src/
output.. = bin/
bin.includes = META-INF/,\
.,
'''
交易名称:${tadeCode}
说 明:${desc}
'''
def ${tadeCode}(__REQ__,__RSP__,__SND__,__RCV__):
try:
CGC_Debug("开始业务组件 ${tadeCode}:${desc}")
BAPC_Builtin_SetDefaultExceptNode(None)
_Result_ = False
_Method_ = ${firstMothod}
while(type(_Method_) is FunctionType):
_Result_ = _Method_(__REQ__,__RSP__,__SND__,__RCV__)
_Method_ = _Result_
CGC_Debug("结束业务组件 ${tadeCode}:${desc}")
return (_Method_ == True)
except Exception,PyExcp:
BAPC_Builtin_SetGlobalError("E","BAPC0E001",str(PyExcp))
CGC_Debug(str(PyExcp))
return False
'''
索 引:INDEX_S${sindex}_N${nindex}
功 能:${desc}
节 点:步骤${sindex}节点${nindex}
交 易:${trade}
'''
def __BAP_${trade}_S${sid}_N${nid}(__REQ__,__RSP__,__SND__,__RCV__):
CGC_Debug("调用节点 STEP[${sindex}]-NODE[${nindex}]:${desc}")
${body}<#rt/>
'''
索 引:INDEX_S${sindex}_N${nindex}
功 能:${desc}
节 点:步骤${sindex}节点${nindex}
交 易:${trade}
'''
def __BAP_${trade}_S${sid}_N${nid}(__REQ__,__RSP__,__SND__,__RCV__):
CGC_Debug("调用节点 STEP[${sindex}]-NODE[${nindex}]:${desc}")
try:
${SetDefaultExceptNode}<#rt/>
${inArgText}<#rt/>
${functionBody}<#rt/>
if( not (type(_Result_) is list)):
BAPC_Builtin_SetGlobalError("E","BAPC0002","组件状态返回必须是[List]类型")
return BAPC_Builtin_GetDefaultExceptNode(${errFunc})
elif(len(_Result_) < 3):
BAPC_Builtin_SetGlobalError("E","BAPC0003","组件状态返回的[Item]个数必须有3个以上")
return BAPC_Builtin_GetDefaultExceptNode(${errFunc})
${outArgText}<#rt/>
BAPLoggerTrace("逻辑返回值="+str(_Result_[0]))
${logicText}<#rt/>
except Exception,PyExcp:
BAPC_Builtin_SetGlobalError("E","BAPC0E001",str(PyExcp))
CGC_Debug(str(PyExcp))
return BAPC_Builtin_GetDefaultExceptNode(${errFunc})
if((_Result_[1] == None) and (_Result_[2] == None)):
if(len(_Result_) != 4):
BAPC_Builtin_SetGlobalError("E","BAPC0004","必须有返回值的组件无数据返回")
return BAPC_Builtin_GetDefaultExceptNode(${errFuncName})
_RTVAL_ = _Result_[3]
if(_RTVAL_ != None):
if( not (type(_RTVAL_) is list)):
BAPC_Builtin_SetGlobalError("E","BAPC0005","组件据据返回必须是[list]类型")
return BAPC_Builtin_GetDefaultExceptNode(${errFuncName})
elif(len(_RTVAL_) < 1):
BAPC_Builtin_SetGlobalError("E","BAPC0006","组件数据返回的[Item]个数必须和出参配置(1)一致")
return BAPC_Builtin_GetDefaultExceptNode(${errFuncName})
${outArgsText}<#rt/>
else:
CGC_Trace("组件返回的出参无效,编译器判定为失败模式")
else:
BAPC_Builtin_SetGlobalError("D",str(_Result_[1]),str(_Result_[2]))
\ No newline at end of file
'''
索 引:INDEX_S${sindex}_N${nindex}
功 能:${desc}
节 点:步骤${sindex}节点${nindex}
交 易:${trade}
'''
def __BAP_${trade}_S${sid}_N${nid}(__REQ__,__RSP__,__SND__,__RCV__):
CGC_Debug("调用节点 STEP[${sindex}]-NODE[${nindex}]:${desc}")
try:
${functionBody}<#rt/>
if(_Result_ == True):
CGC_Debug("业务组件返回状态:成功")
return ${trueRet}
else:
CGC_Debug("业务组件返回状态:失败")
return ${falseRet}
except Exception,PyExcp:
BAPC_Builtin_SetGlobalError("E","BAPC0E001",str(PyExcp))
CGC_Debug(str(PyExcp))
return BAPC_Builtin_GetDefaultExceptNode(${errRet})
'''
索 引:INDEX_S${sindex}
功 能:${desc}
节 点:步骤${sindex}
交 易:${trade}
'''
def __BAP_${trade}_S${sid}_IMPL(__REQ__,__RSP__,__SND__,__RCV__):
CGC_Debug("调用步骤 STEP[${sindex}]:[${desc}]")
try:
BAPC_Builtin_SetDefaultExceptNode(None)
_Result_ = None
_Method_ = ${startFunc}
while(type(_Method_) is FunctionType):
_Result_ = _Method_(__REQ__,__RSP__,__SND__,__RCV__)
_Method_ = _Result_
${logicText}
except Exception,PyExcp:
BAPC_Builtin_SetGlobalError("E","BAPC0E001",str(PyExcp))
CGC_Debug(str(PyExcp))
return None
'''
交易名称:${tadeCode}
说 明:${desc}
'''
def M${tadeCode}_ENTRY(__REQ__,__RSP__):
CGC_Debug("开始交易 [${tadeCode}]:${desc}")
__SND__ = {}
__RCV__ = {}
BAPC_Builtin_TradeInitialize(__REQ__,__RSP__)
_Result_ = BAPC_Builtin_CheckRequest(__REQ__,__RSP__)
if(_Result_ != True):
return True
_Result_ = None
_Method_ = ${firstMothod}
while(type(_Method_) is FunctionType):
_Result_ = _Method_(__REQ__,__RSP__,__SND__,__RCV__)
_Method_ = _Result_
__SND__.clear()
__RCV__.clear()
del __SND__
del __RCV__
BAPC_Builtin_CheckResponse(__REQ__,__RSP__)
CGC_Debug("结束交易 ${tadeCode}")
return True
\ No newline at end of file
# -*- coding: gbk -*-
'''
-------------------------------------------------------------------------------
×× 以下代码是宇信班克CGC编译器自动生成的代码,请勿直接修改代码。 ××
-------------------------------------------------------------------------------
'''
'''
应用代码:${app}
交易代码:${trade}
描述信息:${desc}
作 者:宇信班克
创建日期:${crttime}
修改日期:${mdftime}
生成日期:${curdate}
编译版本:CGC ${version}
'''
from types import FunctionType
${importStr}
'''
全局对象:
'''
__EXCP__ = None
__ECD__ = "UNDEF"
__MSG__ = ""
__RST__ = "N"
'''
功 能:记录Python对象日志
'''
def BAPC_Builtin_LoggerTraceVar(argVarName,argVarObject):
try:
CGC_Trace("%s = %s" % (argVarName,argVarObject))
return True
except:
return False
'''
功 能:构造设置全局错误
'''
def BAPC_Builtin_SetGlobalError(argMsgType,argMsgCode,argMsgText):
global __RST__
global __ECD__
global __MSG__
__RST__ = str(argMsgType)
__ECD__ = str(argMsgCode)
__MSG__ = str(argMsgText)
CGC_Trace("__RST__ = "+str(__RST__))
CGC_Trace("__ECD__ = "+str(__ECD__))
CGC_Trace("__MSG__ = "+str(__MSG__))
'''
功 能:检测 __MC__ 和 __TC__
'''
def BAPC_Builtin_CheckRequest(__REQ__,__RSP__):
CGC_Trace("调用内建函数 BAPC_Builtin_CheckRequest")
if( not __REQ__.has_key("__MC__")):
BAPC_Builtin_SetGlobalError("E","NO__MC__","__REQ__中必须包含键值__MC__")
return False
if( not __REQ__.has_key("__TC__")):
BAPC_Builtin_SetGlobalError("E","NO__TC__","__REQ__中必须包含键值__TC__")
return False
if( not __REQ__.has_key("__RCVPCK__")):
__RSP__["__MSG__"]="__REQ__中必须包含键值__MSG__"
BAPC_Builtin_SetGlobalError("E","NORCVPCK","__REQ__中必须包含键值__MSG__")
return False
if( not __REQ__.has_key("__VER__")):
__RSP__["__MSG__"]="__REQ__中必须包含键值__VER__"
BAPC_Builtin_SetGlobalError("E","NORCVPCK","__REQ__中必须包含键值__VER__")
return False
return True
'''
功 能:检查 __SNDPCK__ 放置 __ECD__ 、__RST__ 到返回字典中
'''
def BAPC_Builtin_CheckResponse(__REQ__,__RSP__):
CGC_Trace("调用内建函数 BAPC_Builtin_CheckResponse")
global __RST__
global __ECD__
global __MSG__
if( not __RSP__.has_key("__SNDPCK__")):
__RSP__["__RST__"]="E"
__RSP__["__ECD__"]="RTM0E103"
__RSP__["__MSG__"]="没有返回包变量"
__RSP__["__SNDPCK__"]=""
else:
__RSP__["__RST__"]=__RST__
__RSP__["__ECD__"]=__ECD__
__RSP__["__MSG__"]=__MSG__
'''
功 能:获取全局异常委托函数
'''
def BAPC_Builtin_GetDefaultExceptNode(argDefault):
global __EXCP__
if(__EXCP__ == None):
return argDefault
else:
return __EXCP__
'''
功 能:设置全局异常委托函数
'''
def BAPC_Builtin_SetDefaultExceptNode(argMethod):
global __EXCP__
__EXCP__ = argMethod
'''
功 能: 交易入口初始化函数
'''
def BAPC_Builtin_TradeInitialize(__REQ__,__RSP__):
if(__RSP__.has_key("__ASYNC__")):
del __RSP__["__ASYNC__"]
if(__RSP__.has_key("__AMC__")):
del __RSP__["__AMC__"]
if(__RSP__.has_key("__ATC__")):
del __RSP__["__ATC__"]
__REQ__["__VER__"]="2.31"
'''
功 能:布尔判断框架(虚拟组件)返回 0或1
'''
def BAPC_Builtin_BoolFrame(argBOOL):
CGC_Trace("调用虚拟组件 BAPC_Builtin_BoolFrame")
CGC_Trace(("argBOOL="+str(argBOOL) ))
if(type(argBOOL) is bool):
if(argBOOL is True):
return [1,None,None]
else:
return [0,None,None]
elif(type(argBOOL) is int):
if(argBOOL > 0):
return [1,None,None]
else:
return [0,None,None]
else:
return [0,None,None]
'''
功 能: 默认出口挂载(虚拟组件)返回 1
'''
def BAPC_Builtin_DefaultErrorHolder():
CGC_Trace("调用 BAPC_Builtin_DefaultErrorHolder")
return [1,None,None]
'''
功 能: 字符串SWITCH匹配(虚拟组件)返回 0或1~7
'''
def BAPC_Builtin_SwitchCaseFrame(argSrc,arg1,arg2,arg3,arg4,arg5,arg6,arg7):
CGC_Trace("调用虚拟组件 BAPC_Builtin_SwitchCaseFrame")
CGC_Trace(("argSrc="+str(argSrc)))
if(argSrc == arg1):
return [1,None,None]
elif(argSrc == arg2):
return [2,None,None]
elif(argSrc == arg3):
return [3,None,None]
elif(argSrc == arg4):
return [4,None,None]
elif(argSrc == arg5):
return [5,None,None]
elif(argSrc == arg6):
return [6,None,None]
elif(argSrc == arg7):
return [7,None,None]
else:
return [0,None,None]
'''
功 能: 设置全局错误(虚拟组件) 返回 1
'''
def BAPC_Builtin_SetErrorToGlobal(argMsgType,argMsgCode,argMsgText):
CGC_Trace("调用虚拟组件 BAPC_Builtin_SetErrorToGlobal")
BAPC_Builtin_SetGlobalError(argMsgType,argMsgCode,argMsgText)
return [1,None,None]
'''
功 能:取全局错误到容器(虚拟组件)返回 1
'''
def BAPC_Builtin_GetGlobalErrorToDict(argDict,argMsgTypeName,argMsgCodeName,argMsgTextName):
CGC_Trace("调用虚拟组件 BAPC_Builtin_GetGlobalErrorToDict")
global __RST__
global __ECD__
global __MSG__
if(not type(argDict) is dict):
return [0,"BAPC0E900","容器字段必须是字典"]
elif(not type(argMsgTypeName) is str):
return [0,"BAPC0E901","MsgType的KEY必须是STRING"]
elif(not type(argMsgCodeName) is str):
return [0,"BAPC0E901","MsgCode的KEY必须是STRING"]
elif(not type(argMsgTextName) is str):
return [0,"BAPC0E901","MsgText的KEY必须是STRING"]
argDict[argMsgTypeName]=__RST__
argDict[argMsgCodeName]=__ECD__
argDict[argMsgTextName]=__MSG__
return [1,None,None]
'''
功 能: 切换为后执行模式(虚拟组件) 返回 1
'''
def BAPC_Builtin_SwitchToAsyncMode(argDict,argTemplateCode,argTransCode):
CGC_Trace("调用虚拟组件 BAPC_Builtin_SwitchToAsyncMode")
if(not type(argDict) is dict):
return [0,"BAPC0E900","容器字段必须是字典"]
elif(not type(argTemplateCode) is str):
return [0,"BAPC0E901","应用代码必须是STRING"]
elif(not type(argTransCode) is str):
return [0,"BAPC0E901","交易代码必须是STRING"]
argDict["__ASYNC__"] = True
argDict["__AMC__"] = argTemplateCode
argDict["__ATC__"] = argTransCode
return [1,None,None]
'''
功 能: 切换为后执行模式(虚拟组件) 返回 1
'''
def BAPC_Builtin_Def_Err_End_Node(__REQ__,__RSP__,__SND__,__RCV__):
CGC_Trace("调用虚拟组件 BAPC_Builtin_Def_Err_End_Node")
return False
'''
-------------------------------------------------------------------------------
## 交易步骤代码 ##
-------------------------------------------------------------------------------
'''
${body}
'''
-------------------------------------------------------------------------------
## 交易函数入口 ##
-------------------------------------------------------------------------------
'''
${entry}
'''
交易名称:${tadeCode}
说 明:${desc}
'''
def COMP_${tadeCode}_ENTRY(__REQ__,__RSP__,__SND__,__RCV__):
try:
CGC_Debug("开始业务组件 ${tadeCode}:${desc}")
CGC_SET_DEF_EXCP_NODE(None)
objResult = False
objMethod = ${firstMothod}
while(type(objMethod) is FunctionType):
objResult = objMethod(__REQ__,__RSP__,__SND__,__RCV__)
objMethod = objResult
CGC_Debug("结束业务组件 ${tadeCode}:${desc}")
return (objMethod == True)
except Exception,PyExcp:
CGC_SET_GLB_ERROR("E","BAPC0E001",str(PyExcp))
CGC_Debug(str(PyExcp))
return False
'''
索 引:INDEX_S${sindex}_N${nindex}
功 能:${desc}
节 点:步骤${sindex}节点${nindex}
交 易:${trade}
'''
def __BAP_${trade}_S${sid}_N${nid}(__REQ__,__RSP__,__SND__,__RCV__):
CGC_Debug("调用节点 STEP[${sindex}]-NODE[${nindex}]:${desc}")
${body}<#rt/>
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment