viernes, 26 de noviembre de 2010

Como añadir columnas en las transacciones KSB1 y KOB1.

Otra vez tengo que volver a añadir columnas a una transacción de report standard. Para la KSB1 y KOB1, hay que actuar de la misma forma que para la CIJ3.
  1. Vamos a la CMOD.
  2. Creamos un nuevo proyecto.
  3. Asignamos la ampliación COOMEP01.
  4. Vamos a componentes.
  5. En tablas include añadimos nuestros campos en CI_RKPOS y lo activamos.
  6. Usamos el exit EXIT_SAPLKAEP_001, para llenar los nuevos campos. Lo haremos porque nos llega línea a línea en la estructura CS_RECORD. Si no queremos que lo haga para otras transacciones que usan este mismo exit hagamos CHECK sy-tcode = 'KSB1'. O algo similar según las transacciones que queramos tratar.
  7. Usamos el EXIT_SAPLKAEP_009 para tratar el field_catalog y estas cosas. Lo que yo hago es que si son otras transacciones quino los nuevos campos para que no salgan en el layout ni se puedan poner.
  8. Vamos a la SM34.
  9. Añadimos los nuevos campos a la vista V_TKALV.

lunes, 15 de noviembre de 2010

Como añadir columnas en la transaccion CIJ3.

Interesante explicación en este blog:
Añadir campo a informes CO de partidas individuales.

Por otra parte he encontrado aquí una explicación mucho más gráfica:
Adding Fields to CJI3 Report.

Y no lo he acabado de miar pero parece que aquí está más ampliamente explicado:
Expand PS Master Data by Adding New Fields to Project Builder.

He podido hacerlo siguiendo el primer enlace para lo de la CMOD y el segundo para la SM34. Al final lo que más me ha costado ha sido que al intentar entrar en el include para la user exit me daba el siguiente mensaje:

Nombres programa ZX... reservados para includes de grupos funciones exit. (Nº mensaje: DS027) 

Por fortuna en un foro encontré la solución, es tan tonto, como apretar RETURN, y así entramos. Además de tocar en el user-exit EXIT_SAPLKAEP_001 para la lógica, he tocado en EXIT_SAPLKAEP_009 para modificar el FIELD CATALALOG, para que si no es la transacción que nos interesa no saque las nuevas columnas.