Caso você não tenha certeza se uma coluna existe ou não na DataWindow, uma das formas que você pode descobrir é utilizando o procedimento abaixo.
O processo é bem simples:
//Verificando se 1 coluna existe... //Variáveis string ls_test, ls_column, ls_result ls_column = 'report_copies' //Check the column.id property. // Describe returns the number of the column if the column exists. // Describe returns an exclamation point (!) if the column doesn't exist. //Verifica se a coluna existe... ls_test = dw_1.Describe(ls_column+'.id') If ls_test = '!' then //Coluna não existe. Describe retornou "!" ls_result = ls_column + ' (id='+ ls_test + ') ' + ': Coluna não existe.' else //Coluna existe! Describe retornou o Id da coluna. ls_result = ls_column + ' (id='+ ls_test + ') ' + ': Coluna existe.' end if //Mostra o resultado... MessageBox('Teste de coluna', ls_result)
*Update 21/11/2017*: Atendendo a sugestão do Armando, criei uma função (f_col_exist(dw, colname)) que você pode importar para a sua target e utilizar.
Ela retorna true se encontrar a coluna e false se não encontrar. Para utilizar, você deve informar dois argumentos:
- [datawindow] adw: A datawindow que será pesquisada
- [string] as_colname: String com o nome da coluna que você está procurando.
Você pode baixar a função no nosso github!
Dúvidas sobre o artigo? Sugestões? Precisa de ajuda com outra funcionalidade do PowerBuilder? Deixe um comentário.
The following two tabs change content below.
Arquiteto de Software e Desenvolvedor Backend (quase Fullstack), geralmente trabalho com C#, PowerShell, Python, Golang, bash e Unity (esse é mais por hobby). Estou sempre buscando algo novo para aprender, adicionando novas ferramentas ao meu cinto de utilidades.
Latest posts by Breno RdV (see all)
- O que é Metaclass e como ela funciona. (#python #dev #metaclass) - janeiro 11, 2023
- Entenda a mágica dos Generators. (#python, #dev, #generator, #iterator) - dezembro 28, 2022
- Ordenando um DataFrame por múltiplas colunas. (#python #pandas #jupyter #dev #data) - agosto 3, 2022