Pf para SQL

Discussão em 'Banco de Dados / Database' iniciado por coliveira, Março 4, 2009.

  1. coliveira

    coliveira Sem Pontuação

    Eu tenho uma pf em progress, e preciso gerar a pf para importar no schema holder e o sql.
    Ou seja, converter a PF para SQL.
    Tem uma ferramenta que faz isso no progress mesmo mas nao lembro qual é.

    Alguem poderia me ajudar ?
  2. fdantas

    fdantas Administrator Moderador

    Veja se isso ajuda

    Código:
    INPUT  STREAM ss_infile  FROM {&infile}.
    OUTPUT STREAM ss_outfile TO   {&outfile}.
    
    VIEW FRAME fr_status.
    
    REPEAT WITH WIDTH 260:
        IMPORT STREAM ss_infile UNFORMATTED pv_line.
    
        ASSIGN pv_read = pv_read + 1
               pv_read:SCREEN-VALUE IN FRAME fr_status = STRING(pv_read,
    pv_read:FORMAT).
    
        IF INDEX(pv_line, "ADD DATABASE") > 0 THEN
            ASSIGN pv_line = "UPDATE DATABASE ""?""".
        ELSE
            ASSIGN pv_line = REPLACE(pv_line, "TYPE AS400", "")
                   pv_line = REPLACE(pv_line, "TYPE ORACLE", "")
                   pv_line = REPLACE(pv_line, "TYPE MSS", "")
                   pv_line = REPLACE(pv_line, "TYPE ODBC", "").
    
        
        IF SUBSTRING(pv_line,1,12) = "  QUALIFIER" 
          OR SUBSTRING(pv_line,1,5)  = "  VAL" 
          OR SUBSTRING(pv_line,1,6)  = "  DSRV"
          OR SUBSTRING(pv_line,1,8)  = "  DBNAME"
          OR SUBSTRING(pv_line,1,8)  = "  LENGTH"
          OR SUBSTRING(pv_line,1,8)  = "  SHADOW" 
          OR SUBSTRING(pv_line,1,8)  = "  DRIVER" 
          OR SUBSTRING(pv_line,1,9)  = "  FOREIGN" 
          OR SUBSTRING(pv_line,1,9)  = "  DB-MISC" 
          OR SUBSTRING(pv_line,1,9)  = "  DRIVER-"    
          OR SUBSTRING(pv_line,1,10) = "  SEQ-MISC"    
          OR SUBSTRING(pv_line,1,11) = "  FILE-MISC"        
          OR SUBSTRING(pv_line,1,11) = "  INDEX-NUM"        
          OR SUBSTRING(pv_line,1,12) = "  FIELD-MISC"       
          OR SUBSTRING(pv_line,1,13) = "  HIDDEN-FLDS"      
          OR SUBSTRING(pv_line,1,13) = "  QUOTED-NAME"      
          OR SUBSTRING(pv_line,1,13) = "  RECID-INDEX"      
          OR SUBSTRING(pv_line,1,13) = "  ESCAPE-CHAR"      
          OR SUBSTRING(pv_line,1,14) = "  DB-LINK-NAME"     
          OR SUBSTRING(pv_line,1,14) = "  DBMS-VERSION"     
          OR SUBSTRING(pv_line,1,15) = "  CODEPAGE-NAME"    
          OR SUBSTRING(pv_line,1,16) = "  FLD-NAMES-LIST"   
          OR SUBSTRING(pv_line,1,16) = "  RECID-FLD-NAME"   
          OR SUBSTRING(pv_line,1,16) = "  PROGRESS-RECID"   
          OR SUBSTRING(pv_line,1,16) = "  INDEX-FREE-FLD"   
          OR SUBSTRING(pv_line,1,16) = "  CASE-SENSITIVE"   
          OR SUBSTRING(pv_line,1,17) = "  MISC-PROPERTIES"  
          OR SUBSTRING(pv_line,1,18) = "  PROGRESS-VERSION" 
                THEN NEXT.
       
    
        DISPLAY STREAM ss_outfile pv_line NO-LABEL WITH FRAME fr_outfile.
    
        DOWN WITH FRAME fr_outfile.
    
        ASSIGN pv_wrote = pv_wrote + 1
               pv_wrote:SCREEN-VALUE IN FRAME fr_status = STRING(pv_wrote,
    pv_wrote:FORMAT).
    END.
    
    INPUT  STREAM ss_infile  CLOSE.
    OUTPUT STREAM ss_outfile CLOSE.
    
    

Compartilhe esta Página