MR21 – Revalorizar/cambiar precio a material

Caso: se desea revalorizar/modificar el precio de un material

Solución:

1. Por la MM03, verificamos el valor del material EV0101-00002. Para el caso es de 593,97.

2. Ingresamos por la MR21 a realizar el cambio. Para ello debemos indicar:

· Fecha contabilización: (para el caso es 10.02.2016)

· Sociedad: (para el caso el 1000)

· Centro: (para el caso es VAP)

· Texto referencia y texto de cabecera de documento (recordar que se realizará un asiento contable de revalorización)

Debe recordarse que para la fecha de contabilización debe estar abierto el período MM y FI

3. Presionamos ENTER, aparecerá una grilla en la cual indicaremos:

– el material (para el caso EV0101-00002).

– El nuevo precio del material (indicaremos 400.-)

Presionamos ENTER nuevamente.

Dado que nuestro material es sujeto a lote, va a generarnos el siguiente mensaje de error: “Indique una clase de valoración para el material”.

Nota: Podemos revisar los lotes podemos por la MB51:

Por lo tanto, para el caso tomaremos el último lote (0000309330), hacemos F4 o presionamos el matchcode del campo Cl.valoración y lo seleccionamos.

Presionamos ENTER nuevamente y nos completa la grilla:

Finalmente presionamos GUARDAR, nos indica el siguiente mensaje:

4. Presionamos “visualizar el documento”:

Finalmente revisamos por la MM03

Links: https://www.youtube.com/watch?v=JzdvjU3MV0U

IW38 – Campo de cliente en estructura RIHAUFK_LIST no aparece en ALV

Caso: En la IW38, si tenemos en la estructura RIHAUFK_LIST creada una estructura append con campos de cliente y éstos no comienzan con Z, no aparecen en el ALV de resultados.

En la IW38:

Solución: Usamos la BADI BADI_EAM_SINGLELEVEL_LIST, método CHANGE_FIELD_CATALOG, borrando el valor del campo CS_FIELDCATALOG-TECH, tal como indica la nota 1509429 – Customer-defined fields are not displayed in all PM lists after upgrade

1. Por la SE18, presionamos VISUALIZAR:

2. Por la SE19 creamos una copia del QNAO_SFWS_SC_SIGLELEVEL_LIST:

3. Ingresamos a modificar el objeto recién copiado:

4. Modificamos los tildes para activar la ampliación luego y vamos a “Clase que implementa”:

5. Tomamos la clase que implementa y hacemos una copia Z de ella para poder editarla:

Para ello le agregamos una Z adelante y presionamos ENTER:

Ahora con la nueva clase Z, hacemos click en el método CHANGE_FIELD:

Agregamos el código según lo que indica la nota de SAP:

Finalmente volvemos hacia atrás y agregamos el reporte de la IW38 al filtro para visualización:

Finalmente activamos. Si volvemos a la SE18, veremos que ahora aparece implementado:

Finalmente en la IW38 validamos:

Links: 1509429 – Customer-defined fields are not displayed in all PM lists after upgrade

Tabla USR02 – Desbloquear usuario por tabla

Caso: Se desea desbloquear un usuario SAP mediante tabla; es decir no tenemos acceso a la SU01 pero si a modificar tablas (ejemplo: tenemos perfil de programador y no de BASIS).

Solución: En la tabla USR02, cuando por ejemplo un usuario tiene bloqueado el usuario por intentos fallidos, el campo UFLAG aparece con el valor 128. Para desbloquearlo sólo debemos volver el valor a 0 (cero)

Categorías:ABAP/4 Etiquetas:, , , ,

Select dinámico con Field-Symbols

Caso: se desea realizar un Select utilizando variables en las condiciones

Solución: usamos un select dinámico. Ver que para filtrar campos caracteres se agregan doble comillas simples.

REPORT  zselect_dinamico.
 
DATA:   lt_ekko       TYPE TABLE OF ekko,
        lc_tabname    TYPE tabname,
        lc_tabint     TYPE tabname,
        lc_where      TYPE string.
 
FIELD-SYMBOLS:  <fs_tab> TYPE STANDARD TABLE,
                <fs_it> TYPE STANDARD TABLE.
 
lc_tabname = 'EKKO'.
lc_tabint  = 'LT_EKKO'.
lc_where   = 'BUKRS EQ 1000 AND BSART EQ ''NB'''.
 
ASSIGN (lc_tabint) TO <fs_it>.
REFRESH <fs_it>.
SELECT *
  INTO TABLE <fs_it>
  FROM (lc_tabname)
  WHERE (lc_where).

SHD0 – Grisar campos INVFO-ZFBDT e INVFO-ZTERM en MIR7

Caso: Se desea grisar los campos INVFO-ZFBDT e INVFO-ZTERM en la MIR7.

Solución: crear variante de imagen, por la SHD0

1. Se desean grisar los campos siguientes en la MIR7:

2. Ingresamos a la SHD0 (también podemos hacerlo por la OLMRLIST, es similar):

3. Seleccionamos la imagen y presionamos el botón de copiar

La copiamos con un nombre que comience con Z, va a pedir Orden de Transporte.

4. Tomamos la variante copiada y presionamos “Modificar con procesamiento”

5. Nos llama a la MIR7, pasamos los campos obligatorios de la primera pantalla y vamos a la pestaña “Pago” en donde están nuestros campos

6. Nos aparecerán los campos normales. Grabamos y nos aparecerá una pantalla en donde marcamos los campos que queremos grisar. Presionamos Grabar y finalizar.

7. Ahora debemos crear una variante de transacción, para ello en la misma SHD0, vamos a la pestaña del medio, indicamos un nombre y presionamos modificar.

8. Al presionar modificar se desgrisan los campos de agregar, borrar y grabar. Agregamos la variante de imagen creada:

Grabamos al finalizar.

9. Nos queda el último paso, vamos a la primera pestaña de la SHD0, seleccionamos la variante de transacción y presionamos activar

Le damos OK al mensaje

10. Ingresamos a la MIR7 para probar el cambio en la pestaña de pago…¡los campos aparecen grisados!

Links:

315586 – MIRO: Creating and changing display variants

372776 – MIRO, MIR6: Display variants are not created or incorrect

Fieldsymbols – Uso simple en T16FS

Caso: se desea acceder a cada campo donde se encuentran los códigos de liberación de la tabla T16FS (Estrategias de liberación).

Solución: usamos fieldsymbols para dinámicamente acceder a cada campo numerado del 1 al 8.

FIELD-SYMBOLS: <fs>.
 
DATA: lw_t16fs       type t16fs,
      lc_cant        TYPE c,
      lc_variable    TYPE string.
 
SELECT SINGLE * INTO lw_t16fs FROM t16fs
  WHERE frggr = lw_ekko-frggr   " Grupo de liberación
    AND frgsx = lw_ekko-frgsx.  " Estrategia liberación
 
DO 8 TIMES.
  WRITE sy-index TO lc_cant.
  CONCATENATE 'LW_T16FS-FRGC' lc_cant INTO lc_variable.
  ASSIGN (lc_variable) TO <fs>.
 
  WRITE /: 'Código de liberación:', lc_cant, '-', lc_variable, '. Valor:', <fs>.
 
ENDDO.
Categorías:ABAP/4 Etiquetas:, , , ,
Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

Únete a otros 34 seguidores