ABAP: prüfen auf EU-Land

Wie kann man in SAP in einem ABAP-Programm feststellen, ob ein gegebenes Land ein EU-Land ist?

Die Eigenschaft, eines Landes, Mitglied der EU zu sein, findet sich in der Ländertabelle T005 in der Spalte XEGLD = „Kennzeichen: Mitglied der EU“.

Ab besten verpackst du diese Prüfung ein einer Methode. (Siehe „Coding ABAP like Java“ im Abschnitt „Put Everything in Classes and Methods“)

Das könnte dann z.B. so aussehen:

class zcl_util definition
  public
  create public .

public section.

  class-methods is_eu_member_country
    importing
      value(i_country) type land1 optional
    returning
      value(r_is_eu_member) type flag .
protected section.
private section.
endclass.



class zcl_util implementation.


* <SIGNATURE>---------------------------------------------------------------------------------------+
* | Static Public Method ZCL_UTIL=>IS_EU_MEMBER_COUNTRY
* +-------------------------------------------------------------------------------------------------+
* | [--->] I_COUNTRY                      TYPE        LAND1(optional)
* | [<-()] R_IS_EU_MEMBER                 TYPE        FLAG
* +--------------------------------------------------------------------------------------</SIGNATURE>
method is_eu_member_country.
    data: ls_t005 type t005.
    select single * from t005 into ls_t005 where land1 = i_country.
    if sy-subrc <> 0.
      return.
    endif.
    r_is_eu_member = ls_t005-xegld.

endmethod.
endclass.

Wenn du das Flag xegld verwenden willst, dann achte bitte darauf, ob dieses Flag richtig gepflegt ist. In manch älterem System sind ggf. nicht alle Mitglieder nach der Aufnahme in die EU eingetragen. Und außerdem ist Großbritannien auszutragen.

Bildquelle Flagge: Bild von S. Hermann & F. Richter auf Pixabay

heiko

Dipl.-Ing. Heiko Evermann

Vorheriger Artikel