BlogDeSAP01

192

Click here to load reader

description

Resumen blog de SAP 2010-2011

Transcript of BlogDeSAP01

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

2. Puedes acceder a estos artculos y otros que voy publicando a travs dehttp://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 CommonsBlogdesap: resumen 2010-11 por http://blogdesap.blogspot.com se encuentra bajo una LicenciaCreative 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.htmlLas imgenes que aparecen publicadas son propiedad de sus autores y aparecen publicadas aqu bajo la licencia CreativeCommons 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.jpghttp://farm1.static.flickr.com/14/93136022_25afa7e458.jpghttp://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.jpghttp://www.flickr.com/photos/timothymorgan/75593157/http://www.flickr.com/photos/kaibara/2403072725/http://farm4.static.flickr.com/3594/3548342923_ec24bb64cd.jpghttp://farm3.static.flickr.com/2066/2189073444_2d12b95515.jpghttp://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.jpghttp://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.jpghttp://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.jpghttp://farm2.static.flickr.com/1358/1061729364_ef2813c845_m.jpghttp://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/ 3. 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.jpghttp://farm4.static.flickr.com/3393/4628277817_d0ab67f499.jpghttp://www.flickr.com/photos/oarranzli/5913181104/http://www.flickr.com/photos/dm-set/4164144241/http://farm3.static.flickr.com/2051/4515510954_2a2d6b1e67_m.jpghttp://www.flickr.com/photos/unanoslucror/5368674140/http://farm4.static.flickr.com/3432/3190782601_8d28d13b32.jpghttp://farm4.static.flickr.com/3376/3518931365_1c26d256c9.jpghttp://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.jpghttp://www.flickr.com/photos/vancouverfilmschool/3856598677/http://farm2.static.flickr.com/1264/930660427_ab76c3de6a.jpghttp://www.flickr.com/photos/pleeker/5379549514/http://www.flickr.com/photos/usnationalarchives/4265798115/http://farm5.static.flickr.com/4014/4445019548_6bab33f713.jpghttp://www.flickr.com/photos/kheelcenter/5279194721/http://farm1.static.flickr.com/75/195308824_94a800f3ed.jpghttp://www.flickr.com/photos/sblackley/1128813156/http://farm3.static.flickr.com/2239/2072055045_8cb25cc173.jpghttp://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/54KsXMdY3vMCrear equipos en SAP: http://youtu.be/INiiOMVnVHkEnvo del resultado de un job por mail: http://youtu.be/4pHYrLkjq4M 4. INDICE0. Estreno del blogABAP1. Query SAP (I): grupos de usuarios2. Query SAP (II): infosets3. Query SAP (III): crear una query4. ABAP en queries: programas integrados5. Navegacin en queries6. Una plantilla ABAP7. Listados ALV8. Crear variantes de report9. Exportar listados ALV a hojas de clculo10. Recursos de programacin ABAP11. Batch input recorder12. Procesar juegos de datos de batch input13. Extraccin de informacin a partir de jobs14. Parametrizacin de tablas de control (table control) en transacciones15. Crear tablas transparentes y estructuras16. Vistas de actualizacin de tablas17. Tablas del diccionarioBC18. Transporte de rdenes entre sistemas19. Copia de rdenes de transporte entre sistemas no conectados20. Proteccin de mandantes21. Documentos adjuntos GOS22. Gestin de autorizacionesFI23. Periodos contables24. Crear asientos contables25. Cdigos de operacin en la norma 43 (Espaa)26. Traspaso de partidas entre documentos27. IVA: una gua para el aumento en SAP28. Retencin del IRPF ampliada en clientes29. Cierre del ejercicioCO30.Cierre del ejercicio31. Clases de coste primarias32. Clave de periodificacin en contratos33. Imputacin por defecto de clases de coste34. Modificar la cuenta de resultadosMM35. Estrategias organizativas en compras36. Determinar categoras de valoracin37. Determinacin de cuentas en compras automticamente38. Tolerancias de precio en pedidos de compra39. Verificacin de facturas dobles40. Modificacin en masa de precios de proveedores41. Movimientos de materiales entre sociedades42. Actualizacin del registro info en pedidos de compras43. Anlisis de materiales obsoletos44. Liberacin de pedidos de compras45. Inventarios puntuales46. Inventarios peridicosPM47. Equipos en SAP48. Planificacin de mantenimientos preventivos49. Impresin de rdenes de mantenimiento50. Log de modificaciones en rdenes51. Verificacin de disponibilidades en rdenes de mantenimiento52. Tabla de planificacin de capacidades: colores53. Tabla de planificacin de capacidades: seleccin 5. 54. Tabla de planificacin de capacidades: layout55. Horarios de trabajo de personalPP56. Definicin de turnos y horarios en puestos de trabajo57. Calendarios de trabajo en SAP58. Stocks de seguridad (I): stock mnimo59. Stocks de seguridad (II): perfil de cobertura60. Gestin de la demanda por punto de pedido61. Compensacin de necesidades primariasPS62. Gestin de reclamaciones (I)63. Gestin de reclamaciones (II)SD64. Fichero de poblacin65. Verificacin de datos maestros: clientes66. Condiciones de pago67. Crear precios de venta68. Gestin del riesgo en clientes69. Determinacin y substitucin de materiales en ventas70. Cross-selling71. Ofertas y facturacin de rdenes de servicio72. Control de copia de documentos de ventas73. Impresin de documentos en Comercial74. Textos y observaciones en pedidos de venta75. Aadir campos en listas de documentos comerciales76. Anulacin de facturas en masa77. Sistema info de ventas78. Simplificacin de pantallas con variantes de transaccinVARIOS79. Cambios en masa80. Rangos numricos81. Roll out de una empresa (I): estructura de la empresa82. Roll out de una empresa (II): mdulos83. Roll out de una empresa (III): gaps y desarrollos ABAP84. Roll out de una empresa (IV): datos maestrosSAP85. Enlaces relacionados con SAP86. Especial Demo Jam87. SAPTechEd Berln 201088. Demo Jam SAPTechEd Las Vegas 201089. SAPPHIRENOW 201090. SAP Streamwork91. Movilidad en SAP92. IDES 6. 20 December, 2011 | created using fivefilters.orgEstreno delblogmdulos han ido evolucionando tambin. Yo emplear laterminologa de mdulos como la he conocido, aunque es posibleque en algunos casos ya no se los conozca como mdulos sinocomo 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 quevaya subiendo en la medida de lo posible.Espero que el blog sea de inters para los que ahora estis eneste mundo del SAP yque no dudis en dejar vuestroscomentarios.Imagen de cabecera | Birkenzweig atravs de WylioBienvenidos al blog blogdesap.blogspot.com. El objetivo con elque nace este blog es ser un lugar de informacin en el trabajodiario con SAP. En l intentar plasmar parte de las experienciasque he tenido con SAP tanto desde un punto de vista funcionalcomo tcnico. El blog recoger, desde el punto de vista de unconsultor, tanto cuestiones de parametrizacin como deprogramacin ABAP.A da de hoy, la Wikipedia define SAPcomo:a multinational software development and consultingcorporation, which provides enterprise software applications andsupport to businesses of all sizes globally. Headquartered inWalldorf, Germany, with regional offices around the world, SAPis the largest software enterprise in Europe and the fourthlargest software enterprise in the world as of 2009. [2] Thecompanys best known product is its SAP Enterprise ResourcePlanning (SAP ERP) software.Es decir, SAP es la compaa. Yde entre los diferentes productosque SAP comercializa, este blog tratar sobre el EnterpriseResource Planning ERP de SAP, heredero de lo que se haballamado SAP R/3, ycuyo nombre actual es SAPECC.Si bien es verdad que la terminologa que emplea actualmenteSAP en su producto ha ido evolucionando, la base del productosigue siendo la misma, crear un entorno de gestin deempresarial, donde cada rea de la empresa est integrada enuna estructura global. Anteriormente, estas reas se definan pormdulos, pero amedida que el producto ha evolucionado, estos1 7. 20 December, 2011 | created using fivefilters.orgQuery SAP (I): grupos de Asignamos los usuarios: botn Asignar usuario yInfosets. Para permitir que un usuario modifique las queries delusuarios 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 | dangoodwinCmo puedo recuperar informacin almacenada en el sistemaacerca de mis clientes? Y acerca de mis proveedores? Y de misventas? En definitiva, cmo puedo obtener listados de consultasobre 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 recuperarinformacin de la base de datos para generar listados deinformacin en tiempo real.Es verdad que existen herramientas de programacin ABAP queya nos permiten hacer listados yrecuperar informacin de lastablas de la base de datos. Sin embargo, con las queries notenemos necesidad de saber programar (aunque puede ser unaayuda) yhace el proceso de construccin de listados una tareams rpida eintuitiva.Siempre que creemos una query debemos seguir tres pasossiempre en el siguiente orden.I:Crear un grupo de usuariosII:Crear un infoset.III: Crea laquery.Definicin de un grupo de usuariosUn grupo de usuarios es el primer paso en la creacin de unaquery SAP. En cada grupo asignamos los nombres de los usuariosque tendrn acceso final la query que generaremos. No es msque una autorizacin para poder utilizar nuestra query aungrupo ordenado de personas.Por ejemplo, podemos determinar que las consultas oqueries delmdulo SD slo las podrn consultar aquellas personas de losdepartamentos de Ventas yMarketing.En este caso, crearemosun grupo de usarios llamado VENTAS donde incluiremos elnombre de los usuarios de estos departamentos.FuncionalidadHerramientas /Workbench ABAP /Utilidades /Query SAP /SQ03 Grupo de usuarios Creamos yasignamos un nombre anuestro grupo de usuarios: botn Crear. 1 8. 20 December, 2011 | created using fivefilters.orgQuery SAP (II): infosets momento que cree el infoset slo necesito informacin de una de las dos. As me ahorro problemas en el futuro. 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 esDefinicin mejor utilizar tablas transparentes como la BSID, BSAD, BSIK oBSAK.El segundo paso en la creacin de una query es la definicin delinfoset asociado. Los infosets son vistas especiales de datos Tratar /Insertar tabladonde se agrupan todos los campos que se utilizarn en unaquery. En un infoset enlazaremos diferentes tablas atravs decampos comunes yseleccionaremos qu campos queremos queestn disponibles para nuestras queries. Asu vez, asignaremos elinfoset auno oms grupos de usuarios (recordad el post anteriorsobre grupos de usuarios).FuncionalidadSiguiendo con el ejemplo del anterior post vamos acrear uninfoset de informacin de ventas, en concreto, de las cantidadesque nuestros clientes nos han pedido en un rango de fechas. Paraello debemos saber que la tabla en la que se almacena lainformacin de pedidos de clientes en SAP se encuentra en latabla VBAK. La informacin de las cantidades solicitadas seVolvemos hacia atrs ycreamos los grupos de camposencuentra en la tabla VBAP. Tambin debemos saber que ambas(Pasar a /Back). Esto son una especie de carpetas dondetablas se relacionan entre s atravs del campo documento de asignaremos los campos de nuestras disponibles para lasventas (VBAK-VBELN /VBAP-VBELN). Ahora podemos empezarfuturas queries. Yo escoger crear Grupos de camposaconstruir nuestro infoset. vacos con lo que me crear dos carpetas, una para la tabla VBAK yotro para la VBAP sin ningn campo asignado.Entramos en la transaccin de infosets. Arrastramos los campos de las tablas (parte izquierda de la pantalla) hacia los grupos de campos que hemos creadoHerramientas /Utilidades /Query SAP /SQ02 Infosets (parte derecha de la pantalla). En mi caso, arrastro losCreamos un infoset, le damos una descripcin yuna tabla campos solicitante ydocumento de ventas de la VBAKbase sobre la que generaremos nuestro infoset. En nuestroycantidad ymaterial de la VBAP. Como veis sobre loscaso sobre la tabla VBAK. En este apartado existen variascampos solicitante ynmero de material SAP escribe una T.opciones: podemos crear el infoset realizando la consultaEso significa que asociado aestos cdigos SAPslo sobre una tabla en exclusiva, sobre varias tablas, sobreinternamente tambin arrastra sus descripciones, por lo queuna base de datos lgica oincluso sobre datos externos. no hay que hacer ninguna seleccin hacia las tablas deHay que pensar bien qu opcin escoger ya que una vez se descripciones del solicitante (KNA1) ni del material (MAKT).ha creado ya no hay vuelta atrs. Por ejemplo, si escogemoscrear un infoset atravs de una tabla, si en el futurodecidimos aadir una nueva tabla tendremos que borrar elinfoset ycrear uno nuevo. Yeso ser un problema mayor siya hemos creado la query subsiguiente pues en ese casotambin habra que borrar antes la query. Personalmente,siempre creo las queries va unin de tablas aunque en el1 9. Adems, para complicarlo un poco ms voy aaadir un Volvemos a Grupo de campos. Vemos ahora que en la parte campo que no est en ninguna de las tablas. Por ejemplo, siizquierda de la pantalla nos aparece un nuevo campo de la posicin ha sido rechazada (lo que se indica en SAP datos Campos adicionales que contiene el campo que atravs del campo VBAP-ABGRU) le voy adar la hemos creado. Lo que hay que hacer ahora es crear un descripcin Posicin rechazada. Esto slo lo podemos nuevo grupo de campos yarrastrar nuestro campo adicional hacer mediante programacin ABAP, una herramienta muyaeste grupo de campos (tambin podramos arrastrarlo interesante que nos permiten los infosets. auno de los grupos de campos que ya tenemos).Pasar a /Detalles Creamos el campo adicional yle damos descripcin ytipo.Slo nos queda grabar, verificar yactivar nuestro infoset. Infoset /Grabar Infoset /Verificar Infoset /GenerarYa podemos volver la pantalla inicial yasignar el infoset algrupo de usuarios que creamos anteriormente atravs de latransaccin 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 10. 20 December, 2011 | created using fivefilters.orgQuery SAP (III): crear estndar). Mi experiencia personal me dice que no merece la pena el trabajo de crear una query en un mandante deunaquerydesarrollo 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). 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).DefinicinEl tercer paso en la creacin de una query es, precisamente, lacreacin de la query propiamente dicha. Esto es un listado deinformacin extrada de la base de datos. Para ello es necesarioque previamente hayamos creado el grupo de usuarios al quepermitiremos extraer la informacin. Asimismo, debemos habercreado el infoset donde indicamos las tablas de informacinnecesaria.Crear una query consiste en generar una pantalla de seleccin dela informacin yuna disposicin (layout) de salida de toda estadocumentacin.FuncionalidadSigamos con el ejemplo. Creamos una query de informacin deventas. 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 Pasamos a Seleccin de grupos de campos. Aqu debemos yluego transportarla (mbito global) obien crear la query seleccionar todos nuestros grupos de campos del infoset. O, directamente en nuestro entorno productivo (rea si alguno de los grupos de campos no los quisiramos 1 11. utilizar en nuestra query, entonces simplemente no loseleccionamos.En Lista bsica nos muestra los campos disponibles encada uno de los grupos de campos. Debemos seleccionaraquellos que nos interesa que se muestren en la query. Enel caso del ejemplo, seleccionar todos los campos. Comoveis los campos de texto, aunque no los habamosseleccionado directamente en nuestro infoset, s que nosY as el layout de salida.aparecen dentro de los campos disponibles. Eso essimplemente porque los campos de cdigo solicitanteynmero de material siempre llevan asociadas susdescripciones por defecto.En la pantalla de Selecciones creamos nuestra pantalla deseleccin. Es decir, los criterios apartir de los cualesbuscaremos la informacin. Yo voy amarcar los campossolicitante, material ydocumento de ventas.A partir de aqu ya podemos utilizar la funcionalidad propia delos listados ALV como descargar la informacin en Excel, hacerfiltros, sumas, sumas parciales, etc.Enlaces | sappedia (aadido el 31/10/2010)Imagen | Ex-SmithLista bsica: aqu construimos la disposicin de salidadonde indicamos qu campos queremos que se muestren enel listado yen qu orden. Adems, podemos tambin darlealgn formato especial como colores, guiones deseparacin, etc. Yo voy amarcar todos los camposdisponibles yadems voy ahacer que sea de verde intenso.Para hacer eso hay que arrastrar el campoAfirmativo(intenso) sobre el campo que queremos que seade otrocolor.Grabo.As queda la pantalla de seleccin.2 12. 24 December, 2011 | created using fivefilters.orgABAP en queries: programas grupo inconexo de transacciones programadas bajo nombres Z* que, en el mejor de los casos, habremos agrupado en mens deintegrados 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 interesanteSiguiendo con una serie de artculos anteriores donde ya aqu, es que se nos abre un botn que no habamos vistoexplicaba como crear queries einfosets voy aintentar mostrar hasta ahora. Este botn se llama Programa de lectura deotra manera realizar queries. En este caso vamos aintegrardatos ynos seala el lugar atravs del que haremosprogramacin ABAP en queries SAP. Se trata de utilizar toda la nuestra programacin ABAP. As que lo marcamos.potencia que nos dan las presentaciones va query para mostrarinformacin, pero hacindolo sin utilizar los joins grficos detablas.En un principio, las queriesSAP se entienden como una formasencilla de extraer informacin de la extensa base de datos deSAP. Paraobtener esta informacin, la mejor manera es El editor ABAP que se nos abre consta de diversos eventosutilizarla conexin grfica de tablas en nuestros infosets. Sin donde escribimos nuestros comandos ABAP:embargo, para aquellos que ya tengan conocimientos sencillos deprogramacin ABAP, SAP provee una herramienta deDeclaracin de variables.programacin integrada en infosets. Con ella, no necesitamosutilizar ninguna conexin grfica, sino que podemos obtenerinformacin atravs de sentencias SQL ypresentarlas en elformato que nos dan las queries SAP.Qu ventajas puede tener esta forma de crear queries? Enprincipio, la gran ventaja que yo observo es la posibilidad deutilizar todo el envoltorio que nos da una query, con sus ALV ylayouts. Nos quita trabajo ya que slo debemos concentrarnos enrecuperar la informacin. De la presentacin de sta ya se ocupala query. Adems, nos da un entorno organizado de listados ya Pantalla de seleccin. Definimos el pedido de comprasque nos permite tener todas nuestras consultas bajo lacomo parmetro de seleccin en nuestra query.apariencia de la transaccin de queries SQ01. Nos evita tener unPodemos indicar una descripcin del parmetro para 1 13. que no aparezca el nombre de la variable al ejecutar la Un listado de las posiciones de un pedido con una cabecera paraquery. Para ello tenemos que ir la pestaa Delimitel pedido. El ejemplo es muy sencillo ypoco significativo peroyhaciendo doble click sobre el parmetro cambiamos nos da una idea de la potencia de la herramienta.el texto de seleccin.Imagen inicial | 4nitsirkExtraccin dedatos.Salida de informacin. Generamos nuestro infoset. Asociamos el infoset aun grupo de usuarios. Creamos nuestra query normalmente.Y ste es el resultado:2 14. 24 December, 2011 | created using fivefilters.orgNavegacin en queries Ahora cuando lancemos la query yhagamos doble click sobre unregistro del listado vamos atener la opcin de escoger entrenavegar la transaccin VA03o laMB52.En el siguiente vdeo explicativo se muestran todos lospasos:La navegacin se realiza al hacer doble click sobre cualquierpunto de un registro, independientemente del campo sobre elque se pulse. Entonce, cmo determina SAP cul es el campoque tiene que utilizar para navegar? Pues lo hace en base al IDdel parmetro. SAP recorre todos los campos del registroyenlaza el ID del registro correcto con el ID del parmetro deentrada de la transaccin. Entonces para verificar que lanavegacin funcionar correctamente debemos determinar cules el ID del parmetro. Eso lo hacemos mediante los siguientespasos: Vamos al campo de entrada de nuestra transaccin, por ejemplo el de laVA03Logstica /Comercial /Ventas /Pedido /VA03 VisualizarUna de las peculiaridades de SAP es que estemos donde estemosel sistema suele permitirnos saltar entre transacciones. Pulsamos F1.Simplemente debemos situarnos encima de un campo, hacerdoble click yel sistema navegar aotra transaccin relacionada Marcamos Datos tcnicos oel icono Martillo.con ese campo. Por ejemplo, si en la transaccin en la queestamos hay un campo con el cdigo de un material, si hacemosVerificamos que existe un valor dentro de ID parmetro.doble click sobre ste SAP navega hacia la transaccin delmaestro de materiales de ese cdigo en concreto.En otros artculos ya haba explicado cmo crear queries. En estaocasin voy aampliar estos posts con esta sencilla funcionalidadde SAP, la navegacin.CasoTenemos una query que nos permite listar posiciones de pedidosde venta donde nos muestra las posiciones de pedidos con elcdigo de material. Queremos que al hacer doble click sobre unregistro en concreto SAP nos muestre el stock disponible enalmacn de ese material yel pedido de ventas completo asociadoCmo lo hacemos?SolucinModificamos nuestra query.Herramientas /Workbench ABAP /Utilidades /Query SAP /SQ01 QueriesVamos al men Pasar a /Asignacin del informe.Indicamos que nuestro tipo de informe ser unaHacemos lo mismo para el campo de nuestra query, pero desdetransaccin. Igual que una transaccin podramos indicar unla transaccin SE11report ABAP, una query, etc.Herramientas /Workbench ABAP /Desarrollo /SE11 DictionaryIntroducimos el nombre de nuestra transaccin (VA03 paraABAPvisualizar el pedido de ventas completo) Introducimos el elemento de datos (VBELN_VA) en el campoRepetimos de nuevo para la otra transaccin (MB52 para tipo dedatos.visualizar el stock del material). Visualizar.Grabamos.1 15. Y en la pestaa propiedades adicionales el valor del ID delparmetro debera ser el mismo que hemos obtenidoanteriormente.As podemos estar seguros que la navegacin se harcorrectamente desde nuestra query.Imagen | Svadilfari2 16. 20 December, 2011 | created using fivefilters.orgUna 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.Para los que tenis que programar asiduamente aqu os dejo una *pequea plantilla que quizs os sea de utilidad al hacer reportsen ABAP. Am me ha ayudado yservido de gua muchas veces.*at selection-screen on xxxxx. *Plantilla ****************************************************&-* ***START-OF-SELECTION*& Report****************************************************Autor:Fecha: start-of-selection.****************************************************Modificaciones:****************************************************Fecha: ***SUBRUTINAS******************************************************************************************************reportzxxxxxx *&*no standard page heading *&*line-size255. *&Formrutina****************************************************&**Tablas*text****************************************************-**tables: *>p1text *****************************************************Type pools****************************************************type-pools:****************************************************Constantes****************************************************constants:****************************************************Variables globales****************************************************data:****************************************************Estructuras*************************************************** 1 17. 20 December, 2011 | created using fivefilters.orgListados ALV end of i_nif.Seguidamente buscamos la informacin yla cargamos en latabla interna i_nif. sta ser nuestra tabla de outputamostrar.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 camposycmo 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 ALVREUSE_ALV_GRID_DISPLAY.Aqu indicamos el nombre denuestro report, el layout (cmo se mostrarn las columnas),En este post explicar cmo crear un listado ALV sencillo.el catlogo de campos, si queremos que se puedan onograbar variantes de layout yla tabla de output que contieneDescripcin la informacin amostrar. Por supuesto, esta funcinpermite diversas parametrizaciones del ALV que se pueden En primer lugar creamos nuestro report ALV.consultar directamente en la documentacin de la funcin.Herramientas /Workbench ABAP /Desarrollo /SE38 Editorcall function REUSE_ALV_GRID_DISPLAYABAP exporting i_callback_program= xrepid Definimos las variables que utilizaremos en nuestro report. is_layout= e_layout Por regla general yo he utlizado en los reports ALV que he it_fieldcat= t_fieldcat escrito las siguientes variables: i_save= A is_print= e_print********************************************************* tables*Type pools t_outtab= i_nifnecesidad********************************************************* exceptionstype-pools: slis. program_error= 1********************************************************* others= 2.*Variables globales if sy-subrc 0.********************************************************* endif.data: xrepid like sy-repid*********************************************************Aadimos los datos de cabecera. Estos datos de cabecera se*Declaracin tablas internasentrarn en una rutina que no se llamar formalmente ya*********************************************************que la llamada se realizar desde el mdulo de funcionesdata:REUSE_ALV_GRID_DISPLAY.wa_fieldcat type slis_fieldcat_alv,t_fieldcattype slis_t_fieldcat_alv,* Cabecera grandee_layouttype slis_layout_alv,wa_heading-typ = H.e_printtype slis_print_alv.wa_heading-info = Cabecera. append wa_heading to t_heading.data: clear wa_heading.begin of i_nif occurs 0,xxx * Cabecera pequea 1 18. wa_heading-typ = S.data:wa_heading-info = Subcabecera. wa_fieldcat type slis_fieldcat_alv,append wa_heading to t_heading.t_fieldcattype slis_t_fieldcat_alv,clear wa_heading.e_layouttype slis_layout_alv, e_printtype slis_print_alv, Si adems queremos aadir un logo anuestro listado wa_headingtype slis_listheader, deberemos subir la imagen aSAP (clase PICTURES, tipo t_headingtype slis_t_listheader. 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 *Includes funciones REUSE_ALV_COMMENTARY_WRITE con********************************************************* nuestro logo. El inconveniente de este logo es que es visible include . en SAP, pero no es posible imprimirlo.********************************************************* ***SELECTION-SCREENcall function REUSE_ALV_COMMENTARY_WRITE *********************************************************exporting *********************************************************it_list_commentary= t_heading * Pantalla de seleccini_logo= LOGO. *********************************************************Ejemplo*El siguiente es un ejemplo de listado que nos permite validarselect-options s_stcd1 for kna1-stcd1.nmeros deNIF.********************************************************* *At selection-screen*&* **********************************************************& ReportZVALIDANIF*& **********************************************************&* ***START-OF-SELECTION*& **********************************************************& start-of-selection.*&* * Funcion validacion nifreportzvalidanif. perform valida_nif.**********************************************************Tablas* Log: cmo se cargar*********************************************************perform display_alv.tables: kna1.*******************************************************************************************************************Performs Adicionales*Type pools******************************************************************************************************************type-pools: slis.*&***********************************************************&Formdisplay_alv*Constantes *&***********************************************************text*constants:*-***********************************************************>p1text*Variables globales*p1text**********************************************************p1textdata:*p1textg_contador(4) type n, *p1textxrepidlike sy-repid. *p1text***********************************************************Declaracin tablas internas*********************************************************data:begin of i_nif occurs 0,nif like kna1-stcd1,error(10),end of i_nif.**********************************************************Estructuras********************************************************* 2 19. 20 December, 2011 | created using fivefilters.orgCrear variantes de report Se nos despliega una ventana donde nos pide si queremosgrabar. Por supuesto, le damos una descripcin anuestravariante ydecimos que s queremos grabar.Creacin de una variante con parmetrosLos valores que grabamos en una variante no necesariamentehan de ser fijos. Podemos indicar datos que varen segn el daen que se lanza nuestro report por ejemplo. Oincluso podemoshacer que un campo se grabe sin valores oimpedir que unusuario pueda introducirvaloralguno en un campo. Mejor verlocon un ejemplo.DefinicinDesde el editor ABAP recuperamos nuestra variante.En SAP llamamos variante auna imagen de informacin fija Marcamos Modificar con Atributos.quepodemos introducir en una pantalla de seleccin de unatransaccin. Con una variante podemos introducir valores encada uno de los campos de una pantalla de seleccin ygrabarlapara ms tarde recuperarla de nuevo la hora de ejecutar elprograma otransaccin.Las variantes se asocian comunmente areportsy listados deSAP. Es ms difcil asociarlas atransacciones de pantallas. Params informacin sobre este segundo caso consultar un postanterior.Ya haba hablado sobre la posibilidad de utilizar variantes paratransacciones estndar de SAP. En este caso, comentaremos enms detalle cmo crear una variante, cmo protegerlas ydnde Desdela pantalla de Atributos podemos modificar losutilizarlas.atributos de cada uno de los campos que hay en nuestraCreacin de una variantepantalla de seleccin. Vamos anuestro editor ABAP.Proteger campo: marcamos los campos de sociedad para que no se pueda modificar elvalor.Herramientas /Workbench ABAP /Desarrollo /SE38 EditorABAP Suprimir campo: marcamos el campo Va de pago para que ste no sea visible directamente en la pantalla Seleccionamos de seleccin.Objetos parciales /Variantes /ModificarCampo obligatorio: marcamos el campo caracterstica para que sea obligatorio introducir un valor para poder Damos un nombre anuestra variante (no es necesario que ejecutar el report. empiece porZ). Variables: creamos una fecha dinmica (D) con el valor Marcamos Crear con Valores. del ltima da del mes. La variante siempre contendr el valor del ltimo da del mes en el que se lance el Se nos abre la pantalla de seleccin de nuestro report. report. Indicamos los valores que queremos dar acada uno de los campos de la pantalla de seleccin. Salimos de la pantallaPasar a /Back1 20. En reports. Ejecutamos el report ydesde la pantalla de seleccin seleccionamosHerramientas /Workbench ABAP /Desarrollo /SE38 EditorABAPPasar 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 TransaccionesGrabamos. 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 entornosPor lo general, una variante se puede crear ymodificar desde elentorno productivo SAP. Sin embargo, tambin es posible crearvariantes desde entornos de desarrollo yposteriormentetransportarlas aentornos productivos. Por supuesto, en este casolas variantes slo sern modificables desde desarrollo.Para crear una variante que pueda ser transportada simplementedebemos crearla con un nombre que empiece por CUS&Imagen inicial | *n3wjacks world in pixelsUtilizacin de variantes2 21. 24 December, 2011 | created using fivefilters.orgExportar listados ALVahojas 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.En este post cortito hago un resumen de los formatos de losque disponemos ala hora de exportar nuestros listados ALV Grabamos nuestra hoja de clculo con extensin .odsauna hoja de clculo.Antiguamenteslo podamos exportar aunnico formato de hoja de clculo, el omnipresente MicrosoftLa prxima vez que intentemos volver aexportar nuestro listadoExcel. Afortunadamente, SAP se ha adaptado alos tiempos yyaALV SAP ya no nos volver apreguntar por el formato y,disponemos de otra variedad de formatos de hojas de clculodirectamente, nos ofrecer nicamente la opcindonde exportar informacin en la versin ECC deSAP. StarOffice/OpenOffice. Eso es porque SAP ha guardado anivelActualmente los formatos soportados la hora de exportar un de usuario la opcin predefinida de formato en la tablalistado ALV auna hoja de clculo son: SALV_BS_ADMIN. Microsoft Excel. MTHML de Microsoft Excel StarOffice yOpenOffice. Tambin soporta LibreOffice. Office XMLQu hacer para reiniciar el valor por defecto para exportar ahoja de clculo? Microsoft Excel XXL (formato antiguo). Ejecutar el programa SALV_BS_ADMIN_MAINTAIN conDe acuerdo anuestros hbitos como usuarios SAP podemosparmetro Display.indicar nuestro formato preferido la hora de exportar listadosALV.Cmo marcar por defecto un formato especfico?Imaginemos que queremos exportar un listado de pedidosincompletos aformato OpenOffice Lanzamos la transaccin Documentos comerciales incompletos.Logstica /Comercial /Ventas /Sistemas de informacin /Pedidos Marcar yborrar el registrode usuario que deseemos./V.02 Pedidos incompletos Vamos aexportar nuestro listado mediante el men Lista /Exportar /Hoja de clculo. Ms informacin | notas 876916 y1080608 1 22. Imagen inicial | tapaponga 2 23. 24 December, 2011 | created using fivefilters.orgRecursos de programacinABAPDe todos modos, tambin podemos obtener el mismo resultadomientras escribimos nuestro cdigo, nos posicionamos sobre unasentencia ypulsamos el botn F1.Programacin de listados ALV yotras demosSi buscamos atravs del sistema de informacin los paquetesSLIS ySABAPDEMOS tambin encontramos el cdigo ABAP deprogramas escritos por SAP para utilizacin en demos ycursosde aprendizaje.En este artculo voy aescribir sobrer aquellas herramientas queconozco yque SAP nos provee para aprender aprogramar en Herramientas /Workbench ABAP /Desarrollo /SE38 Editor ABAPABAP. Son transacciones con cdigo fuente que os pueden servirpara vuestros cursos de aprendizaje en este lenguaje propietarioEntramos en el editor ABAP.SAP.Marcamos el matchcode.Documentacin ABAP yejemplosMarcamos Seleccin nueva.Herramientas /Workbench ABAP /Utilidades /ABAPDOCUBiblioteca de ejemploEscribimos el nombre del paquete SLIS oSABAPDEMOS.Centro de presentaciones EnjoyEn esta transaccin, SAP agrupa el cdigo fuente de variosprogramas de ejemplo para el autoaprendizaje. Atravs de variosAqu se agrupan los cdigos de varios ejemplos. Se trata de unanodos nos ofrece el cdigo para aprender el uso de las sentencias transaccinpara los que ya tenis cierto conocimiento dems frecuentes, programacin de dynpros, de orientacin programacin ABAP. Cotiene ABAP orientado aobjetos, laaobjetos, incluso el interfasado con JavaScript. evolucin del lenguaje ABAP que permite crear programas algoms complejos.Documentacin de palabras clavesHerramientas /Workbench ABAP /Utilidades /DWDM Herramientas /Workbench ABAP /Utilidades /ABAPHELP PresentacionesDocumentacin palabra claveCon la ayuda de esta transacin podemos acceder la bibliotecaABAP donde se encuentran documentadas las sentenciasutilizadas en este lenguaje. Simplemente, entramos en latransaccin yescribimos la sentencia de la cual queremosdocumentacin.1 24. Comida en vuelo/primer plato STICKET Billete de avin STRAVELAG Ag.viajes Imagen inicial | ShermeeeJuegos de datos de pruebaSeguro que ms de uno se acuerda de las tablas SPFLI, SCARRoSFLIGHT. Pues bien, bajo el paquete SAPBC_DATAMODEL seesconden todas estas tablas quetan frecuentemente sonutilizadas en los cursos de formacin ABAP. Se trata del modelode datos de vuelos que se suministra para hacer pruebas,programar listados de ejemplo, etc. Pero antes de poder haceruso de ellas, es imprescindible llenarlas con datos. Mediante elprograma SAPBC_DATAGENERATOR podemos marcar cuntosregistros introducir en estas tablas oborrar su contenidocompletamente para empezar denuevo.Herramientas /Workbench ABAP /Desarrollo /SE38 Editor ABAP/Programa SAPBC_DATAGENERATORUna vez llenas ya podemos observar cmo quedan cada una deellas. Aqu dejo el listado completa de estas tablas de formacin.Herramientas /Workbench ABAP /Resumen /SE16 BrowserdedatosTABLA DESCRIPCIN SAIRPORT Aeropuertos SAPLANE AvinSBOOK Reservacin de vuelo directo SBUSPART Interlocutorcia.area SCARPLAN Asignacin compaa area-avin SCARRCompaa area SCITAIRP Asignacin ciudad-aeropuertoSCOUNTER Mostrador de venta SCPLANE Avin de cargaSCURR Tp.cambio p.modelo datos formacin Workben SCURXMoneda p.modelo datos formacin Workbench SCUSTOMClientes vuelo SDESSERT Comida en vuelo/postre SFLIGHTVuelo SFLIMEAL Asignacin vuelo-comida SGEOCITY Situacingeogrfica de una ciudad SMACOURSE Comida en vuelo/platoprincipal SMEAL Comida en vuelo SMEALT Comida envuelo/descripcin SMENU Men SNVOICE Factura SPFLIItinerario de vuelos SPPLANE Avin de pasajeros SSTARTER 2 25. 24 December, 2011 | created using fivefilters.orgBatch input recorder Grabacin /Exportar. 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,De vuelta en el blog. Esta vez con la herramienta batch inputentonces copiaremos el texto cien veces. Tras ello,recorder. Para empezar, decir que llamamos programas de batchborraremos yre-escribiremos el cdigo de cada materialinput auna serie de programas que se han venido utilizando para ydel nuevo precio en cada pieza de texto de la grabacin.la transferencia en masa de informacin hacia sistemas SAP.Ya s lo que estis pensando, que esto es ms fcil de decirAmenudo, estos programas se han integrado en otrasque de hacer. Sin embargo, utilizando una sencilla hoja detransacciones estndar como la tpica legacy. Sin embargo, siclculo yalgunas frmulas puede llegar aser un procesonuestras necesidades no pueden ser cubiertas por herramientassumamente rpido*.estndar SAP, entonces nosotros mismos tendremos que escribirnuestros programas de batch input. El resultado de la ejecucinA continuacin, importamos el nuevo fichero aSAP.de un programa de batch input es siempre un juego de datos que Utilizamos para ello el men Grabacin /Importar.podremos procesar posteriormente para realizar la transferenciade informacin. En este artculo intento explicar cmo laherramienta de grabacin de batch inputs puede ayudarnosacrear juegos de datos de batch input sin tener ningnconocimiento de programacin ABAP. Al final, lo que hemos conseguido es generar un nuevo juego de datos de batch input. Lo nico que nos queda por hacerVoy adibujar un escenario sencillo donde queremos actualizar es presionar el botn Procesar ynuestros datos subirninformacin en SAP atravs de una transaccin. Por ejemplo, aSAP como en cualquier batchinput.nuestra empresa desea modificar el precio de venta de todos susmateriales atravs de la transaccin de registros de condicinVK12. Por supuesto, si tenemos una base de datos de cientos demateriales la modificacin manual puede suponer un trabajoconsiderable. Por lo tanto, en condiciones normales, lo lgicosera pedir anuestro desarrollador ABAP que escribiese unprograma de batch input que tuviese en cuenta nuestranecesidad. El programa escrito sera capaz de generar un juegode datos que repitiese las pantallas yla transaccin cientos deveces (tantas veces como materiales hubiese en nuestra basededatos).Ahora bien, si no tenemos ningn conocimiento de programacinABAP ni persona que nos pueda ayudar, la herramienta degrabacin de batch inputs nos puede ser de gran utilidad lahora de crear nuestro juego de datos. Por supuesto, sin saberABAP yen unos sencillos pasos:En primer lugar, vamos la transaccin de grabacin debatch inputs SHDB. Como vis, unos sencillos pasos que nos permiten actualizar informacin en masa sin haber escrito ni una sola lnea de cdigoCreamos una nueva grabacin de la transaccin VK12 ABAP. Por supuesto, no recomiendo esta herramienta paraatravs del botn Nueva grabacin. transferencias de informacin complejas. Ni tampoco lo recomiendo como sustituto de otras herramientas estndarExportamos la grabacin aun fichero .txt siguiendo el men 1 26. legacy obapis. Pero s puede ser una herramienta interesantepara afrontar problemas sencillos si no tenemos conocimientossuficientes de lenguaje ABAP.*Una ayuda para completar el fichero .txt con la informacinasubir. Utilizad una hoja de clculo como Microsoft Excel,numerad aquellos campos que queris completar yutilizadfrmulas del tipo buscarv oconsultav para buscar yreemplazarcon la informacin de vuestra base dedatos.Imagen inicial | loop_oh 2 27. 24 December, 2011 | created using fivefilters.orgProcesar juegos de datos de Herramientas /Gestin /Monitor /SM35 BatchinputEsto es lo que vemos en esta transaccin:batchinputCampos para la seleccin de nuestro juego de datos:podemos filtrar entre los juegos de datos creados porusuario (campo Autor), en un rango de fechas (campos Dea)o segn el nombre del juego de datos (campo JD).Del resultado de nuestro filtro vemos todos los juegos dedatos que existen en el sistema, con su estado (nuevo, enejecucin, ejecutado correctamente, ejecutado con errores,etc.). Son especialmente interesantes los campos Cantidadtotal de transacciones, transacciones procesadas conerrores, 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 lanzadoLlamamosbatch input aun tipo de proceso que se lanza en fondoel juego de datos, los errores que han generado cadaymediante el cual podemos simular la introduccin de datos en una de las transacciones se acumulan en estecampo.una transaccin tal ycomo lo haramos si la estuvisemosprocesando manualmente. La diferencia es que mediante batchTransacciones procesadas correctamente: igual que elinput podemos hacer esto proceso de forma repetitiva, cosa que anterior, pero que han finalizado con xito.si tuviramos que llevarlo acabo manualmente se convertira enun proceso muy tedioso.Dynpros: nos indica el nmero de pantallas que se han procesado durante la ejecucin del juego dedatos.Tpicamente la programacin de un batch input se utiliza para lacarga masiva de datos en SAP.Sin embargo, el resultado de unprograma de batch input no es la transferencia de datosdirectamente aSAP, sino la generacin de un juego de datos. Eneste juego se guarda toda la informacin de la transaccinrelevante para la carga (pantallas por las que se pasa,datos quese deben poner en cada campo ylas teclas que se pulsan).Tambin vemos una serie de pestaas. En cada una de ellas,En este post explico cmo tratar estos juegos de datos generadoslos juegos de datos se observan segn su estado. En lade modo quela informacin contenida en stos se transfierapestaa inicial observamos todos los juegos de datos, en lacompletamente al sistema.pestaa nuevo slo aquellos juegos de datos an noProcesado on-line procesados, en errneos aquellos juegos de datos que handado al menos un error durante su procesamiento, etc.Al crear un juego de datos podemos decidir si lo queremosprocesar al momento oslo crear el fichero del juego de datospara su procesamiento posterior. Si decidimos procesarloinmediatamente, mediante una tcnica de programacin debatch inputs denominada de CALL TRANSACTION, entonces latransferencia de informacin ser inmediata.Procesado enfondoY cmo procesamos nuestro juego dedatos?Si, por el contrario, decidimosprocesar el juego de datosposteriormente, entonces debemos iraMarcamos el juego de datos que queremos ejecutar1 28. ypulsamos el botn Ejecutar. camino aseguir es diferente. No podemos hacerlo directamenteatravs de la transaccin SM35. En este caso lo haremosAutomticamente nos abre tres posibilidades:mediante el programa RSBDCSUB. Ejecutar visible: esta opcin nos permite observar pasoHerramientas /Workbench ABAP /Desarrollo /SE38 Editor apaso cada una de las pantallas por las que vaABAP pasando. Recomendada cuando estamos haciendo pruebas pero totalmente desaconsejada cuando Escribimos el nombre de nuestro programa RSBDCSUB queremos hacer una carga muy grande de informacin.yejecutamos. Si queris salir de la ejecucin en visible podis pararla Escribimos el nombre del juego de datos aplanificar yla escribiendo /bend en la ventana de comandos. fecha en que secre.Seleccionamos en el men Programa /Ejecutar en proceso Visualizar slo errores: en este caso la transferencia dedefondo. informacin se realizar sin que nosotros lo veamos directamente, pero se deterndr cuando detecte unIntroducimos los parmetros de impresin (si queremos que error en la informacin contenida en el juego de datos.se imprima el log de resultado). Nos permite corregir el error directamente cuandoEscribimos la fecha yhora en que queremos que se inicie el sucede. Se puede utilizar con cargas no muy grandesprocesado del juego dedatos. 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.Para ver si hemos creado correctamente el job defondo:Sistema /Servicios /Jobs /Resumen jobsY, de nuevo, para ver el estado en que se encuentra el procesoSi todo ha resultado correcto el status del juego de datos sedel juego dedatos:marcar como procesado ypasar la pestaa correspondiente.De lo contrario, se marcar como errneo ypasar la pestaaHerramientas /Gestin /Monitor /SM35 Batchinputerrneos.Imagen inicial | simminchCmo ver qu ha idomal?Hacemos doble click sobreel juego dedatos.Marcamos la pestaa Logs. Buscamos aquellas lneasresaltadas ya que sern las que contienen el mensajedeerror.Planificacin del procesado enfondoFinalmente, si decidimos procesar el juego de datos conposterioridad al lanzamiento del batch input, pero ademsdeseamos hacerlo en una fecha yhora determinadas, entonces el2 29. 24 December, 2011 | created using fivefilters.orgExtraccin de informacinapartir 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 SAPpara analizarla externamente por ejemploconMicrosoft Excel.Sin embargo, debido al tiempo que ocupa la ejecucin de latransaccin no podemos hacerlo on-line. Si nos fijamos en elparmetro abap/timeout fijado en el sistema, ste esdemasiadobajo como para lanzar el programa en un proceso dilogo.Podemos visualizar este parmetro en nuestro sistemaen latransaccinHerramientas /CCMS /Configuration /RZ10 System profile Grabamos yvolvemos la pantalla anterior.Entonces, cmo podemos consultar informacin en SAP si la Pulsamos el botn Condicin inicio eindicamos cundoejecucin de una transaccin consume mucho tiempo? Laqueremos que se inicie. Podemos indicar que se lancerespuesta es programandoun job de fondo para la transaccin.inmediatamente, en una fecha yhora concretas, cuando finalice otro job, etc. En este caso voy aindicar que se lanceCrear un job defondo inmediatamente. Ygrabamos.Imaginemos que queremos consultar la lista de saldos deentradas de mercancasLogstica /Gestin de materiales /Gestin de stocks /Entorno/Visualizacin de saldos /MB5S Lista de saldoMSRFEn primer lugar debemos conocer el programa que seesconde detrs de la transaccin. Para ello vamos latransaccin ypulsamos el men Sistema /Status. En elejemplo el programa se llama RM07MSAL.Seguidamente vamos la transaccin que nos permitirdefinir nuestro job ydamos nombre anuestro job.Herramientas /CCMS /Background processing /SM36 Define jobPulsamos en el botn Paso yescribimos el nombre delprograma 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 1 30. 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 demailOtra opcin es que la finalizacin del job, ste enve elresultado directamente anuestra cuenta de correo electrnico.Para ello hay que incluir la direccin de correo electrnico lahora de crear el job en el botn Destino listas spool. La formadetallada de hacerlo la tenis en el siguiente enlace.Podis enviar la informacin: A una cuenta de correo individual.Herramientas /CCMS /Background processing /SM36 Definejob /Destino listas spool A un grupo de usuarios creando una lista de distribucin mediante la transaccin SO28ste es el ltimo post de la temporada. El blog volver en breve.Os deseo que pasis unas buenas vacaciones si las tenis. Nosvemos la vuelta.2 31. 20 December, 2011 | created using fivefilters.orgParametrizacin de tablas de Si queremos que nuestra disposicin sea visible solamente durante esta sesin recuperaremos nuestra variante delcontrol (table control) en campo Opcin actual en el apartado Seleccionar variantes.transaccionesEn 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 atodoslos usuarios del sistema tendremos que trabajar comoadministradores. 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 controlde una transaccin.EjemploSi tomamos como ejemplo la tabla de posiciones queencontramos en los pedidos de venta de forma estndar nospodemos contrar con la siguiente distribucin de camposposicin, material, cantidad de pedido, un, r, denominacin,nmero de material del proveedor, tpos,etc.Logstica /Comercial /Ventas /Pedido /VA02 ModificarSi sta no es la distribucin que nos interesa la podemos cambiarrealizando los siguientes pasos:Marcamos aquellos campos que queremos cambiar ylosarrastramos la posicin que anosotros nos interese. Porejemplo, en este caso voy amarcar el campo tipo deposicin (Tpos) ylo voy allevar detrs del de unidad de Finalmente, hay que indicar que toda la informacin demedida (UM).disposicin guardados se almacenan en la vista TCVIEW, laAbrimos el icono configuracin que se encuentra en la parte cual podemos acceder atravs de la transaccin SM30. Por losuperior derecha de latabla. tanto, podemos copiar la disposicin que hemos generado paraun usuario replicando las entradas generadas en esta vista paraEn el campo Variante del apartado Gestionar variantesel usuario correspondiente.asignamos un nombre anuestra nueva disposicinymarcamos el botn Crear.Imagen | INTVGene1 32. 24 December, 2011 | created using fivefilters.orgCrear tablas transparentesque contendrn stas. Cada campo de una tabla oestructura hade tener una descripcin yuna definicin del tipo de informacinyestructuras que contendr. En SAP esto se consigue mediante dos objetos deldiccionario llamados dominio yelemento de datos.Dominio: el dominio se define como el rango de valores quepuede tener un campo. Es decir, el tamao mximo quepuede tener un campo (desde 0caracteres onmeros hastalo que se nosocurra)y el tipo de informacin que podralbergar (caracteres, nmeros enteros, nmeros decimales,etc.). Por ejemplo, creemos aqu el dominio para el campocdigo.Herramientas /Workbench ABAP /Desarrollo /SE11 DictionaryABAP /DominioMarcamos la opcin dominio, lo llamaremos ZD_CODIGO.Presionamos Crear.Damos una descripcin al dominio.Escogemos un tipo de datos. En este caso slo aceptardatos numricos as que voy amarcar la opcin NUMC quees un tipo de datos que slo acepta nmeros enteros. Asevitaremos que el usuario se pueda equivocar yentre letrasen el campo. SAP validar que el tipo de informacin esnumrica yno dejar grabar si no loes.En un post anterior mostraba un detalle de tablas de diccionarioAceptaremos hasta9999 contactos. Por lo tanto, la cantidadestndar enSAP.de posiciones ser de4.Hoy toca hablar de los pasos que hay que seguir si queremosLa longitud de salidad tambin ser de 4. Es decir, lo queguardar informacin en la base de datos de SAP. Sea cual sea elveremos en la tabla ser lo mismo que entremos en eltipo de base de datos que utilice nuestro ERP (Oracle, SQL,registro.MaxDB) la forma en que podemos crear tablas en el diccionariode SAP es el mismo. Pero tambin hablar de cmo crear otro En la pestaa Ambito val podemos definir los valores fijosobjeto del diccionario, las estructuras de datos ya que los pasos que puede tomar el campo. En este caso, lo dejamos vaco.arealizar son muy similares. Pero si por ejemplo el campo slo pudiese tomar dos valoresDefinicionescomo verdadero o falso, entonces lo podramos indicaraqu ySAP al entrar la informacin luego en la tabla no nosEstructuras:es un conjunto de definiciones de campos dejara entrar ningn otro valor que no fuese verdaderoalmacenado en el diccionario de SAP. Una estructuranunca ofalso. No es nuestro caso.podr llenarse conningn registro de informacinasociada en la base de datos. Su uso se sita solamente Grabamos. Damos una orden de transporte. Activamos.dentro de la programacin ABAP.Tabla tranparente: al igual que una estructura, una tablatransparente tambin corresponde aun conjunto definidode campos estructurados almacenada en el diccionario deSAP. La diferencia es que una tabla transparentepuedeserllenada con informacin. De hecho, una tabla engeneral es la unidad mnima necesario para introducirinformacin en nuestra base dedatos.Existen otros tipos de tablas como cluster opool. Sin embargo,no tratar de ellas en este artculo. Podis encontrar msinformacin acerca de este tipo de tablas en el siguiente link.Elementos comunes la creacin de tablas transparentesyestructurasElemento de datos: el elemento de datos contiene la sumaPrevio acrear una tabla oestructura hay que definir los camposdel dominio yla descripcin delcampo.1 33. que marcaremos la opcin X Visualizacin/actualizacinHerramientas /Workbench ABAP /Desarrollo /SE11 Dictionary permitida.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 utilizaramosAadimos los nombres de cadacampo. ningn elemento de datos, sino que asignamos el tipo de datos ysu longitud directamente en el elemento de datos.A cada campo asignamos su elemento de datos si lo No es nuestro caso.tenemos. En la pestaa de denominacin de campo escribimos En el caso del cdigo tenemos el elemento cuatro descripciones adicionales. Sern las que aparecernZE_CODIGO yse lo asignamos. en el encabezado de la tabla segn el tamao delcampo. En el caso del nombre no lo tenemos, pero vamos Grabamos, guardamos yactivamos.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 transparenteDetermino cules son los campos clave, es decir, aquellosque determinarn un registro como nico en la tabla. EnUna vez creados dominios yelementos de datos podemosesta tabla esos campos son el campo mandante yel campoempezar acrear nuestra tabla que servir de contenedor decdigo. Esto significa que el cdigo de cada contacto esinformacin dentro de la base de datosSAP.unvoco yno pueden aparecer dos registros con el mismoHerramientas /Workbench ABAP /Desarrollo /SE11 Dictionary cdigo dentro de la base de datos. El campo mandante esABAP /Tabla base dedatos necesario siempre en todas las tablas transparentes paraindicar que la informacin contenida en una tablaAl presionar el boton Crear nos pedir una decripcin yun tipo transparente ser diferente segn el mandante en el cualde clase de entrega. Nuestra tabla almacenar informacin as nos encontremos. Para eso marco la columna Clv de estosque la definimos como A (tabla de aplicacin). Tambincampos.permitiremos que se puedan aadir registros directamente as2 34. Actualizamos las opciones tcnicas: en Pasar a /OpcionesA travs del browser de visualizacin general de tabla: tcnicas indicamos la clase de datos que informaremosmediante la transaccin SE16N anuestra tabla. En el ejemplo, los datos que incluir sern informacin de datos maestros (APPL0). El tamao ser el Botn ejecutar. mmoposible (0 de 0a 3300), seguro que no incluir ms registros. El resto de informacin de esta pantalla laBotn aadir lneas. mantengo talcual. Botn grabar.Creando una vista de tablas yutilizar esta vista para aadir Actualizamos la categora de ampliacin: si en el futuro registros. En otro artculo comentar con ms detalle cmo queremos ampliar la estructura de la tabla debemos decidir utilizar esta interesante opcin. cmo la vamos aampliar. En el ejemplo, seleccionamos ampliable de cualquier manera. La propia ayuda de la Herramientas /Workbench ABAP /Desarrollo /SE11 Dictionary opcin nos puede guiarsobre cmo hacer esto. Men ABAP /Utilidades /Generador actualiz.tablas Detalles /Categora de ampliacin.Tambin podemos utilizarcdigo ABAP. Utilizando sentencias deSQL como UPDATE, MODIFY oINSERT dentro de nuestro Grabamos yactivamos.programa podemos ir aadiendo registros la tabla que hayamosEstructuracreado. En este caso no es necesario haber marcado la opcin debrowser de datos/actual.vista de tabla de la pestaa EntregaBsicamente lo que debemos hacer es exactamente lo mismo queyactualizacin comoX.hacemos al crear una tabla transparente. Sin embargo, el caminodel men ser diferente.Visualizar la informacin almacenada en una tablatransparenteHerramientas /Workbench ABAP /Desarrollo /SE11 DictionaryABAP /Tipo datos /EstructuraDe nuevo hay dos opciones:Directamente debemos aadir los campos con su tipologa A travs del explorador de datos de tablas.(columna tipo componente) sin asignar ningn tipo de clase deentrega. No es necesario aadir el campo mandante.Herramientas /Workbench ABAP /Resumen /SE16 BrowserdedatosAadir informacin auna tabla transparentePara dotar de contenido una tabla podemos utilizar diversas A travs del nuevo browser de visualizacin en laalternativas directas si hemos marcado la opcin de browser de transaccin SE16N.datos/actual.vista de tabla de la pestaa Entregayactualizacin comoX A travs del explorador de datos de tablas.Herramientas /Workbench ABAP /Resumen /SE16 Browser dedatos /Tabla /Registrar entradasPodis encontrar informacin muy completa sobre el diccionarioABAP ycmo crear tablas yestructuras en el siguiente link.Imagen inicial | Tim Morgan3 35. 24 December, 2011 | created using fivefilters.orgVistas de actualizacin dedos niveles. En este ejemplo vamos acrear dos niveles.tablasNmeros de imagen de actualizacin: numeramos laspantallas resumene individual. La pantalla resumen seasocia con el primer nivel, mientras que la imagenindividual se asocia con el segundo nivel de tipo deactualizacin. Los nmeros de las pantallas han de serdiferentes.Pulsamos Objetos generados /Crear.En el artculo de la semana anterior veamos cmo crear tablasde diccionario ymostr brevemente cmo podemos informarestas tablas desde un punto de vista tcnico. Pero, cmo puedeactualizar informacin en una tabla unusuario final? Larespuesta es atravs de imgenes de actualizacin.En este post vamos atomar la tabla que creamos la semanaanteriory vamos acrear un objeto que ayudar al usuario Seguidamente nos pedir hasta tres rdenes de transporte ySAParegistrar informacin sobre latabla. empezar agenerar las vistas. Esto puede tardar unos segundos.DefinicinAl finalizar el proceso en principio no es necesario ningn pasoadicional pues las imgenes SAP las ha creado automticamente.Una imagen ovista de actualizacin es una forma que SAP nosSin embargo, suele ser necesario realizar algn ajuste. Para elloproporciona para poder introducir datos en tablas sin necesidadnos vamos aEntorno /Modificacin /Imgenes de actualizacin.de entrar en el explorador de tablas ni tener que programar. Nohay que olvidar que el explorador de tablas suele ser una Seleccionamos qu imagen queremos modificar, la detransaccin restringida para los usuarios finales. As queresumen ola de detalle. En este caso, la de resumen.necesitamos una forma simple yrpida de poder mantenerlainformacin de tablas za disposicin de usuarios.PasosHerramientas /Workbench ABAP /Desarrollo /SE11 DictionaryABAPUna vez en la tabla navegamos al men Utilidades /Generadoractualiz. tabla yseguimos los siguientes pasos:SAP abre un screen painter para modificacin de dynprosopantallas. Para los que hayis programado en ABAP, decirGrupo de autorizaciones: si decidimos que restringir elque sta es exactamente la misma transaccin queacceso segn autorizaciones de usuario lo podemos asignarpodramos utilizar para hacer programacin ABAP deaqu. De lo contrario, como en este ejemplo, indicamos eldynpros.grupo de autorizaciones &NC& que significa que noestamos restringiendo el acceso aesta imagen dePulsamos el botn Layout ymodificamos la informacinactualizacin.que aparece en la pantalla. No es aconsejable modificarmucho estas pantallas, pero alo mejor s que nos convieneGrupo de funciones: creamos un grupo de funciones dondecambiar algunas descripciones de campos ya que porSAP almacenar el cdigo ABAP para la actualizacin dedefecto toma la que haya en el elemento de datos yesto nolatabla.siempre nos interesa. En este caso voy acambiar lasTipo actualizacin: puede ser un nivel si queremosdescripciones de los campos contacto ydireccin por losactualizar registros de la tabla en masa, es decir, viendoque yo considero Nombre del contacto y Direccin deltodos los registros la vez. En cambio, si la actualizacin la contacto.vamos ahacer registro aregistro entonces debemos marcar1 36. SalidaAs es como queda nuestra vista inicial (pantalla 100) cuandollamamos la transaccin ZCONTACTOS. Fijaos la botoneraestndar generada para modificar, crear yborrar registros.Grabo yactivo la modificacin.EjemploUna vez tengo creadas las vistas de actualizacin de mi tablacmo llamo aestas imgenes para registrar nuevos datos? LaY as cmo queda nuestra imagen de detalle (pantalla 200)forma ms rpida es utilizar la transaccin SM30.cuando hacemos doble click sobre un registro individual.Sin embargo, no siempre queremos dar acceso alos usuarios latransaccin SM30de forma directa. Por qu? Porque atravsde esta transaccin se puede acceder tambin alas imgenes deactualizacin de tablas de customizing. Es mejor crear unatransaccin Zque llame alas imgenes de actualizacin. Paraello no es necesario ningn tipo de programacin ABAP. Loharemos del siguiente modo:Herramientas /Workbench ABAP /Desarrollo /Otras herramientas/SE93 TransaccionesImagen inicial | kaibara87Damos nombre (ZCONTACTOS) anuestra transaccinypulsamos Crear.Damos una descripcin yseleccionamos la opcinTransaccin con parmetros.Indicamos una transaccin para la visualizacin de nuestraimagen, la transaccin SM30. Validamos.Como no queremos ver la imagen de entrada de latransaccin SM30, marcamos omitir imagen inicial.En valores propuesta indicamos el nombre de nuestra vistade imagen (VIEWNAME) ytipo de actualizacin (UPDATE).2 37. Tablas del diccionarioEn este post voy a mostrar un detalle de tablas comunes en SAP.DefinicinLas tablas del diccionario de SAP son la fuente de informacin central y estructurada de la empresa. SAPutiliza un tipo de base de datos de tipo relacional con tablas que contienen uno o ms campos clave. SAPcontiene tablas estndar de las cuales se alimentan y a las cuales informan las transacciones del sistema, sibien 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, aunqueespero que os sean tiles ya que son de uso comn.Materiales y produccin1. Maestro de materialesTabla Descripcin ComentarioMAKT Descripciones de materialMARA Datos generalesMARC Material por centroMARD Segmento almacn/lotesMARM Unidades de medidaMBEW Valoracin-materialMEAN Nm de artculos europeos de matMKAL Versiones de fabr del materialMLAN Clasificacin impuestos matMLGN Datos mat por nm almacnMLGT Datos mat por tipo de almacnMOFF Maestros de mat an abiertosMSTA Status de maestro de materialesMVKE Datos de ventas2. Gestin de stocks2.1. Estado de los stocksTabla DescripcinComentarioMARD Stock por centro/almacn 38. MCHB Stocks de lotesMSLB Stock especial en proveedorMKOL Stocks especiales del proveedorMSSL Suma stock especial en proveedor2.2. Documentos de materialTabla DescripcinComentarioMKPF Cabecera del doc-material Segmento del documento-MSEG Contiene la clase de mov del material mat Reserva/necesidades El nm de reserva en la MKPF. Desde produccin se enlaza medianteRESB secundarias AFKO-RSNUM Textos clase deT156T movimiento3. Planificacin de necesidadesTabla Descripcin ComentarioMARC Material por centroCaract. Planificador de necesidadesMDKP Datos cabecera del doc de planificacinPor caract. de planificacinMDVM Peticin de planificacinT438M Grupo de planificacinT399D Datos de centro para planificacin de necesidadesT457T Denominacin del elemento de planificacin de necesidades4. Necesidad preplanificadaTabla Descripcin ComentarioPBIM ndice de nec. primarias por materialPor clase/versin/plan-nec puntero de necesidadPBED Datos de nec. primarias de materialMDPB Vista del MRP5. PronsiticosTabla DescripcinComentarioMAPR ndice de materiales para pronsticosPROP Parmetros de pronsticosPROW Valores de pronsticoPROF Error de pronsticoMVER Consumos de material6. Orden previsionalTabla Descripcin ComentarioPLAFOrden previsional7. Gestin de almacenes (SAP-WM)7.1. Almacenes 39. Tabla DescripcinComentarioLAGP UbicacionesLQUACuantos-almacenaje7.2. Orden de transporteTabla Descripcin ComentarioLTAKDatos de cabeceraLTAP Datos de posicin7.3. Necesidad de transporteTabla Descripcin ComentarioLTBKDatos de cabeceraLTBP Datos de posicin7.4. Documento de inventarioTabla Descripcin ComentarioLINKCabecera de doc-inventarioLINP Posicn de doc-inventarioLINV Datos de inventario por cuanto8. LotesTabla DescripcinComentarioMCHAStock por material/centro/lote DefincinMCHB Stocks de lotes Cantidades9. rdenes de fabricacinTabla Descripcin ComentarioAFKO Cabecera de OFAFPO Posicin de OFAUFK Datos maestros OFA nivel de cabeceraAFRU Notificaciones OFAFVC Operaciones de una orden Operacin de orden. Elaborac ext clave = AFKO-AUFPLAFVV Operacin ctd/fechas/valores TiemposAFVU Cpos de usuario de operacinValores prefijados, tiempos, trnsito...CAUFVVista de la OF Cabecera (asignacin, fechas/cant)TJ02T Textos para el status Relac. Entre la descr de status de la orden y el statusMDFA Vista de OF para MD10. Listas de materialesTabla Descripcin ComentarioTodas las listas de materiales (combinaciones de alternativas yMASTMaterial/lista de materialesutilizacin)STKO Cabecera lista materialesSTPO 40. Componentes lista materiales Lista de materiales-seleccin deSTASEnlace STKO-STPO para distintas alternativas posiciones11. Hojas de rutaTabla Descripcin ComentarioMAPLMaterial/hojas de rutaPLKO Cabecera hojas de rutaPLPO Operaciones hojas de ruta Enlace PLKO-PLPO para distintas alternativasPLAS Seleccin de operaciones TJ02T Texto statusJEST Status individual por objeto12. Puestos de trabajoTabla Descripcin ComentarioCRHD Cabecera del puesto de trabajo Se accede por un id. Que est en la AFVC (cpo ARBID)KAKOCapacidad Se accede por un id que est en la CRHD13. Nmeros de serieTabla Descripcin ComentarioEQUI Nmeros de serie para materialesCompras1. Maestro de proveedoresTabla DescripcinComentarioLFA1 Datos maestrosLFB1 Proveedores por sociedadLFB5 Datos de reclamacinLFBK Bancos/cuentasLFC1 Cifras de movimientosLFC3 Cifras de movimientos CMELFM1 Datos de la organizacin de compras2. Documentos de comprasTabla Descripcin ComentarioEKKO Cabecera del doc. de compras Contiene el tipo de documentoEKPO Posicin del doc de comprasEKET Repartos del plan de entregasEKES Confirmaciones de pedidoEKKN Imputacin en el documentoEKAN Direccin del proveedor en el doc. de comprasEKBE Historial para el doc.EKUB nidce de pedidos para traslado de material 41. MDUB Vista de lectura sobre pedidode pedido/repartotoma-pedidoMDBS Vista de material en posicin de traslado para3. Solicitud de pedidosTabla DescripcinComentarioEBAN Solicitud de pedio por posicinEBKN Imputacin de solicitud de pedido4. Libro de pedidosTabla DescripcinComentarioEORD Libro de pedidos de compras5. Registro info de comprasTabla DescripcinComentarioEINA Datos generalesEINE Datos de la organizacin de comprasKONPCondicionesEIPA Historial del precio del pedido del registro infoVentas1. Maestro de clientesTabla Descripcin ComentarioKNA1 Datos maestro de clientesKNB1 Clientes por sociedadKNBKBancos/cuentasKNVA Lugares de descargaKNVKPersona contacto (interlocutor)KNVP Funciones de interlocutorEl campo PARVW diferencia entre los distintos interlocutoresKNVS Datos de expedicinKNVV Datos de comercialKNVKInterlocutor (personas de contacto)2. Documentos comercialesTabla Descripcin ComentarioVBUK Status cabecera y datos de gestinVBUP Status de posicinVBFA Flujo de doc. comercialesVBPA Interlocutor3. Pedidos de ventasTabla DescripcinComentarioVBAK CabeceraVBAP Posicin 42. VBFA Flujo de doc. comercialesVBKD Datos comercialesVBEP Datos de reparto4. EntregasTabla DescripcinComentarioLIKP Datos de cabeceraLIPS Datos de posicinLQUACuantos/almacenaje5. Estructura de organizacinTabla DescripcinComentarioTVKO Organizaciones de venta Vista V_TVKO_LKTVKOT Textos org. VentasTVKOV Canales de distribucin por org. de ventas Vista V_TVKOV_LKTVKOS Sectores pro org. de ventasVista V_TVKOS_LKTVTA reas de ventas Vista V_TVTA_LKTVKBZ Oficina de ventas por rea de ventas Vista V_TVKBZ_LKTVBVK Grupo vendedores por oficina de ventas Vista V_TVBVK_LKTVKWZCentros por org. de ventasVista V_TVKWZ_LKTVSWZ Lugares de expedicin por centro Vista V_TVSWZ_LKT001KVista V_T001K6. FacturasTabla DescripcinComentarioVBRKDatos de cabeceraVBRP Datos de posicin7. ndice de ventasTabla DescripcinComentarioVAKPA Pedidos por funcin interlocutorVAPMAPosiciones pedido por material8. Necesidades de ventasTabla DescripcinComentarioVBBERegistro individual de necesidad de ventas Sistema de clasificacin1. ClasesTabla DescripcinComentarioKLAH Datos cabecera claseClase y categora Nm interno claseKSMLCaractersticas de clasesNm interno clase Nm interno caracterstica 43. KSSK Tabla de asignacin: objeto a clase2. CaractersticasTabla Descripcin ComentarioCABN CaractersticasCaracterstica Nm interno caractersticaCAWN Valores de las caracterstic asw Nm interno caract valores caractCAWNTTextos para los valoresINOB Asignacin nm interno a un objeto Para acceder a AUSP para caractersticas de clases nuevasAUSP Valores propios de las caractersticasFinanzas1. Documento de contabilidadTabla DescripcinComentarioBKPF Cabecera de documento para contabilidadBSEG Segmento de doc. de contabilidad2. Contabilidad (ndices secundarios)Tabla Descripcin ComentarioBSAD Para deudores (part.comp.)BSAKPara acreedores (part.comp.)BSAS Para cuentas mayor (part.comp)BSID Para deudoresBSIK Para acreedoresBSIM Para documentos por materialBSIP Para verificacin de documentos dobles de acreedoresBSIS Para cuentas mayorBSIW Para efectos de deudorBSIX Para efectos de deudor3. Maestro de cuenta mayorTabla DescripcinComentarioSKB1 Cta. mayor (sociedad)SKATCta. Mayor (plan de cuentas: denominacin)4. Maesto de bancosTabla DescripcinComentarioBNKAMaestro de banco5. Clculo de costesTabla DescripcinComentarioSKB1 Cta. mayor (sociedad)SKATCta. Mayor (plan de cuentas: denominacin) 44. Varios1. Entorno de desarrolloTabla Descripcin ComentarioTBTCO Resumen del estado de los jobsTVARVVariables en condicin de seleccinSTXH STXD SAPscript cabecera fichero textoTTXER Tratamiento textos: grupos ID de textos2. ConfiguracinTabla DescripcinComentarioT001 SociedadesT001L AlmacenesT001W Centros/sucursalesT005 PasesT005T Nombres de pasesT005U Impuestos: provincia: textosT006 Unidades de medidaT009 Variantes de ejercicioT024W Org. Compras permitidas para centroT151T Deudores: grupos de clientes: textosT171T Deudores: zonas de ventas: textosT460A Clave de acopio especialT882 Asignacin sociedad FITFACS Calendario de fbricaTPFKT Deudores: interlocutor: textosTSPAT Unid. Org.: sectores comerciales: textosTVAGT Doc-ventas: motivo rechazo: textosTVAKT Doc-ventas: clases: textosTVAPT Doc-ventas: tipos posicin: textosTVAUT Doc-ventas: motivo pedidos: textosTVGRT Unid. de org.: grupos vendedores: textosTVKBT Unid. de org.: oficinas de ventas: textosTVKOT Unid. org.: organizaciones de ventas: textosTVRO RutasTVROT Rutas textosTVTWTUnid. org: canales de distribucin: textosTVZBT Deudores: condiciones de pago: textos3. Condiciones de preciosTabla Descripcin ComentarioKONH CabeceraKONP Posicin 45. KOND DatosKONV Datos operacin4. Ficheros de cuotasTabla DescripcinComentarioEQUK CabeceraEQUP Posicin5. Documentos de modificacinTabla DescripcinComentarioCDHDR CabeceraCDPOS Posicin6. Gestin de direccionesTabla Descripcin ComentarioSADR Datos de la empresa7. Serie de ordenTabla DescripcinComentarioSAFKDatos maestros de serie de orden8. Registro info de materialTabla DescripcinComentarioA017 Especfico del centroA018 Condiciones de ventas estructura para preciosImagen | Horia Varlan 46. 20 December, 2011 | created using fivefilters.orgTransporte de rdenes entre oTMS).PasossistemasLos siguientes pasos son los necesarios para transportar unamodificacin desde un sistema de Desarrollo hasta un sistemaProductivo.Asociar una clase de desarrolloEste paso slo es necesario cuando creamos un programaodesarrollo. la hora de crearlo SAP nos pide que le asociemoseste cdigo que va aidentificar al programa como parte de unmismo proyecto. En el ejemplo creamos un programaZPRUEBA10IntroduccinCreacin de una orden de transporte.Las implantaciones SAP suelen realizarse en un entornodistribuido de varios sistemas: En el momento de grabar nuestra modificacin SAP nos pedirque creemos automticamente una orden de transporte. Toda Sistema de Desarrollo: entorno abierto especficamente orden se compone de varias tareas. En cada tarea se incorporan para la parametrizacin yprogramacin.las modificaciones que hayamos realizado, sean de desarrollo Sistema de Test: donde los usuarios yel equipo de ode parametrizacin. Por lo tanto, dentro de una misma orden consultora pueden verificar los nuevos procesos pueden existir varias modificaciones de varios objetos que se desarrollados en el sistema de Desarrollo. incluirn en cada una de las diferentes tareas de la orden. En Sistema Productivo: entorno de trabajo de los usuarios nuestro programa de prueba tan pronto hemos asociado la clase finales donde se encuentran datos reales de la empresa ysede desarrollo SAP ya nos pide una descripcin para la orden de concentra su da ada. Es siempre el sistema de destino transporte. donde acaban las modificaciones iniciadas en el sistema de Desarrollo.Los nombres pueden variar, pero esta distribucin suele ser muycomn. Al menos, es la que yo siempre he visto en lasimplantaciones en las que he trabajado.Una de las ventajas de este esquema es que evita interferir en eltrabajo que realizan los usuarios da ada, la vez que losconsultores pueden seguir modificando el sistema introduciendonuevas mejoras.La desventaja es que una vez se han hecho las modificacionespertinentes, stas tienen que ser copiadas al sistema de destino.En primer lugar se deben llevar al sistema Test para suaceptacin orechazo. En segundo lugar hay que dejarlas en elSistema Productivo donde podrn ser utilizadas de formadefinitiva en los procesos de la empresa.A este sistema de copia de objetos entre sistemas se le llamatransporte yla herramienta utilizada en SAP para realizarlo sellama Sistema de Transportes (Transport Management System1 47. Como resultado obtenemos un nmero de orden con una rdenes: Resumen /Import. Hacemos doble click sobre el entornonumeracin del tipo que se ve en la imagen.DESrepresenta el al cual queremos copiar nuestra orden.cdigo de identificacin del sistema que nuestro administradorhaya previsto; Kes una letra clave; 906894es un nmerogenerado automticamente por el sistema yque empieza por900001Hay que destacar que hay dos tipos de rdenes de transporte:De Workbench: contiene objetos de desarrollo.De customizing: contiene objetos de parametrizacinocustomizing.Liberacin de la orden (y de sus tareas).Herramientas /Workbench ABAP /Resumen /SE09 WorkbenchorganizerImaginemos que ya hemos finalizado nuestro programa. Puestenemos que liberar nuestra orden preparndola para laSi no vemos nuestra orden, pulsamos el icono de refrescar. Nosimportacin. Primero debemos liberar las tareas. Nos situamos situamos sobre nuestra orden ymarcamos Orden /Import.sobre cada una de ellas ymarcamos Orden/Tarea /Liberar directo Indicamos el mandante de destino ymarcamos la opcin. Luego liberaremos la orden. Nos situaremos sobre la orden correspondiente. En nuestro caso slo marcamos Dejar orden deymarcamos Orden/Tarea /Liberar directo.transporte en la cola, lo cual nos permitir volver aimportar laorden siempre que queramos.Como vemos en la imagen una tarea est contenida dentro deuna orden ya su vez contiene los objetos que hemos modificado(en nuestro caso el programa ZPRUEBA10). Por lo tanto, dentrode una misma orden podemos introducir ms de unamodificacin sobre diferentes objetos (siempre que sean delmismo tipo porque las rdenes de workbench no se puedenmezclar con las de customizing).Para enviarlo al Sistema Productivo habr que ir al STMS desdeProductivo yhacer estomismo.Podis encontrar ms informacin consultando el captulo 6dellibro As es SAP R/3 de J.A. Hernndez Muoz.Imagen | dok1sImportacin de la orden al sistema destino.Herramientas /Gestin /Transportes /STMS TransportManagement SystemEn este paso copiamos nuestra modificacin del entorno origenal destino.Debemos hacerlologndonos en el sistema al cualqueremos importa la orden. Seleccionamos el resumen de2 48. 20 December, 2011 | created using fivefilters.orgCopia de rdenes detransporte entre sistemas noconectados Nos abre la consola ynos solicita el usuario ycontrasea para acceder al servidor. Una vez dentro de nuestro servidor hacemos doble click sobre MiPC ybuscamos las siguientes carpetas:c:usrsaptransdatac:usrsaptranscofiles Localizamos nuestra orden de transporte dentro de cada una de las carpetas ynos guardamos los ficherosEn un post anterior comentaba cmo realizar transportes de encontrados en cada una de las carpetas.Podemosrdenes entre sistemas. En esta ocasin voy aexplicar estocopiarlos, por ejemplo, en un directorio visible tanto almismo pero en entornos que no se encuentran conectados. Para servidor de origen como al de destino. Vemos que en cadaello, vamos asalirnos un poco de la interface de SAP ynos vamoscarpeta (data ocofiles) el archivo que contiene la ordenaadentrar en la consola del servidor donde hayamos hecho la tiene un nombre distinto, aunque la numeracin esinstalacin de nuestro ERP.exactamente la misma que tenemos enSAP.El siguiente ejemplo lo realizar suponiendo que nuestrainstalacin se ha hecho sobre Windows Server.PasosCreamos nuestra orden de transporte normalmente ennuestro sistema origen. Esta orden contendr lainformacindel objeto uobjetos modificados.Liberamos esta orden de transporte. Esto es muyimportante porque hasta que no est liberada no podremostrabajar conella.Una vez creada nos abrimos una sesin de consola en elservidor origen donde tengamos la instalacin deSAP Ahora tenemos que volver aabrir la consola pero en nuestro servidor destino.Windows /Inicio /Ejecutar/mstsc De nuevo, buscamos los directorios data ycofiles.Nos abre una ventanadonde se nos pide la direccin IP deCopiamos los archivos que nos hemos guardadonuestro servidor.anteriormente en las correspondientes ca