Passar temp-table vazia para upc e retornar com registros

Discussão em 'Progress 4GL' iniciado por felipeett, Fevereiro 28, 2013.

  1. felipeett

    felipeett Sem Pontuação

    Meu problema é o seguinte, tenho uma bo que em um determinado ponto cria registros dentro da temp-table1 conforme as condições do programa, porém os registros não estão sendo criados de maneira natural devido as condições do programa. Preciso criar um ponto EPC que passe o handle da temp-table2 que possui registros, até aí sem problemas, para que apartir do handle dessa temp-table2 eu possa alimentar minha outra temp-table1 que esta vazia e, depois devolver essa temp-table1 que estava vazia para a bo com os registros que foram alimentados na upc.

    Alguém possui algum fonte com exemplos de como posso fazer isso?
  2. ChacMaster

    ChacMaster Membro Participativo

    Felipe,

    da uma olhadinha se é isto que tu precisa :


    Código:
    Define Temp-table tt-1 No-undo
        Field campo As Character.
    
    Define Temp-table tt-2 No-undo
        Field campo As Character.
    
    Define Variable i-1 As Integer No-undo.
    
    Do i-1 = i-1 + 1 To 10:
        Create tt-2.
        Assign tt-2.campo = String(i-1).
    End.
    
    
    Define Variable h-1 As Handle No-undo.
    Define Variable h-2 As Handle No-undo.
    Define Variable b-1 As Handle No-undo.
    Define Variable b-2 As Handle No-undo.
    
    
    Assign h-1 = Temp-table tt-1:Handle
           h-2 = Temp-table tt-2:Handle.
    
    
    Assign b-1 = h-1:Default-buffer-handle
           b-2 = h-2:Default-buffer-handle.
    
    Define Variable qh As Handle    No-undo.
    
    Create Query qh. 
    qh:Set-buffers(b-2).
    qh:Query-prepare("For Each " + h-2:Name).
    qh:Query-open().
    qh:Get-first(). 
    
    Repeat:
        IF qh:Query-off-end Then Leave.
        b-1:BUFFER-CREATE.  
        b-1:BUFFER-COPY(b-2).
        qh:Get-next.
    End.
        
    For Each tt-1:
        Disp tt-1.
    End.
    
    
  3. felipeett

    felipeett Sem Pontuação

    Acho que talvez isso resolveria, mas acabei alterando a declaração da temp-table para global, daí resolveu o problema.

    obrigado..

Compartilhe esta Página