Pasar tablas de programa de control a smartforms

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • rsilvau94
    Junior Member
    • ene
    • 3

    #1

    Pasar tablas de programa de control a smartforms

    Hola

    Necesito pasar una tabla interna desde mi programa de control a un smartform. Lo que no se es como defino la tabla en el smartform, ya que esta no corresponde a ninguna estructura conocida, es decir es una tabla con datos que me sirven solo para el programa.

    Gracias.
  • Gatini28
    Junior Member
    • ago
    • 23

    #2
    Pasar tablas de programa de control a smartforms

    Doc.
    en este caso yo te recomendaria crear en el diccionario una estructura con la misma definicion de campos que la tabla interna en tu programa. Dicha estructura no solo te servira para definir la TI en tu smartform sino tambien para crear un work area con el cual podras leerla.

    Saludos,
    Suerte

    Comentario

    • bisonye
      Senior Member
      • ago
      • 635

      #3
      No es necesario crear tablas en el diccionario de datos. Puedes definir una tabla en tu smartform por medio de types pero no puedes pasar esa tabla en la pestaña tables, solo en el import o en el export ( es decir será solo de entrada o solo de salida).
      Para crearla entra en definiciones globales en la pestaña tipos y declarala como esto:

      types: BEGIN OF wa_tutabla,
      tu_campo1 type tipo,
      tu_campo2 type tipo,
      .

      TYPES END OF wa_tutabla.

      TYPES: it_tutabla TYPE STANDARD TABLE OF wa_tutabla

      Luego pasas tu tabla en el import declarandola como tipo it_tutabla.

      Espero haberte ayudado.

      Saludos
      http://sapymas.blogspot.com/

      Comentario

      • sai
        Junior Member
        • mar
        • 1

        #4
        Imprimir El Contenido De Una Tabla En Un Smartforms

        HOLA COMO ESTAS.. SOY NUEVA EN ESTO DE PROGRAMAR EN ABAP Y MAS AUN EN SMARTFOMRS.. CIERTAMENTE LO QUE CITASTE EN TU RESPUESTA ME FUNCIONO PERO CUANDO INTENTO PASARLE LOS DATOS A LA TABLA QUE CREE EN EL EXPORT PORQUE MI TABLA ES DE SALIDA.. EN MI PARAMETRO DE SALID EN MI LINEA DE PROGRAMA ME DICE QUE LA TABLA INTERNA NO EST DECLARADA COMO TABLA EN EL SMARTFORMS.. ME PODRIAS AYUDAR YA NO SE QUE HACER. VOY A COLOCAR EL CODIGO A VER SI ME UEDES ORIENTAR UN POCO..
        ESTO ES L DECLARACION EN PARAMETROS GLOBALES PESTAÑA TIPOS:

        TYPES: BEGIN OF zrobando,
        vbeln(10) type c,
        matnr(18) type c,
        ARKTX(40) type c,
        atwrt(30) type c,
        pres1(30) type c,
        pres2(30) type c,
        pres3(30) type c,
        pres4(30) type c,
        pres5(30) type c,
        charg(10) type c,
        END OF zrobando.

        TYPES: t_doc TYPE STANDARD TABLE OF ZROBANDO.

        Y LUEGO EN EL IMPORT
        GS_MOSTRAR TYPE t_doc.

        en la linea de programa la coloca como de salida y hago

        move-corresponding t_salida to GS_MOSTRAR. y no me deja insertar y muestra lo que te comente inicialmente.

        gracias por tu tiempo ..

        Comentario

        • bisonye
          Senior Member
          • ago
          • 635

          #5
          Hola Sai.

          Me parece que estás confundiendo cosas. Según entiendo has creado una tabla de entrada en tu smartform que se llama GS_MOSTRAR. Quieres que el contenido de esa tabla tenga los campos de la tabla t_salida que estará definida en el programa que llama al smartform ¿Correcto?.

          Si la tabla t_salida tiene la misma estructura que la tabla de tu smartform lo único que tienes que hacer es cuando llames al smart en la parte IMPORTING poner GS_MOSTRAR = t_salida.

          Con esto debería bastar a mi me ha funcionado. Ponme la llamada al smartform a ver si veo donde falla.

          Saludos
          http://sapymas.blogspot.com/

          Comentario

          • karve255
            Junior Member
            • jun
            • 3

            #6
            Pasar tablas a SMARTFORMS

            Hola, les comento q soy nueva en este tema y he creados varias tablas en el diccionario de datos y requiero pasar estas tablas a smartforms y no tengo ni idea de como se debe realizar esto, alguien me puede colaborar con esto se lo agradeceria muchisimo

            Comentario

            • bisonye
              Senior Member
              • ago
              • 635

              #7
              Si has definido tus tablas en el diccionario de datos no tienes más que ponerle un nombre a la tabla que quieres pasar (en tables o import) y decirle que es del tipo de tu tabla Z del diccionario.

              Saludos
              http://sapymas.blogspot.com/

              Comentario

              • tunante
                Member
                • sep
                • 82

                #8
                Hola he intentado hacer lo de la tabla interna sin crear estructura con el codigo que poniais arriba:
                types: BEGIN OF wa_tutabla,
                tu_campo1 type tipo,
                tu_campo2 type tipo,
                .

                TYPES END OF wa_tutabla.

                TYPES: it_tutabla TYPE STANDARD TABLE OF wa_tutabla

                Luego pasas tu tabla en el import declarandola como tipo it_tutabla.

                pero me da error el it_tutabla porque me dice ke no esta definido.
                ¿donde se define it_tutabla o que hay que acer con ese?
                Gracias

                Comentario

                • virus
                  Member
                  • ago
                  • 47

                  #9
                  Declarar tabla en SMARTFORMS

                  Yo en el programa tengo una variable como esta.

                  DATA: BEGIN OF T_ETI OCCURS 0,
                  E01 LIKE ZETIQFRM,
                  E02 LIKE ZETIQFRM,
                  E03 LIKE ZETIQFRM,
                  E04 LIKE ZETIQFRM,
                  END OF T_ETI.

                  Como puedo declarar en el SMARTFORM para que me recoja T_ETI?.

                  Saludos y Gracias,

                  Comentario

                  • bisonye
                    Senior Member
                    • ago
                    • 635

                    #10
                    Originalmente publicado por tunante
                    Hola he intentado hacer lo de la tabla interna sin crear estructura con el codigo que poniais arriba:
                    types: BEGIN OF wa_tutabla,
                    tu_campo1 type tipo,
                    tu_campo2 type tipo,
                    .

                    TYPES END OF wa_tutabla.

                    TYPES: it_tutabla TYPE STANDARD TABLE OF wa_tutabla

                    Luego pasas tu tabla en el import declarandola como tipo it_tutabla.

                    pero me da error el it_tutabla porque me dice ke no esta definido.
                    ¿donde se define it_tutabla o que hay que acer con ese?
                    Gracias
                    Esta estructura tienes que crearl en el smartform en definiciones globales en la pestaña tipos.
                    Despues en el import del smart defines tu tabla del tipo que has declarado
                    http://sapymas.blogspot.com/

                    Comentario

                    • bisonye
                      Senior Member
                      • ago
                      • 635

                      #11
                      Originalmente publicado por virus
                      Yo en el programa tengo una variable como esta.

                      DATA: BEGIN OF T_ETI OCCURS 0,
                      E01 LIKE ZETIQFRM,
                      E02 LIKE ZETIQFRM,
                      E03 LIKE ZETIQFRM,
                      E04 LIKE ZETIQFRM,
                      END OF T_ETI.

                      Como puedo declarar en el SMARTFORM para que me recoja T_ETI?.

                      Saludos y Gracias,
                      Virus, sigue las instrucciones del post y nos cuentas. Debería funcionar.
                      http://sapymas.blogspot.com/

                      Comentario

                      • tunante
                        Member
                        • sep
                        • 82

                        #12
                        Si en la pestaña tipos es donde he metido ese codigo,
                        pero ahora me dices que tengo que declararla en el import
                        pero entonces que tipo de referencia le paso ahi si no quiero crear una estructura, ya que antes es lo que hacia, hacerle referencia a una estructura que me creaba con los campos de la tabla interna del programa.
                        Pero sino me creo esa estructura que referencia le doy, o nose puede hacer.
                        gracias.

                        Comentario

                        • bisonye
                          Senior Member
                          • ago
                          • 635

                          #13
                          Originalmente publicado por tunante
                          Si en la pestaña tipos es donde he metido ese codigo,
                          pero ahora me dices que tengo que declararla en el import
                          pero entonces que tipo de referencia le paso ahi si no quiero crear una estructura, ya que antes es lo que hacia, hacerle referencia a una estructura que me creaba con los campos de la tabla interna del programa.
                          Pero sino me creo esa estructura que referencia le doy, o nose puede hacer.
                          gracias.
                          SI se puede hacer.

                          Repito la mecánica,

                          Declaras los tipos en el smartform con los mismos campos que tienes en tu TI en el programa de control, tanto el work area como la tabla. Voy a llamar al tipo tabla creado t_tipo

                          En la pesaña IMPORT de INTERFASE DE FORMULARIO creas una línea con el nombre que le quieras dar a la tabla la llamamos it_tabla TYPE y en el tipo de referencia le pones el tipo que acabas de crear T_TIPO

                          Esto funciona, tengo varios smartforms creados así, revisad la mecánica es más sencilla de lo que parece al principio.

                          A mi tambien me costó un poco pero no es tan difícil.

                          Saludos
                          http://sapymas.blogspot.com/

                          Comentario

                          • virus
                            Member
                            • ago
                            • 47

                            #14
                            Cuando en el apartado INTERFASE FORMULARIO->IMPORT, pongo:
                            it_tabla TYPE it_tipo, me pone "Tipo it_tipo no existe".
                            Se debe declarar en algún sitio mas.

                            Comentario

                            • tunante
                              Member
                              • sep
                              • 82

                              #15
                              Bueno gracias bisonye el lunes ya lo probare en algun rato libre en el curro haber si me sale.
                              Un saludo.

                              Comentario

                              Trabajando...