miércoles, 30 de marzo de 2011

Rendimiento SAP

Varias cosas se pueden decir al respecto ... consejos fundamentales:

  1. Si la tabla no es cluster, cómo la BSEG, crear un índice puede mejorar el rendimiento. Para las cluster no se puede crear índice, así lo indica el propio SAP.
  2. Evitar accesos a la base de datos dentro de loop ó do, el rendimiento empeora mientras más registros haya. Sustituir por "READ TABLE itab" ó "LOOP itab INTO wa WHERE ...".
  3. Evitar en lo posible loops anidados.
  4. Usar field-symbols.
  5. Si hay que usar un buffer de muchos registros, crear nuevas tablas propias de cliente con un índice a medida, y un menor número de registros que permita bufferizar con facilidad.

viernes, 18 de marzo de 2011

Completar o quitar ceros de una variable

Estas funciones son básicas y están en muchas partes..pero cómo siempre las estoy buscando también las coloco aqui ...

* Función que saca los ceros a la izquierda de una variable

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
EXPORTING
INPUT = GV_VARIABLE
IMPORTING
OUTPUT = GV_VARIABLE.

* Función que completa con ceros a la izquierda de una variable

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = GV_VARIABLE
IMPORTING
OUTPUT = GV_VARIABLE.