This post provides methods or macro for logging SLG1 message.
It is shortcuts for calling standard methods :
– BAL_LOG_CREATE
– BAL_LOG_MSG_ADD
– BAL_DB_SAVE
This post provides methods or macro for logging SLG1 message.
It is shortcuts for calling standard methods :
– BAL_LOG_CREATE
– BAL_LOG_MSG_ADD
– BAL_DB_SAVE
Local ALV event class template (to be completed with missing events) :
Read MoreTo specify with javascript the color for a text field in adobe form, use the code below.
// data.MAIN.SUBFORM.FIELD_TO_CHANGE_COLOR::initialize - (JavaScript, client)
this.font.fill.color.value = "255,0,0"; // Color Red in RGB Color
The color has to be specified in 🔗 RGB format.
Read MoreUse method CL_RS_DATA=>SWITCH_ORDER( ) :
CALL METHOD cl_rs_data=>switch_order( CHANGING c_t_data = lt_my_table ).
Use class CL_ABAP_RANDOM_INT to generate a random integer number :
DATA(lv_random_num) = cl_abap_random_int=>create( seed = cl_abap_random=>seed( )
min = 1
max = 100 )->get_next( ).
* lv_random_num will be type i
Example of implementation in SE38 : SALV_DEMO_TABLE_SELECTIONS.
DATA : go_alv_table TYPE REF TO CL_SALV_TABLE.
TRY.
cl_salv_table=>factory(
IMPORTING
r_salv_table = go_alv_table
CHANGING
t_table = gt_table_to_display ).
CATCH cx_salv_msg.
ENDTRY.
" Optimize columns width
DATA(lo_columns) = go_alv_table->get_columns( ).
lo_columns->set_optimize( ).
" Apply zebra style to lv_rows
DATA(lo_display) = go_alv_table->get_display_settings( ).
lo_display->set_striped_pattern( cl_salv_display_settings=>true ).
Trigger message from standard data :
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
Set BAPIRET2 structure from standard data :
ls_return-type = sy-msgty.
ls_return-id = sy-msgid.
ls_return-number = sy-msgno.
ls_return-message_v1 = sy-msgv1.
ls_return-message_v2 = sy-msgv2.
ls_return-message_v3 = sy-msgv3.
ls_return-message_v4 = sy-msgv4.
MESSAGE ID sy-msgid
TYPE sy-msgty
NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
INTO ls_return-message.
Trigger message from BAPIRET2 structure :
MESSAGE ID ls_return-id
TYPE ls_return-type
NUMBER ls_return-number
WITH ls_return-message_v1
ls_return-message_v2
ls_return-message_v3
ls_return-message_v4.
Local class template :
See also Template for ABAP local ALV event class
CLASS lcl_sample_class DEFINITION.
*------------------------------
* Public section
*------------------------------
PUBLIC SECTION.
TYPES : BEGIN OF ts_public_type,
flag TYPE abap_bool,
value TYPE char20,
END OF ts_public_type.
DATA : gt_public_table TYPE STANDARD TABLE OF ts_public_type WITH DEFAULT KEY. "Global table inside the class (table must be fully typed to be used in return types)
METHODS constructor IMPORTING iv_input TYPE char20.
METHODS public_method IMPORTING iv_input TYPE char20
RETURNING VALUE(rs_output) TYPE ts_public_type.
CLASS-METHODS public_static_method IMPORTING iv_input TYPE char20
RETURNING VALUE(rv_output) TYPE char20.
*------------------------------
* Private section
*------------------------------
PRIVATE SECTION.
TYPES : BEGIN OF ts_private_type,
flag TYPE abap_bool,
value TYPE char20,
END OF ts_private_type,
ti_private_type TYPE STANDARD TABLE OF ts_private_type WITH DEFAULT KEY. " (tables must be fully typed to be used in return types)
DATA : gt_private_table TYPE ti_private_type. "Global table inside the class
CLASS-DATA : gs_static_private_structure TYPE mara,
gv_static_private_var TYPE matnr.
METHODS _private_method IMPORTING iv_input TYPE char20
RETURNING VALUE(rs_output) TYPE ts_public_type.
CLASS-METHODS _private_static_method IMPORTING iv_input TYPE char20
RETURNING VALUE(rv_output) TYPE char20.
ENDCLASS. " End of lcl_sample_class DEFNITION
CLASS lcl_sample_class IMPLEMENTATION.
METHOD constructor.
" Init process for instanciated class
ENDMETHOD.
METHOD public_method.
" Public (instanciated) method
" Code...
ENDMETHOD.
METHOD public_static_method.
" Code...
ENDMETHOD.
METHOD _private_method.
" Private (instanciated) method
" Code...
ENDMETHOD.
METHOD _private_static_method.
" Code...
ENDMETHOD.
ENDCLASS. " End of lcl_sample_class IMPLEMENTATION
Values for GMCODE field can ben found into table T158G.
┌────────┬───────┬──────────────────────────────────────────────────────────┐
│ GMCODE │ TCODE │ Description │
├────────┼───────┼──────────────────────────────────────────────────────────┤
│ 1 │ MB01 │ GM_Code 01: Goods receipt for purchase order │
│ 2 │ MB31 │ GM_Code 02: Goods receipt for production order │
│ 3 │ MB1A │ GM_Code 03: Goods issue │
│ 4 │ MB1B │ GM_Code 04: Transfer posting │
│ 5 │ MB1C │ GM_Code 05: Other goods receipts │
│ 6 │ MB11 │ GM_Code 06: Reversal of goods movements │
│ 7 │ MB04 │ GM_Code 07: Subsequent adjustment to a subcontract order │
└────────┴───────┴──────────────────────────────────────────────────────────┘
Local class :
TYPES : ti_itcsy TYPE STANDARD TABLE OF itcsy WITH DEFAULT KEY.
CLASS lcl_sapscript DEFINITION.
*------------------------------
* Public section
*------------------------------
PUBLIC SECTION.
CLASS-METHODS init_tables IMPORTING input_table TYPE ti_itcsy
output_table TYPE ti_itcsy.
CLASS-METHODS get_input_value IMPORTING iv_field TYPE tdtprgname
RETURNING VALUE(rv_value) TYPE tdsymvalue.
CLASS-METHODS get_output_table RETURNING VALUE(rt_output) TYPE ti_itcsy.
CLASS-METHODS set_output_value IMPORTING iv_field TYPE tdtprgname
iv_value TYPE tdsymvalue
RETURNING VALUE(rt_output) TYPE ti_itcsy.
PRIVATE SECTION.
CLASS-DATA : it_static_tbl_input TYPE ti_itcsy,
it_static_tbl_output TYPE ti_itcsy.
ENDCLASS.
CLASS lcl_sapscript IMPLEMENTATION.
METHOD init_tables.
CLEAR : it_static_tbl_input, it_static_tbl_output.
it_static_tbl_input = input_table.
it_static_tbl_output = output_table.
ENDMETHOD.
METHOD get_input_value.
READ TABLE it_static_tbl_input INTO DATA(ls_table) WITH KEY name = iv_field.
IF sy-subrc = 0.
rv_value = ls_table-value.
ENDIF.
ENDMETHOD.
METHOD set_output_value.
READ TABLE it_static_tbl_output ASSIGNING FIELD-SYMBOL(<fs_output>) WITH KEY name = iv_field.
IF sy-subrc = 0.
<fs_output>-value = iv_value.
ENDIF.
rt_output = it_static_tbl_output.
ENDMETHOD.
METHOD get_output_table.
rt_output = it_static_tbl_output.
ENDMETHOD.
ENDCLASS.
Example of use :
Read More