Smartforms vs Zebra

Colapsar
X
 
  • Tiempo
  • Mostrar
Limpiar Todo
nuevos mensajes
  • maskehash
    Junior Member
    • nov
    • 19

    #1

    Smartforms vs Zebra

    Nunca he tenido que trabajar con esto hasta ahora y estoy un poco pez en este sentido igualmente.

    Partiendo desde 0, vamos me ha llegado una impresora zebra ZM600, por lo que hay que instarla, dar de alta en SAP, y sobretodo lo que en teoría más me afecta que es no es otra cosa que la impresión de etiquetas.

    Disponemos de un sap posterior al 4.6.

    Por lo que he leido un poco por internet me planteo la opción de un smartform, en vez de hacerlos con el bar-one para sap. El tema es que no encuentro manuales, ni ejemplos de que tiene de diferente estos smartforms del resto, tampoco se si hay que crear algún estilo especial para que luego la impresora reconoza que quiero imprimir la información como un código de barras...

    Bueno pos eso, si alguien tiene tiempo agradecería un poco de ayuda en general para ver como plantear esto.

    Gracias de antemano.
  • TUESDAY
    Member
    • may
    • 32

    #2
    Hola,
    No se si he entendido bien tu pregunta. Pero para imprimir codigos de barras en smartforms se suelen seguir los siguientes pasos:
    1. Definirte el código de barras en SAP, esto se suele hacer por la SE73, la mayoría de los CB que he utilizado son de code128, y al definirlos, defines también la anchura y el alto del código de barras y su rotación.
    2. En la transacción smartstyles, defines un formato de carácter del tipo código de barras y le asignas el código de barras que has creado anteriormente.
    3. En el smartform, le asignas como atributo de salida el estilo que hayas creado mediante el paso 2. Finalmente, en el elemento de texto, escribes la variable que contenga la información del código de barras con el formato de carácter que hayas definido.

    Espero que te sirva. Saludos!

    Comentario

    • maskehash
      Junior Member
      • nov
      • 19

      #3
      Originalmente publicado por TUESDAY
      Hola,
      1. Definirte el código de barras en SAP, esto se suele hacer por la SE73, la mayoría de los CB que he utilizado son de code128, y al definirlos, defines también la anchura y el alto del código de barras y su rotación.
      Podrías explicarme más amplaimente este punto, a ver yo voy a imprimir también ean128. Exactamente que tengo que definir.

      Si me puedes ir explicando un poco paso a paso te lo agradecería, el resto de casos creo que de momento me apaño.

      Comentario

      • TUESDAY
        Member
        • may
        • 32

        #4
        lo primero que debes decidir es el "tamaño" del codigo de barras, me explico, necesitas saber que ancho quieres que tenga y que alto. Además necesitas saber la rotacion del codigo de barras, es decir, cómo se leerá el codigo de barras:
        Si es de izquierda a derecha --> no necesitas rotarlo
        Si se lee de arriba a abajo --> rotacion 90º
        Si se lee de derecha a izda ---> rotacion 180º
        Si se lee de abajo a arriba --> rotacion 270º

        Una vez decidido esto:
        Vas a la se73. Marcas la opcion "Codigos de Barras del sistema" y le das a modificar.

        Aqui te aparece un listado con los codigos que ya están dados de alta en el sistema, ya sean códigos estándar o Z. Comprueba que no haya ninguno definido con los valores que tu quieres.

        Para crear uno nuevo , pulsas el botón con el dibujo de la pagina en blanco.
        Primero te preguntará por la tecnologia y eliges "nueva tecnologia"
        2. Te pide el nombre del codigo de barras y una descripcion ( ZBARCODE, lo quesea)
        3.Ahora te pedirá el tipo de codificación ( en tu caso por lo que me cuentas code128 )
        4. Ahora te pregunta la rotacion ( Normal = 0º, rotated = 90º, Inverted = 180º, Bottomup = 270º )
        5. La siguiente pantalla es donde metes los valores del ancho y el alto:
        En narrow mode width metes el ancho del CB y en linear height el alto (Pd. Ten en cuenta que si el CB es rotado el ancho se corresponde al alto y el alto al ancho) Las medidas creo que son en pulgadas, yo al principio intente hacer la conversion, pero personalmente creo que no compensa y siempre pongo esas cantidades "a ojo por prueba y error"
        Lo del "code128 Mode" creo que es dependiendo del tipo de caracteres que vayas a imprimir con el codigo de barras, yo siempre suelo usar números, asi que lo dejo en "A" que es el que trae por defecto.
        Y con eso ya lo tienes, le das a ok, te pedirá orden de transporte y ya te puedes ir a la transaccion smartstyles a definirte el estilo.

        Como consejo te recomiendo que, además de definirte el formato de carácter para el código de barras, te definas también un formato de parrafo. Ya que los códigos de barras son muy puñeteros y no siempre respetan los márgenes que les dices. Además cuenta con que no siempre vaya a salir impreso el codigo de barras de la misma forma que lo ves en previsualizar el mensaje.

        Hay una nota de SAP que explica como definir estos códigos de barras ( sapnote 0000645158 ), lo que yo te he puesto es más o menos un resumen de lo que la nota te indica para el caso de códigos ean 128.

        Espero que te sirva!
        Editado por última vez por TUESDAY; 15/07/2009, 16:08:41.

        Comentario

        • maskehash
          Junior Member
          • nov
          • 19

          #5
          Vamos ya tengo todo definido, veo que se pone el código de barras. Ahora tengo una duda.

          A ver yo quiero sacar por ejemplo lo que vendría a ser producto, fecha caducidad y cantidad
          dicese mis variables matnr, vfdat y cant

          las etiquetas (01)(15)(37) tengo que generar un string a los basto metiendolas, llamar a una función de conversión que me da el string final a mostrar, porque sino como marco el final de IA de longitud variable.

          por cierto tengo que poner algun comando a parte de lo que me comentaste para que lo interprete la impresora zebra?.

          Una preguntita ya que demostrará mis conocimientos sobre impresion, cuando ponen los números de debajo del código que es porque se ponen en otra sentencia, o porque al imprimirse se ponen automaticamente.

          Gracias por tu paciencia.

          Comentario

          • TUESDAY
            Member
            • may
            • 32

            #6
            Originalmente publicado por maskehash
            Vamos ya tengo todo definido, veo que se pone el código de barras. Ahora tengo una duda.

            A ver yo quiero sacar por ejemplo lo que vendría a ser producto, fecha caducidad y cantidad
            dicese mis variables matnr, vfdat y cant

            las etiquetas (01)(15)(37) tengo que generar un string a los basto metiendolas, llamar a una función de conversión que me da el string final a mostrar, porque sino como marco el final de IA de longitud variable.

            _______________________-

            Esta parte no entiendo muy bien que necesitas. Para el formulario el código de barras es como un tipo de letra ( para el, es lo mismo que le digas que es un CB que un tipo de letra Arial ) con lo que si quieres sacar un código de barras con las 3 variables, yo las concatenaría en un string las 3 ( concatenate ... ).
            Si lo que necesitas son 3 códigos de barras distintos entonces en el elemento de texto lo escribes en plan ( <CB>&matnr&</> ... )

            __________________________________________________-


            por cierto tengo que poner algun comando a parte de lo que me comentaste para que lo interprete la impresora zebra?.
            _____________________________________________
            en principio no necesitas nada, ya que esas impresoras ya tienen las fuentes de códigos de barras preconfiguradas. Sólo asegurate de que estén instaladas en el sistema
            __________________________________________________-
            Una preguntita ya que demostrará mis conocimientos sobre impresion, cuando ponen los números de debajo del código que es porque se ponen en otra sentencia, o porque al imprimirse se ponen automaticamente.
            _____________________________________
            Sí, los números que suelen aparecer al lado del código de barras los pones en otro elemento de texto. ( o en el mismo elemento de texto pero con el tipo de fuente que necesites, arial ... )
            _____________________________________
            Gracias por tu paciencia.
            De nada, espero que te sirva

            Comentario

            • maskehash
              Junior Member
              • nov
              • 19

              #7
              Eso de concatenar a muerte me llama.

              Entonces la única duda es lo que te comento de cuando es de longitud variable, entre ese IA y el siguiente hay un signo ( no me acuerdo cual es ) que marca que es el final y empieza otro IA nuevo.

              No se si me explicado.

              Gracias por todo

              Comentario

              • TUESDAY
                Member
                • may
                • 32

                #8
                Originalmente publicado por maskehash
                Eso de concatenar a muerte me llama.

                Entonces la única duda es lo que te comento de cuando es de longitud variable, entre ese IA y el siguiente hay un signo ( no me acuerdo cual es ) que marca que es el final y empieza otro IA nuevo.

                No se si me explicado.

                Gracias por todo
                Esta es la parte en la que no te entendi muy bien. jejeje

                Lo que yo entiendo por lo que dices, es que tendras un string del tipo 1234567/12345/12345678/123456789 donde '/' es el separador que te indica cuando empieza uno nuevo.
                Y en este caso, sería usar una función a la que le pasas el string y el separador y te devuelve una tabla interna con cada uno de los 'trozos'.
                y es cada uno de esos trozos lo que pintas en código de barras.

                Realmente al código de barras no le afecta que tipo de variable es. Solo te podría fastidiar el tema de la longitud, porque no te cupiese en el formulario, y para eso lo que deberias hacer es crearte el código de barras mas pequeño. O crearte dos codigos de barras y dependiendo de la longitud del "trozo" usas un tipo u otro.

                No se si era esto a lo que te referías, si no es así me dices y a ver si encontramos otra solución.
                Saludos!

                Comentario

                • maskehash
                  Junior Member
                  • nov
                  • 19

                  #9
                  Respecto a lo de crear el smartforms tengo más o menos todo claro.

                  Mi duda ahora sale por otro lado, queremos asignar este este Smartforms cada vez que se genere la posición de una orden de transporte. Por lo que he visto se utiliza el report RLVSDR40 para hacer las salida de impresión, pero me parece que solo trabaja en sapscrit. Cosa que me parece raro. Mi superior me dice que haga una copia de este report con mi formulario nuevo, cosa que veo bastante basta por no decir ....

                  Sabes alguna forma de solucionar esta cuestión, para imprimir las etiquetas en ese momento.

                  Comentario

                  • TUESDAY
                    Member
                    • may
                    • 32

                    #10
                    Uff, pues ya lo siento!
                    Básicamente tu superior está en lo correcto, tienes que hacer una copia del estándar y donde el estándar llame al formulario SAPscript, tu metes la llamada a la función del smartform. Ya que eso pertenece a WM y WM no se lleva bien con smartforms

                    Si yo fuera tú, antes haría una prueba sencilla ( aunque a estas alturas del desarrollo, es un poco putada ) ya que los CB también pueden usarse en sapscript. ( yo lo he hecho, aunque no me acuerdo muy bien como ) Como ya tienes el CB definido, hazte un sapscript guarrero para ver si te lo reconoce tal cual. Si lo hace, entonces cambia el smartform a sapscript ( busca el formulario estandar para sacar las variables en la que se almacenan los datos ). Si no te lo reconoce tal cual lo tienes definido, puedes probar a definirte los códigos de barras con el método antiguo, que es muy parecido a lo que ya has hecho.

                    En fin, mucho animo! Espero que te sirva y ya me contarás que opción haces al final.

                    Comentario

                    Trabajando...