To get material document in error, check table AFFW.
To get material document in error, check table AFFW.
Table JEST to see active and inactive status on objects.
Table TJ02 (and text table TJ02T) for internal status.
Table TJ30 (and text table TJ30T) for external status.
Example to change status with BAPI
Read More
Use class : CL_ABAP_CHAR_UTILITIES.
Example, write a carriage return (Carriage Return and Line Feed) :
WRITE : 'Line 1', CL_ABAP_CHAR_UTILITIES=>CR_LF, 'Line 2'.
FM to check if Gui is active :
DATA : lw_gui_actif TYPE c.
CALL FUNCTION 'GUI_IS_AVAILABLE'
IMPORTING
return = lw_gui_actif.
FM to check if code is executed in dialog mode :
DATA : lw_is_dialog TYPE xfeld.
CALL FUNCTION 'ZFM_CHECK_DIALOG_MODE'
IMPORTING
ew_is_dialog = lw_is_dialog. " = X si en mode Dialog, vide sinon
Abap code example to display an ALV with FM REUSE_ALV_GRID_DISPLAY.
Use FM : GENERAL_GET_RANDOM_STRING.
Example :
DATA : lw_guid TYPE string.
CALL FUNCTION 'GENERAL_GET_RANDOM_STRING'
EXPORTING
number_chars = 32
IMPORTING
random_string = lw_guid.
Convert date to default external format :
DATA : lw_date_ext TYPE char10,
lw_date TYPE datum.
WRITE lw_date TO lw_date_ext.
Other way to do that since 7.40 :
DATA lv_date TYPE d value '20190718'.
DATA(l_user_format) = |{ lv_date DATE = USER }|. "RAW, ISO, USER, ENVIRONMENT
WRITE l_user_format.
Convert date to specified external format :
DATA : lw_date_ext TYPE char10,
lw_date TYPE datum.
CALL FUNCTION 'SLS_MISC_CONVERT_TO_DATE'
EXPORTING
p_date = lw_date
p_date_format = 'DD.MM.YYYY'
IMPORTING
p_date_string = lw_date_ext.
See also Convert date to internal format.
With 7.40 :
DATA : lw_date_ext TYPE char10,
lw_date TYPE datum.
lw_date = |{ lw_date_ext+6(4) }{ lw_date_ext+3(2) }{ lw_date_ext(2) }|.
With FM :
DATA : lw_date_ext TYPE char10,
lw_date TYPE datum.
CALL FUNCTION 'CONVERT_DATE_TO_INTERNAL'
EXPORTING
date_external = lw_date_ext " ==> 10.10.2017
IMPORTING
date_internal = lw_date " ==> 20171010
EXCEPTIONS
date_external_is_invalid = 1.
See also Convert date to external format.
Synthax to increase line size of report :
(To be specified at begining of report with report name declaration)
REPORT zreport_name LINE-SIZE 130.
Calculate runtime in microseconds :
DATA: lw_t1 TYPE i,
lw_t2 TYPE i,
lw_elapsed TYPE i.
* Get the time and put in lw_t1.
GET RUN TIME FIELD lw_t1.
* Wait 3 seconds.
CALL FUNCTION 'ENQUE_SLEEP'
EXPORTING
SECONDS = 3.
* Get the time and put in lw_t2.
GET RUN TIME FIELD lw_t2.
* Calculate the different between lw_t2 and lw_t1.
lw_elapsed = lw_t2 - lw_t1. " In microseconds.
lw_elapsed = ELAPSED / 1000000. " In seconds.
* Display the runtime.
WRITE:/ ' Runtime =', lw_elapsed, 'seconds'.
If your measure may overload 36 min, do not store the run time in a type i (integer) variable.
You should use a type numeric, like :
DATA: lw_t1(200) TYPE n,