Sei sulla pagina 1di 14

2/8/2018 El blog SAP de Alex Mijael Alcántara Quispe: NUMBER_GET_NEXT in SM30

Más elvis.mendoza.sequera@gmail.com Panel C

El blog SAP de Alex Mijael Alcántara Quispe


SAP, ABAP & WebDynpro.

miércoles, 4 de enero de 2017

NUMBER_GET_NEXT in SM30
Por la transacción SE11 estás creando una tabla transparente y requerimos que uno de los campos clave genere un correlativo automáticamente.

Por la transacción SM30 cuando das mantenimiento a la vista de actualización de una tabla... requieres que uno de los campos clave se genere
automáticamente como un correlativo.
Perú
Por la transacción SM30 deseas que algunos campos se muestren como no-editables o mejor aún deseas ocultarlos.

Si tu caso es alguno de estos 3 puntos, este post te será de mucha ayuda.


Archivo del blog
En SAP una alternativa de solución es la siguiente: ▼ 2017 (2)
► abril (1)
Por la transacción SNRO se crea un rango de números y se específica el nombre del objeto, la longitud del número y el intervalo.
▼ enero (1)
Por la transacción SE11 se crea la tabla, la cual uno de sus campos es campo clave y contiene la misma longitud del objeto creado. NUMBER_GET_NEX
Una vez creado la vista de actualización de la tabla, se procede a crear un evento para cada nueva entrada, donde se utiliza la función T in SM30
NUMBER_GET_NEXT la cual retorna el último número correlativo.

En la dynpro de la tabla se configura los campos no-editable o sólo de salida y en el PBO (Process Before Output) se crea un módulo ► 2016 (3)
para vía código ABAP programar los campos que estarán ocultos en la vista de actualización de la tabla. ► 2015 (8)
Por la transacción SM30 se actualiza la tabla ► 2014 (14)
Por la transacción SE16/SE16N se consulta los registros existentes en la tabla y a la vez se visualiza todos los campos ya que es ► 2013 (10)
posible que por la SM30 algunos campos se encuentren ocultos.

Datos personales

Veamos paso a paso:

Ingresamos a la transacción SNRO y creamos el objeto, en mi caso tiene por nombre: ZCODE_AUTO

Alex Mijael Alcántara Q


Seguir 186

Alex is an Application Deve


focusing on Custom and
Integrated Development
particulary in ABAP, WebDy
WebServices, and Enterpri
Services in general.

Alex has a bachelor's degre


Systems Engineering from
'Universidad Nacional Mayo
San Marcos' (UNMSM), at L
Peru.

Currently works at 'Seidor


Consulting Perú S.A.C.'.
Ingresamos la lóngitud, en mi caso será numérico de longitud 10 (NUM10)
SAP ABAP Consultant (Ag.
Present)
Skills: WebDynpro, WebSe
SAP technical.
Modules: FI, CO, SD, MM,
CS, PM, PP, PS.
Verticals: VMS, DBM, LE.

I offer private lessons in AB


examples and real cases.
http://aalcantaraq.blogspot.

