Está en la página 1de 3

Validaciones – OB28

Las validaciones están regidas por Sociedad y por evento.

Evento:

1. Cabecera de documento
2. Posición de documento
3. Documento Completo

Grado de activ. significa si está activo o no (1 = ACTIVO)

Ahí vemos todos los pasos, cada uno con sus respectivas condiciones,
verificaciones y mensajes.

En el caso de necesitar usar un user exit, en la solapa user exit. seleccionamos
una y le damos al botón de visualizar código.

Necesitamos crear el modulo dentro del siguiente FORM

ENDLOOP. REFRESH etab. *———————————————————————-* * FORM GET_EXIT_TITLES * *———————————————————————-* * returns name and title of all available standard-exits * * every exit in this formpool has to be added to this form. and Valid * *———————————————————————-* * –> EXIT_TAB table with exit-name and exit-titles * * structure: NAME(5). “Posting date check * APPEND EXITS. how many and what kind of * * parameter(s) are used in the user exit. “GET_EXIT_TITLES Ahora creamos la subrutina U100 . TITEL(60) *———————————————————————-* FORM get_exit_titles TABLES etab. *!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * PLEASE DELETE THE FIRST ‘*’ FORM THE BEGINING OF THE FOLLOWING LINES * * IF THE ACCOUNTING MODULE IS INSTALLED IN YOUR SYSTEM: * * EXITS-NAME = ‘U101’. i. title(60) TYPE c. * EXITS-TITLE = TEXT-100. etab = exits. exits-name = ‘U100’.e. PARAM(1). param LIKE c_exit_param_none. * EXITS-PARAM = C_EXIT_PARAM_CLASS. * * The following parameter types exist: * * * * TYPE Description Usage * * ———————————————————— * * C_EXIT_PARAM_NONE Use no parameter Subst. and Valid. name(5) TYPE c. “Complete data used in exit. ENDFORM. * * except B_RESULT * * C_EXIT_PARAM_CLASS Use a type as parameter Subst. END OF exits. exits-param = c_exit_param_none. * * You have to specify a parameter type in order to enable the * * code generation program to determine correctly how to * * generate the user exit call. DATA: BEGIN OF exits OCCURS 50. “Posting date check APPEND exits. exits-title = text-101. APPEND etab. LOOP AT exits.

IF sy-subrc <> 0. Si necesitamos crear SET ( rangos o juegos de datos) los creamos con la transacción GS01 Creamos el SET. Para transportar éstas hay que posicionarnos sobre la validación. ENDFORM. Endif. *———————————————————————* * form U941 * *———————————————————————* * Valida las retenciones de la clase de doc. B_RESULT = B_TRUE. Menu Validación -> Transportar. * Mensaje de error MESSAGE E067(z1) WITH BKPF-BLART l_ind. SELECT SINGLE * FROM WITH_ITEM WHERE WT_WITHCD = l_ind. CLEAR WITH_ITEM. . *———————————————————————* * <– b_result t = true f = false * *———————————————————————* FORM U941 USING B_RESULT. DATA: l_ind TYPE WITH_ITEM-WT_WITHCD VALUE ‘RB’. guardamos y manualmente hay que agregarlo a Orden de transporte al igual que las validaciones. B_RESULT = B_FALSE.