PDA

Ver la Versión Completa : Cambiar status a un elemento pep


javibest
01/04/08, 07:12:38
al efectuar un cierre de proyecto , tengo el siguiente codigo :

FORM f_c_e5 USING p_posid.

DATA: BEGIN OF lt_user OCCURS 0.
INCLUDE STRUCTURE bapi_wbs_mnt_user_status.
DATA: END OF lt_user.

REFRESH lt_user.
CLEAR lt_user.
* Fija el estatus en cierre ECONOMICO
lt_user-set_user_status = c_e5.
lt_user-wbs_element = p_posid.
APPEND lt_user.
CLEAR lt_user.

* Cambia el status de usuario
CALL FUNCTION 'BAPI_PS_INITIALIZATION'.

CALL FUNCTION 'BAPI_BUS2054_SET_STATUS'
TABLES
i_wbs_user_status = lt_user.


IF sy-subrc <> 0.
it_error-icon = '@0A@'.
it_error-pspid = it_proyecto-posid.
WRITE it_proyecto-posid TO it_error-pspnr.
it_error-desc = it_message-msgv1.
APPEND it_error.

ELSE.

ENDIF.

CALL FUNCTION 'BAPI_PS_PRECOMMIT'.

CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.

.
ENDFORM. " f_c_e5

El caso es que me da un dump : MESSAGE_TYPE_X
FORM chk_precommit.

DATA: chk_precommit_ok TYPE c,
chk_error type c.

CALL FUNCTION 'PS_FLAG_GET_GLOBA
IMPORTING
e_precommit_ok = chk_p
e_error = chk_e

IF chk_precommit_ok = space.
* Precommit wurde noch nicht auf
MESSAGE x030(cnif_pi).
ELSEIF chk_precommit_ok <> 'Y'.
* Precommit wurde nicht erfolgre
MESSAGE x033(cnif_pi).
elseif not chk_error is initial.
* At least one single BAPI faile
MESSAGE x056(cnif_pi).
ENDIF.


El error es que no se hizo el precommit correctamente.

Alguien sabe por donde pueden ir los tiros ?

2D43
04/01/16, 18:55:22
Pudiste resolverlo, tengo el mismo problema.