📄 testcli.c
字号:
#include <stdio.h>#include "atmi.h" /* TUXEDO Header File */#include "fml32.h"#include "tbl_fml.h"#if defined(__STDC__) || defined(__cplusplus)main(int argc, char *argv[])#elsemain(argc, argv)int argc;char *argv[];#endif{ int ret; int i=0; TPINIT *tpinfo=NULL; char *passwd=NULL; FBFR32 *reqfb=NULL; FBFR32 *rcvbuf=NULL; long reqlen=0; long al_empno=0; long al_mgr=0; long al_deptno=0; char ac_ename[11]=""; char ac_job[10]=""; char ac_hiredate[20]=""; double af_sal=0; double af_comm=0; long l_errno=0; long l_return=0; long l_row =0; long len =0; char c_errtext[256]=""; /* Attach to System/T as a Client Process */ if (tpinit(NULL) == -1) { fprintf(stderr, "Tpinit failed\n"); exit(1); } /* allocate the buffer for request */ reqfb = (FBFR32 *)tpalloc("FML32",NULL,1024); if ( reqfb == (FBFR32 *)NULL) { printf("tpalloc failed\n"); tpterm(); exit(1); } if (tpcall("TEST", (char *)reqfb, 0L, (char **)&reqfb, (long *)&reqlen, TPNOTRAN|TPNOBLOCK) < 0 ) { printf("tpcall failed: tperrno=%ld,tpstrerror=%s\n",tperrno,tpstrerror(tperrno)); tpterm(); tpabort(0); exit(1); } rcvbuf = (FBFR32 *)reqfb;#ifdef _DEBUG_ fprintf(stdout,"begin Fprint32......"); Fprint32(rcvbuf); fprintf(stdout,"begin Fprint32......");#endif /*get the row returned*/ len=sizeof(l_row); if(Fget32(rcvbuf,ROW,0,(char *)&l_row,&len) == -1) { printf("Fget32(ROW) fail ferrno=%d,ferrstrtext=%s\n",Ferror32,(char *)Fstrerror32(Ferror32)); tpterm(); exit(1); } if(l_row==0) { printf("no data found in table EMP\n"); tpterm(); exit(0); } for(i=0;i<l_row;i++) { len=sizeof(al_empno); if(Fget32(rcvbuf,EMPNO,i,(char *)&al_empno,&len) == -1) { printf("Fget32(EMPNO) fail ferrno=%d,ferrstrtext=%s\n",Ferror32,(char *)Fstrerror32(Ferror32)); tpterm(); exit(1); } len = sizeof(ac_ename); ac_ename[0]='\0'; if(Fget32(rcvbuf,ENAME,i,ac_ename,&len)== -1) { printf("Fget32(ENAME) fail ferrno=%d,ferrstrtext=%s\n",Ferror32,(char *)Fstrerror32(Ferror32)); tpterm(); exit(1); } len=sizeof(ac_job); ac_job[0]='\0'; if(Fget32(rcvbuf,JOB,i,ac_job,&len)== -1) { printf("Fget32(JOB) fail ferrno=%d,ferrstrtext=%s\n",Ferror32,(char *)Fstrerror32(Ferror32)); tpterm(); exit(1); } len = sizeof(al_mgr); if(Fget32(rcvbuf,MGR,i,(char*)&al_mgr,&len) == -1) { printf("Fget32(MGR) fail ferrno=%d,ferrstrtext=%s\n",Ferror32,(char *)Fstrerror32(Ferror32)); tpterm(); exit(1); } len=sizeof(ac_hiredate); ac_hiredate[0]='\0'; if(Fget32(rcvbuf,HIREDATE,i,ac_hiredate,&len) == -1) { printf("Fget32(HIREDATE) fail ferrno=%d,ferrstrtext=%s\n",Ferror32,(char *)Fstrerror32(Ferror32)); tpterm(); exit(1); } len=sizeof(af_sal); if(Fget32(rcvbuf,SAL,i,(char *)&af_sal,&len) == -1) { printf("Fget32(SAIL) fail ferrno=%d,ferrstrtext=%s\n",Ferror32,(char *)Fstrerror32(Ferror32)); tpterm(); exit(1); } len=sizeof(af_comm); if(Fget32(rcvbuf,COMM,i,(char*)&af_comm,&len) == -1) { printf("Fget32(COMM) fail ferrno=%d,ferrstrtext=%s\n",Ferror32,(char *)Fstrerror32(Ferror32)); tpterm(); exit(1); } len=sizeof(al_deptno); if(Fget32(rcvbuf,DEPTNO,i,(char*)&al_deptno,&len) == -1) { printf("Fget32(DEPTNO) fail ferrno=%d,ferrstrtext=%s\n",Ferror32,(char *)Fstrerror32(Ferror32)); exit(1); } printf("\n%d\t%s\t%s\t%d\t%s\t%f\t%f\t%d\n",al_empno,ac_ename,ac_job,al_mgr,ac_hiredate,af_sal,af_comm,al_deptno); } tpfree((char *)reqfb); tpterm(); return(0);}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -