BLOGDESAP_10_11

download BLOGDESAP_10_11

of 192

description

Resumen blogdesap años 2010 y 2011

Transcript of BLOGDESAP_10_11

Blogdesap resumen 2010-11

http://blogdesap.blogspot.com Customizing, ABAP y noticiasRecopilacin de los artculos publicados en blogdesap de los aos 2010 y 2011

Puedes acceder a estos artculos y otros que voy publicando a travs de

http://blogdesap.blogspot.com http://www.facebook.com/blogdesapPara seguir creciendo te agradezco que compartas este blog con tus amigos, conocidos y cualquier que est interesado. Puedes compartir este pdf libremente bajo las condiciones de la licencia Creative Commons

Blogdesap: resumen 2010-11 por http://blogdesap.blogspot.com se encuentra bajo una Licencia Creative Commons Reconocimiento-NoComercial-SinObraDerivada 3.0 Unported.

Este PDF se ha generado gracias al proyecto http://fivefilters.org/ y a http://www.pdfill.com/pdf_tools_free.html Las imgenes que aparecen publicadas son propiedad de sus autores y aparecen publicadas aqu bajo la licencia Creative Commons que ellos mismos cedieron. A continuacin se relaciona el origen de estas imgenes. http://www.flickr.com/photos/wassmer/with/507367448/ http://www.flickr.com/photos/dangoodwin/ http://www.flickr.com/photos/21218849@N03/ http://www.flickr.com/photos/ex-smith/ http://www.flickr.com/photos/4nitsirk/ http://www.flickr.com/photos/22280677@N07/ http://farm3.static.flickr.com/2476/3554582379_1d2799f43f.jpg http://farm1.static.flickr.com/14/93136022_25afa7e458.jpg http://www.flickr.com/photos/n3wjack/4661409838/ http://www.flickr.com/photos/tapaponga/5320210904/ http://www.flickr.com/photos/smanography/3293101820/ http://www.flickr.com/photos/loop_oh/442225983/ http://www.flickr.com/photos/chucksimmins/3387412983/ http://www.flickr.com/photos/oarranzli/6006659634/ http://farm1.static.flickr.com/180/370973576_9c1c871c39.jpg http://www.flickr.com/photos/timothymorgan/75593157/ http://www.flickr.com/photos/kaibara/2403072725/ http://farm4.static.flickr.com/3594/3548342923_ec24bb64cd.jpg http://farm3.static.flickr.com/2066/2189073444_2d12b95515.jpg http://www.flickr.com/photos/oarranzli/6269831858/ http://www.flickr.com/photos/adwentures/273706419/ http://www.flickr.com/photos/laurenmanning/2318794240/ http://www.flickr.com/photos/moneyblognewz/5264722308/ http://www.flickr.com/photos/teegardin/6094310934/ http://www.flickr.com/photos/richardwinchell/2831353173/ http://farm3.static.flickr.com/2568/4105756012_db89e4be50.jpg http://www.flickr.com/photos/29456235@N04/5396894948/ http://www.flickr.com/photos/the_ewan/4197995951/ http://www.flickr.com/photos/field_museum_library/3589463707/ http://www.flickr.com/photos/wrobel/300002369/ http://www.flickr.com/photos/nationaalarchief/3333358117/ http://www.flickr.com/photos/amagill/3366720659/ http://farm4.static.flickr.com/3148/2899489909_07ba71a9fc.jpg http://www.flickr.com/photos/imlsdcc/4669586118/ http://www.flickr.com/photos/cstrzrock/228748627/ http://www.flickr.com/photos/teegardin/5913014568/ http://www.flickr.com/photos/glennbatuyong/2594336182/ http://www.flickr.com/photos/kozumel/2228603119/ http://www.flickr.com/photos/jepoirrier/3266948575/ http://farm2.static.flickr.com/1129/1326652095_07b4d3d154.jpg http://farm2.static.flickr.com/1358/1061729364_ef2813c845_m.jpg http://www.flickr.com/photos/shht/2212700490/ http://www.flickr.com/photos/loop_oh/4023321360/ http://www.flickr.com/photos/oarranzli/6038438702/ http://www.flickr.com/photos/teegardin/6094263846/ http://www.flickr.com/photos/horiavarlan/ http://www.flickr.com/photos/zigazou76/3713380197/ http://www.flickr.com/photos/asurroca/51024419/

http://www.flickr.com/photos/mary-lynn/3517076586/ http://www.flickr.com/photos/dreamfish/3368619008/ http://www.flickr.com/photos/opensourceway/5392982007/ http://www.flickr.com/photos/sirspacepilot/5144846100/ http://www.flickr.com/photos/22280677@N07/3910685423/ http://www.flickr.com/photos/waterboysh/3400148085/ http://www.flickr.com/photos/redwoodphotography/3337240655/ http://www.flickr.com/photos/zigazou76/4481926257/ http://www.flickr.com/photos/library_of_congress/2179067793/ http://www.flickr.com/photos/zingyyellow/3237480458/ http://www.flickr.com/photos/sfllaw/302700951/ http://www.flickr.com/photos/jevnin/65560448/ http://www.flickr.com/photos/desigu/2735732309/ http://farm4.static.flickr.com/3393/4628277817_d0ab67f499.jpg http://farm4.static.flickr.com/3393/4628277817_d0ab67f499.jpg http://www.flickr.com/photos/oarranzli/5913181104/ http://www.flickr.com/photos/dm-set/4164144241/ http://farm3.static.flickr.com/2051/4515510954_2a2d6b1e67_m.jpg http://www.flickr.com/photos/unanoslucror/5368674140/ http://farm4.static.flickr.com/3432/3190782601_8d28d13b32.jpg http://farm4.static.flickr.com/3376/3518931365_1c26d256c9.jpg http://www.flickr.com/photos/23126594@N00/2787395526/ http://www.flickr.com/photos/loozrboy/3023203627/ http://www.flickr.com/photos/loop_oh/3338084111/ http://farm2.static.flickr.com/1025/537590787_be834a854a.jpg http://www.flickr.com/photos/vancouverfilmschool/3856598677/ http://farm2.static.flickr.com/1264/930660427_ab76c3de6a.jpg http://www.flickr.com/photos/pleeker/5379549514/ http://www.flickr.com/photos/usnationalarchives/4265798115/ http://farm5.static.flickr.com/4014/4445019548_6bab33f713.jpg http://www.flickr.com/photos/kheelcenter/5279194721/ http://farm1.static.flickr.com/75/195308824_94a800f3ed.jpg http://www.flickr.com/photos/sblackley/1128813156/ http://farm3.static.flickr.com/2239/2072055045_8cb25cc173.jpg http://www.flickr.com/photos/jess1820/5295917098/ http://www.flickr.com/photos/timoelliott/ http://www.flickr.com/photos/nasacommons/4861716142/ Los enlaces a los vdeos se encuentran en: Navegacin en queries SAP: http://youtu.be/54KsXMdY3vM Crear equipos en SAP: http://youtu.be/INiiOMVnVHk Envo del resultado de un job por mail: http://youtu.be/4pHYrLkjq4M

INDICE0. Estreno del blog

ABAP1. Query SAP (I): grupos de usuarios 2. Query SAP (II): infosets 3. Query SAP (III): crear una query 4. ABAP en queries: programas integrados 5. Navegacin en queries 6. Una plantilla ABAP 7. Listados ALV 8. Crear variantes de report 9. Exportar listados ALV a hojas de clculo 10. Recursos de programacin ABAP 11. Batch input recorder 12. Procesar juegos de datos de batch input 13. Extraccin de informacin a partir de jobs 14. Parametrizacin de tablas de control (table control) en transacciones 15. Crear tablas transparentes y estructuras 16. Vistas de actualizacin de tablas 17. Tablas del diccionario

BC18. Transporte de rdenes entre sistemas 19. Copia de rdenes de transporte entre sistemas no conectados 20. Proteccin de mandantes 21. Documentos adjuntos GOS 22. Gestin de autorizaciones

FI23. Periodos contables 24. Crear asientos contables 25. Cdigos de operacin en la norma 43 (Espaa) 26. Traspaso de partidas entre documentos 27. IVA: una gua para el aumento en SAP 28. Retencin del IRPF ampliada en clientes 29. Cierre del ejercicio

CO30.Cierre del ejercicio 31. Clases de coste primarias 32. Clave de periodificacin en contratos 33. Imputacin por defecto de clases de coste 34. Modificar la cuenta de resultados

MM35. Estrategias organizativas en compras 36. Determinar categoras de valoracin 37. Determinacin de cuentas en compras automticamente 38. Tolerancias de precio en pedidos de compra 39. Verificacin de facturas dobles 40. Modificacin en masa de precios de proveedores 41. Movimientos de materiales entre sociedades 42. Actualizacin del registro info en pedidos de compras 43. Anlisis de materiales obsoletos 44. Liberacin de pedidos de compras 45. Inventarios puntuales 46. Inventarios peridicos

PM47. Equipos en SAP 48. Planificacin de mantenimientos preventivos 49. Impresin de rdenes de mantenimiento 50. Log de modificaciones en rdenes 51. Verificacin de disponibilidades en rdenes de mantenimiento 52. Tabla de planificacin de capacidades: colores 53. Tabla de planificacin de capacidades: seleccin

54. Tabla de planificacin de capacidades: layout 55. Horarios de trabajo de personal

PP56. Definicin de turnos y horarios en puestos de trabajo 57. Calendarios de trabajo en SAP 58. Stocks de seguridad (I): stock mnimo 59. Stocks de seguridad (II): perfil de cobertura 60. Gestin de la demanda por punto de pedido 61. Compensacin de necesidades primarias

PS62. Gestin de reclamaciones (I) 63. Gestin de reclamaciones (II)

SD64. Fichero de poblacin 65. Verificacin de datos maestros: clientes 66. Condiciones de pago 67. Crear precios de venta 68. Gestin del riesgo en clientes 69. Determinacin y substitucin de materiales en ventas 70. Cross-selling 71. Ofertas y facturacin de rdenes de servicio 72. Control de copia de documentos de ventas 73. Impresin de documentos en Comercial 74. Textos y observaciones en pedidos de venta 75. Aadir campos en listas de documentos comerciales 76. Anulacin de facturas en masa 77. Sistema info de ventas 78. Simplificacin de pantallas con variantes de transaccin

VARIOS79. Cambios en masa 80. Rangos numricos 81. Roll out de una empresa (I): estructura de la empresa 82. Roll out de una empresa (II): mdulos 83. Roll out de una empresa (III): gaps y desarrollos ABAP 84. Roll out de una empresa (IV): datos maestros

SAP85. Enlaces relacionados con SAP 86. Especial Demo Jam 87. SAPTechEd Berln 2010 88. Demo Jam SAPTechEd Las Vegas 2010 89. SAPPHIRENOW 2010 90. SAP Streamwork 91. Movilidad en SAP 92. IDES

20 December, 2011 | created using fivefilters.org

Estreno delblog

mdulos han ido evolucionando tambin. Yo emplear la terminologa de mdulos como la he conocido, aunque es posible que en algunos casos ya no se los conozca como mdulos sino como soluciones. SAP-AC: Contabilidad General. SAP-IM: Gestin de Inversiones. SAP-EC: Controlling Empresarial. SAP-RE: Bienes eInmuebles. SAP-FI: Finanzas. SAP-CO: Controlling. SAP-TR: Tesorera. SAP-PS: Proyectos. SAP-WF: Workflow. SAP-IS: Soluciones Verticales. SAP-HR: Recursos Humanos . Tambin tenemos SAP-HCM. SAP-PM: Mantenimiento. SAP-QM: Calidad. SAP-PP: Planificacin yProduccin. SAP-MM: Materiales. SAP-SD: Ventas yDistribucin. SAP-LO: Logstica. SAP-LE: Ejecucin de Logstica. SAP-CS: Servicio al Cliente. SAP-EHS: Medio Ambiente. As, pues, intentar utilizar esta clasificacin en los posts que vaya subiendo en la medida de lo posible. Espero que el blog sea de inters para los que ahora estis en este mundo del SAP yque no dudis en dejar vuestros comentarios. Imagen de cabecera | Birkenzweig atravs de Wylio

Bienvenidos al blog blogdesap.blogspot.com. El objetivo con el que nace este blog es ser un lugar de informacin en el trabajo diario con SAP. En l intentar plasmar parte de las experiencias que he tenido con SAP tanto desde un punto de vista funcional como tcnico. El blog recoger, desde el punto de vista de un consultor, tanto cuestiones de parametrizacin como de programacin ABAP. A da de hoy, la Wikipedia define SAPcomo: a multinational software development and consulting corporation, which provides enterprise software applications and support to businesses of all sizes globally. Headquartered in Walldorf, Germany, with regional offices around the world, SAP is the largest software enterprise in Europe and the fourth largest software enterprise in the world as of 2009. [2] The companys best known product is its SAP Enterprise Resource Planning (SAP ERP) software. Es decir, SAP es la compaa. Yde entre los diferentes productos que SAP comercializa, este blog tratar sobre el Enterprise Resource Planning ERP de SAP, heredero de lo que se haba llamado SAP R/3, ycuyo nombre actual es SAPECC. Si bien es verdad que la terminologa que emplea actualmente SAP en su producto ha ido evolucionando, la base del producto sigue siendo la misma, crear un entorno de gestin de empresarial, donde cada rea de la empresa est integrada en una estructura global. Anteriormente, estas reas se definan por mdulos, pero amedida que el producto ha evolucionado, estos

1

20 December, 2011 | created using fivefilters.org

Query SAP (I): grupos de usuarios

Asignamos los usuarios: botn Asignar usuario yInfosets. Para permitir que un usuario modifique las queries del grupo de usuarios debemos mantener marcado el flag de autorizacin junto al nombre de usuario.

Guardamos. Y ya hemos acabado el primer paso en la creacin de unaquery. Imagen inicial | dangoodwin Cmo puedo recuperar informacin almacenada en el sistema acerca de mis clientes? Y acerca de mis proveedores? Y de mis ventas? En definitiva, cmo puedo obtener listados de consulta sobre los datos que anteriormente he entrado en miSAP? ste es el primer post de un grupo de tres sobre queries en SAP. Una query en SAP es una herramienta que nos permite recuperar informacin de la base de datos para generar listados de informacin en tiempo real. Es verdad que existen herramientas de programacin ABAP que ya nos permiten hacer listados yrecuperar informacin de las tablas de la base de datos. Sin embargo, con las queries no tenemos necesidad de saber programar (aunque puede ser una ayuda) yhace el proceso de construccin de listados una tarea ms rpida eintuitiva. Siempre que creemos una query debemos seguir tres pasos siempre en el siguiente orden. I:Crear un grupo de usuarios II:Crear un infoset. III: Crea laquery. Definicin de un grupo de usuarios Un grupo de usuarios es el primer paso en la creacin de una query SAP. En cada grupo asignamos los nombres de los usuarios que tendrn acceso final la query que generaremos. No es ms que una autorizacin para poder utilizar nuestra query aun grupo ordenado de personas. Por ejemplo, podemos determinar que las consultas oqueries del mdulo SD slo las podrn consultar aquellas personas de los departamentos de Ventas yMarketing.En este caso, crearemos un grupo de usarios llamado VENTAS donde incluiremos el nombre de los usuarios de estos departamentos. Funcionalidad Herramientas /Workbench ABAP /Utilidades /Query SAP /SQ03 Grupo de usuarios Creamos yasignamos un nombre anuestro grupo de usuarios: botn Crear.

1

20 December, 2011 | created using fivefilters.org

Query SAP (II): infosets

momento que cree el infoset slo necesito informacin de una de las dos. As me ahorro problemas en el futuro.

Definicin El segundo paso en la creacin de una query es la definicin del infoset asociado. Los infosets son vistas especiales de datos donde se agrupan todos los campos que se utilizarn en una query. En un infoset enlazaremos diferentes tablas atravs de campos comunes yseleccionaremos qu campos queremos que estn disponibles para nuestras queries. Asu vez, asignaremos el infoset auno oms grupos de usuarios (recordad el post anterior sobre grupos de usuarios). Funcionalidad Siguiendo con el ejemplo del anterior post vamos acrear un infoset de informacin de ventas, en concreto, de las cantidades que nuestros clientes nos han pedido en un rango de fechas. Para ello debemos saber que la tabla en la que se almacena la informacin de pedidos de clientes en SAP se encuentra en la tabla VBAK. La informacin de las cantidades solicitadas se encuentra en la tabla VBAP. Tambin debemos saber que ambas tablas se relacionan entre s atravs del campo documento de ventas (VBAK-VBELN /VBAP-VBELN). Ahora podemos empezar aconstruir nuestro infoset. Entramos en la transaccin de infosets. Herramientas /Utilidades /Query SAP /SQ02 Infosets Creamos un infoset, le damos una descripcin yuna tabla base sobre la que generaremos nuestro infoset. En nuestro caso sobre la tabla VBAK. En este apartado existen varias opciones: podemos crear el infoset realizando la consulta slo sobre una tabla en exclusiva, sobre varias tablas, sobre una base de datos lgica oincluso sobre datos externos. Hay que pensar bien qu opcin escoger ya que una vez se ha creado ya no hay vuelta atrs. Por ejemplo, si escogemos crear un infoset atravs de una tabla, si en el futuro decidimos aadir una nueva tabla tendremos que borrar el infoset ycrear uno nuevo. Yeso ser un problema mayor si ya hemos creado la query subsiguiente pues en ese caso tambin habra que borrar antes la query. Personalmente, siempre creo las queries va unin de tablas aunque en el

Creamos el enlace entre ambas tablas aadiendo la nueva tabla VBAP. Automticamente, SAP nos propone las conexiones entre tablas. Sin embargo, podis borrar el enlace yasociarlo atravs de otros campos (siempre que sean del mismo tipo, de lo contrario SAP no lo aceptar). Yo voy aaceptar la propuesta que me hace SAP. Atencin, en este punto hay que decir que debemos tener cuidado con las tablas que utilizamos en nuestro join. SAP no suele tomarse muy bien las tablas cluster como la BSEG. En este caso es mejor utilizar tablas transparentes como la BSID, BSAD, BSIK oBSAK. Tratar /Insertar tabla

Volvemos hacia atrs ycreamos los grupos de campos (Pasar a /Back). Esto son una especie de carpetas donde asignaremos los campos de nuestras disponibles para las futuras queries. Yo escoger crear Grupos de campos vacos con lo que me crear dos carpetas, una para la tabla VBAK yotro para la VBAP sin ningn campo asignado. Arrastramos los campos de las tablas (parte izquierda de la pantalla) hacia los grupos de campos que hemos creado (parte derecha de la pantalla). En mi caso, arrastro los campos solicitante ydocumento de ventas de la VBAK ycantidad ymaterial de la VBAP. Como veis sobre los campos solicitante ynmero de material SAP escribe una T. Eso significa que asociado aestos cdigos SAP internamente tambin arrastra sus descripciones, por lo que no hay que hacer ninguna seleccin hacia las tablas de descripciones del solicitante (KNA1) ni del material (MAKT).

1

Adems, para complicarlo un poco ms voy aaadir un campo que no est en ninguna de las tablas. Por ejemplo, si la posicin ha sido rechazada (lo que se indica en SAP atravs del campo VBAP-ABGRU) le voy adar la descripcin Posicin rechazada. Esto slo lo podemos hacer mediante programacin ABAP, una herramienta muy interesante que nos permiten los infosets. Pasar a /Detalles Creamos el campo adicional yle damos descripcin ytipo.

Volvemos a Grupo de campos. Vemos ahora que en la parte izquierda de la pantalla nos aparece un nuevo campo de datos Campos adicionales que contiene el campo que hemos creado. Lo que hay que hacer ahora es crear un nuevo grupo de campos yarrastrar nuestro campo adicional aeste grupo de campos (tambin podramos arrastrarlo auno de los grupos de campos que ya tenemos).

Slo nos queda grabar, verificar yactivar nuestro infoset. Infoset /Grabar Infoset /Verificar Infoset /Generar Ya podemos volver la pantalla inicial yasignar el infoset al grupo de usuarios que creamos anteriormente atravs de la transaccin SQ01 (ver el post anterior). Pasar a /Asignacin agrupo de usuarios

Imagen inicial | Samuel Mann

Escribimos el coding para el campo. Verificamos el cdigo ABAP (corregimos si es necesario) ygrabamos.

2

20 December, 2011 | created using fivefilters.org

Query SAP (III): crear unaquery

estndar). Mi experiencia personal me dice que no merece la pena el trabajo de crear una query en un mandante de desarrollo yluego transportarla hasta nuestro mandante productivo. Ser ms rpido yms fcil testear nuestra query si la creamos directamente en el rea estndar. Para eso vamos aEntorno /mbitos funcionales /rea estndar (especfico de mandante). Nuestra query la crearemos dentro del grupo de usuarios que creamos en el paso I. Por eso, iremos aTratar /Cambiar grupo de usuarios /Ventas. Damos un nombre anuestra query yla creamos. Automticamente nos pedir que la asignemos aun infoset (recordar el paso II). Evidentemente, asignaremos el infoset que ya habamos creado previamente (SD_VENTAS).

Definicin El tercer paso en la creacin de una query es, precisamente, la creacin de la query propiamente dicha. Esto es un listado de informacin extrada de la base de datos. Para ello es necesario que previamente hayamos creado el grupo de usuarios al que permitiremos extraer la informacin. Asimismo, debemos haber creado el infoset donde indicamos las tablas de informacin necesaria. Crear una query consiste en generar una pantalla de seleccin de la informacin yuna disposicin (layout) de salida de toda esta documentacin. Funcionalidad Sigamos con el ejemplo. Creamos una query de informacin de ventas. Entramos en la transaccin de queries. Herramientas /Workbench ABAP /Utilidades /Query SAP /SQ01 Queries Podemos crear nuestra query bien en rea estndar bien en mbito global. Esto significa que podemos crear la query yluego transportarla (mbito global) obien crear la query directamente en nuestro entorno productivo (rea

En la siguiente pantalla, SAP nos pide una descripcin de la query. Podemos tambin indicar la variante de la pantalla de seleccin que queremos que se utilice por defecto al ejecutar la query. Esta variante la podemos crear cuando ya hayamos generado nuestra query yaadirla aqu directamente (campo Variante estndar). En esta pantalla tambin aparecen datos de Formato de salida. Aqu le podemos indicar anuestra query cmo queremos que se muestre. Por defecto, utilizamos el List Viewer ABAP, es decir, el ALV tpico. Aunque SAP nos da la posibilidad incluso de lanzar el resultado directamente hacia un Excel si as se quiere (EXCEL).

Pasamos a Seleccin de grupos de campos. Aqu debemos seleccionar todos nuestros grupos de campos del infoset. O, si alguno de los grupos de campos no los quisiramos

1

utilizar en nuestra query, entonces simplemente no lo seleccionamos. En Lista bsica nos muestra los campos disponibles en cada uno de los grupos de campos. Debemos seleccionar aquellos que nos interesa que se muestren en la query. En el caso del ejemplo, seleccionar todos los campos. Como veis los campos de texto, aunque no los habamos seleccionado directamente en nuestro infoset, s que nos aparecen dentro de los campos disponibles. Eso es simplemente porque los campos de cdigo solicitante ynmero de material siempre llevan asociadas sus descripciones por defecto. En la pantalla de Selecciones creamos nuestra pantalla de seleccin. Es decir, los criterios apartir de los cuales buscaremos la informacin. Yo voy amarcar los campos solicitante, material ydocumento de ventas.

Y as el layout de salida.

A partir de aqu ya podemos utilizar la funcionalidad propia de los listados ALV como descargar la informacin en Excel, hacer filtros, sumas, sumas parciales, etc. Enlaces | sappedia (aadido el 31/10/2010) Imagen | Ex-Smith

Lista bsica: aqu construimos la disposicin de salida donde indicamos qu campos queremos que se muestren en el listado yen qu orden. Adems, podemos tambin darle algn formato especial como colores, guiones de separacin, etc. Yo voy amarcar todos los campos disponibles yadems voy ahacer que sea de verde intenso. Para hacer eso hay que arrastrar el campo Afirmativo(intenso) sobre el campo que queremos que sea de otrocolor.

Grabo. As queda la pantalla de seleccin.

2

24 December, 2011 | created using fivefilters.org

ABAP en queries: programas integrados

grupo inconexo de transacciones programadas bajo nombres Z* que, en el mejor de los casos, habremos agrupado en mens de usuario oen mens de favoritos. Tambin nos da la posibilidad de crear consultas de informacin impensables en un join simple de tablas creado mediante la conexin grfica. Podemos, por ejemplo, unir dos tablas pero manteniendo una como cabecera yla otra debajo de sta con sus posiciones. Veamos esto ltimo. Queremos mostrar pedidos de compra, con una lnea de cabecera para cada pedido ysiguiendo aesta cabecera, toda la serie de posiciones del pedido. Creamos el infoset marcando Obtencin de datos mediante programa y Programa integrado.

El infoset nos exigir que introduzcamos una estructura de datos. Por lo tanto, previamente debemos ir al diccionario ycrear la estructura que soportar la salida de informacin. Este paso previo no lo explico pero tenis un ejemplo en el siguiente enlace. En este punto, los campos disponibles sern los que nos indique nuestra estructura. Arrastraremos estos campos al grupo de campos que tengamos creados. Lo interesante aqu, es que se nos abre un botn que no habamos visto hasta ahora. Este botn se llama Programa de lectura de datos ynos seala el lugar atravs del que haremos nuestra programacin ABAP. As que lo marcamos.

Siguiendo con una serie de artculos anteriores donde ya explicaba como crear queries einfosets voy aintentar mostrar otra manera realizar queries. En este caso vamos aintegrar programacin ABAP en queries SAP. Se trata de utilizar toda la potencia que nos dan las presentaciones va query para mostrar informacin, pero hacindolo sin utilizar los joins grficos de tablas. En un principio, las queriesSAP se entienden como una forma sencilla de extraer informacin de la extensa base de datos de SAP. Paraobtener esta informacin, la mejor manera es utilizarla conexin grfica de tablas en nuestros infosets. Sin embargo, para aquellos que ya tengan conocimientos sencillos de programacin ABAP, SAP provee una herramienta de programacin integrada en infosets. Con ella, no necesitamos utilizar ninguna conexin grfica, sino que podemos obtener informacin atravs de sentencias SQL ypresentarlas en el formato que nos dan las queries SAP. Qu ventajas puede tener esta forma de crear queries? En principio, la gran ventaja que yo observo es la posibilidad de utilizar todo el envoltorio que nos da una query, con sus ALV y layouts. Nos quita trabajo ya que slo debemos concentrarnos en recuperar la informacin. De la presentacin de sta ya se ocupa la query. Adems, nos da un entorno organizado de listados ya que nos permite tener todas nuestras consultas bajo la apariencia de la transaccin de queries SQ01. Nos evita tener un

El editor ABAP que se nos abre consta de diversos eventos donde escribimos nuestros comandos ABAP: Declaracin de variables.

Pantalla de seleccin. Definimos el pedido de compras como parmetro de seleccin en nuestra query. Podemos indicar una descripcin del parmetro para

1

que no aparezca el nombre de la variable al ejecutar la query. Para ello tenemos que ir la pestaa Delimit yhaciendo doble click sobre el parmetro cambiamos el texto de seleccin.

Un listado de las posiciones de un pedido con una cabecera para el pedido. El ejemplo es muy sencillo ypoco significativo pero nos da una idea de la potencia de la herramienta. Imagen inicial | 4nitsirk

Extraccin dedatos.

Salida de informacin.

Generamos nuestro infoset. Asociamos el infoset aun grupo de usuarios. Creamos nuestra query normalmente. Y ste es el resultado:

2

24 December, 2011 | created using fivefilters.org

Navegacin en queries

Ahora cuando lancemos la query yhagamos doble click sobre un registro del listado vamos atener la opcin de escoger entre navegar la transaccin VA03o laMB52. En el siguiente vdeo explicativo se muestran todos lospasos: La navegacin se realiza al hacer doble click sobre cualquier punto de un registro, independientemente del campo sobre el que se pulse. Entonce, cmo determina SAP cul es el campo que tiene que utilizar para navegar? Pues lo hace en base al ID del parmetro. SAP recorre todos los campos del registro yenlaza el ID del registro correcto con el ID del parmetro de entrada de la transaccin. Entonces para verificar que la navegacin funcionar correctamente debemos determinar cul es el ID del parmetro. Eso lo hacemos mediante los siguientes pasos: Vamos al campo de entrada de nuestra transaccin, por ejemplo el de laVA03 Logstica /Comercial /Ventas /Pedido /VA03 Visualizar Pulsamos F1. Marcamos Datos tcnicos oel icono Martillo. Verificamos que existe un valor dentro de ID parmetro.

Una de las peculiaridades de SAP es que estemos donde estemos el sistema suele permitirnos saltar entre transacciones. Simplemente debemos situarnos encima de un campo, hacer doble click yel sistema navegar aotra transaccin relacionada con ese campo. Por ejemplo, si en la transaccin en la que estamos hay un campo con el cdigo de un material, si hacemos doble click sobre ste SAP navega hacia la transaccin del maestro de materiales de ese cdigo en concreto. En otros artculos ya haba explicado cmo crear queries. En esta ocasin voy aampliar estos posts con esta sencilla funcionalidad de SAP, la navegacin. Caso Tenemos una query que nos permite listar posiciones de pedidos de venta donde nos muestra las posiciones de pedidos con el cdigo de material. Queremos que al hacer doble click sobre un registro en concreto SAP nos muestre el stock disponible en almacn de ese material yel pedido de ventas completo asociado Cmo lo hacemos? Solucin Modificamos nuestra query. Herramientas /Workbench ABAP /Utilidades /Query SAP /SQ01 Queries Vamos al men Pasar a /Asignacin del informe. Indicamos que nuestro tipo de informe ser una transaccin. Igual que una transaccin podramos indicar un report ABAP, una query, etc. Introducimos el nombre de nuestra transaccin (VA03 para visualizar el pedido de ventas completo) Repetimos de nuevo para la otra transaccin (MB52 para visualizar el stock del material). Grabamos.

Hacemos lo mismo para el campo de nuestra query, pero desde la transaccin SE11 Herramientas /Workbench ABAP /Desarrollo /SE11 Dictionary ABAP Introducimos el elemento de datos (VBELN_VA) en el campo tipo dedatos. Visualizar.

1

Y en la pestaa propiedades adicionales el valor del ID del parmetro debera ser el mismo que hemos obtenido anteriormente. As podemos estar seguros que la navegacin se har correctamente desde nuestra query. Imagen | Svadilfari

2

20 December, 2011 | created using fivefilters.org

Una plantilla ABAP

*************************************************** *Declaracin tablas internas *************************************************** *data: begin of it_tabla occurs 0, * *end of it_tabla. *************************************************** *Includes *************************************************** *include *************************************************** ***SELECTION-SCREEN *************************************************** selection-screen begin of block b1. *select-options: *parameters: selection-screen end of blockb1. *************************************************** ***AT SELECTION-SCREEN *************************************************** *at selection-screen output. * *at selection-screen on xxxxx. * *************************************************** ***START-OF-SELECTION *************************************************** start-of-selection. *************************************************** ***SUBRUTINAS *************************************************** *&* *&* *&Formrutina *&* *text *-* *>p1text *

Para los que tenis que programar asiduamente aqu os dejo una pequea plantilla que quizs os sea de utilidad al hacer reports en ABAP. Am me ha ayudado yservido de gua muchas veces. Plantilla *&-* *& Report *Autor:Fecha: *************************************************** *Modificaciones: *Fecha: *************************************************** reportzxxxxxx no standard page heading line-size255. *************************************************** *Tablas *************************************************** *tables: *************************************************** *Type pools *************************************************** *type-pools: *************************************************** *Constantes *************************************************** *constants: *************************************************** *Variables globales *************************************************** *data: *************************************************** *Estructuras ***************************************************

1

20 December, 2011 | created using fivefilters.org

Listados ALV

end of i_nif. Seguidamente buscamos la informacin yla cargamos en la tabla interna i_nif. sta ser nuestra tabla de output amostrar. Definimos las parametrizaciones de impresin delALV. clear e_print. e_print-no_print_selinfos = X. e_print-no_print_listinfos =X. Definimos la denominacin de cada uno de los campos ycmo se referenciarn. wa_fieldcat-fieldname = NIF. wa_fieldcat-tabname = I_NIF. wa_fieldcat-seltext_m = NIF. append wa_fieldcat to t_fieldcat. clear wa_fieldcat. Definimos el layout delALV. clear e_layout. e_layout-zebra = X. e_layout-colwidth_optimize =X. Llamamos la funcin que genera el listado ALV REUSE_ALV_GRID_DISPLAY.Aqu indicamos el nombre de nuestro report, el layout (cmo se mostrarn las columnas), el catlogo de campos, si queremos que se puedan ono grabar variantes de layout yla tabla de output que contiene la informacin amostrar. Por supuesto, esta funcin permite diversas parametrizaciones del ALV que se pueden consultar directamente en la documentacin de la funcin. call function REUSE_ALV_GRID_DISPLAY exporting i_callback_program= xrepid is_layout= e_layout it_fieldcat= t_fieldcat i_save= A is_print= e_print tables t_outtab= i_nifnecesidad exceptions program_error= 1 others= 2. if sy-subrc 0. endif. Aadimos los datos de cabecera. Estos datos de cabecera se entrarn en una rutina que no se llamar formalmente ya que la llamada se realizar desde el mdulo de funciones REUSE_ALV_GRID_DISPLAY. * Cabecera grande wa_heading-typ = H. wa_heading-info = Cabecera. append wa_heading to t_heading. clear wa_heading. * Cabecera pequea

En este post explicar cmo crear un listado ALV sencillo. Descripcin En primer lugar creamos nuestro report ALV. Herramientas /Workbench ABAP /Desarrollo /SE38 Editor ABAP Definimos las variables que utilizaremos en nuestro report. Por regla general yo he utlizado en los reports ALV que he escrito las siguientes variables: ********************************************************* *Type pools ********************************************************* type-pools: slis. ********************************************************* *Variables globales ********************************************************* data: xrepid like sy-repid ********************************************************* *Declaracin tablas internas ********************************************************* data: wa_fieldcat type slis_fieldcat_alv, t_fieldcattype slis_t_fieldcat_alv, e_layouttype slis_layout_alv, e_printtype slis_print_alv. data: begin of i_nif occurs 0, xxx

1

wa_heading-typ = S. wa_heading-info = Subcabecera. append wa_heading to t_heading. clear wa_heading. Si adems queremos aadir un logo anuestro listado deberemos subir la imagen aSAP (clase PICTURES, tipo clase OT). Para ello utilizaremos la transaccin OAER. En el siguiente link encontraris toda la informacin para hacerlo. Seguidamente habr que llamar al mdulo de funciones REUSE_ALV_COMMENTARY_WRITE con nuestro logo. El inconveniente de este logo es que es visible en SAP, pero no es posible imprimirlo. call function REUSE_ALV_COMMENTARY_WRITE exporting it_list_commentary= t_heading i_logo= LOGO. Ejemplo El siguiente es un ejemplo de listado que nos permite validar nmeros deNIF. *&* *& ReportZVALIDANIF *& *&* *& *& *&* reportzvalidanif. ********************************************************* *Tablas ********************************************************* tables: kna1. ********************************************************* *Type pools ********************************************************* type-pools: slis. ********************************************************* *Constantes ********************************************************* *constants: ********************************************************* *Variables globales ********************************************************* data: g_contador(4) type n, xrepidlike sy-repid. ********************************************************* *Declaracin tablas internas ********************************************************* data: begin of i_nif occurs 0, nif like kna1-stcd1, error(10), end of i_nif. ********************************************************* *Estructuras *********************************************************

data: wa_fieldcat type slis_fieldcat_alv, t_fieldcattype slis_t_fieldcat_alv, e_layouttype slis_layout_alv, e_printtype slis_print_alv, wa_headingtype slis_listheader, t_headingtype slis_t_listheader. ********************************************************* *Includes ********************************************************* include . ********************************************************* ***SELECTION-SCREEN ********************************************************* ********************************************************* * Pantalla de seleccin ********************************************************* * select-options s_stcd1 for kna1-stcd1. ********************************************************* *At selection-screen ********************************************************* ********************************************************* ***START-OF-SELECTION ********************************************************* start-of-selection. * Funcion validacion nif perform valida_nif. * Log: cmo se cargar perform display_alv. ********************************************************* *Performs Adicionales ********************************************************* *&* *&Formdisplay_alv *&* *text *-* *>p1text *p1text *p1text *p1text *p1text *p1text *

2

20 December, 2011 | created using fivefilters.org

Crear variantes de report

Se nos despliega una ventana donde nos pide si queremos grabar. Por supuesto, le damos una descripcin anuestra variante ydecimos que s queremos grabar.

Creacin de una variante con parmetros Los valores que grabamos en una variante no necesariamente han de ser fijos. Podemos indicar datos que varen segn el da en que se lanza nuestro report por ejemplo. Oincluso podemos hacer que un campo se grabe sin valores oimpedir que un usuario pueda introducirvaloralguno en un campo. Mejor verlo con un ejemplo. Definicin En SAP llamamos variante auna imagen de informacin fija quepodemos introducir en una pantalla de seleccin de una transaccin. Con una variante podemos introducir valores en cada uno de los campos de una pantalla de seleccin ygrabarla para ms tarde recuperarla de nuevo la hora de ejecutar el programa otransaccin. Las variantes se asocian comunmente areportsy listados de SAP. Es ms difcil asociarlas atransacciones de pantallas. Para ms informacin sobre este segundo caso consultar un post anterior. Ya haba hablado sobre la posibilidad de utilizar variantes para transacciones estndar de SAP. En este caso, comentaremos en ms detalle cmo crear una variante, cmo protegerlas ydnde utilizarlas. Creacin de una variante Vamos anuestro editor ABAP. Herramientas /Workbench ABAP /Desarrollo /SE38 Editor ABAP Seleccionamos Objetos parciales /Variantes /Modificar Damos un nombre anuestra variante (no es necesario que empiece porZ). Marcamos Crear con Valores. Se nos abre la pantalla de seleccin de nuestro report. Indicamos los valores que queremos dar acada uno de los campos de la pantalla de seleccin. Salimos de la pantalla Pasar a /Back Desde el editor ABAP recuperamos nuestra variante. Marcamos Modificar con Atributos.

Desdela pantalla de Atributos podemos modificar los atributos de cada uno de los campos que hay en nuestra pantalla de seleccin. Proteger campo: marcamos los campos de sociedad para que no se pueda modificar elvalor. Suprimir campo: marcamos el campo Va de pago para que ste no sea visible directamente en la pantalla de seleccin. Campo obligatorio: marcamos el campo caracterstica para que sea obligatorio introducir un valor para poder ejecutar el report. Variables: creamos una fecha dinmica (D) con el valor del ltima da del mes. La variante siempre contendr el valor del ltimo da del mes en el que se lance el report.

1

En reports. Ejecutamos el report ydesde la pantalla de seleccin seleccionamos Herramientas /Workbench ABAP /Desarrollo /SE38 Editor ABAP Pasar a /Variantes /Traer En transacciones. Podemos hacer que la transaccin se inicie directamente con la variante que hemos creado. Para ello, modificamos la transaccin Zy en el apartado variante indicamos nuestra variante. De este modo, siempre que ejecutemos la transaccin, automticamente se lanzar con la variante que hayamos adjuntado. Herramientas /Workbench ABAP /Desarrollo /Otras herramientas /SE93 Transacciones

Grabamos. En jobs de fondo. Cuando lanzamos un report por job de fondo es obligatorio indicar una variante de ejecucin. En el momento de crear nuestro job debemos indicar la variante. El resultado es una pantalla con valores dinmicos. Sistema /Servicios /Jobs /Definicin job En queries. Al igual que podemos iniciar transacciones con una variante prefijada, tambin podemos iniciar queries con una variante prefijada.

Transporte de una variante entre entornos Por lo general, una variante se puede crear ymodificar desde el entorno productivo SAP. Sin embargo, tambin es posible crear variantes desde entornos de desarrollo yposteriormente transportarlas aentornos productivos. Por supuesto, en este caso las variantes slo sern modificables desde desarrollo. Para crear una variante que pueda ser transportada simplemente debemos crearla con un nombre que empiece por CUS& Imagen inicial | *n3wjacks world in pixels

Utilizacin de variantes

2

24 December, 2011 | created using fivefilters.org

Exportar listados ALV ahojas de clculo

En este post cortito hago un resumen de los formatos de los que disponemos ala hora de exportar nuestros listados ALV auna hoja de clculo.Antiguamenteslo podamos exportar aun nico formato de hoja de clculo, el omnipresente Microsoft Excel. Afortunadamente, SAP se ha adaptado alos tiempos yya disponemos de otra variedad de formatos de hojas de clculo donde exportar informacin en la versin ECC deSAP. Actualmente los formatos soportados la hora de exportar un listado ALV auna hoja de clculo son: Microsoft Excel. MTHML de Microsoft Excel StarOffice yOpenOffice. Tambin soporta LibreOffice. Office XML Microsoft Excel XXL (formato antiguo). De acuerdo anuestros hbitos como usuarios SAP podemos indicar nuestro formato preferido la hora de exportar listados ALV. Cmo marcar por defecto un formato especfico? Imaginemos que queremos exportar un listado de pedidos incompletos aformato OpenOffice Lanzamos la transaccin Documentos comerciales incompletos. Logstica /Comercial /Ventas /Sistemas de informacin /Pedidos /V.02 Pedidos incompletos Vamos aexportar nuestro listado mediante el men Lista /Exportar /Hoja de clculo.

Observamos que SAP nos ofrece la opcin del formato en que queremos exportar nuestro listado de un desplegable. Marcamos la opcin StarOffice/OpenOffice eindicamos que queremos Aplicar siempre el formato especificado. Grabamos nuestra hoja de clculo con extensin .ods La prxima vez que intentemos volver aexportar nuestro listado ALV SAP ya no nos volver apreguntar por el formato y, directamente, nos ofrecer nicamente la opcin StarOffice/OpenOffice. Eso es porque SAP ha guardado anivel de usuario la opcin predefinida de formato en la tabla SALV_BS_ADMIN.

Qu hacer para reiniciar el valor por defecto para exportar ahoja de clculo? Ejecutar el programa SALV_BS_ADMIN_MAINTAIN con parmetro Display.

Marcar yborrar el registrode usuario que deseemos.

Ms informacin | notas 876916 y1080608

1

Imagen inicial | tapaponga

2

24 December, 2011 | created using fivefilters.org

Recursos de programacin ABAP

De todos modos, tambin podemos obtener el mismo resultado mientras escribimos nuestro cdigo, nos posicionamos sobre una sentencia ypulsamos el botn F1. Programacin de listados ALV yotras demos Si buscamos atravs del sistema de informacin los paquetes SLIS ySABAPDEMOS tambin encontramos el cdigo ABAP de programas escritos por SAP para utilizacin en demos ycursos de aprendizaje. Herramientas /Workbench ABAP /Desarrollo /SE38 Editor ABAP Entramos en el editor ABAP. Marcamos el matchcode. Marcamos Seleccin nueva. Escribimos el nombre del paquete SLIS oSABAPDEMOS.

En este artculo voy aescribir sobrer aquellas herramientas que conozco yque SAP nos provee para aprender aprogramar en ABAP. Son transacciones con cdigo fuente que os pueden servir para vuestros cursos de aprendizaje en este lenguaje propietario SAP. Documentacin ABAP yejemplos Herramientas /Workbench ABAP /Utilidades /ABAPDOCU Biblioteca de ejemplo

En esta transaccin, SAP agrupa el cdigo fuente de varios programas de ejemplo para el autoaprendizaje. Atravs de varios nodos nos ofrece el cdigo para aprender el uso de las sentencias ms frecuentes, programacin de dynpros, de orientacin aobjetos, incluso el interfasado con JavaScript. Documentacin de palabras claves Herramientas /Workbench ABAP /Utilidades /ABAPHELP Documentacin palabra clave Con la ayuda de esta transacin podemos acceder la biblioteca ABAP donde se encuentran documentadas las sentencias utilizadas en este lenguaje. Simplemente, entramos en la transaccin yescribimos la sentencia de la cual queremos documentacin.

Centro de presentaciones Enjoy Aqu se agrupan los cdigos de varios ejemplos. Se trata de una transaccinpara los que ya tenis cierto conocimiento de programacin ABAP. Cotiene ABAP orientado aobjetos, la evolucin del lenguaje ABAP que permite crear programas algo ms complejos. Herramientas /Workbench ABAP /Utilidades /DWDM Presentaciones

1

Comida en vuelo/primer plato STICKET Billete de avin STRAVELAG Ag.viajes Imagen inicial | Shermeee

Juegos de datos de prueba Seguro que ms de uno se acuerda de las tablas SPFLI, SCARR oSFLIGHT. Pues bien, bajo el paquete SAPBC_DATAMODEL se esconden todas estas tablas quetan frecuentemente son utilizadas en los cursos de formacin ABAP. Se trata del modelo de datos de vuelos que se suministra para hacer pruebas, programar listados de ejemplo, etc. Pero antes de poder hacer uso de ellas, es imprescindible llenarlas con datos. Mediante el programa SAPBC_DATAGENERATOR podemos marcar cuntos registros introducir en estas tablas oborrar su contenido completamente para empezar denuevo. Herramientas /Workbench ABAP /Desarrollo /SE38 Editor ABAP /Programa SAPBC_DATAGENERATOR

Una vez llenas ya podemos observar cmo quedan cada una de ellas. Aqu dejo el listado completa de estas tablas de formacin. Herramientas /Workbench ABAP /Resumen /SE16 Browser dedatos TABLA DESCRIPCIN SAIRPORT Aeropuertos SAPLANE Avin SBOOK Reservacin de vuelo directo SBUSPART Interlocutor cia.area SCARPLAN Asignacin compaa area-avin SCARR Compaa area SCITAIRP Asignacin ciudad-aeropuerto SCOUNTER Mostrador de venta SCPLANE Avin de carga SCURR Tp.cambio p.modelo datos formacin Workben SCURX Moneda p.modelo datos formacin Workbench SCUSTOM Clientes vuelo SDESSERT Comida en vuelo/postre SFLIGHT Vuelo SFLIMEAL Asignacin vuelo-comida SGEOCITY Situacin geogrfica de una ciudad SMACOURSE Comida en vuelo/plato principal SMEAL Comida en vuelo SMEALT Comida en vuelo/descripcin SMENU Men SNVOICE Factura SPFLI Itinerario de vuelos SPPLANE Avin de pasajeros SSTARTER

2

24 December, 2011 | created using fivefilters.org

Batch input recorder

Grabacin /Exportar.

De vuelta en el blog. Esta vez con la herramienta batch input recorder. Para empezar, decir que llamamos programas de batch input auna serie de programas que se han venido utilizando para la transferencia en masa de informacin hacia sistemas SAP. Amenudo, estos programas se han integrado en otras transacciones estndar como la tpica legacy. Sin embargo, si nuestras necesidades no pueden ser cubiertas por herramientas estndar SAP, entonces nosotros mismos tendremos que escribir nuestros programas de batch input. El resultado de la ejecucin de un programa de batch input es siempre un juego de datos que podremos procesar posteriormente para realizar la transferencia de informacin. En este artculo intento explicar cmo la herramienta de grabacin de batch inputs puede ayudarnos acrear juegos de datos de batch input sin tener ningn conocimiento de programacin ABAP. Voy adibujar un escenario sencillo donde queremos actualizar informacin en SAP atravs de una transaccin. Por ejemplo, nuestra empresa desea modificar el precio de venta de todos sus materiales atravs de la transaccin de registros de condicin VK12. Por supuesto, si tenemos una base de datos de cientos de materiales la modificacin manual puede suponer un trabajo considerable. Por lo tanto, en condiciones normales, lo lgico sera pedir anuestro desarrollador ABAP que escribiese un programa de batch input que tuviese en cuenta nuestra necesidad. El programa escrito sera capaz de generar un juego de datos que repitiese las pantallas yla transaccin cientos de veces (tantas veces como materiales hubiese en nuestra base dedatos). Ahora bien, si no tenemos ningn conocimiento de programacin ABAP ni persona que nos pueda ayudar, la herramienta de grabacin de batch inputs nos puede ser de gran utilidad la hora de crear nuestro juego de datos. Por supuesto, sin saber ABAP yen unos sencillos pasos: En primer lugar, vamos la transaccin de grabacin de batch inputs SHDB. Creamos una nueva grabacin de la transaccin VK12 atravs del botn Nueva grabacin. Exportamos la grabacin aun fichero .txt siguiendo el men

Copiamos el texto de nuestra grabacin tantas veces como materiales tengamos, pero en un nuevo fichero .txt. Al mismo tiempo, modificamos la informacin. Por ejemplo, si necesitamos modificar el precio de cien materiales, entonces copiaremos el texto cien veces. Tras ello, borraremos yre-escribiremos el cdigo de cada material ydel nuevo precio en cada pieza de texto de la grabacin. Ya s lo que estis pensando, que esto es ms fcil de decir que de hacer. Sin embargo, utilizando una sencilla hoja de clculo yalgunas frmulas puede llegar aser un proceso sumamente rpido*. A continuacin, importamos el nuevo fichero aSAP. Utilizamos para ello el men Grabacin /Importar.

Al final, lo que hemos conseguido es generar un nuevo juego de datos de batch input. Lo nico que nos queda por hacer es presionar el botn Procesar ynuestros datos subirn aSAP como en cualquier batchinput.

Como vis, unos sencillos pasos que nos permiten actualizar informacin en masa sin haber escrito ni una sola lnea de cdigo ABAP. Por supuesto, no recomiendo esta herramienta para transferencias de informacin complejas. Ni tampoco lo recomiendo como sustituto de otras herramientas estndar

1

legacy obapis. Pero s puede ser una herramienta interesante para afrontar problemas sencillos si no tenemos conocimientos suficientes de lenguaje ABAP. *Una ayuda para completar el fichero .txt con la informacin asubir. Utilizad una hoja de clculo como Microsoft Excel, numerad aquellos campos que queris completar yutilizad frmulas del tipo buscarv oconsultav para buscar yreemplazar con la informacin de vuestra base dedatos. Imagen inicial | loop_oh

2

24 December, 2011 | created using fivefilters.org

Procesar juegos de datos de batchinput

Herramientas /Gestin /Monitor /SM35 Batchinput Esto es lo que vemos en esta transaccin: Campos para la seleccin de nuestro juego de datos: podemos filtrar entre los juegos de datos creados por usuario (campo Autor), en un rango de fechas (campos De a)o segn el nombre del juego de datos (campo JD).

Del resultado de nuestro filtro vemos todos los juegos de datos que existen en el sistema, con su estado (nuevo, en ejecucin, ejecutado correctamente, ejecutado con errores, etc.). Son especialmente interesantes los campos Cantidad total de transacciones, transacciones procesadas con errores, transacciones procesadas y dynpros. Cantidad total de transacciones: nos informa sobre el total de transacciones que se ejecutarn en nuestro juego de datos. Por ejemplo, si estamos dando de alta el precio de compra de un registro info, entonces nos informa del nmero de veces que se llamar la transaccin ME11. Transacciones procesadas con errores: una vez lanzado el juego de datos, los errores que han generado cada una de las transacciones se acumulan en estecampo. Transacciones procesadas correctamente: igual que el anterior, pero que han finalizado con xito. Dynpros: nos indica el nmero de pantallas que se han procesado durante la ejecucin del juego dedatos.

Llamamosbatch input aun tipo de proceso que se lanza en fondo ymediante el cual podemos simular la introduccin de datos en una transaccin tal ycomo lo haramos si la estuvisemos procesando manualmente. La diferencia es que mediante batch input podemos hacer esto proceso de forma repetitiva, cosa que si tuviramos que llevarlo acabo manualmente se convertira en un proceso muy tedioso. Tpicamente la programacin de un batch input se utiliza para la carga masiva de datos en SAP.Sin embargo, el resultado de un programa de batch input no es la transferencia de datos directamente aSAP, sino la generacin de un juego de datos. En este juego se guarda toda la informacin de la transaccin relevante para la carga (pantallas por las que se pasa,datos que se deben poner en cada campo ylas teclas que se pulsan). En este post explico cmo tratar estos juegos de datos generados de modo quela informacin contenida en stos se transfiera completamente al sistema. Procesado on-line Al crear un juego de datos podemos decidir si lo queremos procesar al momento oslo crear el fichero del juego de datos para su procesamiento posterior. Si decidimos procesarlo inmediatamente, mediante una tcnica de programacin de batch inputs denominada de CALL TRANSACTION, entonces la transferencia de informacin ser inmediata. Procesado enfondo Si, por el contrario, decidimosprocesar el juego de datos posteriormente, entonces debemos ira

Tambin vemos una serie de pestaas. En cada una de ellas, los juegos de datos se observan segn su estado. En la pestaa inicial observamos todos los juegos de datos, en la pestaa nuevo slo aquellos juegos de datos an no procesados, en errneos aquellos juegos de datos que han dado al menos un error durante su procesamiento, etc.

Y cmo procesamos nuestro juego dedatos? Marcamos el juego de datos que queremos ejecutar

1

ypulsamos el botn Ejecutar. Automticamente nos abre tres posibilidades: Ejecutar visible: esta opcin nos permite observar paso apaso cada una de las pantallas por las que va pasando. Recomendada cuando estamos haciendo pruebas pero totalmente desaconsejada cuando queremos hacer una carga muy grande de informacin. Si queris salir de la ejecucin en visible podis pararla escribiendo /bend en la ventana de comandos. Visualizar slo errores: en este caso la transferencia de informacin se realizar sin que nosotros lo veamos directamente, pero se deterndr cuando detecte un error en la informacin contenida en el juego de datos. Nos permite corregir el error directamente cuando sucede. Se puede utilizar con cargas no muy grandes de informacin, pero no en procesos muy largos ya que nos obliga aestar delante del ordenador. Invisible: es la opcin que se utiliza comunmente. Nos permite proceso el juego de datos en fondo sin ninguna intervencin por nuestra parte. Los resultados yposibles errores ya los veremos en el log de la transaccin de batch inputs SM35. Mientras se est realizando la transferencia de informacin el juego de datos pasa la pestaa En tratamiento. Sabremos que el proceso ha finalizado cuando nuestro juego de datos pase la pestaade Procesado.

camino aseguir es diferente. No podemos hacerlo directamente atravs de la transaccin SM35. En este caso lo haremos mediante el programa RSBDCSUB. Herramientas /Workbench ABAP /Desarrollo /SE38 Editor ABAP Escribimos el nombre de nuestro programa RSBDCSUB yejecutamos. Escribimos el nombre del juego de datos aplanificar yla fecha en que secre. Seleccionamos en el men Programa /Ejecutar en proceso defondo. Introducimos los parmetros de impresin (si queremos que se imprima el log de resultado). Escribimos la fecha yhora en que queremos que se inicie el procesado del juego dedatos.

Para ver si hemos creado correctamente el job defondo: Sistema /Servicios /Jobs /Resumen jobs

Si todo ha resultado correcto el status del juego de datos se marcar como procesado ypasar la pestaa correspondiente. De lo contrario, se marcar como errneo ypasar la pestaa errneos. Cmo ver qu ha idomal? Hacemos doble click sobreel juego dedatos. Marcamos la pestaa Logs. Buscamos aquellas lneas resaltadas ya que sern las que contienen el mensaje deerror. Planificacin del procesado enfondo Finalmente, si decidimos procesar el juego de datos con posterioridad al lanzamiento del batch input, pero adems deseamos hacerlo en una fecha yhora determinadas, entonces el

Y, de nuevo, para ver el estado en que se encuentra el proceso del juego dedatos: Herramientas /Gestin /Monitor /SM35 Batchinput Imagen inicial | simminch

2

24 December, 2011 | created using fivefilters.org

Extraccin de informacin apartir dejobs

Seguidamente pulsamos el botn Parmetros de impresin yluego Atributos. Nos aseguramos de que no se imprima automticamente el resultado, sino que el listado quede en el spool.

En ms de una ocasin deseamos extraer informacin de SAP para analizarla externamente por ejemploconMicrosoft Excel. Sin embargo, debido al tiempo que ocupa la ejecucin de la transaccin no podemos hacerlo on-line. Si nos fijamos en el parmetro abap/timeout fijado en el sistema, ste esdemasiado bajo como para lanzar el programa en un proceso dilogo. Podemos visualizar este parmetro en nuestro sistemaen la transaccin Herramientas /CCMS /Configuration /RZ10 System profile Entonces, cmo podemos consultar informacin en SAP si la ejecucin de una transaccin consume mucho tiempo? La respuesta es programandoun job de fondo para la transaccin. Crear un job defondo Imaginemos que queremos consultar la lista de saldos de entradas de mercancas Logstica /Gestin de materiales /Gestin de stocks /Entorno /Visualizacin de saldos /MB5S Lista de saldoMSRF En primer lugar debemos conocer el programa que se esconde detrs de la transaccin. Para ello vamos la transaccin ypulsamos el men Sistema /Status. En el ejemplo el programa se llama RM07MSAL. Seguidamente vamos la transaccin que nos permitir definir nuestro job ydamos nombre anuestro job. Herramientas /CCMS /Background processing /SM36 Define job Pulsamos en el botn Paso yescribimos el nombre del programa yla variante con la que lo lanzaremos. Volvemos la pantalla anterior ygrabamos el conjunto. Extraer la informacin de una orden despool Una vez ha finalizado la ejecucin del job podemos ir arecuperar la informacin de salida. Vamos al spool controller. Herramientas /CCMS /Print /SP01 Output controller Grabamos yvolvemos la pantalla anterior. Pulsamos el botn Condicin inicio eindicamos cundo queremos que se inicie. Podemos indicar que se lance inmediatamente, en una fecha yhora concretas, cuando finalice otro job, etc. En este caso voy aindicar que se lance inmediatamente. Ygrabamos.

1

Buscamos una orden de spool que debe contener el nombre del programa que hemos lanzado. Marcamos esta orden yel botn Lista ABAP.

Vamos al men Orden spool /Transmitir /Grabar en fichero local. Nos abrir una ventana eindicaremos el formato en que queremos guardar el listado. Ya la tenemos para tratar fuera deSAP. Enviar la informacin de un job auna cuenta demail Otra opcin es que la finalizacin del job, ste enve el resultado directamente anuestra cuenta de correo electrnico. Para ello hay que incluir la direccin de correo electrnico la hora de crear el job en el botn Destino listas spool. La forma detallada de hacerlo la tenis en el siguiente enlace. Podis enviar la informacin: A una cuenta de correo individual. Herramientas /CCMS /Background processing /SM36 Define job /Destino listas spool A un grupo de usuarios creando una lista de distribucin mediante la transaccin SO28 ste es el ltimo post de la temporada. El blog volver en breve. Os deseo que pasis unas buenas vacaciones si las tenis. Nos vemos la vuelta.

2

20 December, 2011 | created using fivefilters.org

Parametrizacin de tablas de control (table control) en transacciones

Si queremos que nuestra disposicin sea visible solamente durante esta sesin recuperaremos nuestra variante del campo Opcin actual en el apartado Seleccionar variantes. En cambio, si queremos que nuestra disposicin sea visible siempre para nuestro usuario recuperaremos nuestra variante del campo Parametrizacin estndar en el apartado Seleccionar variantes. Si, por el contrario, queremos que esta disposicin afecte atodos los usuarios del sistema tendremos que trabajar como administradores. Marcamos la opcin Responsable del sistema. Esta opcin est reservada al objeto de autorizacin S_ADMI_FCD. Activamos la disposicin en la ventana que se nos abre acontinuacin. Si queremos, incluso podemos transportar la opcin aotros sistemas (icono Incluir en orden de transporte).

La parametrizacin de tablas sirve para modificar el orden, tamao ynmero de campos amostrar en una tabla de control de una transaccin. Ejemplo Si tomamos como ejemplo la tabla de posiciones que encontramos en los pedidos de venta de forma estndar nos podemos contrar con la siguiente distribucin de campos posicin, material, cantidad de pedido, un, r, denominacin, nmero de material del proveedor, tpos,etc.

Logstica /Comercial /Ventas /Pedido /VA02 Modificar Si sta no es la distribucin que nos interesa la podemos cambiar realizando los siguientes pasos: Marcamos aquellos campos que queremos cambiar ylos arrastramos la posicin que anosotros nos interese. Por ejemplo, en este caso voy amarcar el campo tipo de posicin (Tpos) ylo voy allevar detrs del de unidad de medida (UM). Abrimos el icono configuracin que se encuentra en la parte superior derecha de latabla. En el campo Variante del apartado Gestionar variantes asignamos un nombre anuestra nueva disposicin ymarcamos el botn Crear.

Finalmente, hay que indicar que toda la informacin de disposicin guardados se almacenan en la vista TCVIEW, la cual podemos acceder atravs de la transaccin SM30. Por lo tanto, podemos copiar la disposicin que hemos generado para un usuario replicando las entradas generadas en esta vista para el usuario correspondiente. Imagen | INTVGene

1

24 December, 2011 | created using fivefilters.org

Crear tablas transparentes yestructuras

que contendrn stas. Cada campo de una tabla oestructura ha de tener una descripcin yuna definicin del tipo de informacin que contendr. En SAP esto se consigue mediante dos objetos del diccionario llamados dominio yelemento de datos. Dominio: el dominio se define como el rango de valores que puede tener un campo. Es decir, el tamao mximo que puede tener un campo (desde 0caracteres onmeros hasta lo que se nosocurra)y el tipo de informacin que podr albergar (caracteres, nmeros enteros, nmeros decimales, etc.). Por ejemplo, creemos aqu el dominio para el campo cdigo. Herramientas /Workbench ABAP /Desarrollo /SE11 Dictionary ABAP /Dominio Marcamos la opcin dominio, lo llamaremos ZD_CODIGO. Presionamos Crear. Damos una descripcin al dominio. Escogemos un tipo de datos. En este caso slo aceptar datos numricos as que voy amarcar la opcin NUMC que es un tipo de datos que slo acepta nmeros enteros. As evitaremos que el usuario se pueda equivocar yentre letras en el campo. SAP validar que el tipo de informacin es numrica yno dejar grabar si no loes.

En un post anterior mostraba un detalle de tablas de diccionario estndar enSAP. Hoy toca hablar de los pasos que hay que seguir si queremos guardar informacin en la base de datos de SAP. Sea cual sea el tipo de base de datos que utilice nuestro ERP (Oracle, SQL, MaxDB) la forma en que podemos crear tablas en el diccionario de SAP es el mismo. Pero tambin hablar de cmo crear otro objeto del diccionario, las estructuras de datos ya que los pasos arealizar son muy similares. Definiciones Estructuras:es un conjunto de definiciones de campos almacenado en el diccionario de SAP. Una estructuranunca podr llenarse conningn registro de informacin asociada en la base de datos. Su uso se sita solamente dentro de la programacin ABAP. Tabla tranparente: al igual que una estructura, una tabla transparente tambin corresponde aun conjunto definido de campos estructurados almacenada en el diccionario de SAP. La diferencia es que una tabla transparentepuede serllenada con informacin. De hecho, una tabla en general es la unidad mnima necesario para introducir informacin en nuestra base dedatos. Existen otros tipos de tablas como cluster opool. Sin embargo, no tratar de ellas en este artculo. Podis encontrar ms informacin acerca de este tipo de tablas en el siguiente link. Elementos comunes la creacin de tablas transparentes yestructuras Previo acrear una tabla oestructura hay que definir los campos

Aceptaremos hasta9999 contactos. Por lo tanto, la cantidad de posiciones ser de4. La longitud de salidad tambin ser de 4. Es decir, lo que veremos en la tabla ser lo mismo que entremos en el registro. En la pestaa Ambito val podemos definir los valores fijos que puede tomar el campo. En este caso, lo dejamos vaco. Pero si por ejemplo el campo slo pudiese tomar dos valores como verdadero o falso, entonces lo podramos indicar aqu ySAP al entrar la informacin luego en la tabla no nos dejara entrar ningn otro valor que no fuese verdadero ofalso. No es nuestro caso. Grabamos. Damos una orden de transporte. Activamos.

Elemento de datos: el elemento de datos contiene la suma del dominio yla descripcin delcampo.

1

Herramientas /Workbench ABAP /Desarrollo /SE11 Dictionary ABAP /Tipo datos /Elem.datos Marcamos la opcin tipo de datos. Escribimos el codigo del elemento de datos. Pulsamos crear. Nos muestra un desplegable con tres opciones. Seleccionamos la opcin elemento dedatos. De nuevo damos una descripcin yescribimos el dominio que hemos creado anteriormente. Otra opcin es utilizar el botn tipo instalado. Con esta opcin no utilizaramos ningn elemento de datos, sino que asignamos el tipo de datos ysu longitud directamente en el elemento de datos. No es nuestro caso. En la pestaa de denominacin de campo escribimos cuatro descripciones adicionales. Sern las que aparecern en el encabezado de la tabla segn el tamao delcampo. Grabamos, guardamos yactivamos.

que marcaremos la opcin X Visualizacin/actualizacin permitida.

Aadimos los nombres de cadacampo. A cada campo asignamos su elemento de datos si lo tenemos. En el caso del cdigo tenemos el elemento ZE_CODIGO yse lo asignamos. En el caso del nombre no lo tenemos, pero vamos autilizar alguno de los que existen en SAP de forma estndar. Buscamos atravs del matchcode un elemento de datos estandar de tipo carcter ytamao 40

En el caso de direccin ytelfono no utilizaremos ningn elemento de datos. Asignaremos el tipo de datos, longitud ydescripcin directamente en la tabla. Para eso pulsamos el botn Tipo instalados yescribimos la informacin directamente.

Tabla transparente Una vez creados dominios yelementos de datos podemos empezar acrear nuestra tabla que servir de contenedor de informacin dentro de la base de datosSAP. Herramientas /Workbench ABAP /Desarrollo /SE11 Dictionary ABAP /Tabla base dedatos Al presionar el boton Crear nos pedir una decripcin yun tipo de clase de entrega. Nuestra tabla almacenar informacin as que la definimos como A (tabla de aplicacin). Tambin permitiremos que se puedan aadir registros directamente as

Determino cules son los campos clave, es decir, aquellos que determinarn un registro como nico en la tabla. En esta tabla esos campos son el campo mandante yel campo cdigo. Esto significa que el cdigo de cada contacto es unvoco yno pueden aparecer dos registros con el mismo cdigo dentro de la base de datos. El campo mandante es necesario siempre en todas las tablas transparentes para indicar que la informacin contenida en una tabla transparente ser diferente segn el mandante en el cual nos encontremos. Para eso marco la columna Clv de estos campos.

2

Actualizamos las opciones tcnicas: en Pasar a /Opciones tcnicas indicamos la clase de datos que informaremos anuestra tabla. En el ejemplo, los datos que incluir sern informacin de datos maestros (APPL0). El tamao ser el mmoposible (0 de 0a 3300), seguro que no incluir ms registros. El resto de informacin de esta pantalla la mantengo talcual.

A travs del browser de visualizacin general de tabla: mediante la transaccin SE16N Botn ejecutar. Botn aadir lneas. Botn grabar.

Actualizamos la categora de ampliacin: si en el futuro queremos ampliar la estructura de la tabla debemos decidir cmo la vamos aampliar. En el ejemplo, seleccionamos ampliable de cualquier manera. La propia ayuda de la opcin nos puede guiarsobre cmo hacer esto. Men Detalles /Categora de ampliacin. Grabamos yactivamos. Estructura Bsicamente lo que debemos hacer es exactamente lo mismo que hacemos al crear una tabla transparente. Sin embargo, el camino del men ser diferente. Herramientas /Workbench ABAP /Desarrollo /SE11 Dictionary ABAP /Tipo datos /Estructura Directamente debemos aadir los campos con su tipologa (columna tipo componente) sin asignar ningn tipo de clase de entrega. No es necesario aadir el campo mandante. Aadir informacin auna tabla transparente Para dotar de contenido una tabla podemos utilizar diversas alternativas directas si hemos marcado la opcin de browser de datos/actual.vista de tabla de la pestaa Entrega yactualizacin comoX A travs del explorador de datos de tablas. Herramientas /Workbench ABAP /Resumen /SE16 Browser de datos /Tabla /Registrar entradas

Creando una vista de tablas yutilizar esta vista para aadir registros. En otro artculo comentar con ms detalle cmo utilizar esta interesante opcin. Herramientas /Workbench ABAP /Desarrollo /SE11 Dictionary ABAP /Utilidades /Generador actualiz.tablas Tambin podemos utilizarcdigo ABAP. Utilizando sentencias de SQL como UPDATE, MODIFY oINSERT dentro de nuestro programa podemos ir aadiendo registros la tabla que hayamos creado. En este caso no es necesario haber marcado la opcin de browser de datos/actual.vista de tabla de la pestaa Entrega yactualizacin comoX. Visualizar la informacin almacenada en una tabla transparente De nuevo hay dos opciones: A travs del explorador de datos de tablas. Herramientas /Workbench ABAP /Resumen /SE16 Browser dedatos A travs del nuevo browser de visualizacin en la transaccin SE16N.

Podis encontrar informacin muy completa sobre el diccionario ABAP ycmo crear tablas yestructuras en el siguiente link. Imagen inicial | Tim Morgan

3

24 December, 2011 | created using fivefilters.org

Vistas de actualizacin de tablas

dos niveles. En este ejemplo vamos acrear dos niveles. Nmeros de imagen de actualizacin: numeramos las pantallas resumene individual. La pantalla resumen se asocia con el primer nivel, mientras que la imagen individual se asocia con el segundo nivel de tipo de actualizacin. Los nmeros de las pantallas han de ser diferentes. Pulsamos Objetos generados /Crear.

En el artculo de la semana anterior veamos cmo crear tablas de diccionario ymostr brevemente cmo podemos informar estas tablas desde un punto de vista tcnico. Pero, cmo puede actualizar informacin en una tabla unusuario final? La respuesta es atravs de imgenes de actualizacin. En este post vamos atomar la tabla que creamos la semana anteriory vamos acrear un objeto que ayudar al usuario aregistrar informacin sobre latabla. Definicin Una imagen ovista de actualizacin es una forma que SAP nos proporciona para poder introducir datos en tablas sin necesidad de entrar en el explorador de tablas ni tener que programar. No hay que olvidar que el explorador de tablas suele ser una transaccin restringida para los usuarios finales. As que necesitamos una forma simple yrpida de poder mantener lainformacin de tablas za disposicin de usuarios. Pasos Herramientas /Workbench ABAP /Desarrollo /SE11 Dictionary ABAP Una vez en la tabla navegamos al men Utilidades /Generador actualiz. tabla yseguimos los siguientes pasos: Grupo de autorizaciones: si decidimos que restringir el acceso segn autorizaciones de usuario lo podemos asignar aqu. De lo contrario, como en este ejemplo, indicamos el grupo de autorizaciones &NC& que significa que no estamos restringiendo el acceso aesta imagen de actualizacin. Grupo de funciones: creamos un grupo de funciones donde SAP almacenar el cdigo ABAP para la actualizacin de latabla. Tipo actualizacin: puede ser un nivel si queremos actualizar registros de la tabla en masa, es decir, viendo todos los registros la vez. En cambio, si la actualizacin la vamos ahacer registro aregistro entonces debemos marcar

Seguidamente nos pedir hasta tres rdenes de transporte ySAP empezar agenerar las vistas. Esto puede tardar unos segundos. Al finalizar el proceso en principio no es necesario ningn paso adicional pues las imgenes SAP las ha creado automticamente. Sin embargo, suele ser necesario realizar algn ajuste. Para ello nos vamos aEntorno /Modificacin /Imgenes de actualizacin. Seleccionamos qu imagen queremos modificar, la de resumen ola de detalle. En este caso, la de resumen.

SAP abre un screen painter para modificacin de dynpros opantallas. Para los que hayis programado en ABAP, decir que sta es exactamente la misma transaccin que podramos utilizar para hacer programacin ABAP de dynpros. Pulsamos el botn Layout ymodificamos la informacin que aparece en la pantalla. No es aconsejable modificar mucho estas pantallas, pero alo mejor s que nos conviene cambiar algunas descripciones de campos ya que por defecto toma la que haya en el elemento de datos yesto no siempre nos interesa. En este caso voy acambiar las descripciones de los campos contacto ydireccin por los que yo considero Nombre del contacto y Direccin del contacto.

1

Salida As es como queda nuestra vista inicial (pantalla 100) cuando llamamos la transaccin ZCONTACTOS. Fijaos la botonera estndar generada para modificar, crear yborrar registros.

Grabo yactivo la modificacin. Ejemplo Una vez tengo creadas las vistas de actualizacin de mi tabla cmo llamo aestas imgenes para registrar nuevos datos? La forma ms rpida es utilizar la transaccin SM30. Sin embargo, no siempre queremos dar acceso alos usuarios la transaccin SM30de forma directa. Por qu? Porque atravs de esta transaccin se puede acceder tambin alas imgenes de actualizacin de tablas de customizing. Es mejor crear una transaccin Zque llame alas imgenes de actualizacin. Para ello no es necesario ningn tipo de programacin ABAP. Lo haremos del siguiente modo: Herramientas /Workbench ABAP /Desarrollo /Otras herramientas /SE93 Transacciones Imagen inicial | kaibara87 Damos nombre (ZCONTACTOS) anuestra transaccin ypulsamos Crear. Damos una descripcin yseleccionamos la opcin Transaccin con parmetros. Indicamos una transaccin para la visualizacin de nuestra imagen, la transaccin SM30. Validamos. Como no queremos ver la imagen de entrada de la transaccin SM30, marcamos omitir imagen inicial. En valores propuesta indicamos el nombre de nuestra vista de imagen (VIEWNAME) ytipo de actualizacin (UPDATE).

Y as cmo queda nuestra imagen de detalle (pantalla 200) cuando hacemos doble click sobre un registro individual.

2

Tablas del diccionario

En este post voy a mostrar un detalle de tablas comunes en SAP. Definicin Las tablas del diccionario de SAP son la fuente de informacin central y estructurada de la empresa. SAP utiliza un tipo de base de datos de tipo relacional con tablas que contienen uno o ms campos clave. SAP contiene tablas estndar de las cuales se alimentan y a las cuales informan las transacciones del sistema, si bien es verdad que al diccionario se le pueden aadir tablas de creacin propia. Las tablas que muestro en este post son slo una pequea parte de todas las que contiene SAP, aunque espero que os sean tiles ya que son de uso comn. Materiales y produccin 1. Maestro de materiales Tabla Descripcin Comentario MAKT Descripciones de material MARA Datos generales MARC Material por centro MARD Segmento almacn/lotes MARM Unidades de medida MBEW Valoracin-material MEAN Nm de artculos europeos de mat MKAL Versiones de fabr del material MLAN Clasificacin impuestos mat MLGN Datos mat por nm almacn MLGT Datos mat por tipo de almacn MOFF Maestros de mat an abiertos MSTA Status de maestro de materiales MVKE Datos de ventas 2. Gestin de stocks 2.1. Estado de los stocks Tabla Descripcin Comentario MARD Stock por centro/almacn

MCHB Stocks de lotes MSLB Stock especial en proveedor MKOL Stocks especiales del proveedor MSSL Suma stock especial en proveedor 2.2. Documentos de material Tabla Descripcin Comentario MKPF Cabecera del doc-material Segmento del documentoContiene la clase de mov del material MSEG mat Reserva/necesidades El nm de reserva en la MKPF. Desde produccin se enlaza mediante RESB secundarias AFKO-RSNUM Textos clase de T156T movimiento 3. Planificacin de necesidades Tabla Descripcin Comentario Caract. Planificador de necesidades MARC Material por centro Por caract. de planificacin MDKP Datos cabecera del doc de planificacin MDVM Peticin de planificacin T438M Grupo de planificacin T399D Datos de centro para planificacin de necesidades T457T Denominacin del elemento de planificacin de necesidades 4. Necesidad preplanificada Tabla Descripcin Comentario PBIM ndice de nec. primarias por materialPor clase/versin/plan-nec puntero de necesidad PBED Datos de nec. primarias de material MDPB Vista del MRP

5. Pronsiticos Tabla Descripcin Comentario MAPR ndice de materiales para pronsticos PROP Parmetros de pronsticos PROW Valores de pronstico PROF Error de pronstico MVER Consumos de material 6. Orden previsional Tabla Descripcin Comentario PLAFOrden previsional 7. Gestin de almacenes (SAP-WM) 7.1. Almacenes

Tabla Descripcin Comentario LAGP Ubicaciones LQUACuantos-almacenaje 7.2. Orden de transporte Tabla Descripcin Comentario LTAKDatos de cabecera LTAP Datos de posicin 7.3. Necesidad de transporte Tabla Descripcin Comentario LTBKDatos de cabecera LTBP Datos de posicin 7.4. Documento de inventario Tabla Descripcin Comentario LINKCabecera de doc-inventario LINP Posicn de doc-inventario LINV Datos de inventario por cuanto 8. Lotes Tabla Descripcin Comentario MCHAStock por material/centro/lote Defincin Cantidades MCHB Stocks de lotes 9. rdenes de fabricacin Tabla Descripcin Comentario AFKO Cabecera de OF AFPO Posicin de OF A nivel de cabecera AUFK Datos maestros OF AFRU Notificaciones OF AFVC Operaciones de una orden Operacin de orden. Elaborac ext clave = AFKO-AUFPL AFVV Operacin ctd/fechas/valores Tiempos AFVU Cpos de usuario de operacinValores prefijados, tiempos, trnsito... Cabecera (asignacin, fechas/cant) CAUFVVista de la OF Relac. Entre la descr de status de la orden y el status TJ02T Textos para el status MDFA Vista de OF para MD 10. Listas de materiales Tabla Descripcin MASTMaterial/lista de materiales STKO Cabecera lista materiales STPO

Comentario Todas las listas de materiales (combinaciones de alternativas y utilizacin)

Componentes lista materiales Lista de materiales-seleccin de STAS posiciones

Enlace STKO-STPO para distintas alternativas

11. Hojas de ruta Tabla Descripcin Comentario MAPLMaterial/hojas de ruta PLKO Cabecera hojas de ruta PLPO Operaciones hojas de ruta Enlace PLKO-PLPO para distintas alternativas PLAS Seleccin de operaciones TJ02T Texto status JEST Status individual por objeto 12. Puestos de trabajo Tabla Descripcin Comentario CRHD Cabecera del puesto de trabajo Se accede por un id. Que est en la AFVC (cpo ARBID) Se accede por un id que est en la CRHD KAKOCapacidad 13. Nmeros de serie Tabla Descripcin Comentario EQUI Nmeros de serie para materiales

Compras 1. Maestro de proveedores Tabla Descripcin Comentario LFA1 Datos maestros LFB1 Proveedores por sociedad LFB5 Datos de reclamacin LFBK Bancos/cuentas LFC1 Cifras de movimientos LFC3 Cifras de movimientos CME LFM1 Datos de la organizacin de compras 2. Documentos de compras Tabla Descripcin EKKO Cabecera del doc. de compras EKPO Posicin del doc de compras EKET Repartos del plan de entregas EKES Confirmaciones de pedido EKKN Imputacin en el documento EKAN Direccin del proveedor en el doc. de compras EKBE Historial para el doc. EKUB nidce de pedidos para traslado de material

Comentario Contiene el tipo de documento

MDUB Vista de lectura sobre pedidode pedido/repartotoma-pedido MDBS Vista de material en posicin de traslado para 3. Solicitud de pedidos Tabla Descripcin Comentario EBAN Solicitud de pedio por posicin EBKN Imputacin de solicitud de pedido 4. Libro de pedidos Tabla Descripcin Comentario EORD Libro de pedidos de compras 5. Registro info de compras Tabla Descripcin Comentario EINA Datos generales EINE Datos de la organizacin de compras KONPCondiciones EIPA Historial del precio del pedido del registro info

Ventas 1. Maestro de clientes Tabla Descripcin Comentario KNA1 Datos maestro de clientes KNB1 Clientes por sociedad KNBKBancos/cuentas KNVA Lugares de descarga KNVKPersona contacto (interlocutor) El campo PARVW diferencia entre los distintos interlocutores KNVP Funciones de interlocutor KNVS Datos de expedicin KNVV Datos de comercial KNVKInterlocutor (personas de contacto) 2. Documentos comerciales Tabla Descripcin Comentario VBUK Status cabecera y datos de gestin VBUP Status de posicin VBFA Flujo de doc. comerciales VBPA Interlocutor 3. Pedidos de ventas Tabla Descripcin VBAK Cabecera VBAP Posicin

Comentario

VBFA Flujo de doc. comerciales VBKD Datos comerciales VBEP Datos de reparto 4. Entregas Tabla Descripcin Comentario LIKP Datos de cabecera LIPS Datos de posicin LQUACuantos/almacenaje 5. Estructura de organizacin Tabla Descripcin Comentario Vista V_TVKO_LK TVKO Organizaciones de venta TVKOT Textos org. Ventas TVKOV Canales de distribucin por org. de ventas Vista V_TVKOV_LK Vista V_TVKOS_LK TVKOS Sectores pro org. de ventas Vista V_TVTA_LK TVTA reas de ventas Vista V_TVKBZ_LK TVKBZ Oficina de ventas por rea de ventas TVBVK Grupo vendedores por oficina de ventas Vista V_TVBVK_LK Vista V_TVKWZ_LK TVKWZCentros por org. de ventas Vista V_TVSWZ_LK TVSWZ Lugares de expedicin por centro Vista V_T001K T001K 6. Facturas Tabla Descripcin Comentario VBRKDatos de cabecera VBRP Datos de posicin 7. ndice de ventas Tabla Descripcin Comentario VAKPA Pedidos por funcin interlocutor VAPMAPosiciones pedido por material 8. Necesidades de ventas Tabla Descripcin Comentario VBBERegistro individual de necesidad de ventas

Sistema de clasificacin 1. Clases Tabla Descripcin KLAH Datos cabecera clase KSMLCaractersticas de clases

Comentario Clase y categora Nm interno clase Nm interno clase Nm interno caracterstica

KSSK Tabla de asignacin: objeto a clase 2. Caractersticas Tabla Descripcin Comentario Caracterstica Nm interno caracterstica CABN Caractersticas Nm interno caract valores caract CAWN Valores de las caracterstic asw CAWNTTextos para los valores INOB Asignacin nm interno a un objeto Para acceder a AUSP para caractersticas de clases nuevas AUSP Valores propios de las caractersticas

Finanzas 1. Documento de contabilidad Tabla Descripcin Comentario BKPF Cabecera de documento para contabilidad BSEG Segmento de doc. de contabilidad 2. Contabilidad (ndices secundarios) Tabla Descripcin Comentario BSAD Para deudores (part.comp.) BSAKPara acreedores (part.comp.) BSAS Para cuentas mayor (part.comp) BSID Para deudores BSIK Para acreedores BSIM Para documentos por material BSIP Para verificacin de documentos dobles de acreedores BSIS Para cuentas mayor BSIW Para efectos de deudor BSIX Para efectos de deudor 3. Maestro de cuenta mayor Tabla Descripcin Comentario SKB1 Cta. mayor (sociedad) SKATCta. Mayor (plan de cuentas: denominacin) 4. Maesto de bancos Tabla Descripcin Comentario BNKAMaestro de banco 5. Clculo de costes Tabla Descripcin Comentario SKB1 Cta. mayor (sociedad) SKATCta. Mayor (plan de cuentas: denominacin)

Varios 1. Entorno de desarrollo Tabla Descripcin Comentario TBTCO Resumen del estado de los jobs TVARVVariables en condicin de seleccin STXH STXD SAPscript cabecera fichero texto TTXER Tratamiento textos: grupos ID de textos 2. Configuracin Tabla Descripcin Comentario T001 Sociedades T001L Almacenes T001W Centros/sucursales T005 Pases T005T Nombres de pases T005U Impuestos: provincia: textos T006 Unidades de medida T009 Variantes de ejercicio T024W Org. Compras permitidas para centro T151T Deudores: grupos de clientes: textos T171T Deudores: zonas de ventas: textos T460A Clave de acopio especial T882 Asignacin sociedad FI TFACS Calendario de fbrica TPFKT Deudores: interlocutor: textos TSPAT Unid. Org.: sectores comerciales: textos TVAGT Doc-ventas: motivo rechazo: textos TVAKT Doc-ventas: clases: textos TVAPT Doc-ventas: tipos posicin: textos TVAUT Doc-ventas: motivo pedidos: textos TVGRT Unid. de org.: grupos vendedores: textos TVKBT Unid. de org.: oficinas de ventas: textos TVKOT Unid. org.: organizaciones de ventas: textos TVRO Rutas TVROT Rutas textos TVTWTUnid. org: canales de distribucin: textos TVZBT Deudores: condiciones de pago: textos 3. Condiciones de precios Tabla Descripcin Comentario KONH Cabecera KONP Posicin

KOND Datos KONV Datos operacin 4. Ficheros de cuotas Tabla DescripcinComentario EQUK Cabecera EQUP Posicin 5. Documentos de modificacin Tabla DescripcinComentario CDHDR Cabecera CDPOS Posicin 6. Gestin de direcciones Tabla Descripcin Comentario SADR Datos de la empresa 7. Serie de orden Tabla Descripcin Comentario SAFKDatos maestros de serie de orden 8. Registro info de material Tabla Descripcin Comentario A017 Especfico del centro A018 Condiciones de ventas estructura para precios Imagen | Horia Varlan

20 December, 2011 | created using fivefilters.org

Transporte de rdenes entre sistemas

oTMS). Pasos Los siguientes pasos son los necesarios para transportar una modificacin desde un sistema de Desarrollo hasta un sistema Productivo. Asociar una clase de desarrollo Este paso slo es necesario cuando creamos un programa odesarrollo. la hora de crearlo SAP nos pide que le asociemos este cdigo que va aidentificar al programa como parte de un mismo proyecto. En el ejemplo creamos un programa ZPRUEBA10

Introduccin Las implantaciones SAP suelen realizarse en un entorno distribuido de varios sistemas: Sistema de Desarrollo: entorno abierto especficamente para la parametrizacin yprogramacin. Sistema de Test: donde los usuarios yel equipo de consultora pueden verificar los nuevos procesos desarrollados en el sistema de Desarrollo. Sistema Productivo: entorno de trabajo de los usuarios finales donde se encuentran datos reales de la empresa yse concentra su da ada. Es siempre el sistema de destino donde acaban las modificaciones iniciadas en el sistema de Desarrollo. Los nombres pueden variar, pero esta distribucin suele ser muy comn. Al menos, es la que yo siempre he visto en las implantaciones en las que he trabajado. Una de las ventajas de este esquema es que evita interferir en el trabajo que realizan los usuarios da ada, la vez que los consultores pueden seguir modificando el sistema introduciendo nuevas mejoras. La desventaja es que una vez se han hecho las modificaciones pertinentes, stas tienen que ser copiadas al sistema de destino. En primer lugar se deben llevar al sistema Test para su aceptacin orechazo. En segundo lugar hay que dejarlas en el Sistema Productivo donde podrn ser utilizadas de forma definitiva en los procesos de la empresa. A este sistema de copia de objetos entre sistemas se le llama transporte yla herramienta utilizada en SAP para realizarlo se llama Sistema de Transportes (Transport Management System Creacin de una orden de transporte. En el momento de grabar nuestra modificacin SAP nos pedir que creemos automticamente una orden de transporte. Toda orden se compone de varias tareas. En cada tarea se incorporan las modificaciones que hayamos realizado, sean de desarrollo ode parametrizacin. Por lo tanto, dentro de una misma orden pueden existir varias modificaciones de varios objetos que se incluirn en cada una de las diferentes tareas de la orden. En nuestro programa de prueba tan pronto hemos asociado la clase de desarrollo SAP ya nos pide una descripcin para la orden de transporte.

1

Como resultado obtenemos un nmero de orden con una numeracin del tipo que se ve en la imagen.DESrepresenta el cdigo de identificacin del sistema que nuestro administrador haya previsto; Kes una letra clave; 906894es un nmero generado automticamente por el sistema yque empieza por 900001 Hay que destacar que hay dos tipos de rdenes de transporte: De Workbench: contiene objetos de desarrollo. De customizing: contiene objetos de parametrizacin ocustomizing. Liberacin de la orden (y de sus tareas). Herramientas /Workbench ABAP /Resumen /SE09 Workbench organizer Imaginemos que ya hemos finalizado nuestro programa. Pues tenemos que liberar nuestra orden preparndola para la importacin. Primero debemos liberar las tareas. Nos situamos sobre cada una de ellas ymarcamos Orden/Tarea /Liberar directo . Luego liberaremos la orden. Nos situaremos sobre la orden ymarcamos Orden/Tarea /Liberar directo. Como vemos en la imagen una tarea est contenida dentro de una orden ya su vez contiene los objetos que hemos modificado (en nuestro caso el programa ZPRUEBA10). Por lo tanto, dentro de una misma orden podemos introducir ms de una modificacin sobre diferentes objetos (siempre que sean del mismo tipo porque las rdenes de workbench no se pueden mezclar con las de customizing).

rdenes: Resumen /Import. Hacemos doble click sobre e