Category Archive Blog

Check range values from a domain

⚠️ This code works only if range values are restricted to Include Equal (I EQ) and domain values are not range of values.

Example of calling code :


  DATA : lv_wrong_value TYPE domvalue_l.
  
  PERFORM f_check_range_val_from_domain USING 'MTART'
                                              s_mtart[]
                                              CHANGING lv_wrong_value.
  IF lv_wrong_value IS NOT INITIAL.
    SET CURSOR FIELD 'S_MTART-LOW' ##NO_TEXT.
    MESSAGE i001(zz) WITH lv_wrong_value DISPLAY LIKE 'E'.
    " Material type &1 is not valid
  ENDIF.

Read More

Table type for MATNR field

This post just to save time, instead of doing where-used on MATNR field…

Type table of MATNR : TABLE_MATNR => TABLE_LINE

Type range of MATNR : RANGE_T_MATNR

Search tag : type de table

QM – Meaning of field STEUERKZ

Field STEUERKZ can be found in QM tables like QPMK.
It is divided into 30 charcacters. It corresponds to fields into structure QMKST.

Check this post to have the meaning of each position : https://blogs.sap.com/2013/08/05/control-indicators-in-qpmk-and-storage-in-field-qpmk-steuerkz/

Details:

Read More

Conversion exit to manage percentages

To set percentage value, displayed with the char. %, when you want to store only the number, you can use conversion exit.

Here I made the choice to store the number as a string, otherwise, default value is 0 and in my case, 0% is different from empty value.

Read More

Upload file with UTF8 or ANSi encoding

EDIT : Warning, solution below will work only if there is an accentuated caracter in first line.

Wrong encoding format file is a reccurent issue, especially when working on Windows.
If you don’t want to impose to end used an encoding format for text files, you can use the code below.

Read More

Sapscript – Center an include text

Let’s say we have a paragraph to center text declared as CS, to use this paragraph on an include text, add PARAGRAPH <paragraph name> at the end of INCLUDE TEXT declaration :


INCLUDE Z_SO10_TEXT OBJECT TEXT ID ST LANGUAGE FR PARAGRAPH CS

Get fullname from User-id

Use code below :


" ADRP-NAME_FIRST : First name
" ADRP-NAME_LAST  : Last name
" ADRP-NAME_TEXT  : Full name

DATA : lv_usrid     TYPE XUBNAME,
       lv_name_text TYPE ADRP-NAME_TEXT.

" [...]

SELECT SINGLE adrp~name_text INTO lv_name_text
  FROM usr21 JOIN adrp ON usr21~persnumber = adrp~persnumber
                      AND adrp~date_from   = '00010101'
                      AND adrp~nation      = ''
  WHERE usr21~bname = lv_usrid.

Insert break line in ABAP string

To insert a BR in a string char, use the following constant :


cl_abap_char_utilities=>cr_lf

Search tag : CrLf, retour chariot, ligne, newline, new, carriage return