Erro na base de dados Progress

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

  1. AndersonApdo

    AndersonApdo Membro Participativo

    Boa tarde, gostaria de uma dica, a aplicação que estou trabalhando esta dando o seguinte erro:

    [13/02/28@13:27:17.121-0300] P-008088 T-000864 1 AS -- (Procedure: 'pim_rel_pedido.p' Line:269) Error occurred while accessing component property/method: CommandText.
    [13/02/28@13:27:17.121-0300] P-008088 T-000864 1 AS -- (Procedure: 'pim_rel_pedido.p' Line:269) Type mismatch.
    [13/02/28@13:27:17.121-0300] P-008088 T-000864 1 AS -- (Procedure: 'pim_rel_pedido.p' Line:269) Error code: 0x80020009 pim_rel_pedido.p (5890)
    [13/02/28@13:27:17.121-0300] P-008088 T-000864 1 AS -- (Procedure: 'pim_rel_pedido.p' Line:269) Unable to set com-handle property. (5677)


    O relatório que o erro se refere é o seguinte:

    Código:
     /******************************************************************************
       
       Programa: pim/pim_rel_transferencia.p
       Data....: 22/09/2008
       Autor...: Mariza Ramos Pereira
       Objetivo: busca o pedido de acordo com o codigo
       DLL     : .dll
       Parƒmetros:
       
            Entrada:
               
               
            Sa¡da: 
               
       
       Altera‡äes:
            Data:
            Objetivo:
            Autor:
    
    *******************************************************************************/                                               
    DEFINE INPUT PARAMETER piiCod_pedido           AS INTEGER.
    DEFINE INPUT PARAMETER piiCod_usuario             AS INTEGER.
    DEFINE OUTPUT PARAMETER pocErro                 AS CHAR FORMAT "X(50)".
    
    /*
    DEFINE var piiCod_pedido           AS INTEGER initial 1.
    DEFINE var piiCod_usuario             AS INTEGER initial 1742.
    DEFINE var pocErro                 AS CHAR FORMAT "X(50)".
    */
    
    
    /******************** sql******************************/
    
    
    
    
    DEFINE VARIABLE ObjRecordSet           AS COM-HANDLE                 NO-UNDO.
    DEFINE VARIABLE ObjConnection          AS COM-HANDLE                 NO-UNDO.
    DEFINE VARIABLE ObjCommand             AS COM-HANDLE                 NO-UNDO.
    
    DEFINE VARIABLE ADO-DRIVER             AS CHARACTER                  NO-UNDO.
    DEFINE VARIABLE ADO-CONNEC             AS CHARACTER                  NO-UNDO.
    
    CREATE "ADODB.Connection" ObjConnection.
    CREATE "ADODB.RecordSet"  ObjRecordSet.
    CREATE "ADODB.Command"    ObjCommand.
    
    DEFINE VARIABLE ADO-query    AS CHARACTER  NO-UNDO.
    DEFINE VARIABLE ADO-null     AS CHARACTER  NO-UNDO.
    DEFINE VARIABLE ADO-RECCOUNT AS INTEGER    NO-UNDO.
    
    DEFINE VARIABLE Desc_item_pim AS CHARACTER.
    DEFINE VARIABLE cod_ems AS CHARACTER.
    DEFINE VARIABLE desc_item_ems AS CHARACTER.
    DEFINE VARIABLE desc_projeto AS CHARACTER.
    DEFINE VARIABLE desc_ccusto AS CHARACTER.
    DEFINE VARIABLE desc_ccusto_elab AS CHARACTER.
    DEFINE VARIABLE UN AS CHARACTER.
          
    {include/i-freeac.i}
          
           
    ASSIGN pocErro = "OK".
    
    FIND pim_pedido where 
         pim_pedido.pim_ped_codigo = piiCod_pedido and
         pim_pedido.pim_situacao <> "E"  no-lock no-error.
    
    IF AVAIL pim_pedido then do:
    
        FIND FIRST emsuni.ccusto WHERE 
                   emsuni.ccusto.cod_ccusto = pim_pedido.pim_ccusto NO-LOCK NO-ERROR.
        if avail emsuni.ccusto then assign desc_ccusto = pim_pedido.pim_ccusto + " - " + emsuni.ccusto.des_tit_ctbl.
        else assign desc_ccusto = "".               
    
    
        FIND FIRST emsuni.ccusto WHERE 
                   emsuni.ccusto.cod_ccusto = pim_pedido.pim_ccusto_elab NO-LOCK NO-ERROR.
        if avail emsuni.ccusto then assign desc_ccusto_elab = pim_pedido.pim_ccusto_elab + " - " + emsuni.ccusto.des_tit_ctbl.
        else assign desc_ccusto_elab = "".               
             
             
        if pim_pedido.pim_cod_projeto > 0 then do:         
            FIND es-projeto WHERE 
                 es-projeto.cod-estabel = pim_pedido.pim_cod_estab  and
                 es-projeto.cod-proj = pim_pedido.pim_cod_projeto no-lock no-error.
            if avail es-projeto then assign desc_projeto = STRING(pim_pedido.pim_cod_projeto) + " - " + es-projeto.projeto.
            else assign desc_projeto = "".             
        end.             
    
        
        FIND pim_objetivo WHERE 
             pim_objetivo.pim_obj_codigo = pim_pedido.pim_obj_codigo NO-LOCK NO-ERROR.               
        
    
        /* =================================================================================================================================== */
        /* ======================================================= SQL SERVER ================================================================ */
        /* =================================================================================================================================== */
        
    
       
    /*    ASSIGN                                                              */
    /*        ADO-DRIVER = "'DRIVER=" + chr(123) + "SQL Server}"              */
    /*                    + ";HOST="   + "xxxx"                           */
    /*                    + ";PORT="   + "xxxx"                               */
    /*                    + ";UID="    + "xxxx"                           */
    /*                    + ";PWD="    + "xxxx" + "'"                     */
    /*        ADO-CONNEC = "Provider=MSDASQL.1;Persist Security Info=True"    */
    /*                    + ";Extended Properties=" + ADO-DRIVER              */
    /*                    + ";Server=" + "UAAWEB02".                          */
    /*                                                                        */
    /*    ObjConnection:OPEN(ADO-CONNEC, "intranet", "intranet", 0) NO-ERROR. */
    /*                                                                        */
    /*                                                                        */
    /*     /* Check for connection errors */                                  */
    /*     IF (ERROR-STATUS:NUM-MESSAGES > 0)                                 */
    /*         THEN do:                                                       */
    /*            ASSIGN pocErro = "Problemas na conex’o com o SqlServer!".   */
    /*            RETURN.                                                     */
    /*         END.                                                           */
        
         ASSIGN
        ADO-DRIVER = "'DRIVER=" + chr(123) + "SQL Server}"
                    + ";HOST="   + "xxxx"
                    + ";PORT="   + "xxxx"
                    + ";UID="    + "xxxx"
                    + ";PWD="    + "xxxx" + "'"
        ADO-CONNEC = "Provider=MSDASQL.1;Persist Security Info=True"
                    + ";Extended Properties=" + ADO-DRIVER
                    + ";Server=" + "UAARPT01;Initial Catalog=INTRANET".
                        
        ObjConnection:OPEN(ADO-CONNEC, "usrintranet", "intranet", 0) NO-ERROR.
        
        /* Check for connection errors */
        IF (ERROR-STATUS:NUM-MESSAGES > 0) 
            THEN do:
               pocErro = "Problemas na conex’o com o SqlServer!".
               RETURN.
            END.      
    
    
        /*Deletando os registros existentes */
    
        /*Pedidos da composi‡Æo*/
        ASSIGN
            ADO-query                    = "DELETE FROM PIM.PIM_PEDIDO WHERE USUARIO = " + string(piiCod_Usuario)
            ObjCommand:ActiveConnection  = ObjConnection                                                                                            
            ObjCommand:CommandText       = ADO-Query
            ObjRecordSet                 = ObjCommand:EXECUTE(OUTPUT ADO-NULL,"",32).
    
    
    
        /*Populando a tabela*/                  
        ObjConnection:CLOSE NO-ERROR.  
        
        
    
        for each pim_pedido_item where pim_pedido_item.pim_ped_codigo = piiCod_pedido and
                                       pim_pedido_item.pim_ite_status <> "E" no-lock:
                                       
            ASSIGN Desc_item_pim = ""
                   cod_ems = ""
                   desc_item_ems = ""
                   UN = "".
                                           
            find pim_item where pim_item.pim_ite_codigo = pim_pedido_item.pim_ite_codigo no-lock no-error.
            find item where item.it-codigo = pim_pedido_item.pim_codems no-lock no-error.                                   
            
           if avail pim_item 
              then assign Desc_item_pim = pim_item.pim_ite_descricao.
              else assign Desc_item_pim = "".
    
    
           if pim_pedido_item.pim_ite_codigo > 0 
              then assign cod_ems = pim_item.pim_ite_codems.
              else assign cod_ems = pim_pedido_item.pim_codems.
    
           if avail item 
              then assign desc_item_ems = item.desc-item.
              else assign desc_item_ems = "".      
    
           if pim_pedido_item.pim_ite_codigo > 0 
              then assign UN = pim_item.pim_un.
              else assign UN = item.un.
            
        ASSIGN
        ADO-DRIVER = "'DRIVER=" + chr(123) + "SQL Server}"
                    + ";HOST="   + "xxxx"
                    + ";PORT="   + "xxxx"
                    + ";UID="    + "xxxx"
                    + ";PWD="    + "xxxx" + "'"
        ADO-CONNEC = "Provider=MSDASQL.1;Persist Security Info=True"
                    + ";Extended Properties=" + ADO-DRIVER
                    + ";Server=" + "UAARPT01;Initial Catalog=INTRANET".
                        
        ObjConnection:OPEN(ADO-CONNEC, "usrintranet", "intranet", 0) NO-ERROR.
            
            ASSIGN ADO-Query    = "INSERT INTO PIM.PIM_PEDIDO ( USUARIO, 
                                                                PIM_PED_CODIGO, 
                                                                PIM_PED_DATA, 
                                                                PIM_PED_PRAZO, 
                                                                PIM_PED_RESUMO,
                                                                PIM_PED_OBS, 
                                                                PIM_PED_TIPO, 
                                                                PIM_COD_PROJETO, 
                                                                PIM_DESC_PROJETO, 
                                                                PIM_CCUSTO, 
                                                                PIM_DESC_CCUSTO , 
                                                                PIM_CCUSTO_ELAB, 
                                                                PIM_DESC_CCUSTO_ELAB, 
                                                                PIM_CCELAB_RESPCOD  , 
                                                                PIM_ORC, 
                                                                PIM_COD_ESTAB , 
                                                                PIM_OBJ_CODIGO, 
                                                                PIM_OBJ_DESCRICAO, 
                                                                PIM_RESP_CODIGO, 
                                                                PIM_ELAB_CODIGO, 
                                                                PIM_PIT_SEQ, 
                                                                PIM_ITE_CODIGO, 
                                                                PIM_ITE_DESCRICAO, 
                                                                PIM_ITE_CODEMS, 
                                                                PIM_ENVIA_EMAIL, 
                                                                PIM_EMAIL, 
                                                                DESC_ITEM, 
                                                                PIM_PIT_QTDE, 
                                                                PIM_UN, 
                                                                PIM_DESCRICAO, 
                                                                PIM_OC, 
                                                                PIM_ULTIMA_COMPRA, 
                                                                PIM_ULTIMO_VALOR, 
                                                                PIM_ORIGINAL, 
                                                                PIM_PATRIMONIO, 
                                                                PIM_COD_ESTAB_DEST, 
                                                                PIM_COD_DESTINO, 
                                                                PIM_OS)  
                                                 VALUES (" +  STRING(piiCod_Usuario) + "," +
                                                              STRING(pim_pedido.pim_ped_codigo) + ",'" +
                                                              STRING(pim_pedido.pim_ped_data, "99/99/9999")  + "','" +
                                                              STRING(pim_pedido.pim_ped_prazo, "99/99/9999") + "','" +
                                                              fn-free-accent(REPLACE(pim_pedido.pim_ped_resumo, "'", "")) + "','" +                                                                                                  
                                                              fn-free-accent(REPLACE(pim_pedido.pim_ped_obs, "'", "")) + "','" +
                                                              pim_pedido.pim_ped_tipo + "'," +
                                                              STRING(pim_pedido.pim_cod_projeto) + ",'" +
                                                              fn-free-accent(REPLACE(desc_projeto, "'", "")) + "','" +
                                                              pim_pedido.pim_ccusto + "','" +
                                                              desc_ccusto + "','" +
                                                              pim_pedido.pim_ccusto_elab + "','" +
                                                              desc_ccusto_elab + "'," +  
                                                              STRING(pim_pedido.pim_elaresp_codigo) + ",'"  + 
                                                              fn-free-accent(REPLACE(pim_pedido.pim_orcamento, "'", "")) + "','" +
                                                              pim_pedido.pim_cod_estab + "'," +     
                                                              STRING(pim_pedido.pim_obj_codigo) + ",'" + 
                                                              fn-free-accent(REPLACE(pim_objetivo.pim_obj_descricao, "'", "")) + "', " +
                                                              STRING(pim_pedido.pim_resp_codigo) + ", " + 
                                                              STRING(pim_pedido.pim_elab_codigo) + ", " +
                                                              STRING(pim_pedido_item.pim_pit_seq)  + ", " +
                                                              STRING(pim_pedido_item.pim_ite_codigo)  + ",'" + 
                                                              fn-free-accent(REPLACE(Desc_item_pim, "'", "")) + "','" +                                                                               
                                                              cod_ems + "','" +
                                                              pim_envia_email + "','" +
                                                              pim_email + "',' " +                                                                                                  
                                                              fn-free-accent(REPLACE(Desc_item_ems, "'", "")) + "', " +
                                                              SUBSTRING(STRING(pim_pedido_item.pim_pit_qtde * 100,"->>>>>>>>>>>>>>>>999"),1,18) +  "." + SUBSTRING(STRING(pim_pedido_item.pim_pit_qtde * 100,"->>>>>>>>>>>>>>>>999"),19,2) + ",'" +
                                                              un + "','" +
                                                              fn-free-accent(REPLACE(pim_pedido_item.pim_descricao, "'", "")) +  "','" +
                                                              STRING(pim_pedido_item.pim_oc) + "','" + 
                                                              STRING(pim_pedido_item.pim_ite_ultima_compra) + "'," +  
                                                              SUBSTRING(STRING(pim_pedido_item.pim_ite_ultimo_valor * 100,"->>>>>>>>>>>>>>>>999"),1,18) +  "." + SUBSTRING(STRING(pim_pedido_item.pim_ite_ultimo_valor * 100,"->>>>>>>>>>>>>>>>999"),19,2) + ",'" +
                                                              pim_pedido_item.pim_ite_original + "','" +
                                                              pim_pedido_item.pim_ite_patrimonio + "','" +
                                                              pim_pedido_item.pim_ite_cod_estab_destino + "'," +
                                                              STRING(pim_pedido_item.pim_ite_cod_destino)+ ",'" +
                                                              STRING(pim_pedido_item.pim_ite_os) + "')"     
    
    
    
                     ObjCommand:ActiveConnection  = ObjConnection 
                     ObjCommand:CommandText       = ADO-Query
                     ObjRecordSet                 = ObjCommand:EXECUTE(OUTPUT ADO-NULL,"",32)NO-ERROR.
    
                     ObjConnection:CLOSE NO-ERROR.                                                                                                                            
        
        END.   
        
    
        
        /*Fechando a conex’o com o SQL*/
        ObjConnection:CLOSE NO-ERROR.
    
        /*Apagando os objetos da mem½ria */
        RELEASE OBJECT ObjConnection NO-ERROR.
        RELEASE OBJECT ObjCommand    NO-ERROR.
        RELEASE OBJECT ObjRecordSet  NO-ERROR.
    
        ASSIGN ObjConnection = ? 
               ObjCommand    = ? 
               ObjRecordSet  = ?.
    
    
    END.
    ELSE DO:
        ASSIGN pocErro = " NÆo encontrado pedido com o c¢digo informado! ".
        RETURN.
    END.
        
        
    
    Alguém aí já passou por esse tipo de problema?
  2. AndersonApdo

    AndersonApdo Membro Participativo

    Boa tarde pessoal, ninguém nunca passou por esse tipo de erro?
  3. ChacMaster

    ChacMaster Membro Participativo

    Posso tentar lhe ajudar Anderson,

    mas no erro esta : (Procedure: 'pim_rel_pedido.p'
    e você postou o programa pim/pim_rel_transferencia.p.....
  4. AndersonApdo

    AndersonApdo Membro Participativo

    Bom dia, vou verificar.
  5. AndersonApdo

    AndersonApdo Membro Participativo

    Bom dia ChacMaster. É esta mesmo, é que o nome esta diferente lá em cima, mas o código que eu postei é da rel_pedido.p
  6. ChacMaster

    ChacMaster Membro Participativo

    Tenta assim:

    Código:
    /******************************************************************************
       
       Programa: pim/pim_rel_transferencia.p
       Data....: 22/09/2008
       Autor...: Mariza Ramos Pereira
       Objetivo: busca o pedido de acordo com o codigo
       DLL     : .dll
       Parƒmetros:
       
            Entrada:
               
               
            Sa¡da: 
               
       
       Altera‡äes:
            Data:
            Objetivo:
            Autor:
    
    *******************************************************************************/                                               
    DEFINE INPUT PARAMETER piiCod_pedido           AS INTEGER.
    DEFINE INPUT PARAMETER piiCod_usuario             AS INTEGER.
    DEFINE OUTPUT PARAMETER pocErro                 AS CHAR FORMAT "X(50)".
    
    /*
    DEFINE var piiCod_pedido           AS INTEGER initial 1.
    DEFINE var piiCod_usuario             AS INTEGER initial 1742.
    DEFINE var pocErro                 AS CHAR FORMAT "X(50)".
    */
    
    
    /******************** sql******************************/
    
    
    
    
    DEFINE VARIABLE ObjRecordSet           AS COM-HANDLE                 NO-UNDO.
    DEFINE VARIABLE ObjConnection          AS COM-HANDLE                 NO-UNDO.
    DEFINE VARIABLE ObjCommand             AS COM-HANDLE                 NO-UNDO.
    
    DEFINE VARIABLE ADO-DRIVER             AS CHARACTER                  NO-UNDO.
    DEFINE VARIABLE ADO-CONNEC             AS CHARACTER                  NO-UNDO.
    
    CREATE "ADODB.Connection" ObjConnection.
    CREATE "ADODB.RecordSet"  ObjRecordSet.
    CREATE "ADODB.Command"    ObjCommand.
    
    DEFINE VARIABLE ADO-query    AS CHARACTER  NO-UNDO.
    DEFINE VARIABLE ADO-null     AS CHARACTER  NO-UNDO.
    DEFINE VARIABLE ADO-RECCOUNT AS INTEGER    NO-UNDO.
    
    DEFINE VARIABLE Desc_item_pim AS CHARACTER.
    DEFINE VARIABLE cod_ems AS CHARACTER.
    DEFINE VARIABLE desc_item_ems AS CHARACTER.
    DEFINE VARIABLE desc_projeto AS CHARACTER.
    DEFINE VARIABLE desc_ccusto AS CHARACTER.
    DEFINE VARIABLE desc_ccusto_elab AS CHARACTER.
    DEFINE VARIABLE UN AS CHARACTER.
          
    {include/i-freeac.i}
          
           
    ASSIGN pocErro = "OK".
    
    FIND pim_pedido where 
         pim_pedido.pim_ped_codigo = piiCod_pedido and
         pim_pedido.pim_situacao <> "E"  no-lock no-error.
    
    IF AVAIL pim_pedido then do:
    
        FIND FIRST emsuni.ccusto WHERE 
                   emsuni.ccusto.cod_ccusto = pim_pedido.pim_ccusto NO-LOCK NO-ERROR.
        if avail emsuni.ccusto then assign desc_ccusto = pim_pedido.pim_ccusto + " - " + emsuni.ccusto.des_tit_ctbl.
        else assign desc_ccusto = "".               
    
    
        FIND FIRST emsuni.ccusto WHERE 
                   emsuni.ccusto.cod_ccusto = pim_pedido.pim_ccusto_elab NO-LOCK NO-ERROR.
        if avail emsuni.ccusto then assign desc_ccusto_elab = pim_pedido.pim_ccusto_elab + " - " + emsuni.ccusto.des_tit_ctbl.
        else assign desc_ccusto_elab = "".               
             
             
        if pim_pedido.pim_cod_projeto > 0 then do:         
            FIND es-projeto WHERE 
                 es-projeto.cod-estabel = pim_pedido.pim_cod_estab  and
                 es-projeto.cod-proj = pim_pedido.pim_cod_projeto no-lock no-error.
            if avail es-projeto then assign desc_projeto = STRING(pim_pedido.pim_cod_projeto) + " - " + es-projeto.projeto.
            else assign desc_projeto = "".             
        end.             
    
        
        FIND pim_objetivo WHERE 
             pim_objetivo.pim_obj_codigo = pim_pedido.pim_obj_codigo NO-LOCK NO-ERROR.               
        
    
        /* =================================================================================================================================== */
        /* ======================================================= SQL SERVER ================================================================ */
        /* =================================================================================================================================== */
        
    
       
    /*    ASSIGN                                                              */
    /*        ADO-DRIVER = "'DRIVER=" + chr(123) + "SQL Server}"              */
    /*                    + ";HOST="   + "xxxx"                           */
    /*                    + ";PORT="   + "xxxx"                               */
    /*                    + ";UID="    + "xxxx"                           */
    /*                    + ";PWD="    + "xxxx" + "'"                     */
    /*        ADO-CONNEC = "Provider=MSDASQL.1;Persist Security Info=True"    */
    /*                    + ";Extended Properties=" + ADO-DRIVER              */
    /*                    + ";Server=" + "UAAWEB02".                          */
    /*                                                                        */
    /*    ObjConnection:OPEN(ADO-CONNEC, "intranet", "intranet", 0) NO-ERROR. */
    /*                                                                        */
    /*                                                                        */
    /*     /* Check for connection errors */                                  */
    /*     IF (ERROR-STATUS:NUM-MESSAGES > 0)                                 */
    /*         THEN do:                                                       */
    /*            ASSIGN pocErro = "Problemas na conex’o com o SqlServer!".   */
    /*            RETURN.                                                     */
    /*         END.                                                           */
        
         ASSIGN
        ADO-DRIVER = "'DRIVER=" + chr(123) + "SQL Server}"
                    + ";HOST="   + "xxxx"
                    + ";PORT="   + "xxxx"
                    + ";UID="    + "xxxx"
                    + ";PWD="    + "xxxx" + "'"
        ADO-CONNEC = "Provider=MSDASQL.1;Persist Security Info=True"
                    + ";Extended Properties=" + ADO-DRIVER
                    + ";Server=" + "UAARPT01;Initial Catalog=INTRANET".
                        
        ObjConnection:OPEN(ADO-CONNEC, "usrintranet", "intranet", 0) NO-ERROR.
        
        /* Check for connection errors */
        IF (ERROR-STATUS:NUM-MESSAGES > 0) 
            THEN do:
               pocErro = "Problemas na conex’o com o SqlServer!".
               RETURN.
            END.      
    
    
        /*Deletando os registros existentes */
    
        /*Pedidos da composi‡Æo*/
        ASSIGN
            ADO-query                    = "DELETE FROM PIM.PIM_PEDIDO WHERE USUARIO = " + string(piiCod_Usuario)
            ObjCommand:ActiveConnection  = ObjConnection                                                                                            
            ObjCommand:CommandText       = ADO-Query
            ObjRecordSet                 = ObjCommand:EXECUTE(OUTPUT ADO-NULL,"",32).
    
    
    
        /*Populando a tabela*/                  
        ObjConnection:CLOSE NO-ERROR.  
        
        
    
        for each pim_pedido_item where pim_pedido_item.pim_ped_codigo = piiCod_pedido and
                                       pim_pedido_item.pim_ite_status <> "E" no-lock:
                                       
            ASSIGN Desc_item_pim = ""
                   cod_ems = ""
                   desc_item_ems = ""
                   UN = "".
                                           
            find pim_item where pim_item.pim_ite_codigo = pim_pedido_item.pim_ite_codigo no-lock no-error.
            find item where item.it-codigo = pim_pedido_item.pim_codems no-lock no-error.                                   
            
           if avail pim_item 
              then assign Desc_item_pim = pim_item.pim_ite_descricao.
              else assign Desc_item_pim = "".
    
    
           if pim_pedido_item.pim_ite_codigo > 0 
              then assign cod_ems = pim_item.pim_ite_codems.
              else assign cod_ems = pim_pedido_item.pim_codems.
    
           if avail item 
              then assign desc_item_ems = item.desc-item.
              else assign desc_item_ems = "".      
    
           if pim_pedido_item.pim_ite_codigo > 0 
              then assign UN = pim_item.pim_un.
              else assign UN = item.un.
            
        ASSIGN
        ADO-DRIVER = "'DRIVER=" + chr(123) + "SQL Server}"
                    + ";HOST="   + "xxxx"
                    + ";PORT="   + "xxxx"
                    + ";UID="    + "xxxx"
                    + ";PWD="    + "xxxx" + "'"
        ADO-CONNEC = "Provider=MSDASQL.1;Persist Security Info=True"
                    + ";Extended Properties=" + ADO-DRIVER
                    + ";Server=" + "UAARPT01;Initial Catalog=INTRANET".
                        
        ObjConnection:OPEN(ADO-CONNEC, "usrintranet", "intranet", 0) NO-ERROR.
            
            ASSIGN ADO-Query =             "INSERT INTO PIM.PIM_PEDIDO ( USUARIO," 
                   ADO-Query = ADO-Query + "PIM_PED_CODIGO,"
                   ADO-Query = ADO-Query + "PIM_PED_DATA,"
                   ADO-Query = ADO-Query + "PIM_PED_PRAZO,"
                   ADO-Query = ADO-Query + "PIM_PED_RESUMO,"
                   ADO-Query = ADO-Query + "PIM_PED_OBS,"
                   ADO-Query = ADO-Query + "PIM_PED_TIPO,"
                   ADO-Query = ADO-Query + "PIM_COD_PROJETO,"
                   ADO-Query = ADO-Query + "PIM_DESC_PROJETO,"
                   ADO-Query = ADO-Query + "PIM_CCUSTO,"
                   ADO-Query = ADO-Query + "PIM_DESC_CCUSTO,"
                   ADO-Query = ADO-Query + "PIM_CCUSTO_ELAB,"
                   ADO-Query = ADO-Query + "PIM_DESC_CCUSTO_ELAB,"
                   ADO-Query = ADO-Query + "PIM_CCELAB_RESPCOD,"
                   ADO-Query = ADO-Query + "PIM_ORC,"
                   ADO-Query = ADO-Query + "PIM_COD_ESTAB,"
                   ADO-Query = ADO-Query + "PIM_OBJ_CODIGO,"
                   ADO-Query = ADO-Query + "PIM_OBJ_DESCRICAO,"
                   ADO-Query = ADO-Query + "PIM_RESP_CODIGO,"
                   ADO-Query = ADO-Query + "PIM_ELAB_CODIGO,"
                   ADO-Query = ADO-Query + "PIM_PIT_SEQ,"
                   ADO-Query = ADO-Query + "PIM_ITE_CODIGO,"
                   ADO-Query = ADO-Query + "PIM_ITE_DESCRICAO,"
                   ADO-Query = ADO-Query + "PIM_ITE_CODEMS,"
                   ADO-Query = ADO-Query + "PIM_ENVIA_EMAIL,"
                   ADO-Query = ADO-Query + "PIM_EMAIL,"
                   ADO-Query = ADO-Query + "DESC_ITEM,"
                   ADO-Query = ADO-Query + "PIM_PIT_QTDE,"
                   ADO-Query = ADO-Query + "PIM_UN,"
                   ADO-Query = ADO-Query + "PIM_DESCRICAO,"
                   ADO-Query = ADO-Query + "PIM_OC,"
                   ADO-Query = ADO-Query + "PIM_ULTIMA_COMPRA,"
                   ADO-Query = ADO-Query + "PIM_ULTIMO_VALOR,"
                   ADO-Query = ADO-Query + "PIM_ORIGINAL,"
                   ADO-Query = ADO-Query + "PIM_PATRIMONIO," 
                   ADO-Query = ADO-Query + "PIM_COD_ESTAB_DEST,"
                   ADO-Query = ADO-Query + "PIM_COD_DESTINO,"
                   ADO-Query = ADO-Query + "PIM_OS) "
                   ADO-Query = ADO-Query + "VALUES (" + STRING(piiCod_Usuario) + "," 
                   ADO-Query = ADO-Query + STRING(pim_pedido.pim_ped_codigo) + ",'" 
                   ADO-Query = ADO-Query + STRING(pim_pedido.pim_ped_data, "99/99/9999")  + "','" 
                   ADO-Query = ADO-Query + STRING(pim_pedido.pim_ped_prazo, "99/99/9999") + "','" 
                   ADO-Query = ADO-Query + fn-free-accent(REPLACE(pim_pedido.pim_ped_resumo, "'", "")) + "','"                                                                                                   
                   ADO-Query = ADO-Query + fn-free-accent(REPLACE(pim_pedido.pim_ped_obs, "'", "")) + "','" 
                   ADO-Query = ADO-Query + pim_pedido.pim_ped_tipo + "'," 
                   ADO-Query = ADO-Query + STRING(pim_pedido.pim_cod_projeto) + ",'" 
                   ADO-Query = ADO-Query + fn-free-accent(REPLACE(desc_projeto, "'", "")) + "','" 
                   ADO-Query = ADO-Query + pim_pedido.pim_ccusto + "','" 
                   ADO-Query = ADO-Query + desc_ccusto + "','" 
                   ADO-Query = ADO-Query + pim_pedido.pim_ccusto_elab + "','" 
                   ADO-Query = ADO-Query + desc_ccusto_elab + "'," 
                   ADO-Query = ADO-Query + STRING(pim_pedido.pim_elaresp_codigo) + ",'"
                   ADO-Query = ADO-Query + fn-free-accent(REPLACE(pim_pedido.pim_orcamento, "'", "")) + "','"
                   ADO-Query = ADO-Query + pim_pedido.pim_cod_estab + "',"
                   ADO-Query = ADO-Query + STRING(pim_pedido.pim_obj_codigo) + ",'"
                   ADO-Query = ADO-Query + fn-free-accent(REPLACE(pim_objetivo.pim_obj_descricao, "'", "")) + "', "
                   ADO-Query = ADO-Query + STRING(pim_pedido.pim_resp_codigo) + ", "
                   ADO-Query = ADO-Query + STRING(pim_pedido.pim_elab_codigo) + ", "
                   ADO-Query = ADO-Query + STRING(pim_pedido_item.pim_pit_seq)  + ", "
                   ADO-Query = ADO-Query + STRING(pim_pedido_item.pim_ite_codigo)  + ",'"
                   ADO-Query = ADO-Query + fn-free-accent(REPLACE(Desc_item_pim, "'", "")) + "','"
                   ADO-Query = ADO-Query + cod_ems + "','"
                   ADO-Query = ADO-Query + pim_envia_email + "','"
                   ADO-Query = ADO-Query + pim_email + "',' "
                   ADO-Query = ADO-Query + fn-free-accent(REPLACE(Desc_item_ems, "'", "")) + "', "
                   ADO-Query = ADO-Query + SUBSTRING(STRING(pim_pedido_item.pim_pit_qtde * 100,"->>>>>>>>>>>>>>>>999"),1,18) +  "." + SUBSTRING(STRING(pim_pedido_item.pim_pit_qtde * 100,"->>>>>>>>>>>>>>>>999"),19,2) + ",'"
                   ADO-Query = ADO-Query + un + "','"
                   ADO-Query = ADO-Query + fn-free-accent(REPLACE(pim_pedido_item.pim_descricao, "'", "")) +  "','"
                   ADO-Query = ADO-Query + STRING(pim_pedido_item.pim_oc) + "','"
                   ADO-Query = ADO-Query + STRING(pim_pedido_item.pim_ite_ultima_compra) + "',"
                   ADO-Query = ADO-Query + SUBSTRING(STRING(pim_pedido_item.pim_ite_ultimo_valor * 100,"->>>>>>>>>>>>>>>>999"),1,18) +  "." + SUBSTRING(STRING(pim_pedido_item.pim_ite_ultimo_valor * 100,"->>>>>>>>>>>>>>>>999"),19,2) + ",'"
                   ADO-Query = ADO-Query + pim_pedido_item.pim_ite_original + "','"
                   ADO-Query = ADO-Query + pim_pedido_item.pim_ite_patrimonio + "','"
                   ADO-Query = ADO-Query + pim_pedido_item.pim_ite_cod_estab_destino + "',"
                   ADO-Query = ADO-Query + STRING(pim_pedido_item.pim_ite_cod_destino)+ ",'"
                   ADO-Query = ADO-Query + STRING(pim_pedido_item.pim_ite_os) + "')"
    
    
    
                     ObjCommand:ActiveConnection  = ObjConnection 
                     ObjCommand:CommandText       = ADO-Query
                     ObjRecordSet                 = ObjCommand:EXECUTE(OUTPUT ADO-NULL,"",32)NO-ERROR.
    
                     ObjConnection:CLOSE NO-ERROR.                                                                                                                            
        
        END.   
        
    
        
        /*Fechando a conex’o com o SQL*/
        ObjConnection:CLOSE NO-ERROR.
    
        /*Apagando os objetos da mem½ria */
        RELEASE OBJECT ObjConnection NO-ERROR.
        RELEASE OBJECT ObjCommand    NO-ERROR.
        RELEASE OBJECT ObjRecordSet  NO-ERROR.
    
        ASSIGN ObjConnection = ? 
               ObjCommand    = ? 
               ObjRecordSet  = ?.
    
    
    END.
    ELSE DO:
        ASSIGN pocErro = " NÆo encontrado pedido com o c¢digo informado! ".
        RETURN.
    END.
    
    Caso continue, tente trocar o tipo da variavel ADO-Query, para Longchar.....

    O erro que esta dando provavelmente é na seguinte linha

    ObjRecordSet = ObjCommand:EXECUTE(OUTPUT ADO-NULL,"",32)NO-ERROR.


    pode ser alguma coisa com a sua query, quanto com a configuração do DRIVER ODBC que você esta usando....

Compartilhe esta Página