martes, 26 de enero de 2016

Field exit va01

Objetivo: validar que el cliente tenga área de control de créditos

1. VA01 -> Se busca el elemento de datos del campo a validar, en este caso solicitante


2.Vamos al programa RSMODPRF, ejecutamos, creamos la función FIELD_EXIT_KUNAG:


3. Ponemos el siguiente código

  DATAls_ctrl   TYPE LENGTH 1,
        ls_kunnr  TYPE kuagv-kunnr.

  IF input IS NOT INITIAL AND sy-ucomm 'SICH'.

    CLEAR ls_ctrl.
* Leer flag desde tabla constantes para iniciar control
    SELECT SINGLE low INTO ls_ctrl
      FROM ztb_constantes
       WHERE aplicacion  'SD'
         AND programa  'MV45AFZZ'
           AND campo 'CTRL'.
* Si flag es igual a X ejecutar el control de existencia de la linea de credito del cliente
    IF sy-subrc AND ls_ctrl 'X' OR ls_ctrl 'x' ).
      SELECT SINGLE kunnr INTO ls_kunnr
        FROM knkk
          WHERE kunnr input.
      IF sy-subrc <> 0" Si no tiene Área de control de crédito
        MESSAGE 'El Cliente NO tiene Área de Control de Crédito asignada. Coordinar con el área de Ctas. X Cobrar'
          TYPE 'E'.
      ENDIF.
    ENDIF.


3. Vamos al programa RSMODPRF, ejecutamos sin ponen ningún parámetro


4. Buscamos nuestro elemento de datos y click en asignar Prog


Finalmente activamos y listo