void main() { //before int ret; ret=initwindow(); //check error!!!!! //unicode ret=initunicode(0x04000400,palette); //forever QWORD type=0; QWORD key=0; while(1) { //1.先在内存里画画,然后一次性写到窗口内 printworld(); writewindow(0x04000400,palette); //2.等事件,是退出消息就退出 uievent(&type,&key); if( type==0 )break; if( (type==0x64626b)&&(key==0x1b))break; //3.处理事件,如果要求自杀就让它死 processmessage(type,key); } //after death: killwindow(); }
static void doexit(MakeBrowseList *blist) { if(blist!=NULL) { if(blist->searchrsrc!=NULL) { killwindow(blist->searchrsrc); free_rsrc(blist->searchrsrc); } if(blist->definelist!=NULL) { killwindow(blist->definelist); free_rsrc(blist->definelist); } if(blist->mainrsrc!=NULL) free_rsrc(blist->mainrsrc); } if(WindowCount<2) { if(MTNMASTER!=NULL) FreeMaintainMaster(MTNMASTER); CLSNRD(filenum); CLSNRD(usernum); CLSNRD(modnum); ShutdownSubsystems(); } if(mbl_filesec!=NULL) mbl_filesec=NULL; }
void doexit(MakeBrowseList *blist) { if(blist!=NULL) { if(blist->definelist!=NULL) { killwindow(blist->definelist); free_rsrc(blist->definelist); } if(blist->searchrsrc!=NULL) { killwindow(blist->searchrsrc); free_rsrc(blist->searchrsrc); } if(blist->mainrsrc!=NULL) { free_rsrc(blist->mainrsrc); } } if(WindowCount<2) { CLOSE_MASTER_FILES(MASTER); if(MASTER!=NULL) FreeMaintainMaster(MASTER); if(PAYROLL_SETUP!=NULL) free_payroll(PAYROLL_SETUP); ShutdownSubsystems(); } if(mbl_posgrat!=NULL) mbl_posgrat=NULL; }
static void doexit(MakeBrowseList *blist) { if(blist!=NULL) { if(blist->definelist!=NULL) { killwindow(blist->definelist); free_rsrc(blist->definelist); } if(blist->searchrsrc!=NULL) { killwindow(blist->searchrsrc); free_rsrc(blist->searchrsrc); } if(blist->mainrsrc!=NULL) { free_rsrc(blist->mainrsrc); } } if(WindowCount==1) { if(filenum!=(-1)) CLSNRD(filenum); if(MASTER!=NULL) FreeMaintainMaster(MASTER); ShutdownSubsystems(); } if(mbl_restclas!=NULL) mbl_restclas=NULL; }
static void doexit(MakeBrowseList *blist) { if(blist!=NULL) { if(blist->definelist!=NULL) { killwindow(blist->definelist); free_rsrc(blist->definelist); } if(blist->searchrsrc!=NULL) { killwindow(blist->searchrsrc); free_rsrc(blist->searchrsrc); } if(blist->mainrsrc!=NULL) { free_rsrc(blist->mainrsrc); } } if(WindowCount<2) { CLOSE_MASTER_FILES(MASTER); if(MASTER!=NULL) FreeMaintainMaster(MASTER); if(venpmt!=NULL) free_venpmt(venpmt); if(purord!=NULL) free_purord(purord); ShutdownSubsystems(); } if(mbl_purlin!=NULL) mbl_purlin=NULL; }
void doexit(MakeBrowseList *blist) { if(blist!=NULL) { if(blist->definelist!=NULL) { killwindow(blist->definelist); free_rsrc(blist->definelist); blist->definelist=NULL; } if(blist->searchrsrc!=NULL) { killwindow(blist->searchrsrc); free_rsrc(blist->searchrsrc); blist->searchrsrc=NULL; } if(blist->mainrsrc!=NULL) { free_rsrc(blist->mainrsrc); blist->mainrsrc=NULL; } } if(WindowCount<2) { CLOSE_MASTER_FILES(MASTER); if(MASTER!=NULL) FreeMaintainMaster(MASTER); ShutdownSubsystems(); exit(0); } mbl_mst=NULL; }
/** * destroy window with OpenGL or inner identificator "window" * @param window inner or OpenGL id * @param idtype = INNER or OPENGL * @return 1 in case of OK, 0 if fault */ int destroyWindow(int window, winIdType type){ if(!initialized) return 0; int r = 0; DBG("lock"); pthread_mutex_lock(&winini_mutex); DBG("locked"); if(type == INNER){ windowData *win = searchWindow(window); if(win) r = killwindow(win->GL_ID); }else r = killwindow(window); pthread_mutex_unlock(&winini_mutex); DBG("window killed"); return r; }
static void selectall(RDArsrc *mainrsrc) { int x; struct RPTSTRUCTs r; short did_it=FALSE; RDArsrc *tmprsrc=NULL; if(mainrsrc!=NULL) { tmprsrc=odiagscrn("DIAGNOSTIC SCREEN",module,"Creating Standard Reports",NULL,NE(RptAvl)); if(tmprsrc!=NULL) { if(ADVmakescrn(tmprsrc,TRUE)) { prterr("Error Cannot Create Diagnostic Screen."); if(tmprsrc!=NULL) free_rsrc(tmprsrc); } else { ForceWindowUpdate(tmprsrc); } } } for(x=0;x<NE(RptAvl);++x) { r=RptAvl[x]; if(r.func!=NULL) { /*lint -e746 */ r.func(); /*lint +e746 */ if(mainrsrc!=NULL) { FINDRSCLISTAPPlib(mainrsrc,"ERROR LIST",0,errorlist); updatersrc(mainrsrc,"ERROR LIST"); did_it=TRUE; } } else { if(mainrsrc!=NULL) { did_it=FALSE; } } if(mainrsrc!=NULL) { if(tmprsrc!=NULL) { update_diagnostic(tmprsrc,(did_it ? TRUE:FALSE)); } } } if(mainrsrc!=NULL) { if(tmprsrc!=NULL) { killwindow(tmprsrc); free_rsrc(tmprsrc); } } Establish_Install_Date(module); }
static void quitREADME(RDArsrc *r) { if(r!=NULL) { killwindow(r); free_rsrc(r); } }
static void quitfunc(RDArsrc *r) { if(r!=NULL) { killwindow(r); free_rsrc(r); } ShutdownSubsystems(); }
static void quit_value(RDArsrc *incrsrc,RDArsrc *mtnrsrc) { if(incrsrc!=NULL) { killwindow(incrsrc); free_rsrc(incrsrc); } if(incdefaults!=NULL) FreeRDAdefault(incdefaults); }
static void quittable(RDArsrc *mtnrsrc,RDArsrc *mainrsrc) { changedvalues=FALSE; if(mtnrsrc!=NULL) { killwindow(mtnrsrc); free_rsrc(mtnrsrc); } if(virtdefaults!=NULL) FreeRDAdefault(virtdefaults); }
static void doexit(RDArsrc *r) { if(r!=NULL) { killwindow(r); free_rsrc(r); } if(FromMod!=NULL) Rfree(FromMod); if(ToMod!=NULL) Rfree(ToMod); ShutdownSubsystems(); }
static void quitgenericsetup(RDArsrc *genstprsrc,RDArsrc *mainrsrc) { if(ftypes!=NULL) freeapplib(ftypes); changedvalues=FALSE; if(genstprsrc!=NULL) { killwindow(genstprsrc); free_rsrc(genstprsrc); } if(genstpdefaults!=NULL) FreeRDAdefault(genstpdefaults); }
static void quit_avery(RDArsrc *m) { CloseFiles(m); CLSNRD(FileNumber); if(m!=NULL) { killwindow(m); free_rsrc(m); } ShutdownSubsystems(); }
static void quitadd(RDArsrc *r) { if(hours!=NULL) freeapplib(hours); if(days_mo!=NULL) freeapplib(days_mo); if(days_wk!=NULL) freeapplib(days_wk); if(mths!=NULL) freeapplib(mths); if(cpacks!=NULL) freeapplib(cpacks); if(r!=NULL) { killwindow(r); free_rsrc(r); } }
static void quit_record(RDArsrc *mtnrsrc) { if(WindowCount<2) { CLOSE_MASTER_FILES(MASTER); if(MASTER!=NULL) FreeMaintainMaster(MASTER); ShutdownSubsystems(); exit(0); } if(mtnrsrc!=NULL) { killwindow(mtnrsrc); free_rsrc(mtnrsrc); } }
/** * main freeGLUT loop * waits for global signals to create windows & make other actions */ void *Redraw(_U_ void *arg){ // pthread_cond_t fakeCond = PTHREAD_COND_INITIALIZER; // struct timeval tv; // struct timespec timeToWait; // struct timeval now; while(1){ pthread_mutex_lock(&winini_mutex); if(!initialized){ DBG("!initialized"); pthread_mutex_unlock(&winini_mutex); pthread_exit(NULL); } if(wannacreate){ // someone asks to create window DBG("call for window creating, id: %d", wininiptr->ID); createWindow(wininiptr); DBG("done!"); wininiptr = NULL; wannacreate = 0; } if(wannakill_GL_ID){ usleep(10000); // wait a little to be sure that caller is closed killwindow(wannakill_GL_ID); wannakill_GL_ID = 0; } forEachWindow(redisplay); /* gettimeofday(&now,NULL); timeToWait.tv_sec = now.tv_sec; timeToWait.tv_nsec = now.tv_usec * 1000UL + 10000000UL; pthread_cond_timedwait(&fakeCond, &winini_mutex, &timeToWait);*/ pthread_mutex_unlock(&winini_mutex); //pthread_testcancel(); if(totWindows) glutMainLoopEvent(); // process actions if there are windows /* gettimeofday(&now,NULL); timeToWait.tv_sec = now.tv_sec; timeToWait.tv_nsec = now.tv_usec * 1000UL + 10000000UL; pthread_mutex_lock(&fakeMutex); pthread_cond_timedwait(&fakeCond, &fakeMutex, &timeToWait); pthread_mutex_unlock(&fakeMutex);*/ /* tv.tv_sec = 0; tv.tv_usec = 10000; select(0, NULL, NULL, NULL, &tv);*/ usleep(10000); } return NULL; }
void quitfunc(RDArsrc *mainrsrc) { if(mainrsrc!=NULL) { killwindow(mainrsrc); free_rsrc(mainrsrc); } mainrsrc=NULL; if(bank_id!=NULL) Rfree(bank_id); if(defbankid!=NULL) Rfree(defbankid); if(payddsv!=(-1)) CLSNRD(payddsv); if(ddsnum!=(-1)) CLSNRD(ddsnum); if(vennum!=(-1)) CLSNRD(vennum); if(venadr!=(-1)) CLSNRD(venadr); if(banknum!=(-1)) CLSNRD(banknum); if(output_device!=NULL) Rfree(output_device); ShutdownSubsystems(); exit(0); }
static void selectrpt(RDArsrc *mainrsrc) { int selected=0; struct RPTSTRUCTs r; char *temp=NULL; RDArsrc *tmprsrc=NULL; FINDRSCGETINT(mainrsrc,"RESOURCE LIST",&selected); r=RptAvl[selected]; if(r.func!=NULL) { temp=Rmalloc(RDAstrlen(r.name)+18); sprintf(temp,"Creating %s Report",(r.name!=NULL?r.name:"")); tmprsrc=odiagscrn("DIAGNOSTIC SCREEN",module,temp,NULL,NE(RptAvl)); if(temp!=NULL) Rfree(temp); if(tmprsrc!=NULL) { if(ADVmakescrn(tmprsrc,TRUE)) { prterr("Error Cannot Create Diagnostic Screen."); if(tmprsrc!=NULL) free_rsrc(tmprsrc); } else { ForceWindowUpdate(tmprsrc); } } /*lint -e746 */ r.func(); /*lint +e746 */ FINDRSCLISTAPPlib(mainrsrc,"ERROR LIST",0,errorlist); updatersrc(mainrsrc,"ERROR LIST"); if(tmprsrc!=NULL) { update_diagnostic(tmprsrc,TRUE); } if(tmprsrc!=NULL) { killwindow(tmprsrc); free_rsrc(tmprsrc); } } }
static void quit_record(RDArsrc *mtnrsrc,mtnstruct *mtn) { if(mtn!=NULL) { if(mtn->DEFtypes!=NULL) freeapplib(mtn->DEFtypes); if(mtn->previous!=NULL) FreeRDATData(mtn->previous); Rfree(mtn); } if(WindowCount<2) { CLOSE_MASTER_FILES(MASTER); if(MASTER!=NULL) FreeMaintainMaster(MASTER); ShutdownSubsystems(); exit(0); } if(mtnrsrc!=NULL) { killwindow(mtnrsrc); free_rsrc(mtnrsrc); } }
void main() { //before int x,y; int r,g,b; initwindow(); //picture for(y=0; y<1024; y++) { for(x=0; x<1024; x++) { r=RED(x,y)&0xff; g=GREEN(x,y)&0xff; b=BLUE(x,y)&0xff; palette[y*1024+x]=(b)+(g<<8)+(r<<16); } } createppm(0x04000400,(BYTE*)palette,"5.ppm"); //forever QWORD type=0; QWORD key=0; while(1) { //1.先在内存里画画,然后一次性写到窗口内 writewindow(0x04000400,palette); //2.等事件,是退出消息就退出 uievent(&type,&key); if( type==0 )break; if( (type==0x64626b)&&(key==0x1b))break; } //after killwindow(); }
void ReadItron(RDArsrc *mainrsrc) { RDArsrc *tmprsrc=NULL; FILE *fp=NULL; char temp[129],custid[16],read_method=0,read_code=0; char new_service=FALSE,tamper[5],readdate[9],read_date[11]; char tim[9],reseq=FALSE; RDATData *prev=NULL; long reading=0; int counters=0,serviceno=0,time_code=0,route=0; int total_time=0; short dec_pos=0,last_type=(-1),hrs=0,mins=0; double new_reading=0.0,seq1=0,new_sequence=0,sequence=0; readwidget(mainrsrc,"FILENAME"); FINDRSCGETSTRING(mainrsrc,"FILENAME",&ITRON_FILENAME); counters=CountLines(ITRON_FILENAME); fp=fopen(ITRON_FILENAME,"r+b"); if(fp==NULL) { prterr("Error Attempting to open and read file [%s] for import.",(ITRON_FILENAME!=NULL ? ITRON_FILENAME:"")); return; } tmprsrc=odiagscrn("DIAGNOSTIC SCREEN",module, "Importing Meter Readings",stop_diagnostic,counters); ZERNRD(utbsvc); if(tmprsrc!=NULL) { if(!APPmakescrn(tmprsrc,TRUE,NULL,NULL,FALSE)) { ForceWindowUpdate(tmprsrc); } else { } } while(fgets(temp,128,fp)) { if(abort_diagnostic) break; if(!strncmp(temp,"RHD",3)) { if(temp[51]=='Y') reseq=TRUE; else reseq=FALSE; } else if(!strncmp(temp,"CUS",3)) { new_service=FALSE; memcpy(custid,&temp[14],15); sprintf(stemp,"%-4s",&temp[30]); serviceno=atoi(stemp); if(temp[98]=='Y') new_service=TRUE; else new_service=FALSE; last_type=0; } else if(!strncmp(temp,"MTR",3)) { sprintf(stemp,"%-8s",&temp[61]); sequence=atoi(stemp); sprintf(stemp,"%-8s",&temp[69]); new_sequence=atoi(stemp); sprintf(stemp,"%-3s",&temp[95]); time_code=atoi(stemp); total_time+=time_code; last_type=1; } else if(!strncmp(temp,"RTR",3)) { sprintf(stemp,"%-6s",&temp[5]); route=atoi(stemp); ZERNRD(utbrte); FINDFLDSETINT(utbrte,"ROUTE NUMBER",route); if(!ADVEQLNRDsec(utbrte,1,SCRNvirtualSubData,mainrsrc)) { prev=RDATDataNEW(utbrte); } else { if(prev!=NULL) FreeRDATData(prev); KEYNRD(utbrte,1); } memset(stemp,0,101); hrs=total_time/60; mins=(total_time-(hrs*60)); sprintf(stemp,"%02d:%02d:00",hrs,mins); FINDFLDSETSTRING(utbrte,"TIME ALLOWED",stemp); ADVWRTTRANSsec(utbrte,0,NULL,prev,SCRNvirtualSubData,mainrsrc); if(prev!=NULL) FreeRDATData(prev); memset(stemp,0,101); } else if(!strncmp(temp,"RDG",3)) { read_method=temp[25]; read_code=temp[61]; memset(stemp,0,101); strncpy(stemp,&temp[33],10); reading=atol(stemp); sprintf(stemp,"%-2s",&temp[91]); dec_pos=atoi(stemp); new_reading=FixReading(reading,dec_pos); memcpy(readdate,&temp[47],8); sprintf(read_date,"%.2s/%.2s/%.4s",&readdate[0],&readdate[2],&readdate[4]); sprintf(tim,"%.2s:%.2s:%.2s",&temp[55],&temp[57],&temp[59]); if(read_code!='S' && read_code!=0) { if(read_method!='R' && read_method!='W') { if(last_type<2) /* Normal Reading */ { /* WRITE UTBSVC NORMAL */ ZERNRD(utbsvc); FINDFLDSETSTRING(utbsvc,"CUSTOMER IDENTIFICATION",custid); FINDFLDSETINT(utbsvc,"SERVICE NUMBER",serviceno); if(!ADVEQLNRDsec(utbsvc,1,SCRNvirtualSubData,mainrsrc)) { prev=RDATDataNEW(utbsvc); FINDFLDGETDOUBLE(utbsvc,"SEQUENCE NUMBER",&seq1); FINDFLDSETDOUBLE(utbsvc,"CURRENT READING",new_reading); FINDFLDSETSTRING(utbsvc,"LAST READ DATE",read_date); #ifdef XXXX if(seq1!=new_sequence && reseq==TRUE) { FINDFLDSETCHAR(utbsvc,"RESEQUENCE",TRUE); FINDFLDSETDOUBLE(utbsvc,"NEW SEQUENCE NUMBER",new_sequence); } #endif /* XXXX */ ADVWRTTRANSsec(utbsvc,0,NULL,prev,SCRNvirtualSubData,mainrsrc); if(prev!=NULL) FreeRDATData(prev); } else if(new_service==TRUE) { if(prev!=NULL) FreeRDATData(prev); KEYNRD(utbsvc,1); FINDFLDSETDOUBLE(utbsvc,"CURRENT READING",new_reading); FINDFLDSETSTRING(utbsvc,"LAST READ DATE",read_date); #ifdef XXXX if(reseq==TRUE) FINDFLDSETDOUBLE(utbsvc,"SEQUENCE NUMBER",new_sequence); #endif /* XXXX */ ADVWRTTRANSsec(utbsvc,0,NULL,NULL,SCRNvirtualSubData,mainrsrc); } } else { /* Demand Reading */ /* WRITE UTBSVC DEMAND */ ZERNRD(utbsvc); FINDFLDSETSTRING(utbsvc,"CUSTOMER IDENTIFICATION",custid); FINDFLDSETINT(utbsvc,"SERVICE NUMBER",serviceno); if(!ADVEQLNRDsec(utbsvc,1,SCRNvirtualSubData,mainrsrc)) { prev=RDATDataNEW(utbsvc); FINDFLDSETDOUBLE(utbsvc,"DEMAND READING",new_reading); ADVWRTTRANSsec(utbsvc,0,NULL,prev,SCRNvirtualSubData,mainrsrc); if(prev!=NULL) FreeRDATData(prev); } else if(new_service==TRUE) { if(prev!=NULL) FreeRDATData(prev); KEYNRD(utbsvc,1); FINDFLDSETDOUBLE(utbsvc,"DEMAND READING",new_reading); FINDFLDSETSTRING(utbsvc,"LAST READ DATE",read_date); #ifdef XXXX if(reseq==TRUE) FINDFLDSETDOUBLE(utbsvc,"SEQUENCE NUMBER",new_sequence); #endif /* XXXX */ ADVWRTTRANSsec(utbsvc,0,NULL,NULL,SCRNvirtualSubData,mainrsrc); } } } } last_type=2; } else if(!strncmp(temp,"WRR",3)) { if(read_code!='S' && read_code!=0) { /* WRITE UTBSVC WAND */ sprintf(tamper,"%.4s",&temp[54]); sprintf(stemp,"%-10s",&temp[72]); reading=atoi(stemp); new_reading=FixReading(reading,dec_pos); memcpy(readdate,&temp[58],8); sprintf(read_date,"%.2s/%.2s/%.4s",&readdate[0],&readdate[2],&readdate[4]); sprintf(tim,"%.2s:%.2s:%.2s",&temp[66],&temp[68],&temp[70]); ZERNRD(utbsvc); FINDFLDSETSTRING(utbsvc,"CUSTOMER IDENTIFICATION",custid); FINDFLDSETINT(utbsvc,"SERVICE NUMBER",serviceno); if(!ADVEQLNRDsec(utbsvc,1,SCRNvirtualSubData,mainrsrc)) { prev=RDATDataNEW(utbsvc); FINDFLDGETDOUBLE(utbsvc,"SEQUENCE NUMBER",&seq1); FINDFLDSETDOUBLE(utbsvc,"CURRENT READING",new_reading); FINDFLDSETSTRING(utbsvc,"LAST READ DATE",read_date); #ifdef XXXX if(seq1!=new_sequence && reseq==TRUE) { FINDFLDSETCHAR(utbsvc,"RESEQUENCE",TRUE); FINDFLDSETDOUBLE(utbsvc,"NEW SEQUENCE NUMBER",new_sequence); } #endif /* XXXX */ ADVWRTTRANSsec(utbsvc,0,NULL,prev,SCRNvirtualSubData,mainrsrc); if(prev!=NULL) FreeRDATData(prev); } else if(new_service==TRUE) { if(prev!=NULL) FreeRDATData(prev); KEYNRD(utbsvc,1); FINDFLDSETDOUBLE(utbsvc,"CURRENT READING",new_reading); FINDFLDSETSTRING(utbsvc,"LAST READ DATE",read_date); #ifdef XXXX if(reseq==TRUE) FINDFLDSETDOUBLE(utbsvc,"SEQUENCE NUMBER",new_sequence); #endif /* XXXX */ ADVWRTTRANSsec(utbsvc,0,NULL,NULL,SCRNvirtualSubData,mainrsrc); } } } else if(!strncmp(temp,"RFF",3)) { if(read_code!='S' && read_code!=0) { /* WRITE UTBSVC RADIO */ sprintf(tamper,"%.2s",&temp[56]); sprintf(stemp,"%-10s",&temp[72]); reading=atoi(stemp); new_reading=FixReading(reading,dec_pos); memcpy(readdate,&temp[58],8); sprintf(read_date,"%.2s/%.2s/%.4s",&readdate[0],&readdate[2],&readdate[4]); sprintf(tim,"%.2s:%.2s:%.2s",&temp[66],&temp[68],&temp[70]); ZERNRD(utbsvc); FINDFLDSETSTRING(utbsvc,"CUSTOMER IDENTIFICATION",custid); FINDFLDSETINT(utbsvc,"SERVICE NUMBER",serviceno); if(!ADVEQLNRDsec(utbsvc,1,SCRNvirtualSubData,mainrsrc)) { prev=RDATDataNEW(utbsvc); FINDFLDGETDOUBLE(utbsvc,"SEQUENCE NUMBER",&seq1); FINDFLDSETDOUBLE(utbsvc,"CURRENT READING",new_reading); FINDFLDSETSTRING(utbsvc,"LAST READ DATE",read_date); #ifdef XXXX if(seq1!=new_sequence && reseq==TRUE) { FINDFLDSETCHAR(utbsvc,"RESEQUENCE",TRUE); FINDFLDSETDOUBLE(utbsvc,"NEW SEQUENCE NUMBER",new_sequence); } #endif /* XXXX */ ADVWRTTRANSsec(utbsvc,0,NULL,prev,SCRNvirtualSubData,mainrsrc); if(prev!=NULL) FreeRDATData(prev); } else if(new_service==TRUE) { if(prev!=NULL) FreeRDATData(prev); KEYNRD(utbsvc,1); FINDFLDSETDOUBLE(utbsvc,"CURRENT READING",new_reading); FINDFLDSETSTRING(utbsvc,"LAST READ DATE",read_date); #ifdef XXXX if(reseq==TRUE) FINDFLDSETDOUBLE(utbsvc,"SEQUENCE NUMBER",new_sequence); #endif /* XXXX */ ADVWRTTRANSsec(utbsvc,0,NULL,NULL,SCRNvirtualSubData,mainrsrc); } } } else { /* Not used for import */ } } if(tmprsrc!=NULL) { killwindow(tmprsrc); free_rsrc(tmprsrc); tmprsrc=NULL; } quitfunc(mainrsrc); }
void setcheck(RDArsrc *mainrsrc) { short ef=0,increment_diagnostic=FALSE,payjpms_keyno=0; RangeScreen *rs=NULL; DBsort *sortfile=NULL; char *sortname=NULL,*perid=NULL,*last_perid=NULL,*e=NULL; char *bankid1=NULL,*payid1=NULL; RDArsrc *tmprsrc=NULL; int check_number=0,x=0; NRDpart *part; NRDkey *key=NULL; RDAvirtual *v; char deleteflag=FALSE,benefits_computed=FALSE; char cprinted=FALSE; /* char *libx=NULL,*temp1=NULL; */ double net=0; RDATData *prev_file=NULL; RDATData *prev=NULL; NRDfield *CNET=NULL; CNET=FLDNRD(payjpms,"CHECK NET"); readallwidgets(mainrsrc); FINDRSCGETSTRING(mainrsrc,"EXPRESSION",&vch_expression); FINDRSCGETSTRING(mainrsrc,"[PAYMSTR][PAY IDENTIFICATION]",&pay_id); if(banknum!=(-1)) { FINDRSCGETSTRING(mainrsrc,"[BNKACC][BANK IDENTIFICATION]",&bank_id); } sortname=unique_name(); sortfile=DBsortNEW(module,sortname,NRDRdaEngine); if(sortname!=NULL) Rfree(sortname); makeDBsortfile(sortfile); sortfile->fileno=OPNDBsort(sortfile); rs=RangeScreenNew(mainrsrc); ReadRangeScreen(payjpms,rs); ReadRangeScreen(payppms,rs); ReadRangeScreen(payjmst,rs); ReadRangeScreen(perdmg,rs); if(posmstr!=(-1)) { ReadRangeScreen(posmstr,rs); ReadRangeScreen(poslmst,rs); } if(mainrsrc->virflds!=NULL) { for(x=0,v=mainrsrc->virflds;x<mainrsrc->num;++x,++v) { ReadVirtualRangeStruct(v,rs); } } tmprsrc=diagscrn(payjpms,"DIAGNOSTIC SCREEN",module, "Setting Job Pay Masters....",NULL); if(tmprsrc!=NULL) { if(!ADVmakescrn(tmprsrc,TRUE)) { ForceWindowUpdate(tmprsrc); } else { e=Rmalloc(130+RDAstrlen(tmprsrc->module)+RDAstrlen(tmprsrc->screen)); sprintf(e,"The Make Screen function failed for the custom screen [%s] [%s]. Check to see the screen is available. If it is, call your installer.",tmprsrc->module,tmprsrc->screen); WARNINGDIALOG("WARNING DIALOG SCREEN","MAKESCRN FAILED",e,NULL,NULL,FALSE,NULL); prterr("Error %s.",e); if(e!=NULL) Rfree(e); } } payjpms_keyno=KEYNUMBER(payjpms,"RDA PAYJPMS KEY"); if(payjpms_keyno<1) payjpms_keyno=1; ZERNRD(payjpms); FINDFLDSETSTRING(payjpms,"PAY IDENTIFICATION",pay_id); ef=ADVGTENRDsec(payjpms,payjpms_keyno,SCRNvirtualSubData,mainrsrc); while(!ef) { FINDFLDGETSTRING(payjpms,"PAY IDENTIFICATION",&payid1); if(RDAstrcmp(payid1,pay_id)) break; increment_diagnostic=FALSE; FINDFLDGETCHAR(payjpms,"DELETEFLAG",&deleteflag); if(banknum!=(-1)) { if(!isEMPTY(bank_id)) { FINDFLDGETSTRING(payjpms,"BANK IDENTIFICATION",&bankid1); } } FINDFLDGETSTRING(payjpms,"PERSONNEL IDENTIFICATION",&perid); FINDFLDGETDOUBLE(payjpms,"CHECK NET",&net); if(net!=0.0 || CNET==NULL) { if(!deleteflag && !RDAstrcmp(bank_id,bankid1)) { FINDFLDSETSTRING(payppms,"PERSONNEL IDENTIFICATION",perid); FINDFLDSETSTRING(payppms,"PAY IDENTIFICATION",payid1); if(!ADVEQLNRDsec(payppms,1,SCRNvirtualSubData,mainrsrc)) { FINDFLDGETCHAR(payppms,"DELETEFLAG",&deleteflag); FINDFLDGETCHAR(payppms,"BENEFITS COMPUTED",&benefits_computed); FINDFLDGETCHAR(payppms,"CHECK PRINTED",&cprinted); if(!deleteflag && benefits_computed && !cprinted) { FINDFLDSETSTRING(payjmst,"PERSONNEL IDENTIFICATION",perid); COPYFIELD(payjpms,payjmst,"JOB NUMBER"); if(!ADVEQLNRDsec(payjmst,1,SCRNvirtualSubData,mainrsrc)) { FINDFLDGETCHAR(payjmst,"DELETEFLAG",&deleteflag); if(!deleteflag) { FINDFLDSETSTRING(perdmg,"PERSONNEL IDENTIFICATION",perid); if(!ADVEQLNRDsec(perdmg,1,SCRNvirtualSubData,mainrsrc)) { FINDFLDGETCHAR(perdmg,"DELETEFLAG",&deleteflag); if(!deleteflag) { if(!testfilerangersrc(payjpms,rs) && !testfilerangersrc(payjmst,rs) && !testfilerangersrc(payppms,rs) && !testfilerangersrc(perdmg,rs)) { if((check_postrk(mainrsrc,rs))==TRUE) { for(x=0,v=mainrsrc->virflds; x<mainrsrc->num;++x,++v) { if(ADVtestvirtualrangersrc(v,rs,(void (*)(...))SCRNvirtualSubData,mainrsrc)) break; } if(x>=mainrsrc->num) { if(vch_expression!=NULL) { if(EVALUATEbol(vch_expression, SCRNvirtualSubData, mainrsrc)) { if(csortsequence!=NULL) { computevirtual(csortsequence,SCRNvirtualSubData,mainrsrc); } addsortrecord(sortfile); increment_diagnostic=TRUE; } } else { if(csortsequence!=NULL) { computevirtual(csortsequence,SCRNvirtualSubData,mainrsrc); } addsortrecord(sortfile); increment_diagnostic=TRUE; } } } } } } } } } } } } if(tmprsrc!=NULL) update_diagnostic(tmprsrc,increment_diagnostic); if(bankid1!=NULL) Rfree(bankid1); CLEAR_SCREEN_VIRTUAL(mainrsrc); ef=ADVNXTNRDsec(payjpms,payjpms_keyno,SCRNvirtualSubData,mainrsrc); } if(payid1!=NULL) Rfree(payid1); if(tmprsrc!=NULL) { killwindow(tmprsrc); free_rsrc(tmprsrc); } if(rs!=NULL) FreeRangeScreen(rs); if(SIZNRD(sortfile->fileno)) { key=KEYNUM(payjpms,1); if(key!=NULL) { tmprsrc=diagscrn(sortfile->fileno,"DIAGNOSTIC SCREEN", module,"Setting Check Numbers...",NULL); if(tmprsrc!=NULL) { if(!ADVmakescrn(tmprsrc,TRUE)) { ForceWindowUpdate(tmprsrc); } else { e=Rmalloc(130+RDAstrlen(tmprsrc->module)+RDAstrlen(tmprsrc->screen)); sprintf(e,"The Make Screen function failed for the custom screen [%s] [%s]. Check to see the screen is available. If it is, call your installer.",tmprsrc->module,tmprsrc->screen); WARNINGDIALOG("WARNING DIALOG SCREEN","MAKESCRN FAILED",e,NULL,NULL,FALSE,NULL); prterr("Error %s.",e); if(e!=NULL) Rfree(e); } } check_number=start_check; ef=FRSNRD(sortfile->fileno,1); FINDFLDGETSTRING(sortfile->fileno,"PERSONNEL IDENTIFICATION", &perid); last_perid=stralloc(perid); LOCNRDFILE(banknum); while(!ef) { FINDFLDGETSTRING(sortfile->fileno,"PERSONNEL IDENTIFICATION",&perid); if(RDAstrcmp(last_perid,perid)) { if(last_perid!=NULL) Rfree(last_perid); ++check_number; last_perid=stralloc(perid); } for(x=0,part=key->part;x<key->numparts;++x,++part) COPYFIELD(sortfile->fileno,payjpms,part->name); if(!ADVEQLNRDsec(payjpms,1,SCRNvirtualSubData,mainrsrc)) { prev_file=RDATDataNEW(payjpms); FINDFLDSETINT(payjpms,"CHECK NUMBER",check_number); FINDFLDSETSTRING(payjpms,"CHECK DATE",check_date); ADVWRTTRANSsec(payjpms,0,NULL,prev_file,SCRNvirtualSubData,mainrsrc); DID_STUFF=TRUE; if(prev_file!=NULL) FreeRDATData(prev_file); } if(tmprsrc!=NULL) update_diagnostic(tmprsrc,TRUE); ef=NXTNRD(sortfile->fileno,1); } if(tmprsrc!=NULL) { killwindow(tmprsrc); free_rsrc(tmprsrc); } if(record_check_number==TRUE) { if(!ADVEQLNRDsec(banknum,1,SCRNvirtualSubData,mainrsrc)) { prev=RDATDataNEW(banknum); FINDFLDSETINT(banknum,"LAST CHECK NUMBER",check_number); ADVWRTTRANSsec(banknum,0,NULL,prev,SCRNvirtualSubData,mainrsrc); if(prev!=NULL) FreeRDATData(prev); } /* libx=Rmalloc(RDAstrlen(CURRENTDIRECTORY)+15); #ifdef WIN32 sprintf(libx,"%s\\%s\\",CURRENTDIRECTORY,"BNKREC"); #endif #ifndef WIN32 sprintf(libx,"%s/%s/",CURRENTDIRECTORY,"BNKREC"); #endif sprintf(stemp,"%s.CHK",(bank_id!=NULL ? bank_id:"")); temp1=adddashes(stemp); getnexttran(libx,temp1,check_number); if(temp1!=NULL) Rfree(temp1); if(libx!=NULL) Rfree(libx); */ } } UNLNRDFILE(banknum); } else { /* prterr("Error no Job Pay Masters selected."); */ ERRORDIALOG("Set Check Number Error","No check numbers were assigned for the selected pay identification. Please try again.",NULL,FALSE); } if(perid!=NULL) Rfree(perid); if(last_perid!=NULL) Rfree(last_perid); if(bankid1!=NULL) Rfree(bankid1); if(sortfile!=NULL) { CLSDBsort(sortfile); FreeDBsort(sortfile); } }
void killwindow_v(int GL_ID){ DBG("GL_ID: %d", GL_ID); killwindow(GL_ID); }
void selectconv(RDArsrc *mainrsrc,short *rscreen) { short ef=FALSE,dodiag=FALSE,rngkey=FALSE,range_screen=TRUE,a=FALSE; RDArsrc *tmprsrc=NULL; RangeScreen *rs=NULL; char *e=NULL,delflag=FALSE; RDATData *prev=FALSE; if(mainrsrc!=NULL) { readallwidgets(mainrsrc); rs=RangeScreenNew(mainrsrc); ReadRangeScreen(filenum,rs); ReadRangeScreen(chgfilenum,rs); } range_screen=*rscreen; tmprsrc=diagscrn(filenum,"DIAGNOSTIC SCREEN",module, "Selecting Records to Convert",NULL); if(tmprsrc!=NULL) { if(!ADVmakescrn(tmprsrc,TRUE)) { ForceWindowUpdate(tmprsrc); } else { e=Rmalloc(130+RDAstrlen(tmprsrc->module)+RDAstrlen(tmprsrc->screen)); sprintf(e,"The Make Screen function failed for the custom screen [%s] [%s]. Check to see the screen is available. If it is, call your installer.",tmprsrc->module,tmprsrc->screen); WARNINGDIALOG("WARNING DIALOG SCREEN","MAKESCRN FAILED",e,NULL,NULL,FALSE,NULL); prterr("Error %s.",e); if(e!=NULL) Rfree(e); } } addDFincvir(tmprsrc,MODULENAME(filenum),FILENAME(filenum),NULL,filenum); addDFincvir(tmprsrc,MODULENAME(chgfilenum),FILENAME(chgfilenum),NULL, chgfilenum); GET_ALL_SCREEN_VIRTUALS(tmprsrc,0); LOCNRDFILE(filenum); ZERNRD(filenum); if(range_screen) { rngkey=setfilekeyFROMrangersrc(filenum,1,rs); if(rngkey && range_screen) { ef=ADVGTENRDsec(filenum,1,SCRNvirtualSubData,tmprsrc); } else ef=ADVBEGNRDsec(filenum,SCRNvirtualSubData,tmprsrc); } else ef=ADVBEGNRDsec(filenum,SCRNvirtualSubData,tmprsrc); while(!ef) { FINDFLDGETCHAR(filenum,"DELETEFLAG",&delflag); if(range_screen) a=testfilerangersrc(filenum,rs); else a=FALSE; if(!delflag && !a) { prev=RDATDataNEW(filenum); a=convertfield(tmprsrc,rs,range_screen); if(a) { if(!ADVWRTTRANSsec(filenum,0,NULL,prev,SCRNvirtualSubData,tmprsrc)) RCKNRD(filenum); dodiag=TRUE; } if(prev!=NULL) FreeRDATData(prev); } else dodiag=FALSE; if(tmprsrc!=NULL) { update_diagnostic(tmprsrc,(dodiag ? TRUE:FALSE)); if(!range_screen) ForceWindowUpdate(tmprsrc); } if(rngkey && range_screen) { ef=ADVNXTNRDsec(filenum,1,SCRNvirtualSubData,tmprsrc); if(!ef) { ef=testfilekeyTOrangersrc(filenum,1,rs); } } else ef=ADVSEQNRDsec(filenum,SCRNvirtualSubData,tmprsrc); } UNLNRDFILE(filenum); if(tmprsrc!=NULL) { killwindow(tmprsrc); free_rsrc(tmprsrc); } if(rs!=NULL) FreeRangeScreen(rs); quitconv(mainrsrc); }
void selectpurcpo(RDArsrc *mainrsrc) { char Stemp[101],*pfix=NULL,*sfix=NULL,*e=NULL; char zfill=TRUE,*idx=NULL,deleteflag=FALSE,assigned=FALSE; int fromnum=0,tonum=0,x,len=0; RDArsrc *tmprsrc=NULL; readallwidgets(mainrsrc); FINDRSCGETINT(mainrsrc,"FROM NUMBER",&fromnum); FINDRSCGETINT(mainrsrc,"TO NUMBER",&tonum); if((tonum-fromnum)<1) return; FINDRSCGETCHAR(mainrsrc,"ZERO FILL",&zfill); FINDRSCGETSTRING(mainrsrc,"PREFIX",&pfix); FINDRSCGETSTRING(mainrsrc,"SUFFIX",&sfix); e=Rmalloc((RDAstrlen(pfix)*2)+(RDAstrlen(sfix)*2)+51); sprintf(e,"Create PO ID's %s%d%s to %s%d%s",pfix,fromnum,sfix, pfix,tonum,sfix); tmprsrc=odiagscrn("DIAGNOSTIC SCREEN",module,e,stop_diagnostic,(tonum-fromnum+1)); if(e!=NULL) Rfree(e); addDFincvir(tmprsrc,module,"PURIDS",NULL,purids); GET_ALL_SCREEN_VIRTUALS(tmprsrc,0); if(tmprsrc!=NULL) { if(ADVmakescrn(tmprsrc,TRUE)) { prterr("Error Cannot Create Diagnostic Screen."); } else ForceWindowUpdate(tmprsrc); } memset(Stemp,0,101); sprintf(Stemp,"%d",tonum); len=RDAstrlen(Stemp); for(x=fromnum;x<(tonum+1);++x) { if(abort_diagnostic) break; memset(Stemp,0,101); if(zfill) sprintf(Stemp,"%0*d",len,x); else sprintf(Stemp,"%d",x); idx=Rmalloc(RDAstrlen(pfix)+RDAstrlen(sfix)+RDAstrlen(Stemp)+1); sprintf(idx,"%s%s%s",(pfix!=NULL ? pfix:""),Stemp, (sfix!=NULL ? sfix:"")); ZERNRD(purids); FINDFLDSETSTRING(purids,"PO IDENTIFICATION",idx); LOCNRDFILE(purids); if(ADVEQLNRDsec(purids,1,SCRNvirtualSubData,tmprsrc)) { FINDFLDSETCHAR(purids,"DELETEFLAG",deleteflag); FINDFLDSETCHAR(purids,"ASSIGNED",assigned); WRTTRANS(purids,0,NULL,NULL); if(tmprsrc!=NULL) update_diagnostic(tmprsrc,TRUE); } else { if(tmprsrc!=NULL) update_diagnostic(tmprsrc,FALSE); } if(idx!=NULL) Rfree(idx); UNLNRDFILE(purids); } if(tmprsrc!=NULL) { killwindow(tmprsrc); free_rsrc(tmprsrc); } if(pfix!=NULL) Rfree(pfix); if(sfix!=NULL) Rfree(sfix); }
void setcheck(RDArsrc *mainrsrc) { short ef=0,increment_diagnostic=FALSE; RangeScreen *rs=NULL; DBsort *sortfile=NULL; char *sortname=NULL,*bankid1=NULL; int checknum=0; RDArsrc *tmprsrc=NULL; int x=0; RDAvirtual *v; char manual_voucher=FALSE,deleteflag=FALSE,verified=FALSE; char electronic=FALSE; /* char cleared=FALSE; char distributed=FALSE; */ DFvirtual *d=NULL; d=getDFvirtual("VENPMT","VENDOR ADDRESS 1"); if(d!=NULL) { VendorAddr1=Rmalloc(sizeof(RDAvirtual)); VendorAddr1->name=stralloc(d->name); VendorAddr1->when=0; VendorAddr1->len=d->length; VendorAddr1->type=d->type; if(d->expression!=NULL) { VendorAddr1->expression=PP_translate(d->expression); } else { VendorAddr1->expression=NULL; } VendorAddr1->computed=FALSE; VendorAddr1->range=FALSE; VendorAddr1->dlen=0; switch(VendorAddr1->type) { case SCROLLEDTEXT: case VARIABLETEXT: case DATES: case TIMES: case SOCSECNUM: case PLAINTEXT: case ZIPCODE: case PHONE: case CUSTOMTYPE: case EXPENDITURE: case REVENUE: case BALANCESHEET: case BEGINNINGBALANCE: case OPTIONALFIELDS: VendorAddr1->value.string_value=NULL; VendorAddr1->dlen=0; break; case BOOLNS: case CHARACTERS: VendorAddr1->value.string_value=Rmalloc(1); *VendorAddr1->value.string_value=0; VendorAddr1->dlen=1; break; case DECIMALV: case DOUBLEV: case SDOUBLEV: case DOLLARS: case SDECIMALV: VendorAddr1->value.float_value=Rmalloc(sizeof(double)); *VendorAddr1->value.float_value=0; VendorAddr1->dlen=sizeof(double); break; case SHORTV: case SSHORTV: VendorAddr1->value.short_value=Rmalloc(sizeof(short)); *VendorAddr1->value.short_value=0; VendorAddr1->dlen=sizeof(short); break; case SCROLLEDLIST: case LONGV: case SLONGV: VendorAddr1->value.integer_value=Rmalloc(sizeof(int)); *VendorAddr1->value.integer_value=0; VendorAddr1->dlen=sizeof(int); break; default: prterr("Error virtual field type [%d] not found for field [%s].",VendorAddr1->type,VendorAddr1->name); break; } FreeDFvirtual(d); } d=getDFvirtual("VENPMT","VENDOR ADDRESS 2"); if(d!=NULL) { VendorAddr2=Rmalloc(sizeof(RDAvirtual)); VendorAddr2->name=stralloc(d->name); VendorAddr2->when=0; VendorAddr2->len=d->length; VendorAddr2->type=d->type; if(d->expression!=NULL) { VendorAddr2->expression=PP_translate(d->expression); } else { VendorAddr2->expression=NULL; } VendorAddr2->computed=FALSE; VendorAddr2->range=FALSE; VendorAddr2->dlen=0; switch(VendorAddr2->type) { case SCROLLEDTEXT: case VARIABLETEXT: case DATES: case TIMES: case SOCSECNUM: case PLAINTEXT: case ZIPCODE: case PHONE: case CUSTOMTYPE: case EXPENDITURE: case REVENUE: case BALANCESHEET: case BEGINNINGBALANCE: case OPTIONALFIELDS: VendorAddr2->value.string_value=NULL; VendorAddr2->dlen=0; break; case BOOLNS: case CHARACTERS: VendorAddr2->value.string_value=Rmalloc(1); *VendorAddr2->value.string_value=0; VendorAddr2->dlen=1; break; case DECIMALV: case DOUBLEV: case SDOUBLEV: case DOLLARS: case SDECIMALV: VendorAddr2->value.float_value=Rmalloc(sizeof(double)); *VendorAddr2->value.float_value=0; VendorAddr2->dlen=sizeof(double); break; case SHORTV: case SSHORTV: VendorAddr2->value.short_value=Rmalloc(sizeof(short)); *VendorAddr2->value.short_value=0; VendorAddr2->dlen=sizeof(short); break; case SCROLLEDLIST: case LONGV: case SLONGV: VendorAddr2->value.integer_value=Rmalloc(sizeof(int)); *VendorAddr2->value.integer_value=0; VendorAddr2->dlen=sizeof(int); break; default: prterr("Error virtual field type [%d] not found for field [%s].",VendorAddr2->type,VendorAddr2->name); break; } FreeDFvirtual(d); } d=getDFvirtual("VENPMT","VENDOR ADDRESS 3"); if(d!=NULL) { VendorAddr3=Rmalloc(sizeof(RDAvirtual)); VendorAddr3->name=stralloc(d->name); VendorAddr3->when=0; VendorAddr3->len=d->length; VendorAddr3->type=d->type; if(d->expression!=NULL) { VendorAddr3->expression=PP_translate(d->expression); } else { VendorAddr3->expression=NULL; } VendorAddr3->computed=FALSE; VendorAddr3->range=FALSE; VendorAddr3->dlen=0; switch(VendorAddr3->type) { case SCROLLEDTEXT: case VARIABLETEXT: case DATES: case TIMES: case SOCSECNUM: case PLAINTEXT: case ZIPCODE: case PHONE: case CUSTOMTYPE: case EXPENDITURE: case REVENUE: case BALANCESHEET: case BEGINNINGBALANCE: case OPTIONALFIELDS: VendorAddr3->value.string_value=NULL; VendorAddr3->dlen=0; break; case BOOLNS: case CHARACTERS: VendorAddr3->value.string_value=Rmalloc(1); *VendorAddr3->value.string_value=0; VendorAddr3->dlen=1; break; case DECIMALV: case DOUBLEV: case SDOUBLEV: case DOLLARS: case SDECIMALV: VendorAddr3->value.float_value=Rmalloc(sizeof(double)); *VendorAddr3->value.float_value=0; VendorAddr3->dlen=sizeof(double); break; case SHORTV: case SSHORTV: VendorAddr3->value.short_value=Rmalloc(sizeof(short)); *VendorAddr3->value.short_value=0; VendorAddr3->dlen=sizeof(short); break; case SCROLLEDLIST: case LONGV: case SLONGV: VendorAddr3->value.integer_value=Rmalloc(sizeof(int)); *VendorAddr3->value.integer_value=0; VendorAddr3->dlen=sizeof(int); break; default: prterr("Error virtual field type [%d] not found for field [%s].",VendorAddr3->type,VendorAddr3->name); break; } FreeDFvirtual(d); } readallwidgets(mainrsrc); FINDRSCGETSTRING(mainrsrc,"[BNKACC][BANK IDENTIFICATION]",&bank_id); FINDRSCGETSTRING(mainrsrc,"OUTPUT DEVICE",&output_device); FINDRSCGETINT(mainrsrc,"BODY COUNT",&BODY_COUNT); FINDRSCGETCHAR(mainrsrc,"USE CHECK OFFSET",&use_check_offset); FINDRSCGETCHAR(mainrsrc,"USE HIGH AMOUNT",&use_high_amount); sortname=unique_name(); sortfile=DBsortNEW("PAYROLL",sortname,NRDRdaEngine); if(sortname!=NULL) Rfree(sortname); makeDBsortfile(sortfile); sortfile->fileno=OPNDBsort(sortfile); rs=RangeScreenNew(mainrsrc); ReadRangeScreen(payddsv,rs); if(mainrsrc->virflds!=NULL) { for(x=0,v=mainrsrc->virflds;x<mainrsrc->num;++x,++v) { ReadVirtualRangeStruct(v,rs); } } tmprsrc=diagscrn(payddsv,"DIAGNOSTIC SCREEN",module, "Selecting Vendor Vouchers",NULL); if(tmprsrc!=NULL) if(!APPmakescrn(tmprsrc,TRUE,NULL,NULL,FALSE)) ForceWindowUpdate(tmprsrc); ef=ADVBEGNRDsec(payddsv,SCRNvirtualSubData,mainrsrc); while(!ef) { increment_diagnostic=FALSE; FINDFLDGETCHAR(payddsv,"SOURCE USER VERIFIED",&verified); FINDFLDGETCHAR(payddsv,"MANUAL VOUCHER",&manual_voucher); FINDFLDGETCHAR(payddsv,"DELETEFLAG",&deleteflag); FINDFLDGETCHAR(payddsv,"ELECTRONIC TRANSFER",&electronic); /* FINDFLDGETCHAR(payddsv,"BNKREC UPDATED",&cleared); FINDFLDGETCHAR(payddsv,"DISTRIBUTED",&distributed); if(verified && !cleared && !manual_voucher && !electronic && !deleteflag && !distributed) */ if(verified && !manual_voucher && !electronic && !deleteflag) { if(banknum!=(-1)) { if(bank_id!=NULL) { FINDFLDGETSTRING(payddsv,"BANK IDENTIFICATION",&bankid1); } } if(!RDAstrcmp(bank_id,bankid1)) { FINDFLDGETINT(payddsv,"CHECK NUMBER",&checknum); if(checknum>0) { COPYFIELD(payddsv,vennum,"VENDOR IDENTIFICATION"); if(!ADVEQLNRDsec(vennum,1,SCRNvirtualSubData,mainrsrc)) { FINDFLDGETCHAR(vennum,"DELETEFLAG", &deleteflag); if(!deleteflag) { COPYFIELD(payddsv,venadr,"VENDOR IDENTIFICATION"); COPYFIELD(payddsv,venadr,"ADDRESS IDENTIFICATION"); if(!ADVEQLNRDsec(venadr,1,SCRNvirtualSubData,mainrsrc)) { FINDFLDGETCHAR(venadr,"DELETEFLAG", &deleteflag); if(!deleteflag) { COPYFIELD(payddsv,ddsnum,"DEDUCTION DESCRIPTION IDENTIFICATION"); if(!ADVEQLNRDsec(ddsnum,1,SCRNvirtualSubData,mainrsrc)) { FINDFLDGETCHAR(ddsnum,"DELETEFLAG", &deleteflag); if(!deleteflag) { if(!testfilerangersrc(payddsv,rs)/* && !testfilerangersrc(vennum,rs)*/) { for(x=0,v=mainrsrc->virflds; x<mainrsrc->num;++x,++v) { if(ADVtestvirtualrangersrc(v,rs,(void (*)(...))SCRNvirtualSubData,mainrsrc)) { break; } } if(x>=mainrsrc->num) { addsortrecord(mainrsrc,sortfile); increment_diagnostic=TRUE; } } } } } } } } } } } CLEAR_SCREEN_VIRTUAL(mainrsrc); if(tmprsrc!=NULL) update_diagnostic(tmprsrc,increment_diagnostic); ef=ADVSEQNRDsec(payddsv,SCRNvirtualSubData,mainrsrc); } if(tmprsrc!=NULL) { killwindow(tmprsrc); free_rsrc(tmprsrc); tmprsrc=NULL; } if(rs!=NULL) FreeRangeScreen(rs); if(SIZNRD(sortfile->fileno)) { OutputChecks(sortfile->fileno); } else { prterr("Error no Vendor Vouchers Selected for Check Printing."); } if(bankid1!=NULL) Rfree(bankid1); if(sortfile!=NULL) { CLSDBsort(sortfile); FreeDBsort(sortfile); } /* quitfunc(mainrsrc); */ }
void selectocccgl(RDArsrc *mainrsrc) { char Stemp[101],*pfix=NULL,*sfix=NULL,*e=NULL; char zfill=TRUE,*idx=NULL,deleteflag=FALSE,assigned=FALSE; int fromnum=0,tonum=0,x,len=0; RDArsrc *tmprsrc=NULL; int selyear=0,year=0,selgroup_no=0,group_no=0; short keyno=0; readallwidgets(mainrsrc); FINDRSCGETINT(mainrsrc,"CHARGE YEARS",&selyear); if(!RDAstrcmp(yearsavl->libs[selyear],"No Years")) return; FINDRSCGETINT(mainrsrc,"GROUP NUMBERS",&selgroup_no); if(!RDAstrcmp(grpsavl->libs[selgroup_no],"No Year Groups")) return; year=Ratoi(yearsavl->libs[selyear]); group_no=Ratoi(grpsavl->libs[selgroup_no]); FINDRSCGETINT(mainrsrc,"FROM NUMBER",&fromnum); FINDRSCGETINT(mainrsrc,"TO NUMBER",&tonum); if((tonum-fromnum)<1) return; FINDRSCGETCHAR(mainrsrc,"ZERO FILL",&zfill); FINDRSCGETSTRING(mainrsrc,"PREFIX",&pfix); FINDRSCGETSTRING(mainrsrc,"SUFFIX",&sfix); e=Rmalloc((RDAstrlen(pfix)*2)+(RDAstrlen(sfix)*2)+51); sprintf(e,"Create GROUP LIC NO's %s%d%s to %s%d%s", (pfix==NULL?"":pfix),fromnum,(sfix==NULL?"":sfix), (pfix==NULL?"":pfix),tonum,(sfix==NULL?"":sfix)); tmprsrc=odiagscrn("DIAGNOSTIC SCREEN",module,e,stop_diagnostic,(tonum-fromnum+1)); if(e!=NULL) Rfree(e); addDFincvir(tmprsrc,module,"OCCGLIC",NULL,occglic); GET_ALL_SCREEN_VIRTUALS(tmprsrc,0); if(tmprsrc!=NULL) { if(ADVmakescrn(tmprsrc,TRUE)) { prterr("Error Cannot Create Diagnostic Screen."); } else ForceWindowUpdate(tmprsrc); } memset(Stemp,0,101); sprintf(Stemp,"%d",tonum); len=RDAstrlen(Stemp); for(x=fromnum;x<(tonum+1);++x) { if(abort_diagnostic) break; memset(Stemp,0,101); if(zfill) sprintf(Stemp,"%0*d",len,x); else sprintf(Stemp,"%d",x); idx=Rmalloc(RDAstrlen(pfix)+RDAstrlen(sfix)+RDAstrlen(Stemp)+1); sprintf(idx,"%s%s%s",(pfix!=NULL ? pfix:""),Stemp, (sfix!=NULL ? sfix:"")); keyno=KEYNUMBER(occglic,"OCCGLIC KEY"); if(keyno<1) keyno=1; ZERNRD(occglic); FINDFLDSETINT(occglic,"CHARGE YEAR",year); FINDFLDSETINT(occglic,"GROUP NUMBER",group_no); FINDFLDSETSTRING(occglic,"LICENSE NUMBER",idx); /* LOCNRDFILE(occglic); */ if(ADVEQLNRDsec(occglic,1,SCRNvirtualSubData,tmprsrc)) { FINDFLDSETINT(occglic,"CHARGE YEAR",year); FINDFLDSETINT(occglic,"GROUP NUMBER",group_no); FINDFLDSETCHAR(occglic,"DELETEFLAG",deleteflag); FINDFLDSETCHAR(occglic,"ASSIGNED",assigned); WRTTRANS(occglic,0,NULL,NULL); if(tmprsrc!=NULL) update_diagnostic(tmprsrc,TRUE); } else { if(tmprsrc!=NULL) update_diagnostic(tmprsrc,FALSE); } if(idx!=NULL) Rfree(idx); /* UNLNRDFILE(occglic); */ } if(tmprsrc!=NULL) { killwindow(tmprsrc); free_rsrc(tmprsrc); } if(pfix!=NULL) Rfree(pfix); if(sfix!=NULL) Rfree(sfix); }