Avalados por :
Hola amigos,
Cuando intento cambiar un contrato en un instrumento de mercado monetario, me aparece este error, lo cual no me permite cambiar el contrato.
¿Alguien podría arrojar algo de luz sobre el perfil de estado? ¿Qué es esto y para qué se utiliza? ¿Cómo puedo cambiar ahora el contrato?
Gracias y saludos,
Anil
Untitled.png
Estimado Anil,
El mensaje de error FTR0014 ocurre si hay inconsistencias en la tabla VTBFHAPO. Por lo tanto, puedes implementar el informe adjunto ZCFM_CORR_HAPO en tu sistema, puede corregir el error.
REPORT zcfm_corr_hapo .
TABLES:
vtbfha.
DATA:
l_wa_vtbfha TYPE vtbfha,
l_rfhazu TYPE tb_rfhazu.
* pantalla de selección
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(15) comment2.
SELECTION-SCREEN POSITION POS_LOW.
PARAMETERS p_cc LIKE vtbfha-bukrs.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(15) comment3.
SELECTION-SCREEN POSITION POS_LOW.
PARAMETERS p_rfha LIKE vtbfha-rfha.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 1(16) comment1.
SELECTION-SCREEN POSITION POS_LOW.
PARAMETERS p_test AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF LINE.
INITIALIZATION.
sy-title = 'Corrección RFHAZUL RFHAZUNR en VTBFHA'.
MOVE 'Ejecución de prueba' TO comment1.
MOVE 'Código de empresa' TO comment2.
MOVE 'Operación' TO comment3.
START-OF-SELECTION.
SELECT SINGLE *
FROM vtbfha
INTO l_wa_vtbfha
WHERE bukrs = p_cc
AND rfha = p_rfha
AND saktiv = '0'.
IF sy-dbcnt = 0.
WRITE: '¡La operación no existe!'.
EXIT.
ENDIF.
* verificar si rfhazul es correcto
SELECT SINGLE rfhazu FROM vtbfhazu
INTO l_rfhazu
WHERE bukrs = p_cc
AND rfha = p_rfha
AND saktiv = '0'.
IF sy-subrc <> 0.
MESSAGE e101(t0) WITH '¡Corrección no posible!'.
EXIT.
ENDIF.
IF l_rfhazu <> l_wa_vtbfha-rfhazul.
l_wa_vtbfha-rfhazul = l_rfhazu.
ELSE.
MESSAGE s101(t0) WITH '¡No es necesaria ninguna corrección!'.
EXIT.
ENDIF.
CLEAR l_rfhazu.
* para verificar rfhazunr
SELECT MAX( rfhazu ) FROM vtbfhazu
INTO l_rfhazu
WHERE bukrs = p_cc
AND rfha = p_rfha.
IF NOT l_rfhazu IS INITIAL.
IF l_rfhazu <> l_wa_vtbfha-rfhazunr.
l_wa_vtbfha-rfhazunr = l_rfhazu.
ENDIF.
ENDIF.
* Actualización de la base de datos
IF p_test IS INITIAL.
UPDATE vtbfha FROM l_wa_vtbfha.
IF sy-subrc = 0.
COMMIT WORK.
ELSE.
ROLLBACK WORK.
MESSAGE a101(t0) WITH 'Error durante la actualización (vtbfha)'.
ENDIF.
ENDIF.
* registro
IF p_test IS INITIAL.
WRITE: 'Ejecución real exitosa'.
ELSE.
WRITE: 'Ejecución de prueba exitosa'.
ENDIF.
Saludos cordiales,
Jasmine
contacto@primeinstitute.com
(+51) 1641 9379
(+57) 1489 6964
© 2024 Copyright. Todos los derechos reservados.
Desarrollado por Prime Institute