AT SELECTION-SCREEN ON Parameter

Hier kann ein Check auf die Eingabe von Werten in Select-Options oder Parameters durchgeführt werden.

PARAMETERS:
 par_coco LIKE t001-bukrs OBLIGATORY.

AT SELECTION-SCREEN ON par_coco.
  PERFORM check_coco_selection USING par_coco.

FORM check_coco_selection USING p_coco TYPE bukrs.

  DATA: lv_country TYPE land1,
        lv_is_pab       TYPE xfeld,
        lv_help_country TYPE intca.

  IF p_coco IS INITIAL.
    MESSAGE e108(idfi).
  ELSE.
    AUTHORITY-CHECK OBJECT 'F_BKPF_BUK'
                ID 'BUKRS' FIELD p_coco
                ID 'ACTVT' FIELD '03'.
    IF sy-subrc <> 0.
      MESSAGE e800(fr) WITH p_coco.
    ENDIF.
    CLEAR lv_country.
    SELECT SINGLE land1 FROM t001 INTO (lv_country) WHERE bukrs = p_coco.
    PERFORM get_country_iso_code USING lv_country
                              CHANGING lv_help_country.
    IF lv_help_country <> 'IT'.
      CLEAR lv_is_pab.
      CALL FUNCTION 'CHECK_PLANTS_ABROAD_ACTIVE'
        EXPORTING
          i_bukrs       = p_coco
        IMPORTING
          e_fi_isactive = lv_is_pab.
      IF lv_is_pab IS INITIAL AND lv_country IS INITIAL.
*       no correct company code
        MESSAGE e108(idfi).
      ENDIF.
    ENDIF.
  ENDIF.

ENDFORM.