Bir structure’daki alanların isimlerini getirmek

data: struct type ref to cl_abap_structdescr,
gt_fieldcat type  slis_t_fieldcat_alv,     "Field isimlerini tutan tablo
it_data type standart table of kna1,      "Verileri tutan tablo
gs_fcat     type  slis_fieldcat_alv,
ls_component type abap_compdescr,
lv_msg       type string,
lv_tab         type string.
clear lv_msg.
struct ?= cl_abap_typedescr=>describe_by_data( it_data ).
loop at struct->components into ls_component.
read table gt_fieldcat     into gs_fcat
with key fieldname = ls_component-name.
concatenate lv_msg gs_fcat-seltext_l into lv_msg
separated by lv_tab.
lv_tab = cl_abap_char_utilities=>horizontal_tab.
endloop.

SAP fonksiyonları

Fonksiyon Açıklama Detay için bağlantı
TH_POPUP
Kullanıcıya POPUP mesaj gönderir. saptechies
RP_CALC_DATE_IN_INTERVAL
Tarihe gün, ay, yıl eklemek/çıkarmak için kullanılır.
HR_EFI_CONVERT_STRING_TO_TABLE
String’i satır genişliği verilen tek sütunlu internal table’a dönüştürür.
MCS_BIW_DROP_CREATE_TABLE
Tablodaki tüm veriyi silmek için kullanılabilir. Database tarafında tabloyu silip tekrar yaratmaktadır.
CONVERT_DATE_TO_INTERNAL
Metni geçerliliğini kontrol ederek tarihe çevirir.

SAP ve ABAP Kısayolları

Ctrl+G Sonrakini bul.
Ctrl+Shift+V Kod editöründe daha önce kopyalanmış kodları listeler
Ctrl+Y Tablo ve diğer ekranlarda bloklama yaparak kopyalamayı sağlar
Alt Kod editöründe bloklamaya yarar.
Ctrl+7 Syntax check.

Ayrıntılı liste

CRM kayıtlarını tarihe göre sorgulamak

SCGENAPPT ve SCAPPT tablolaro date_from, time_from, date_to ve time_to alanlarını içermektedir. Bu tablolardaki APPL_GUID alanı kullanılarak CRMD_LINK tablosundaki kayıtlar okunur ve CRMD_LINK tablosunun GUID_HI alanıyla CRM_ORDER_READ fonksiyonu çağırılabilir.

Özet:

CRMD_LINK-GUID_SET = SCAPPT-APPL_GUID
CRMD_LINK-GUID_SET = SCGENAPPT-APPL_GUID
CRMD_ORDERADM_H-GUID = CRMD_LINK-GUID_HI

ABAP Code Pages

Standart olan code page (encoding) dillerinin ABAP karşılığını bulmak için aşağıdaki fonksiyon kullanılabilir.

SCP_CODEPAGE_BY_EXTERNAL_NAME

FIELDNAMES tablosunu doldurmak

data: begin of lt_fieldnames occurs 0,
fieldname type c length 100,
end of lt_fieldnames.
data: struct type ref to cl_abap_structdescr,
ls_component type abap_compdescr.


clear: lt_fieldnames[].
struct ?= cl_abap_typedescr=>describe_by_data( lt_itab ).
loop at struct->components into ls_component.
clear lt_fieldnames.
read table gt_fcat     into gs_fcat
with key fieldname = ls_component-name.
lt_fieldnames-fieldname = gs_fcat-seltext_m.
append lt_fieldnames.
endloop.

gt_fcat standart  slis_t_fieldcat_alv tipinde bir tablodur ve   REUSE_ALV_FIELDCATALOG_MERGE fonksiyonu ile doldurulabilir.

lt_fieldnames tablosu gui_download fonksiyonun da kullanılabilir.