>LPARAMETERS tccustid, tcshipid, tcpn >LOCAL lcConid, lnSelect, lcKey1, lcKey2, lnStart, lcExact, lcError, lcString > >lcError = ON("ERROR") >ON ERROR >lcExact = SET("EXACT") >SET EXACT OFF > >lnSelect = SELECT() >lcConid = SPACE(0) >lnStart = SECONDS() > >IF TYPE("GLDEV") = "L" AND GLDEV > SET STEP ON >ENDIF > >USE edisd SHARED AGAIN IN 0 ALIAS q_edisd >USE edish SHARED AGAIN IN 0 ALIAS q_edish > >lcKey1 = PADR(ALLTRIM(tccustid),FSIZE("SH_CCODE","Q_EDISH")); > +PADR(ALLTRIM(tcshipid),FSIZE("SH_CSHIPID","Q_EDISH")); > +PADR(ALLTRIM(tcpn),FSIZE("SH_CPN","Q_EDISH")) > > >lcKey2 = PADR(ALLTRIM(tccustid),FSIZE("SD_CCODE","Q_EDISD")); > +PADR(ALLTRIM(tcshipid),FSIZE("SD_CSHIPID","Q_EDISD")); > +PADR(ALLTRIM(tcpn),FSIZE("SD_CPN","Q_EDISD")) > >lcStatusfile = "c:\status.txt" >IF !FILE(lcStatusfile) > LIST STATUS TO FILE &lcStatusfile >ENDIF > >SELECT MAX(sH_dissue), sH_cPON FROM q_edish; > WHERE sh_ccode + sh_cshipid + sh_cpn + DTOS(sH_dissue) = lcKey1; > INTO CURSOR q_conid >lcString = lcKey1 + ":" + lcKey2 + ":" > >IF _TALLY = 0 OR EMPTY(sH_cPON) > lcKey2 = PADR(ALLTRIM(tccustid),FSIZE("SD_CCODE","Q_EDISD")); > +PADR(ALLTRIM(tcshipid),FSIZE("SD_CSHIPID","Q_EDISD")); > +PADR(ALLTRIM(tcpn),FSIZE("SD_CPN","Q_EDISD")) > SELECT MAX(sd_dissue), sd_cran FROM q_edisd; > WHERE sd_ccode + sd_cshipid + sd_cpn + DTOS(sd_dissue) = lcKey2; > INTO CURSOR q_conid > IF _TALLY > 0 > lcConid = q_conid.sd_cran > lcString = lcString + "by Key2" + ":" > ENDIF >ELSE > lcString = lcString + "by Key1" + ":" > lcConid = q_conid.sH_cPON >ENDIF > >lcString = lcString + lcConid + ":" + ALLTRIM(DBF("q_edish")) + ":" + ALLTRIM(DBF("q_edisd")) + CHR(13) > >USE IN q_conid >USE IN q_edisd >USE IN q_edish > > >=STRTOFILE(lcString,"C:\f_getconid2.txt",.T.) > >SET EXACT &lcExact >ON ERROR &lcError > >SELECT(lnSelect) >RETURN lcConid > >>