ABAP – FAYDALI FONKSİYONLAR

READ TEXT
Text objesi tablolardan okunabilir bir yapı değildir. SAP deki belgelerin başlık veya kalemleri için oluşturulmuş yazıları okumak için kullanılır.
READ TEXT fonksiyonunun parametrelerini bulmak için en iyi yöntem, SE37 den READ TEXT fonksiyonuna girip ilk satırına break koyup, yazıyı görüntüleyeceğiniz işlem kodunu(VA03, VF03, … ) çalıştırıp yazılan yazıyı görüntülemeye çalışmaktır. Bu sırada debugger dan parametreleri görüntüleyebilirsiniz.
Örnek Program:

CALL FUNCTION 'READ_TEXT'
        EXPORTING
          id                      = 'NUMU'
          language                = sy-langu
          name                    = lv_name
          object                  = 'ZPP01'
        TABLES
          lines                   = lt_flines
        EXCEPTIONS
          id                      = 1
          language                = 2
          name                    = 3
          not_found               = 4
          object                  = 5
          reference_check         = 6
          wrong_access_to_archive = 7
          OTHERS                  = 8.

POPUP_TO_CONFIRM
SAP İşlem Kodlarını Tutar.

 CALL FUNCTION 'POPUP_TO_CONFIRM'
          EXPORTING
            text_question         = 'Seçilen kayıtlar silinecek'
            text_button_1         = 'Evet'
            icon_button_1         = 'ICON_OKAY '
            text_button_2         = 'Hayır'
            icon_button_2         = 'ICON_CANCEL'
            display_cancel_button = ' '
            popup_type            = 'ICON_MESSAGE_QUESTION'
*          IMPORTING
*            answer                = lv_mind
          EXCEPTIONS
            text_not_found        = 1
            OTHERS                = 2.

FIRST / LAST_DAY_IN_PERIOD_GET
Belli bir tarih aralığının ilk veya son gününü döner.

CALL FUNCTION 'FIRST_DAY_IN_PERIOD_GET'
           EXPORTING
                i_gjahr        = p_gjahr
                i_periv        = p_periv
                i_poper        = p_poper
           IMPORTING
                e_date         = s_islemt-low
           EXCEPTIONS
                input_false    = 1
                t009_notfound  = 2
                t009b_notfound = 3
                OTHERS         = 4.
      CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'
           EXPORTING
                i_gjahr        = p_gjahr
                i_periv        = p_periv
                i_poper        = p_poper
           IMPORTING
                e_date         = s_islemt-high
           EXCEPTIONS
                input_false    = 1
                t009_notfound  = 2
                t009b_notfound = 3
                OTHERS         = 4.

NUMBER GET NEXT
Belli bir aralıktaki sıradaki sayıyı almaya yarar.
Örnek Program:

CALL FUNCTION 'NUMBER_GET_NEXT'
  EXPORTING
    nr_range_nr                   = '01'
    object                        = 'ZYAV_DENE'
*   QUANTITY                      = '1'
*   SUBOBJECT                     = ' '
*   TOYEAR                        = '0000'
*   IGNORE_BUFFER                 = ' '
 IMPORTING
   NUMBER                        = FIRMANO
*   QUANTITY                      =
*   RETURNCODE                    =
 EXCEPTIONS
   INTERVAL_NOT_FOUND            = 1
   NUMBER_RANGE_NOT_INTERN       = 2
   OBJECT_NOT_FOUND              = 3
   QUANTITY_IS_0                 = 4
   QUANTITY_IS_NOT_1             = 5
   INTERVAL_OVERFLOW             = 6
   BUFFER_OVERFLOW               = 7
   OTHERS                        = 8.

TH POPUP
Online kullanıcıya mesaj atmak için kullanılır.
Örnek Program:

CALL FUNCTION 'TH_POPUP'
  EXPORTING
    client               = '100'
    user                 = 'YKOMUT'
    message              = 'Selam Ben Hasan'
*   MESSAGE_LEN          = 0
*   CUT_BLANKS           = ' '
* EXCEPTIONS
*   USER_NOT_FOUND       = 1
*   OTHERS               = 2.

CONVERT TO LOCAL / FOREIGN CURRENCY
Para birimi değişimlerinde kullanılırlar.
Örnek Program:

