lunes, 9 de noviembre de 2009

PI - Line Break Using Receiver File Adapter

En caso de que el line break de configuración por defecto no funcione correctamente puedes intentar con este Tip.

Tomado de: Foros SDN "Error in line break in a file adapter "

"... I have a problem with a file receiver adapter. In File Content Conversion I put 'nl' in the endSeparator parameter but when I see the "output.txt" file generated all data are put in same line separated by rectangular characters...

...I want write:

line1
line2
line2
...

If i open the notepad in the file appears:

line1line2line3..."

Respuesta:

"...Try putting the following value (including the quotation marks) for the endSeparator parameter in the file receiver adaptor:

'0x0D''0x0A'

These are ASCII characters for CR & LF..."

jueves, 19 de febrero de 2009

ALV con colores

Los listados ALV se pueden mostrar con diferentes colores tanto en filas como en columnas.

FILAS: En la tabla interna que se le pasa a la funcion del ALV habrá que añadir un campo de 4 caracteres llamado color (o como se quiera). Luego tan solo habrá que completar en ese campo y para esa fila el color que se desee. Para que la función interprete que le estamos pasando un color en el campo info_fieldname del layout habrá que poner el nombre del campo que guarda el color.

ls_layout-info_fieldname = 'COLOR'.

COLUMNAS: Para poner colores en las columnas habrá que poner en el catálogo que se le pasa a la función ALV que esa columna la pinte de un determinado color. Para ello existe el campo "emphasize" en el catálogo donde se le introduce el color.

gt_catalog-col_pos = col_pos.
gt_catalog-ref_tabname = 'MBEW'.
gt_catalog-tabname = 'GT_DATOS'.
gt_catalog-fieldname = 'MATNR'.
gt_catalog-emphasize = 'C401'.
APPEND gt_catalog. CLEAR gt_catalog.
ADD 1 TO col_pos.

CODIFICACION DE COLORES: El color del ALV sigue el siguiente formato CXYZ donde...

C-> indica que es un color
X-> indica el numero de color, que debe ser del 1 al 9
Y-> indica la intensidad: ('0'=off / '1'=on).
X-> indica si el color es inverso ('0'=off / '1'=on).

Tomado de 'alv con colores'

viernes, 12 de diciembre de 2008

Exits para sustitución módulo FI

Crearemos una exit de sustitución de la siguiente manera:

1) Primero iremos a la transacción GCX2 y cambiaremos el programa que sale por defecto y crear nosotros una copia de este, por ejemplo RGGBS000 a ZRGGBS000. De esta manera podremos meter mano cuanto queramos. Evidentemente en el área funcional GBLS deberemos poner el programa copia que hemos creado.

2) Editar el programa. Dentro del programa que hemos hecho copia haremos nuevas exits en la rutina "get_exit_titles " que posteriormente saldrán en un menú. Las nuevas exits pueden tener un parámetro o no. Este parámetro se definirá posteriormente. Los que tengan un parámetros deberán tener el valor "c_exit_param_field" o si no tienen parametro "c_exit_param_none". De paso también haremos los forms abajo pero los dejaremos vacíos de momento. Este proceso requiere mirar un poquito como está hecho por defecto y copiarlo, es muy sencillo.

3) Lo siguiente que deberemos hacer es ejecutar el programa RGUGBR00 que regenerará todo el proceso realizado. Marcar todas las opciones de la pantalla de selección del programa por si las moscas. Pero antes de hacer esto será indispensable ir a la tabla GB01 y quitar la X del campo excluir del registro que interese para que regenere todo sin excluir el campo que queremos modifcar.

4) Posteriormente deberemos ir a la transacción OBBH y hacer doble click en el tipo de sustitución que proceda, en el nodo "susticiones" del paso correspondiente deberemos añadir una exit según el tipo de campo corresponda. Por defecto viene uno que pone "Sólo exit" en el que deberemos poner exit que no tenga parámetros, si es necesario, claro. En la ayuda de búsqueda ya debería salir nuestra exit.

