Boa tarde, na aplicação a seguir eu gostaria de unir duas temp-table, pois farei duas consultar no banco e preciso que seja retornado um unico dataset com estas duas consultas. Código: Código: FOR EACH pim_aprovador WHERE pim_aprovador.pim_ccusto = "70100" AND pim_aprovador.pim_cod_estab = "uju" AND pim_aprovador.pim_dt_fim = ? AND pim_aprovador.pim_nivel > 1 NO-LOCK : CREATE tt_teste_um. ASSIGN tt_teste_um.cCodAprovCc = string(pim_aprovador.pim_cod_usuario). DISP tt_teste_um. END. Na segunda condição vou fazer a mesma consulta só que com um ccusto diferente: Código: FOR EACH pim_aprovador WHERE pim_aprovador.pim_ccusto = "50600" AND pim_aprovador.pim_cod_estab = "uju" AND pim_aprovador.pim_dt_fim = ? AND pim_aprovador.pim_nivel > 1 NO-LOCK : CREATE tt_teste_dois. ASSIGN tt_teste_dois.cCodAprovCc = string(pim_aprovador.pim_cod_usuario). DISP tt_teste_dois. END. Preciso unir estas duas temp-table e ter em mãos os dois valores armazenado nelas. Alguém sabe como posso fazer isso? Agradeço desde já a atenção.
Deve ter alguma coisa à mais nesses exemplos acima mas, se for apenas isso, acho que fica mais simples fazer uma passada única. PHP: FOR EACH pim_aprovador WHERE (pim_aprovador.pim_ccusto = "50600" OR pim_aprovador.pim_ccusto = "70100") AND pim_aprovador.pim_cod_estab = "uju" AND pim_aprovador.pim_dt_fim = ? AND pim_aprovador.pim_nivel > 1 NO-LOCK: FIND FIRST tt WHERE tt.cCodAprovCc = STRING(pim_aprovador.pim_cod_usuario) NO-ERROR. IF NOT AVAILABLE tt THEN DO: CREATE tt. ASSIGN tt.cCodAprovCc = STRING(pim_aprovador.pim_cod_usuario). END.END. Mas se precisar mesmo fazer em duas passadas, use a mesma temp para ambas. PHP: FOR EACH pim_aprovador WHERE pim_aprovador.pim_ccusto = "50600" AND pim_aprovador.pim_cod_estab = "uju" AND pim_aprovador.pim_dt_fim = ? AND pim_aprovador.pim_nivel > 1 NO-LOCK: FIND FIRST tt WHERE tt.cCodAprovCc = STRING(pim_aprovador.pim_cod_usuario) NO-ERROR. IF NOT AVAILABLE tt THEN DO: CREATE tt. ASSIGN tt.cCodAprovCc = STRING(pim_aprovador.pim_cod_usuario). END.END.FOR EACH pim_aprovador WHERE pim_aprovador.pim_ccusto = "70100" AND pim_aprovador.pim_cod_estab = "uju" AND pim_aprovador.pim_dt_fim = ? AND pim_aprovador.pim_nivel > 1 NO-LOCK: FIND FIRST tt WHERE tt.cCodAprovCc = STRING(pim_aprovador.pim_cod_usuario) NO-ERROR. IF NOT AVAILABLE tt THEN DO: CREATE tt. ASSIGN tt.cCodAprovCc = STRING(pim_aprovador.pim_cod_usuario). END.END. De toda forma, usar a mesma temp resolveria o teu problema.