none
DESEO LLENAR UN GRIDVIEW CON UN WEB SERVICE DE SAP RRS feed

  • Pregunta

  • Estimados 

    muy buenas tardes, un gusto saludarlos, tengo un problema al momento de llenar un GridView con un servicio web sap desde vb, estoy usando web reference por las credenciales, aun no logro llenar el gridview  con la información del servicio, , por favor es posible me pueden apoyar con alguna sugerencia, agrego el codigo que estoy usando.

    Public Class inicio
        Inherits System.Web.UI.Page

        Protected Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click

            Dim ws4 As New WRefConsultaDoc.ZWSCONSULTAEDOCS
            Dim rpt4 As New WRefConsultaDoc.ZListaEdocumentsClienteResponse
            Dim Recibo As New WRefConsultaDoc.ZListaEdocumentsCliente
            Dim ZListaEdocumentsCliente As New WRefConsultaDoc.ZListaEdocumentsCliente
            Dim eMensajes As New WRefConsultaDoc.ZmessOut

            Dim teReturn As New ProyCondumoDoc2.WRefConsultaDoc.ZpartidasDeudor
            Dim listteReturn(2) As ProyCondumoDoc2.WRefConsultaDoc.ZpartidasDeudor

            Dim sociedad As String
            Dim ejercicio As Integer
            Dim periodo As Integer
            Dim ruc As String
            sociedad = txtsociedad.Text
            ejercicio = Convert.ToInt16(txtejercicio.Text)
            periodo = Convert.ToInt16(txtmes.Text)
            ruc = txtruc.Text

            Recibo.IBukrs = sociedad
            Recibo.IGjahr = ejercicio
            Recibo.IMonat = periodo
            Recibo.IStcd1 = ruc
            listteReturn(2) = teReturn
            Recibo.TEdocs = listteReturn

            ws4.Credentials = New System.Net.NetworkCredential("X", "X")
            rpt4 = ws4.ZListaEdocumentsCliente(Recibo)

         ' '''''''' Desde aqui deseo consumir el servicio, pero aun no es posible.

           '''' alternativa 1

            Dim docu As New List(Of documentos)
            docu = ws4.ZListaEdocumentsCliente(Recibo)

           ''' me muestra el error: "Un valor de tipo ZListaEdocumentsClienteReponse no se puede convertir a tipo List(documentos). "

            '''''  alternativa 2
            dgvdatos.DataSource = ws4.ZListaEdocumentsCliente(Recibo)

             '' Aqui me muestra un error: "el origen de datos no es un tipo valido, debe ser IListSource, IEnumerable o IDataSource. " 

        End Sub

    End Class

    Adicionalmente se creo el entity para la lista.

    Public Class documentos
        Private _bukr As String
        Private _belnr As String
        Private _gjah As String
        Private _xblnr As String
        Private _wrbtr As String
        Private _waers As String
        Private _bldat As String

    Public Property bukr() As String

            Get
                Return _bukr
            End Get
            Set(ByVal value As String)
                If value.GetType.ToString = "System.DBNull" Then
                    value = ""
                End If
                _bukr = value
            End Set
        End Property

    end class

    Para llenar el gridview estaba revisando las dos alternativas que muestro, por favor cual es la que debo seguir o si debo utilizar otro codigo para llenar el gridview con el web service.

    Muchas gracias por su tiempo y apoyo.

    Saludos

    Luis Angel


    viernes, 17 de agosto de 2018 16:49

Respuestas

  • Acabo de agregar las lineas:

       Dim dt As New DataTable
            Dim ds As New DataSet
            ds = ws4.ZListaEdocumentsCliente(Recibo)

    Me muestra el error: un valor de tipo ZListaEdocumentsClienteResponse no se puede convertir el System.data.dataset.

    favor, si me pueden apoyar donde me estoy equivocando.

    Muchas gracias. 

    Saludos 

    Luis Angel

       

    • Marcado como respuesta Pablo Rubio lunes, 20 de agosto de 2018 16:07
    viernes, 17 de agosto de 2018 17:22

Todas las respuestas

  • Acabo de agregar las lineas:

       Dim dt As New DataTable
            Dim ds As New DataSet
            ds = ws4.ZListaEdocumentsCliente(Recibo)

    Me muestra el error: un valor de tipo ZListaEdocumentsClienteResponse no se puede convertir el System.data.dataset.

    favor, si me pueden apoyar donde me estoy equivocando.

    Muchas gracias. 

    Saludos 

    Luis Angel

       

    • Marcado como respuesta Pablo Rubio lunes, 20 de agosto de 2018 16:07
    viernes, 17 de agosto de 2018 17:22
  • Hola Luis Angell:

    Cuando desde visual studio tienes enganchado el WebService

    ws4.ZListaEdocumentsCliente

    al pulsar el .para buscar los métodos que te ofrece el mismo para consumo, donde estará ZListaEdocumentsCliente

    donde intellisense te saca una lista de métodos y puedes escoger este, si te pones encima, te muestra a la derecha lo que devuelve el servicio web. Algo así como

    DataSet nombreServicio.ZListaEdocumentsCliente(parámetros que necesita)

    Con la firma de este método, ya sabes lo que tienes que construir, porque eso te lo rellenará el método.

    Espero te ayude.

    Un saludo

    viernes, 17 de agosto de 2018 18:06
  • Muchas gracias 

    Me funciono.

    Saludos

    Luis Angell

    lunes, 20 de agosto de 2018 15:18
  • Un placer
    lunes, 20 de agosto de 2018 17:20