FWMBrowse x Tabela Temporária x SX5
A função abaixo é para montar a estrutura da tabela SX5 no browse e exibir o registros caso houver.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
Static Function AGPE001TRB() Local aTam := {} Local aCampos := {} Local cQuery := "" If Select('TRB') > 0 TRB->(dbCloseArea()) Endif aTam:= TamSX3("X5_TABELA") Aadd(aCampos,{"X5_TABELA","C",aTam[1],aTam[2]}) aTam:= TamSX3("X5_CHAVE") Aadd(aCampos,{"X5_CHAVE","C",aTam[1],aTam[2]}) aTam:= TamSX3("X5_DESCRI") Aadd(aCampos,{"X5_DESCRI","C",aTam[1],aTam[2]}) aTam:= TamSX3("X5_DESCSPA") Aadd(aCampos,{"X5_DESCSPA","C",aTam[1],aTam[2]}) aTam:= TamSX3("X5_DESCENG") Aadd(aCampos,{"X5_DESCENG","C",aTam[1],aTam[2]}) If (Select("TRB") <> 0) dbSelectArea("TRB") TRB->(dbCloseArea ()) Endif cArqTRB := CriaTrab(aCampos,.T.) DbUseArea(.T.,,cArqTRB,"TRB",.T.) dbSelectArea( "TRB" ) IndRegua( "TRB", cArqTRB+"1", "X5_CHAVE" ,,,"Codigo" ) IndRegua( "TRB", cArqTRB+"2", "X5_DESCRI" ,,,"Nome" ) IndRegua( "TRB", cArqTRB+"3", "X5_DESCSPA",,,"Localidade" ) dbClearIndex() dbSetIndex( cArqTRB+"1" + OrdBagExt() ) dbSetIndex( cArqTRB+"2" + OrdBagExt() ) dbSetIndex( cArqTRB+"3" + OrdBagExt() ) TRB->(DbSetOrder(1)) TRB->(DbGotop()) cQuery := " SELECT X5_TABELA, X5_CHAVE, X5_DESCRI, X5_DESCSPA, X5_DESCENG " cQuery += " FROM " + RetSQLName("SX5") + " SX5" cQuery += " WHERE SX5.D_E_L_E_T_ = ' ' " cQuery += " AND X5_FILIAL = '" + xFilial("SX5") + "' " cQuery += " AND X5_TABELA = 'ZL' " cQuery += " AND X5_CHAVE <> '' " cQuery += " ORDER BY X5_CHAVE " If (Select("TRBSX5") <> 0) dbSelectArea("TRBSX5") TRBSX5->(dbCloseArea ()) Endif cQuery := ChangeQuery(cQuery) DbUseArea(.T., "TOPCONN", TCGenQry(,,cQuery), 'TRBSX5', .F., .T.) DbSelectArea("TRBSX5") DbGotop() While TRBSX5->(!Eof()) RecLock("TRB",.T.) TRB->X5_TABELA := TRBSX5->X5_TABELA TRB->X5_CHAVE := TRBSX5->X5_CHAVE TRB->X5_DESCRI := TRBSX5->X5_DESCRI TRB->X5_DESCSPA := TRBSX5->X5_DESCSPA TRB->X5_DESCENG := TRBSX5->X5_DESCENG TRB->(MsUnLock()) TRBSX5->(DbSkip()) EndDo TRBSX5->(dbCloseArea()) Return |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
Static Function ExisteGestor(cCodigo) Local lRet := .F. Local cArea := GetArea() Local cTmpSRA := GetNextAlias() IF SELECT(cTmpSRA) # 0 (cTmpSRA)->(dbCloseArea()) ENDIF BeginSql Alias cTmpSRA SELECT RA_ZZGESTO FROM %Table:SRA% SRA WHERE SRA.D_E_L_E_T_ = ' ' AND RA_FILIAL = %xFilial:SRA% AND RA_ZZGESTO = %Exp:cCodigo% EndSql dbSelectArea(cTmpSRA) If (cTmpSRA)->(!Eof()) lRet := .T. EndIf RestArea(cArea) Return(lRet) |
Se conhece uma forma mais simples, compartilhe com a gente, Let’s Share!