merhaba, size bugün abap ile dinamik programların nasıl oluşturulduğunu anlatacağım. geliştirmiş olduğum program ile herhangi bir text dökümanına abap kodları yazıp, sisteme import edip, programı çalıştırıp, hemen sonrasında da silebiliriz. sistemde repository objelerinin değiştirilmesi yasak olsa bile bu program ile kodlarımızı yükleyip çalıştırabiliyoruz. (yani canlı sistemlerde de işe yarıyor). çok fazla laf kalabalığı yapmadan abap kodunu ekliyorum. güle güle kullanın.
REPORT ztest. DATA: lv_rep(20) TYPE c, lt_code TYPE TABLE OF rssource-line. DATA: lt_filetable TYPE filetable, lv_rc TYPE i, lv_filename TYPE string. FIELD-SYMBOLS <fs> TYPE any. lv_rep = 'ZHIDDENPROGRAM'. DATA: lv_use_file(1) TYPE c. REFRESH lt_code. lv_use_file = 'X'. IF lv_use_file EQ 'X'. CALL METHOD cl_gui_frontend_services=>file_open_dialog CHANGING file_table = lt_filetable rc = lv_rc. IF lv_rc NE 1. RETURN. ENDIF. READ TABLE lt_filetable INTO lv_filename INDEX 1. CALL FUNCTION 'GUI_UPLOAD' EXPORTING filename = lv_filename TABLES data_tab = lt_code. ELSE. APPEND 'REPORT ZHIDDENPROGRAM.' TO lt_code. APPEND 'WRITE / ''Merhaba ben dinamik olarak oluşturuldum!''.' TO lt_code. ENDIF. ASSIGN lv_rep TO <fs>. INSERT REPORT <fs> FROM lt_code. SUBMIT (<fs>) AND RETURN. DELETE REPORT <fs>. |