#DEFINE ARQ_GERAID "gw_gera_id" FUNCTION _st_Gw_GeraId (tcCampo) LOCAL lnId,lcArq,lcTabela,lnRepro,llBuff LOCAL loSession,lnOldSession,lnIdSession,lcOldError,m.lcPathDbc,m.lcPathOld m.lcOldError = ON("ERROR") m.lnOldSession = SET("Datasession") m.loSession = CREATEOBJECT("Session") m.lnIdSession = loSession.DataSessionId m.lcTabela = ALIAS() m.lcPathDbc = ADDBS(JUSTPATH( DBC() )) && -->NOVO m.lcPathOld = ADDBS(SYS(5)+SYS(2003)) && --> novo IF EMPTY(lcPathDbc) AND !EMPTY(lcTabela) && --> novo lcPathDbc = ADDBS(JUSTPATH( DBF() )) && --> novo ENDIF ON ERROR DO _geraId_error WITH ERROR() SET DATASESSION TO m.lnIdSession CD &lcPathDbc && --> novo IF !USED(ARQ_GERAID) USE ARQ_GERAID IN 0 SHARED ENDIF SELECT ARQ_GERAID GO TOP *** * *** CD &lcPathOld && --> novo SET REPROCESS TO m.lnRepro SET DATASESSION TO m.lnOldSession RELEASE loSession IF NOT EMPTY(m.lcTabela) SELECT (lcTabela) ENDIF ON ERROR &lcOldError RETURN lnId ENDFUNC>Alow Alow PCC!