The following simple report demonstrates the code used to validate a customer number.
*&---------------------------------------------------------------------* *& Report ZVALCUSTOMER * *& * *&---------------------------------------------------------------------* *& Validate customer number * *& * *&---------------------------------------------------------------------* REPORT ZVALCUSTOMER . PARAMETERS: p_bukrs LIKE knb1-bukrs, p_kunnr like knb1-kunnr. DATA: it_debi TYPE STANDARD TABLE OF vf_debi INITIAL SIZE 0, wa_debi TYPE vf_debi. ************************************************************************ *START-OF-SELECTION. START-OF-SELECTION. CALL FUNCTION 'FI_CUSTOMER_DATA' EXPORTING i_bukrs = p_bukrs i_kunnr = p_kunnr IMPORTING e_debi = wa_debi EXCEPTIONS customer_missing = 1 OTHERS = 2. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. EXIT. ELSE. CALL FUNCTION 'FI_ACCOUNT_CHECK' EXPORTING * I_AWTYP = ' ' i_account = wa_debi-kunnr * I_RECACCOUNT = ' ' i_bukrs = wa_debi-bukrs i_koart = 'D' * I_TCODE = ' ' * I_WAERS = ' ' * X_DIALOG = ' ' * I_XNORECCHECK = ' ' EXCEPTIONS ACCOUNT_LOCKED = 1 CURRENCY = 2 NO_RECONCILIATION_ACCOUNT = 3 RECONCILIATION_ACCOUNT = 4 RECONCILIATION_ACCOUNT_LOCKED = 5 OTHERS = 6. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. EXIT. ENDIF. IF NOT wa_debi-knrze IS INITIAL. CALL FUNCTION 'FI_ACCOUNT_CHECK' EXPORTING * I_AWTYP = ' ' i_account = wa_debi-knrze * I_RECACCOUNT = ' ' i_bukrs = wa_debi-bukrs i_koart = 'D' * I_TCODE = ' ' * I_WAERS = ' ' * X_DIALOG = ' ' * I_XNORECCHECK = ' ' EXCEPTIONS ACCOUNT_LOCKED = 1 CURRENCY = 2 NO_RECONCILIATION_ACCOUNT = 3 RECONCILIATION_ACCOUNT = 4 RECONCILIATION_ACCOUNT_LOCKED = 5 OTHERS = 6. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE 'I' NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. EXIT. ENDIF. ENDIF. ENDIF.