Kayıtlar

2015 tarihine ait yayınlar gösteriliyor

Çağırılan Bir Fonksiyon İçin Data Tanımlama Otomatik Gelmesi

Resim
Se38 'de kod yazarken bir fonksiyon (  function modul e ) çağırmak istediğimizde Pattern kullanıyoruz.Bu fonksiyon parametrelerinin data tanımlamalarının birebir olması dump almamak açısından önemlidir.Bu data tanımlamalarını Pattern --> Call Function adımlarıyla yazarken data tanımlamaları da beraberinde (otomatik) gelmesini isterseniz : 1.Utilities -->> Settings -->> Abap Editor -->>Pattern  Ekrandaki gibi ayar yapıyoruz : 2. Pattern-->> CALL FUNCTION Örnekte READ_TEXT fonksiyonunu çağırdım :  3.Sonuç : 

Tarih Dönüştürme Fonksiyonu CONVERT_DATE_TO_INTERNAL

Resim
DATA  :  gv_ex_date  TYPE  c  LENGTH  10 ,        gv_in_date  TYPE  c  LENGTH  10 . gv_in_date  =  '20.8.2015' . CALL  FUNCTION  'CONVERT_DATE_TO_INTERNAL'    EXPORTING     date_external             =  gv_in_date *   ACCEPT_INITIAL_DATE      =    IMPORTING     date_internal             =  gv_ex_date    EXCEPTIONS     date_external_is_invalid  =  1      OTHERS                    =  2 . write  :  gv_ex_date . SONUÇ :

CONVERSION_EXIT_ALPHA_INPUT - CONVERSION_EXIT_ALPHA_OUTPUT -Değişken başına sıfır eklemek ve değişkenin başındaki sıfırları silmek

Resim
DATA  :  gv_data1  TYPE c  LENGTH  5  VALUE  '12345' ,        gv_data2  TYPE c  LENGTH  10 . "gv_data1 in önüne 5 tane sıfır ekliyoruz CALL FUNCTION  'CONVERSION_EXIT_ALPHA_INPUT'    EXPORTING      input   =  gv_data1    IMPORTING      output  =  gv_data2 . WRITE : / gv_data2 . CLEAR  :  gv_data1 . "gv_data2 den 5 tane sıfır siliyoruz CALL FUNCTION  'CONVERSION_EXIT_ALPHA_OUTPUT'    EXPORTING      input   =  gv_data2    IMPORTING      output  =  gv_data1 . WRITE : / gv_data1 . SONUÇ :

Smartform External (harici) debug / BREAK POINT Ekleme

Resim
Smartformlarda,smartform içinde kod satırlarına 'BREAK kullanıcı adı ' yazılıp debug yapılabilir.Fakat yazamadığımız durumlarda şu şekilde debug yapılabilir : 'SMARTFORMS' işlem koduyla çalıştıracağımız smartform adını yazıp işlev modülü adı buluyoruz : SE37 işlem koduna gidip Smartform un Function Module adını girip PERFORM &GLOBAL_INIT satırına external debugger ekleyip,smartformu çalıştırıyoruz.

Sistemde badileri bulmak

Resim
SE24 ile CL_EXITHANDLER class içindeki  cl_exithandler=>get_class_name_by_interface methoduna break-point koyduktan sonra hangi kodların ardında hangi badi lerin çalıştığı bulunabilir : 

internal tableda bir önceki kaydı bulma

TYPES  :  BEGIN  OF  gty_s_data ,          index  TYPE  i ,          END  OF  gty_s_data . DATA :  gt_data  TYPE  STANDARD  TABLE  OF  gty_s_data ,       gs_data  TYPE  gty_s_data ,       gs_data_onceki  TYPE  gty_s_data ,       gr_s_onceki  TYPE  REF  TO  gty_s_data . FIELD-SYMBOLS :  <fs_s_data>  TYPE  gty_s_data . gs_data - index  =  1 . APPEND  gs_data  TO  gt_data . gs_data - index  =  2 . APPEND  gs_data  TO  gt_data . gs_data - index  =  3 . APPEND  gs_data  TO  gt_data . LOOP  AT  gt_data  ASSIGNING  <fs_s_data> .    IF  gr_s_onceki  IS  NOT...

Internal table dan başka bir internal table a belirli satırlar arası kayıt atma APPEND LINES OF

Bir internal table (gt_itab) dan ikinci bir internal table(gt_itab2) a belirlediğimiz satırlar aralığındaki kayıtları şu şekilde atabiliyoruz. DATA : BEGIN OF gt_itab OCCURS 0,        data1 TYPE c LENGTH 10,        END OF gt_itab,        gt_itab2 LIKE gt_itab OCCURS 0 WITH HEADER LINE. gt_itab-data1 = 'satır 1'. APPEND gt_itab. gt_itab-data1 = 'satır 2'. APPEND gt_itab. gt_itab-data1 = 'satır 3'. APPEND gt_itab. gt_itab-data1 = 'satır 4'. APPEND gt_itab. gt_itab-data1 = 'satır 5'. APPEND gt_itab. APPEND LINES OF gt_itab FROM 1 TO 3 TO gt_itab2. Not : gt_itab tablosundan birinci,ikinci ve üçüncü satırdaki kayıtları gt_itab2 tablosuna kaydetmiş olduk.

Belirli bir tarihten ay olarak geriye gidip tarih bulma fonksiyonu CCM_GO_BACK_MONTHS

DATA: ev_currdate LIKE sy-datum,       iv_newdate LIKE sy-datum,       iv_newdate TYPE  NUMC3. CALL FUNCTION 'CCM_GO_BACK_MONTHS'       EXPORTING         currdate         = ev_currdate         backmonths       = ev_backmonths      IMPORTING        NEWDATE          = iv_newdate               .

Smartformda include metni yapılması ve read_text fonksiyonu kullanımı

Resim
Smartformlarda uyarlama sonucu oluşturulan ek metin alanlarını include metni olarak aşağıdaki örnekteki şekilde eklenebilir :  Yukardaki include metni fonksiyonu ise şöyledir : CALL FUNCTION 'READ_TEXT'     EXPORTING    CLIENT                        = SY-MANDT    ID                            = 'Z018'     LANGUAGE                      = 'E'     NAME                          = DELIV_NUMB     OBJECT                        = 'VBBK'    ARCHIVE_HANDLE                = 0    LOCAL_CAT                 ...

Alvlerde kolon başlık açıklamalarını uzunluğuna göre ayarlamak için gereken kodlar -reuse_alv_grid_display - fieldcatalog

FORM  layout_init  USING  rs_layout  TYPE  slis_layout_alv . *"Build layout for list display   rs_layout - box_fieldname  =  'SEL' .   rs_layout - zebra  =  'X' .   rs_layout - colwidth_optimize  =  'X' . ENDFORM .                     "LAYOUT_INIT data  :  gt_fieldcatalog  TYPE  slis_t_fieldcat_alv  WITH  HEADER  LINE .       LOOP  AT  gt_fieldcatalog .         gt_fieldcatalog - ddictxt  =  'L' .          MODIFY  gt_fieldcatalog  FROM  gt_fieldcatalog .          CLEAR  gt_fieldcatalog .      ENDLOOP .