А то я расковырял примеры по 1 записи за раз, а пизнЕс хочет мильонами.
Я вот так вставку делал таблицы IT_DATA: DATA(lt_comp) = CAST cl_abap_structdescr( CAST cl_abap_tabledescr( cl_abap_tabledescr=>describe_by_data( it_data ) )->get_table_line_type( ) )->get_included_view( ). ASSERT NOT lt_comp IS INITIAL. DATA(lv_stat) = |INSERT INTO { co_schema }.{ iv_table } (|. LOOP AT lt_comp ASSIGNING FIELD-SYMBOL(<ls_comp>). lv_stat = lv_stat && <ls_comp>-name. AT LAST. CONTINUE. ENDAT. lv_stat = lv_stat && `,`. ENDLOOP. lv_stat = lv_stat && `) VALUES (`. LOOP AT lt_comp ASSIGNING <ls_comp>. lv_stat = lv_stat && `?`. AT LAST. CONTINUE. ENDAT. lv_stat = lv_stat && `,`. ENDLOOP. lv_stat = lv_stat && `)`. DATA(lo_stmt) = mo_con->prepare_statement( lv_stat ). lo_stmt->set_param_table( REF #( it_data[] ) ). DATA(lv_proc) = lo_stmt->execute_update( ). lo_stmt->close( ).
почему без проверок на потенциальный inject?
Они, конечно же, были сделаны ранее ;)
Если очень большие, то через cursor
Обсуждают сегодня