1 2 #include <stdio.h> 264 #include <stdlib.h> 411 #include <ecipar.h2> 506 #include <ecicon.h2> 742 main (argc,argv) 744 int argc; 745 char * argv[]; 748 1 char *f_code; 749 1 char data[200]; 750 1 char w_code[20]; 752 1 char ca_in[EDBIPC_MAX_DATA_LENGTH] ; 753 1 char ca_out[EDBIPC_MAX_DATA_LENGTH]; ..754 ....1... 755 1 eci_param fun_par; 756 1 eci_param ret_par; 757 1 eci_param_len l_in, l_out; ..758 1 759 1 edb_data_header my_header; 760 1 ..761 1 int jumpto; 762 1 int iret; 763 1 764 1 ..765 1 if(argc != 4) 766 1 767 2 printf("%s usage: TRANSPORTMODE NODENAME IDSTRING",argv[0]); 768 2 exit(-3); 769 2 } 770 1 l_out = sizeof(ca_out); 771 1 l_in = sizeof(ca_in); 772 1 773 1 iret = eci_connect(&my_header,atoi(argv[1]),argv[2],argv[3],"EDB","EDB_CAD"); 774 1 775 1 if (iret) 776 1 { 777 2 printf("Connect-Error: %d\n", iret); 778 2 exit(-3); 779 2 } 780 1 781 1 while(1) 782 1 { 783 2 printf("ECI-Function (End: 'exit') >>"); 784 2 gets(data); 785 2 sscanf(data,"%s",w_code); 786 2 787 2 788 2 789 2 if (!strcmp(w_code,"exit")) 790 2 jumpto=99; 791 2 else if (!strcmp(w_code,"eci_sel_ent")) 792 2 jumpto=1; 793 2 else if (!strcmp(w_code,"eci_ins_ent")) 794 2 jumpto=2;..... 893 2 else 894 2 jumpto=0; 895 2 896 2 897 2 switch (jumpto) 898 2 { 899 3 case 0: printf("Function %s not available \n",w_code); 900 3 break; 901 3 902 3 case 1: /* ===== eci_sel_ent ===== */ 903 3 eci_def_par(&fun_par,ca_in,l_in); 904 3 eci_def_par(&ret_par,ca_out,l_out); 905 3 906 3 eci_add_par(&fun_par,"EDB-ARTICLE"); 907 3 eci_end_par(&fun_par); 908 3 eci_add_par(&fun_par,"EDB-ART-SLI"); 909 3 eci_end_par(&fun_par); 910 3 eci_add_par(&fun_par,"off"); 911 3 eci_end_par(&fun_par); 912 3 eci_add_par(&fun_par,"list"); 913 3 eci_end_par(&fun_par); 914 3 eci_add_par(&fun_par,"int"); 915 3 eci_end_par(&fun_par); 916 3 eci_add_par(&fun_par,"off"); 917 3 eci_end_par(&fun_par); 918 3 eci_add_par(&fun_par,"on"); 919 3 eci_end_par(&fun_par); 920 3 eci_add_par(&fun_par,"T_MASTER_DAT.PART_ID"); 921 3 eci_add_par(&fun_par,"T_MASTER_DAT.LEV_IND"); 922 3 eci_end_par(&fun_par); 923 3 eci_add_par(&fun_par,"test%"); 924 3 eci_add_par(&fun_par,"120"); 925 3 eci_end_par(&fun_par); 926 3 eci_add_par(&fun_par,""); 927 3 eci_end_par(&fun_par); 928 3 eci_add_par(&fun_par,""); 929 3 eci_end_par(&fun_par); 930 3 eci_add_par(&fun_par,"off"); 931 3 eci_end_par(&fun_par); 932 3 933 3 /**** eci_call ****/ 934 3 eci_call(&my_header,w_code,&fun_par,&f_code,&ret_par); 935 3 936 3 if(!strcmp(f_code,"eci_sel_ent")) 938 937 3 938 4 { 939 4 char buffer[200]; 940 4 printf("==== Return value(s) ====\n"); 941 4 eci_set_par(&ret_par,1); 942 4 eci_get_par(&ret_par,buffer); 943 4 printf("Number of records \n",buffer); : >>%s<< 944 4 eci_set_par(&ret_par,2); 945 4 while (!eci_get_par(&ret_par,buffer)) 946 4 printf("T_MASTER_DAT.C_ID: >>%s<<\n",buffer); 947 4 } 948 3 else 949 3 { 950 4 char buffer[200]; 951 4 952 4 printf("ERROR : %s \n",f_code); 953 4 eci_set_par(&ret_par,1); 954 4 eci_get_par(&ret_par,buffer); 955 4 printf("Function: >>%s<< \n",buffer); 956 4 eci_get_par(&ret_par,buffer); 957 4 printf("Error-message:>>%s<< \n",buffer); 958 4 eci_get_par(&ret_par,buffer); 959 4 printf("Error number: >>%s<< \n",buffer); 960 4 } 961 3 break; 962 3 case 2: /* ===== eci_ins_ent ===== */ 963 3 eci_def_par(&fun_par,ca_in,l_in); 964 3 eci_def_par(&ret_par,ca_out,l_out); 965 3 966 3 eci_add_par(&fun_par,"EDB-ARTICLE"); 967 3 eci_end_par(&fun_par); 968 3 eci_add_par(&fun_par,"EDB-ART-SFR"); 969 3 eci_end_par(&fun_par); 970 3 eci_add_par(&fun_par,"form"); 971 3 eci_end_par(&fun_par); 972 3 eci_add_par(&fun_par,"int"); 973 3 eci_end_par(&fun_par); 974 3 eci_add_par(&fun_par,"T_MASTER_DAT.PART_ID"); 975 3 eci_end_par(&fun_par); 976 3 eci_add_par(&fun_par,"test001"); 977 3 eci_end_par(&fun_par); 978 3 eci_add_par(&fun_par,"T_MASTER_DAT.PART_ID"); 979 3 eci_add_par(&fun_par,"T_MASTER_DAT.PART_NAME"); 980 3 eci_add_par(&fun_par,"T_MASTER_DAT.CHK_NAME"); 981 3 eci_end_par(&fun_par); 982 3 eci_add_par(&fun_par,"test001"); 983 3 eci_add_par(&fun_par,"article test001"); 984 3 eci_add_par(&fun_par,"STANDARD"); 985 3 eci_end_par(&fun_par); 986 3 eci_add_par(&fun_par,"T_MASTER_DAT.C_ID"); 987 3 eci_end_par(&fun_par); 988 3 989 3 /**** eci_call ****/ 990 3 eci_call(&my_header,w_code,&fun_par,&f_code,&ret_par); 991 3 992 3 if(!strcmp(f_code,"eci_ins_ent")) 993 3 { 994 4 char buffer[200]; 995 4 996 4 printf("==== Return value(s) ====\n"); 997 4 eci_set_par(&ret_par,1); 998 4 eci_get_par(&ret_par,buffer); 999 4 printf("T_MASTER_DAT.C_ID: >>%s<<\n",buffer); 1000 4 } 1001 3 else 1002 3 { 1003 4 char buffer[200]; 1004 4 1005 4 printf("ERROR : %s \n",f_code); 1006 4 eci_set_par(&ret_par,1); 1007 4 eci_get_par(&ret_par,buffer); 1008 4 printf("Function: >>%s<< \n",buffer); 1009 4 eci_get_par(&ret_par,buffer); 1010 4 printf("Error-message:>>%s<< \n",buffer); 1011 4 eci_get_par(&ret_par,buffer); 1012 4 printf("Error number: >>%s<< \n",buffer); 1013 4 } 1014 3 break; 4451 3 4452 3 4453 3 case 99: /* ===== exit ===== */ 4454 3 eci_close(&my_header); 4455 3 printf("Connection closed \n"); 4456 3 exit(0); 4457 3 break; 4458 3 } 4459 2 } 4460 1 } 4461 |