En el caso de que queramos añadir un parámetro deberemos darle al icono que tiene el '+' justo encima de donde se ponen las exits y elegir el parámetro deseado y luego asignarle una exit que tenga el parámetro que coincida.

5) Haciendo doble click accederemos al form de la exit para que se ponga lo deseado.

6) Y para acabar volveremos al inicio de la transacción OBBH y deberemos activa el tema, poniendo un '1' en el campo "grado de activación".

Tomado de SaperosOnline

miércoles, 8 de octubre de 2008

Marcas de Agua en Páginas de Smartforms

Si se desea utilizar marcas de agua (watermark) en las páginas de un smartform para permitir identificar por ejemplo documentos copia y documentos original se debe hacer uso de los fondos de página (Backgroud Picture).

En el form builder de smartforms (Tx: SMARTFORMS). Seleccionando la página que llevara la marca de agua se ingresa a la pestaña "Fondo" ("Backgroud Picture"). Allí se puede seleccionar el Nombre, Objeto y el ID de la imágen que debe haber sido creada previamente (por ejemplo por la Tx. se78 una imagen con fondo blanco BMP 256 BIT).

Para que la imágen a desplegar pueda ser dinámica se debe dar clic en el botón (), luego de dar clic, la imágen del botón queda señalando hacia la izquierda ().

Se ingresa el nombre de una variable definida globalmente dentro del formulario, por ejemplo &IMG_BACK_GND& que puede estar tipeada como TDSFSYM. De esta manera la variable puede ser asignada dinamicamente con el nombre de la imagen en el procesamiento del formulario en el bloque de inicialización de variables.

Ejemplo de entrada:


También es posible seleccionar opciones adicioanles como el modo de salida y la posición de la imágen.

Consultar Repartos de Pedidos (Delivery Schedule, EKET)

Function Group: ME_SWP_SIC_DATA_ACCESS
Function module: ME_SWP_SIC_SA_GET_DEL_SCHEDULE
Short Text: Get delivery schedule for scheduling agreement

Obtiene los repartos de las solicitudes de pedido o pedidos para una posición.
Ej: Ver documentos de compra en la tx. me23n, para cada posición se tienen Repartos (Delivery Schedule)

lunes, 6 de octubre de 2008

Traducción de SmartForms

Si se desea traducir un smartforms Z de un idioma origen a un idioma destino, debemos utilizar la transaccion SE63 para realizar la misma y luego transportarla.

SE63 - Menu Traducción -> R/3 Enterprise -> Otros textos explicativos
Elejimos <> Smart Form SAP

En nombre de objeto ponemos el Smartforms que deseamos traducir. Con su repectivo Idioma origen y destino.
Nos aparecera una Doble ventana en la superior estan los textos y debajo su valor (en el idioma original) con su respectivo tipografia.

Nosotros debemos completar el cuadro de abajo elejiendo el valor que querramos en el idioma destino, o sea traducir nosotros la palabra del español a ingles.

NOTA: tratar de dejar la misma alineación de los textos, asi no tenemos problemos con las posiciones.

Al terminar, grabamos y activamos. Notese que no se genero ninguna orden de transporte.

Para poder transportar la traducción debemos agregar nosotros mismos la traducción a una Orden de transporte (algo similar con los textos creados con la SO10).

Ejecutar programa RS_LXE_RECORD_TORDER
Elejimos Create Transport Request ( )
Ponemos el idioma Destino
En Clase de orden elejimos T para que al liberar no se importen automaticamente en los otros sistemas o K para que siga la ruta especificada.

Grabamos. Esto genera una orden sin objetos. Ahora debemos llenarla.

Ejecutar programa RS_LXE_RECORD_TORDER
Ponemos el Idioma Destino 'EN' (ingles)
El tipo de objeto 'SSF' (Smartform)
Y la fecha y autor para restingir busqueda.

Nos aparecen las encontradas, ahi deberiamos ver la nuestra. La seleccionamos, ejecutamos y nos aparece un log de concluido.

Vamos a la SE10 y vamos a ver nuestra orden creada con el respectivo Objeto de traducción. Listo para ser transportada a QA.