Category Archive Blog

Convert 2 digits ISO language to 1 digit SAP language key

Convert 2 digits ISO language (LAISO) to 1 digit SAP language key (SPRAS) and reverse:

CONVERSION_EXIT_ISOLA_INPUT    Convert 2 digits ISO Lang ==> 1 digit lang. key
CONVERSION_EXIT_ISOLA_OUTPUT   Convert 1 digit lang. Key ==> 2 digits ISO Lang.

Read More

Generated Adobe form as PDF (to send it by mail for instance)

✔ Change some parameteres in the form ouput parameters :


  lst_outparms-device   = 'MAIL'.   " Format for mail sending
  lst_outparms-nodialog = 'X'.      " Do not display PDF
  lst_outparms-getpdf   = 'X'.      " and get PDF source.

 
✔ Retrieve the PDF code in form ouput structure of your form function :


  /1bcdwb/formoutput = ls_formoutput

 
✔ Convert PDF code in xstring to binary :


" DATA lt_att_content_hex  TYPE solix_tab. " Table type for mail attachment.

  CALL FUNCTION 'SCMS_XSTRING_TO_BINARY'
    EXPORTING
      buffer     = ls_formoutput-pdf
*     APPEND_TO_TABLE = ' '
*   IMPORTING
*     OUTPUT_LENGTH =
    TABLES
      binary_tab = lt_att_content_hex.

 
✔ Use the table lt_att_content_hex to send the PDF by mail, check post : Send mail using BCS class

Check if running in update task

Several possibilities.

Use FM TH_IN_UPDATE_TASK:


  DATA : lv_in_updtask TYPE sy-subrc.

  CALL FUNCTION 'TH_IN_UPDATE_TASK' 
    IMPORTING in_update_task = lv_in_updtask. 

  " lv_in_updtask = 1 if running in update task, 
  " else, lv_in_updtask = 0.

Use class CL_SYSTEM_TRANSACTION_STATE:


  IF CL_SYSTEM_TRANSACTION_STATE=>GET_IN_UPDATE_TASK( ) EQ 0 .
   " Code when not running in update task... 
  ENDIF.

Search tag: update process

Re-init buffers

In transaction code input field : /$sync
(to be done in transaction SESSION_MANAGER).

This re-init all buffers, useful when developping ALV layouts.

Use with caution as it will decrease SAP response time after refreshing the buffers.

Search tag : clear buffer, cache

The type of RETURNING parameter must be fully specified.

Sometimes when compilling class, this error appears.

Fully specification for a table means declare:
✔️ the type of internal table (default STANDARD),
✔️ the key (default WITH DEFAULT KEY).


TYPES ti_table TYPE STANDARD TABLE OF ts_structure WITH DEFAULT KEY.

Search tag: classe, Les paramètres RETURNING doivent être entièrement catégorisés.

Convert material unit

Use FM MD_CONVERT_MATERIAL_UNIT


  CALL FUNCTION 'MD_CONVERT_MATERIAL_UNIT'
    EXPORTING
      i_matnr              = lv_matnr
      i_in_me              = 'PCE'
      i_out_me             = 'PAL'
      i_menge              = lv_qte
    IMPORTING
      e_menge              = lv_nbpal
    EXCEPTIONS
      error_in_application = 1
      OTHERS               = 2.

Code to call adobe form

Use the code below to call an Adobe form from a specific program:
Read More