Hola;
Implemente la BADI ZME_PROCESS_REQ_CUST (ME_PROCESS_REQ_CUST) usando el método PROCESS_ITEM la idea es asignar valores predeterminados a los campos ANLN1 y FIPOS lo cual ya lo hace pero al momento de querer grabar la Solicitud de Pedido en la ME51N manda el siguiente mensaje de error:
ME083 Por favor, entre Activo fijo no he encontrado como corregir este problema, este es el mi codigo:
Agradezco mucho alguien me pudiera orientar o ayudar a resolver este caso.
Saludos
Implemente la BADI ZME_PROCESS_REQ_CUST (ME_PROCESS_REQ_CUST) usando el método PROCESS_ITEM la idea es asignar valores predeterminados a los campos ANLN1 y FIPOS lo cual ya lo hace pero al momento de querer grabar la Solicitud de Pedido en la ME51N manda el siguiente mensaje de error:
ME083 Por favor, entre Activo fijo no he encontrado como corregir este problema, este es el mi codigo:
Código:
method IF_EX_ME_PROCESS_REQ_CUST~PROCESS_ITEM.
CHECK IM_COUNT EQ 1.
check: sy-tcode eq 'ME51N' or sy-tcode eq 'ME52N' or sy-tcode eq 'ME53N'.
DATA: lv_pospre type normt,
lv_fipos type c length 14,
lv_anln1 type c length 12.
CONSTANTS: C_BSART type mereq_item-bsart value 'ZSAC'.
DATA: LT_ACCOUNT TYPE MMPUR_ACCOUNTING_LIST,
LT_ITEM TYPE MEREQ_ITEM,
LS_ACCOUNT TYPE LINE OF MMPUR_ACCOUNTING_LIST.
data: wl_data_account type EXKN,
wl_data_exknx type mepoaccounting_datax.
CALL METHOD im_item->get_data
RECEIVING
re_data = LT_ITEM.
LT_ACCOUNT = IM_ITEM->IF_ACCT_CONTAINER_MM~GET_ITEMS( ).
IF LT_ITEM-BSART = C_BSART.
SELECT SINGLE normt
INTO lv_pospre
FROM mara
WHERE matnr EQ lt_item-matnr.
IF lv_pospre NE space.
LOOP AT LT_ACCOUNT INTO LS_ACCOUNT.
wl_data_account = LS_ACCOUNT-MODEL->get_exkn( ).
wl_DATA_exknx = LS_ACCOUNT-MODEL->get_exknx( ).
clear: lv_fipos, lv_anln1.
SPLIT lv_pospre AT '/' INTO lv_fipos lv_anln1.
condense lv_fipos no-gaps.
condense lv_anln1 no-gaps.
***Completo con ceros a la derecha del numero de activo fijo
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = lv_anln1
IMPORTING
OUTPUT = lv_anln1.
MOVE lv_fipos TO wl_data_account-fipos.
MOVE 'X' TO wl_data_exknx-fipos.
MOVE lv_anln1 TO wl_data_account-anln1.
MOVE 'X' TO wl_data_exknx-anln1.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = wl_data_account-anln1
IMPORTING
OUTPUT = wl_data_account-anln1.
call METHOD LS_ACCOUNT-MODEL->set_EXKN
EXPORTING
IM_EXKN = wl_data_account.
call method LS_ACCOUNT-MODEL->set_exknx
EXPORTING
im_exknx = wl_DATA_exknx.
ENDLOOP.
ELSE.
EXIT.
ENDIF.
ENDIF.
endmethod.
Saludos