Category Archive Blog

Quicky manage SLG1 messages in ABAP

This post provides methods or macro for logging SLG1 message.
It is shortcuts for calling standard methods :

Read More

Template for ABAP local ALV event class

Local ALV event class template (to be completed with missing events) :

Read More

Clear Adobe form cache

If you work with adobe form translations, you will see that translations are not effective immediately. It is because of cache.

To clear the cache, launch program : FP_PDF_TEST_26 .

Search tag : refresh, buffer, pdf

Adobe form: set field color dynamically with javascript

To 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 More

Reverse sorting of an internal table

Use method CL_RS_DATA=>SWITCH_ORDER( ) :

CALL METHOD cl_rs_data=>switch_order( CHANGING c_t_data = lt_my_table ).

Check if BADI is implemented

Transaction SE18, enter your BADI name and go to
Enhancement Implementation –> Overview :

Generate a random number in ABAP

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

Read More

DELKZ : Code list of MRP elements

Most used :
ValueDesignation ENDesignation FR
AR Dependent reservationRéservation dépendante
FE Production orderOrdre de fabrication
PP Planned independent requirementBesoins indépendants Prévisionnel (BIP)
QM Inspection lot for quality management Lot de contrôle QM
SA Simulation orderOrdre de simulation
SM Sim. dependent reqmtsBesoin dépendant de simulation
WB Plant stockStock division
All values :
Read More

Create ALV with class CL_SALV_TABLE

Example of implementation in SE38 : SALV_DEMO_TABLE_SELECTIONS.

Simply display ALV table

  DATA : go_alv_table TYPE REF TO CL_SALV_TABLE.

          r_salv_table = go_alv_table
          t_table      = gt_table_to_display ).
    CATCH cx_salv_msg.

  " 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 ).

Read More

Message : synthax templates

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