20240822
20240816
Regras de Validação de Substituição
Regras de Validação de Substituição
Consultant SAP: GGB1 GGB0 PROGRAMA RGUGBR00 (consultingsap.blogspot.com)
Trasações: GGB0 OB28 GGB4
Regras de validação
Transações: GGB1 OBBH GGB4
Re0gras de substituição
PROGRAMA RGUGBR00
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.[JO1] "**
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.
Após o transporte da Request para os ambientes de QAS e PRD, deve-se rodar o programa RGUGBR00.
Usar como modelo as opções abaixo ou entrar em contato com o responsável pelo módulo de FI.
Validações
Substituições
Obs.: CUIDADO com a opção "Gerar sets". Isso pode gerar um grande problema com a redefinição de alguns sets. Não sei informar precisamente esse item, mas sei de casos que geraram grandes problemas.
** Obs.2: Ao utilizar "CHANGING bool_data" você passa a ter o processamento a BKPF (Cabeçalho) e BSEG (Itens). Isso deve ser utilizado quando se cria uma regra para o Documento Completo.