Regras de validação
Tentar utilizar, se possível, ao invés de Field/User Exit para Validação/Substituição, as Regras de Validação (transação GGB0/OB28) ou as Regras de Substituição (transação GGB1/OBBH) a transação GGB4 remete a ambas regras.
http://www.youtube.com/watch?v=ge2Zl5d7ak0
Após associar a etapa a nova regra e super importante
RGUGBR00
Para modificação de DIV a regra devera ser colocada no Cabeçalho do documento
Conforme
*---------------------------------------------------------------------*
* FORM ZXXX - VALIDAÇÃO DE DIVISÃO *
*---------------------------------------------------------------------*
* Modificar o campo divisão na conta de diferença de preço quando
* ocorrer o movimento de transferência de material
*---------------------------------------------------------------------*
FORM z013 CHANGING bool_data TYPE gb002_015.
FIELD-SYMBOLS: <fs_bwart>, "Tipo de movimento
<fs_matnr>, "Material
<fs_umwrk>. "Centro receptor
DATA: vc_bwart LIKE mseg-bwart,
vc_matnr LIKE mara-matnr,
vc_spart LIKE mara-spart,
vc_gsber LIKE v134g-gsber,
vc_umwrk LIKE mseg-umwrk.
* Recuperando o TIPO DE MOVIMENTO
ASSIGN ('(SAPMM07M)RM07M-BWARTWA') TO <fs_bwart>.
IF <fs_bwart> IS ASSIGNED.
vc_bwart = <fs_bwart>.
ENDIF.
* Recuperando o CENTRO RECEPTOR
ASSIGN ('(SAPMM07M)MSEGK-UMWRK') TO <fs_umwrk>.
IF <fs_umwrk> IS ASSIGNED.
vc_umwrk = <fs_umwrk>.
ENDIF.
* Para todos os registros contidos na tab. recebida na chamada do FORM, faremos...
LOOP AT bool_data-bseg INTO bseg.
* Se BSEG-HKONT = '0004118001' e SY-TCODE = 'MB1B' e Tipo movimento (MSEG-BWART - tela da MB1B) = 'ZXX' ou 'ZX1' ou 'ZX2' ou 'ZX3'
IF ( bseg-hkont = '0004118001' AND
sy-tcode = 'MB1B' AND
( vc_bwart = 'ZXX' OR
vc_bwart = 'ZX1' OR
vc_bwart = 'ZX2' OR
vc_bwart = 'ZX3' ) ).
SELECT SINGLE gsber
INTO vc_gsber
FROM v134g
WHERE werks = vc_umwrk
AND spart eq '10'. "vc_spart.
bseg-gsber = vc_gsber .
MODIFY bool_data-bseg FROM bseg.
ENDIF.
ENDLOOP.
Nenhum comentário:
Postar um comentário