JAVA Developer analyst (Ag


- Present)
JAVA CONSOLE
JAVA SWING
JAVA WEB
JAVA MOBILE for ANDROI
JAVA & CLIPS (Expert syst
I offer private lessons in JAV
Suponiendo que el intervalo se define de 1 a 1000. Si se desea mostrar una advertencia en el número 900, se ingresa 10% examples and type cases.
http://jaalcantaraq.blogspot

http://aalcantaraq.blogspot.com/2017/01/number-range-objects-called-from-table.html 1/14
2/8/2018 El blog SAP de Alex Mijael Alcántara Quispe: NUMBER_GET_NEXT in SM30

Seleccionamos sin grabación en MI Creator channel MAGALEX


Youtube that make
available demos and applic
to the JAVA community.
http://www.youtube.com/ma
s
http://www.facebook.com/m
sis

Experience Consultancy an
software development proje
PyMES, Systems Engineer
students, Software, Compu
Information and related.

e-mail: amalcantaraq@gma
(+51) 929559537

Perú real estate: PN-4552


http://vaalcantaraq.blogspo
Ingresamos el intervalo de valores, en mi caso es desde 0000000001 hasta 9999999999 Ver todo mi perfil

Para transportar el intervalo a otro ambiente de SAP, se debe realizar la siguiente secuencia:

menú Intervalo -> Transportar

http://aalcantaraq.blogspot.com/2017/01/number-range-objects-called-from-table.html 2/14
2/8/2018 El blog SAP de Alex Mijael Alcántara Quispe: NUMBER_GET_NEXT in SM30

Aceptamos y solicitará una OT de tipo Customizing.


Para el Objeto ZCODE_AUTO es una OT de tipo Workbench

El objeto creado también se puede consultar por la tabla NRIV

NRIV (Intervalos de rangos de números)

Ingresamos a la transacción SE11 y creamos la tabla, en mi caso tiene por nombre ZTWM_TEST

clase de entrega: A (Tabla aplicación)


Actual.vista tabla: Visual./Actual.permitida

Ingresamos los campos, en nuestro caso el campo que tendrá el valor correlativo es ZTWM_TEST-ZCODE

http://aalcantaraq.blogspot.com/2017/01/number-range-objects-called-from-table.html 3/14
2/8/2018 El blog SAP de Alex Mijael Alcántara Quispe: NUMBER_GET_NEXT in SM30

A modo de ejemplo tenemos 4 campos clave: MANDT, ZCODE, LGNUM y VLTYP


los campos ERNAM, ERDAT y ERTIM normalmente son campos para auditoria ya que tiene el usuario que insertó/modificó el registro, fecha de
creación/modificación del registro y la hora.

Activamos la tabla... y creamos la vista de actualización

Dentro de la vista de actualización, ingresamos al menú Entorno->modificación->Eventos

http://aalcantaraq.blogspot.com/2017/01/number-range-objects-called-from-table.html 4/14
2/8/2018 El blog SAP de Alex Mijael Alcántara Quispe: NUMBER_GET_NEXT in SM30

Utilizaremos 2 eventos:

05 (Al crear una entrada nueva) -> rutina: Z_ON_CREATE


21 (Proporcionar datos a campos ocultos) -> rutina: Z_ON_CHANGE

Los eventos creados para una tabla pueden ser consultados desde la tabla TVIMF

TVIMF (Rutinas User llamadas desde la actualización de vistas)

Para cada rutina implementamos el código ABAP, pulsando en el ícono de la columna 'Editor'

http://aalcantaraq.blogspot.com/2017/01/number-range-objects-called-from-table.html 5/14
2/8/2018 El blog SAP de Alex Mijael Alcántara Quispe: NUMBER_GET_NEXT in SM30

Dentro de la rutina Z_ON_CREATE llamamos a otra subrutina para obtener el correlativo

Para esta Demo, la rutina F_GET_CODE llama a la función NUMBER_GET_NEXT la cual retorna el actual correlativo y ese dato lo pasamos al
campo ZTWM_TEST-ZCODE

http://aalcantaraq.blogspot.com/2017/01/number-range-objects-called-from-table.html 6/14
2/8/2018 El blog SAP de Alex Mijael Alcántara Quispe: NUMBER_GET_NEXT in SM30

En el entorno generación de actualización de la tabla ingresamos a 'Imagen resumen'

Haremos que sólo sea editable 2 campos: ZTWM_TEST-LGNUM y ZTWM_TEST-VLTYP

Ingresamos a la transacción SM30. En el campo tabla digitamos el nombre de nuestra tabla, en mi caso es: ZTWM_TEST

http://aalcantaraq.blogspot.com/2017/01/number-range-objects-called-from-table.html 7/14
2/8/2018 El blog SAP de Alex Mijael Alcántara Quispe: NUMBER_GET_NEXT in SM30

Ingresamos nuevos registros

Observamos que sólo se muestran editables los campos ZTWM_TEST-LGNUM y ZTWM_TEST-VLTYP, lo cual es correcto.

Ya tenemos los 2 campos editables

ZTWM_TEST-LGNUM: Núm.almacén/Complejo alm.


ZTWM_TEST-VLTYP: Tipo alm.procedencia

*****
Para facilitar el ingreso de la data, añadiremos matchcode (ayuda de búsqueda) al campo ZTWM_TEST-VLTYP

Ingresamos a la SE11 y en la pestaña 'Ayuda p./Verif.entr.' ingresamos la ayuda de búsqueda H_T301 para VLTYP

http://aalcantaraq.blogspot.com/2017/01/number-range-objects-called-from-table.html 8/14
2/8/2018 El blog SAP de Alex Mijael Alcántara Quispe: NUMBER_GET_NEXT in SM30

Si ingresamos la ayuda de búsqueda de H_T301 observamos que tiene 3 campos a mostrar:


T301T-LGNUM (Núm.almacén/Complejo alm.)
T301T-LGTYP (Tipo almacén)
T301T-LTYPT (Denominación del tipo de almacén)

Por la transacción SM30 validamos que ahora ya muestre el matchode para el campo ZTWM_TEST-VLTYP

Dado que la ayuda de búsqueda H_T301 comprende el campo LGNUM, al seleccionar algún registro del matchcode... el dato viajará a

http://aalcantaraq.blogspot.com/2017/01/number-range-objects-called-from-table.html 9/14
2/8/2018 El blog SAP de Alex Mijael Alcántara Quispe: NUMBER_GET_NEXT in SM30
ZTWM_TEST-VLTYP y también automáticamente se asignará su valor correspondiente en ZTWM_TEST-LGNUM como se observa en imagen:

Al pulsar la tecla Enter, es aquí donde ingresa al evento 05 (rutina: Z_ON_CREATE): obtiene el correlativo actual y asigna los valores
correspondientes de auditoría para Usuario, Fecha y Hora.

Podemos seguir añadiendo más registros:

Ingresamos los valores en los campos editables y al presionar la tecla Enter automaticamente se completará los otros datos.

Se va comprendiendo mejor el propósito? si?...


Ahora que pasa si queremos ocultar estos campos no editables?

Desde la SE11 ingresamos a la dynpro de la tabla para añadir un módulo en el PBO (Process Before Output) que nos permita ocultar los campos
no editables

http://aalcantaraq.blogspot.com/2017/01/number-range-objects-called-from-table.html 10/14
2/8/2018 El blog SAP de Alex Mijael Alcántara Quispe: NUMBER_GET_NEXT in SM30

Debajo de las líneas de código abap del PBO, ingresaremos nuestro módulo en mi caso le he dado el siguiente nombre ZHIDE_FIELDS

Recorremos las columnas para ocultar sólo los campos no-editables en mi caso son las columnas: 1, 4, 5 y 6

http://aalcantaraq.blogspot.com/2017/01/number-range-objects-called-from-table.html 11/14
2/8/2018 El blog SAP de Alex Mijael Alcántara Quispe: NUMBER_GET_NEXT in SM30

Luego de grabar y activar, al ingresar a la transacción SM30 se visualizará sólo los campos editables:

ZTWM_TEST-LGNUM
ZTWM_TEST-VLTYP

También podemos hacer que estos 2 campos sean obligatorios, de la siguiente manera:

http://aalcantaraq.blogspot.com/2017/01/number-range-objects-called-from-table.html 12/14
2/8/2018 El blog SAP de Alex Mijael Alcántara Quispe: NUMBER_GET_NEXT in SM30

Por la SM30 al añadir nuevas entradas podemos comprobar que ahora en ambos campos muestra el check de obligatorio

Grabamos los datos

Por la SM30 sólo observamos los campos editables, los otros campos se encuentran ocultos.

Si queremos ver toda la info completa de la tabla, podemos hacerlo consultando la tabla desde la transacción SE16/SE16N

http://aalcantaraq.blogspot.com/2017/01/number-range-objects-called-from-table.html 13/14
2/8/2018 El blog SAP de Alex Mijael Alcántara Quispe: NUMBER_GET_NEXT in SM30

Observamos todas las columnas (Código, número almacén, tipo, usuario, fecha y hora)

Que tal? Que te pareció el Post?


Ahora ya te encuentras con más confianza para aplicar correlativo como campo clave en una tabla?
Ya sabes como crear un rango de números desde la SNRO y por ende llamarlo desde el programa de mantenimiento de la tabla utilizando la
función NUMBER_GET_NEXT.
Adicional: puedes agregar ayudas de búsqueda a los campos, puedes hacer campos no editables, puedes ocultar algunos campos, etc... Esto es
una pista de lo mucho que puedes hacer para tener una vista de actualización acorde al requerimiento solicitado.

También puedes ver los siguientes Post relacionados:


Modificando vista de actualización SM30
Mostrar data filtrada en SM30

Nos vemos en el siguiente Blog


MAGALEX

Publicado por Alex Mijael Alcántara Quispe en 0:27

Etiquetas: nriv, number_get_next, sap_sm30_event_05_ create_new_entry, sm30_fields_non-editable, sm30_hide_columns, sm30_hide_fields,


table_nriv, table_tvimf, tcode_se11, tcode_SM30, tcode_snro, vista_actualización_SM30

No hay comentarios:

Publicar un comentario

Introduce tu comentario...

Comentar como: ELVIS MENDO Cerrar sesión

Publicar Vista previa Avisarme

Entrada más reciente Página principal Entrada antigua

Suscribirse a: Enviar comentarios (Atom)

Tema Fantástico, S.A.. Con la tecnología de Blogger.

http://aalcantaraq.blogspot.com/2017/01/number-range-objects-called-from-table.html 14/14

Potrebbero piacerti anche