Skip to content

Instantly share code, notes, and snippets.

View larshp's full-sized avatar
🤷‍♂️
ABAP and more ABAP 拉尔斯

Lars Hvam larshp

🤷‍♂️
ABAP and more ABAP 拉尔斯
View GitHub Profile
@larshp
larshp / zdump.abap
Last active August 20, 2023 04:14
dump a package to ZIP using abapGit
FORM package USING iv_package TYPE devclass.
DATA: ls_data TYPE ty_repo,
lo_repo TYPE REF TO object,
lv_xstr TYPE xstring,
lt_zip TYPE ty_files_item_tt.
FIELD-SYMBOLS: <ls_zip> LIKE LINE OF lt_zip.
REPORT zdelete.
INCLUDE zabapgit_definitions.
TABLES: tdevc.
SELECT-OPTIONS: s_devc FOR tdevc-devclass.
START-OF-SELECTION.
PERFORM run.
@larshp
larshp / zdynamic.abap
Last active July 26, 2017 11:19
Suppress initial fields in CALL TRANSFORMATION
REPORT zdynamic.
START-OF-SELECTION.
PERFORM easy.
FORM difficult.
DATA: ls_usr02 TYPE usr02,
lv_xml TYPE string,
lv_index TYPE i,
DATA: lv_data TYPE string,
lv_int TYPE i VALUE 38.
WHILE lv_int <> 0.
IF lv_int MOD 2 = 0.
CONCATENATE '0' lv_data INTO lv_data.
ELSE.
CONCATENATE '1' lv_data INTO lv_data.
ENDIF.
lv_int = lv_int DIV 2.
* try avoiding using class cl_distributionlist_bcs
* it causes strange dumps in concurrent situations
* instead do it "old style":
CALL FUNCTION 'SO_DLI_READ'
EXPORTING
distributionlist = iv_distlist
system_dli = abap_true
TABLES
member = lt_member
objpara = lt_objpara
class Timer {
private times;
private count;
private startTime: number;
public constructor() {
this.times = {};
this.count = {};
}
METHOD set_sy_message.
me->if_t100_message~t100key-msgid = sy-msgid.
me->if_t100_message~t100key-msgno = sy-msgno.
me->if_t100_message~t100key-attr1 = 'MSGV1'.
me->if_t100_message~t100key-attr2 = 'MSGV2'.
me->if_t100_message~t100key-attr3 = 'MSGV3'.
me->if_t100_message~t100key-attr4 = 'MSGV4'.
me->msgv1 = sy-msgv1.
me->msgv2 = sy-msgv2.
DATA:
source_tab TYPE rswsourcet,
obj_source TYPE REF TO if_oo_clif_source.
obj_source = cl_oo_factory=>create_instance( )->create_clif_source(
clif_name = 'ZCL_AOC_CATEGORY'
version = 'A' ).
obj_source->get_source( IMPORTING source = source_tab ).
REPORT zfoobar.
START-OF-SELECTION.
DATA: lt_table TYPE TABLE OF i,
lv_value LIKE LINE OF lt_table.
APPEND 2 TO lt_table.
APPEND 2 TO lt_table.
PERFORM run.
@larshp
larshp / permute.abap
Last active August 29, 2015 14:07
Permutations
METHOD permute.
DATA: lv_length TYPE i,
lv_value TYPE i,
lt_perm LIKE LINE OF et_perm,
lt_new LIKE LINE OF et_perm.
DO iv_count TIMES.
CLEAR lt_perm.