Smartform tasarlama işlemi bittikten sonra , çağırma aşamasında dikkat etmemiz gereken;
fonksiyonumuzu smartformda üretilen /1BCDWB/SF00000031 kodlarıyla çağırmamak.
"Call Function /1BCDWB/SF00000031Exporting
...
...
Importing
..."
Bu metod sadece canlı ve test serveri aynı ise sorun çıkarmayacaktır. Diğer türlü yani serverlar farklı ise her formumuz için test serverında üretilen numara, canlı server da farkı olacaktır. Programımızda direk numara ile çağırdığımız için doğal olarak canlıda bulamayacaktır ve hata verecektir. Bu durumu şöyle çözebiliriz;

************************************************************

DATA: 
fm_name TYPE rs38l_fnam.

CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZTST_DummyForm' * formumuzun adı
IMPORTING
fm_name = fm_name *burası bize formumuzun kodunu döndürüyor
EXCEPTIONS
no_form = 1
no_function_module = 2
OTHERS = 3.

IF sy-subrc <> 0.
WRITE: / 'ERROR 1'.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*formumuzu çağıralım
CALL FUNCTION fm_name
EXPORTING
...

IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

*******************************************************
Konu ile ilgili detaylı içerik ve örnek ABAP Kodları,daha sonra eklenecektir.

SAP ve ABAP ile ilgili tüm sorularınızı
serkurumsal@yandex.com
E-Mail adresi ile bize ulaşarak sorabilirsiniz.

Serkan AKKAVAK

Bilgisayar Mühendisi