FORM convert_currency  USING    p_tarih
                                p_netwr_from
                                p_waers_from
                                p_waers_to
                                p_kurst
                                p_lcl_waers "TRY
                       CHANGING p_netwr_to.
  IF p_waers_from NE p_waers_to.
    IF p_waers_from NE p_lcl_waers.
      CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
        EXPORTING
          date             = p_tarih
          foreign_amount   = p_netwr_from
          foreign_currency = p_waers_from
          local_currency   = p_lcl_waers
          type_of_rate     = p_kurst
        IMPORTING
          local_amount     = p_netwr_to
        EXCEPTIONS
          no_rate_found    = 1
          overflow         = 2
          no_factors_found = 3
          no_spread_found  = 4
          derived_2_times  = 5
          OTHERS           = 6.
    ENDIF.
    IF p_waers_to NE p_lcl_waers.
      IF p_netwr_to EQ 0.
        p_netwr_to = p_netwr_from.
      ENDIF.
      CALL FUNCTION 'CONVERT_TO_FOREIGN_CURRENCY'
        EXPORTING
          date             = p_tarih
          foreign_currency = p_waers_to
          local_amount     = p_netwr_to
          local_currency   = p_lcl_waers
          type_of_rate     = p_kurst
        IMPORTING
          foreign_amount   = p_netwr_to
        EXCEPTIONS
          no_rate_found    = 1
          overflow         = 2
          no_factors_found = 3
          no_spread_found  = 4
          derived_2_times  = 5
          OTHERS           = 6.
    ENDIF.
  ELSE.
    p_netwr_to = p_netwr_from.
  ENDIF.
ENDFORM.                    " convert_currency

MD CONVERT MATERIAL UNIT
Bir malzemenin miktarının başka bir ölçü birimine çevrilmesinde kullanılır.
Örnek Program:

CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'
            EXPORTING
              i_matnr              = gv_matnr
              i_in_me              = mlgn-lhme1
              i_out_me             = gv_meins
              i_menge              = mlgn-lhmg1
            IMPORTING
              e_menge              = mlgn-lhmg1
            EXCEPTIONS
              error_in_application = 1
              error                = 2
              OTHERS               = 3.

MESSAGES SHOW

Kullanıcıdan onay almak için kullanılır.

Örnek Program:

DATA : lt_messtab LIKE bdcmsgcoll OCCURS 100 WITH HEADER LINE.
CLEAR: lt_messtab[], lt_messtab.
lt_messtab-msgid  = 'YZAPM_PR'.
lt_messtab-msgtyp = 'S'.
lt_messtab-msgnr  = '061'.
lt_messtab-msgv1  =  operation_table-vornr. "operation_table-sakto.
lt_messtab-msgv2  =  lt_zz-sakto.
lt_messtab-msgv3  =  ''.
lt_messtab-msgv4  =  ''.
APPEND lt_messtab.
IF lt_messtab[] IS NOT INITIAL.
  CALL FUNCTION 'MESSAGES_INITIALIZE'.
  LOOP AT lt_messtab.
    CALL FUNCTION 'MESSAGE_STORE'
      EXPORTING
        arbgb = lt_messtab-msgid
        msgty = lt_messtab-msgtyp
        msgv1 = lt_messtab-msgv1
        msgv2 = lt_messtab-msgv2
        msgv3 = lt_messtab-msgv3
        msgv4 = lt_messtab-msgv4
        txtnr = lt_messtab-msgnr.
  ENDLOOP.
  CALL FUNCTION 'MESSAGES_SHOW'.
  CLEAR : lt_messtab, lt_messtab[].
ENDIF.

PROGRESS INDICATOR
Programın belli bir bölümünün çalışması esnasında programın donmadığını göstermek için status bar da programın çalışmaya devam ettiğini gösterir.
Örnek Program:

*&---------------------------------------------------------------------*
*&      Form  PROGRESS_INDICATOR
*&---------------------------------------------------------------------*
FORM progress_indicator USING  p_text.
** Monitors Progress of Report of Run in Foreground
  IF sy-batch NE 'X'.
    CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
      EXPORTING
        text = p_text.
  ENDIF.
ENDFORM.                               " PROGRESS_INDICATOR

 

 

 

Paylaştıkça Artan Tat...

Bir yorum ekleyin

E-posta hesabınız yayımlanmayacak.