MUNDOSAP

Regresar   MUNDOSAP > DESARROLLO > Formularios - SAPScript - Smartforms
Nombre de Usuario
Contraseña
Home Descargas Registrar FAQ Miembros Calendario Buscar Temas de Hoy Marcar Foros Como Leídos




 
Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Viejo 15/07/09, 14:00:19
maskehash maskehash is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Mensajes: 19
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.
Responder Con Cita
  #2  
Viejo 15/07/09, 14:13:27
TUESDAY TUESDAY is offline
Member
 
Fecha de Ingreso: may 2006
Mensajes: 32
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!
Responder Con Cita
  #3  
Viejo 15/07/09, 15:08:55
maskehash maskehash is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Mensajes: 19

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.
Responder Con Cita
  #4  
Viejo 15/07/09, 16:06:16
TUESDAY TUESDAY is offline
Member
 
Fecha de Ingreso: may 2006
Mensajes: 32
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!

Úlima edición por TUESDAY fecha: 15/07/09 a las 16:08:41.
Responder Con Cita
  #5  
Viejo 16/07/09, 15:23:47
maskehash maskehash is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Mensajes: 19
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.
Responder Con Cita
  #6  
Viejo 16/07/09, 16:02:27
TUESDAY TUESDAY is offline
Member
 
Fecha de Ingreso: may 2006
Mensajes: 32

De nada, espero que te sirva
Responder Con Cita
  #7  
Viejo 16/07/09, 16:06:25
maskehash maskehash is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Mensajes: 19
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
Responder Con Cita
  #8  
Viejo 16/07/09, 16:26:35
TUESDAY TUESDAY is offline
Member
 
Fecha de Ingreso: may 2006
Mensajes: 32

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!
Responder Con Cita
  #9  
Viejo 20/07/09, 10:16:32
maskehash maskehash is offline
Junior Member
 
Fecha de Ingreso: nov 2007
Mensajes: 19
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.
Responder Con Cita
  #10  
Viejo 20/07/09, 14:43:54
TUESDAY TUESDAY is offline
Member
 
Fecha de Ingreso: may 2006
Mensajes: 32
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.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Reglas de Mensajes
no puedes crear nuevos temas
no puedes responder temas
no puedes adjuntar archivos
no puedes editar tus mensajes

El código vB está On
Las caritas están On
Código [IMG] está On
Código HTML está Off
Saltar a Foro


Husos Horarios son GMT. La hora en este momento es 20:51:19.


www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web