/*****************************************
*自定义原子交易组件开发示例程序Samp.ccs
*功能: 读写相关数据字典
*日期: 2005.9.17
*整理: jop
******************************************/
#include <stdlib.h>
#include "/csps/include/cvhConver.h"
#include "/csps/include/cshInit.h"
#include <time.h>
#define MAX_MX_NUM_NMWT 30
#define MAX_BUFFER_LEN 1024
main()
{
unsigned long RespCode; /* CICS调用返回代码 */
void *CommArea; /* CommArea区指针 */
tCONVFUNCUSER *ptConverUser;/* CommArea区指针 */
unsigned short CommLen; /* CommArea区长度 */
char Param[30+1];
char errcode[50+1];
/*************以下部分为读写数据字典必需的定义**************/
int rc;
char *pchar1;
char *pchar2;
/***********************************************************/
/*********以下为用户自定义原子交易所需要的变量定义**********/
/***********************************************************/
memset(Param, 0, sizeof(Param));
memset(errcode, 0,sizeof(errcode));
/* 取系统EIB区的指针 */
EXEC CICS ADDRESS EIB( dfheiptr );
/* 从EIB中取CommArea的长度 */
CommLen = dfheiptr->eibcalen;
/* 如果CommArea的长度不足, 退出程序 */
if(CommLen < sizeof(tCONVFUNCUSER))
{
fprintf(stderr,"/n通讯区中数据不正确/n");
EXEC CICS RETURN ;
}
/* 取CommArea区的指针 */
EXEC CICS ADDRESS COMMAREA(CommArea) RESP(RespCode);
if (RespCode != DFHRESP(NORMAL))
{
sprintf(errcode,"%ld",RespCode);
fprintf(stderr,"/n--取得CommArea指针错误 errcode[%d]--/n",errcode);
EXEC CICS RETURN;
}
/*取得平台全局数据*/
ptConverUser = (tCONVFUNCUSER *)CommArea;
cssGetGlobeParam((CSPARAMTYPE *) CommArea);
/***********************************************************/
/* 以下为读写数据字典例行程序 */
/* 写P_MACFILELD5, 1-数据缓冲区, "66"值 , 2-长度 */
rc = css_UpdateIfaField("P_MACFIELD5",1,"66",2);
/* 读P_MACFILELD5, 1-数据缓冲区, pchar1-值 , pchar2- */
rc = css_GetIfaField("P_MACFIELD5",1,pchar1,pchar2);
/* 写P_MACFILELD4, 1-数据缓冲区, pchar1-值 , 2-长度 */
rc = css_UpdateIfaField("P_MACFIELD4",1,pchar1,2);
/************************************************************/
EXEC CICS RETURN;
}