Use FM RSPC_POPUP_DATE_SELECTION :
Use FM RSPC_POPUP_DATE_SELECTION :
Check this post : https://community.sap.com/t5/technology-blogs-by-members/merging-multiple-adobe-forms-and-downloading-it-as-a-single-pdf/ba-p/13512984
Merge PDF from local storage : https://codezentrale.de/tag/cl_rspo_pdf_merge/
Check program : RSPO_TEST_MERGE_PDF_FILES.
Instead of declaring constants in reports to manage ranges, save time and use attributes of interface IF_FSBP_CONST_RANGE :
IF_FSBP_CONST_RANGE=>OPTION_BETWEEN. " Type DDOPTION 'BT'
IF_FSBP_CONST_RANGE=>OPTION_CONTAINS_PATTERN. " Type DDOPTION 'CP'
IF_FSBP_CONST_RANGE=>OPTION_EQUAL. " Type DDOPTION 'EQ'
IF_FSBP_CONST_RANGE=>OPTION_GREATER. " Type DDOPTION 'GT'
IF_FSBP_CONST_RANGE=>OPTION_GREATER_EQUAL. " Type DDOPTION 'GE'
IF_FSBP_CONST_RANGE=>OPTION_LESS. " Type DDOPTION 'LT'
IF_FSBP_CONST_RANGE=>OPTION_LESS_EQUAL. " Type DDOPTION 'LE'
IF_FSBP_CONST_RANGE=>OPTION_NOT_BETWEEN. " Type DDOPTION 'NB'
IF_FSBP_CONST_RANGE=>OPTION_NOT_CONTAINS_PATTERN. " Type DDOPTION 'NP'
IF_FSBP_CONST_RANGE=>OPTION_NOT_EQUAL. " Type DDOPTION 'NE'
IF_FSBP_CONST_RANGE=>SIGN_EXCLUDE. " Type DDSIGN 'E'
IF_FSBP_CONST_RANGE=>SIGN_INCLUDE. " Type DDSIGN 'I'
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( ) :
cl_rs_data=>switch_order( CHANGING c_t_data = lt_my_table ).
Technically, the method loops on table entries and insert each of them with INDEX 1.
Read MoreUse 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 ).
" Display ALV
go_alv_table->display( ).
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.