Using classical text editor for Smart Forms instead of MS Word

In updated system MS Word used as default Smart Forms and SAP Script text editor. In cloud system it is mandatory.

You can configure text editor with two ways. You can run ABAP report RSCPSETEDITOR in t-code SE38 for changing it. Other option using t-code I18N. In this t-code you need to open I18N Menu -> I18N Customizing -> I18N System Parameter. Select smartforms_editor as Parameter and emtpy as Value.

If you haven’t got enough privileges to change configuration, you can manipulate it in debug mode. These configuration saved DB table TCP0I as smartforms_editor and sapscript_editor. You can add break point in NLS_WORD_ENABLE function in t-code SE37. This function called by Smart Forms in first use of editor.

In S/4HANA system you need to add additional break point for running old editor. Add break point to CL_GUI_RTF_EDITOR and CL_GUI_SAPSCRIPT_EDITOR classes constructor below line and bypass the raise exception line.

* is not supported in S4H
  if cl_cos_utilities=>is_s4h( ).
    raise error_cntl_create.

Useful reports

RDDIT076Change request/task status
RS_STREE_OBJECTS_TO_REQ_GETAuto adding related objects to request
SPROX_LOG_TRANSP_OBJ_INSERTInsert missing logical objects to request
RFSEPA01Fill BSIS table after enabling line item display in FS00.
SPROX_XSD2WSDLConvert schema (XSD) to WSDL

Useful ABAP Functions

Function Description
POPUP_TO_SELECT_MONTHSelect month and year.
GUI_RUNRun command on client side.
DAYS_BETWEEN_TWO_DATESTotal days between dates.
HRVE_CONVERT_TIME Convert time between 24h and 12h
SEO_CLASS_GET_METHOD_INCLUDESFind includes which are created by class
TH_POPUPSend message to user
RP_CALC_DATE_IN_INTERVALAdd or remove days, months and years to date
HR_EFI_CONVERT_STRING_TO_TABLEConvert string to itab with given row length
MCS_BIW_DROP_CREATE_TABLEDrop and re-create database table
CONVERT_DATE_TO_INTERNALConvert string to date with check

Split string to lines for displaying

DATA: lv_content TYPE string,
      lv_pos     TYPE i,
      lv_len     TYPE i.
lv_content = 'dummy string'.
lv_pos = 1.
WHILE lv_pos LE strlen( lv_content ).
  lv_len = 80.
  IF lv_pos + lv_len GT strlen( lv_content ).
    lv_len = strlen( lv_content ) - lv_pos.
  WRITE lv_content+lv_pos(lv_len).
  lv_pos = lv_pos + 80.

If SOAMANAGER not exists

Some old system hasn’t got SOAMANAGER for configuring/creating logical port or service. We can use below t-codes for same operation.


Installing SAP Netware ABAP 7.51 SP02 on CentOS 7 Minimal

You can find great documentation for installing SAP Netware ABAP 7.51 SP02 at Julie blog post. I didn’t use shared OS because of huge disk/ram usage.


Install your favorite text editor

Install nano, vim, etc with yum.

yum install nano
Enable ssh for root

You can open multiple terminal and make copy paste with ssh to your server.

nano /etc/ssh/sshd_config

Remove # for uncomment line “PermitRootLogin yes” or add it if missing.

service sshd restart
Disable firewall

You need to open a lot of port for SAP Netware in firewall. You can disable firewall instead of configuring it.

service firewalld stop
systemctl disable firewalld
Install uuidd package

SAP Netware using uuidd library for generating GUID, install it.

yum install uuidd

Install sch package

SAP Netware using sch command in installation step, install it.

yum install tcsh
Install vmware tools and shared folder

Install open-vm-tools.

yum install open-vm-tools

You can find vmware tools in VMWare Virtual Machine menu as Install VMware Tools. Then you can check /mnt folder for CD which including tools. Copy it to your temp.

cp VMwareTools-10.x.tar.gz /tmp
tar -zxvf VMwareTools-10.x.tar.gz

Install python for tools installer.

yum install python

Change directory to extracted folder then run tools installer.

phyton install


Start installation script with below arguments.

./ -g -s

SOAMANAGER’ı yetkisiz çalıştırmak

SE93 t-code’undan WDYID t-code’unu girerek çalıştırın:

Application parametresine APPL_SOAP_MANAGEMENT
Start Mode parametresine ise BROWSER girerek raporu yürütün.

Exit bulmak

CL_EXITHANDLER class’ının GET_INSTANCE methoduna break point koyarsanız, programlar exit çağırmaya çalıştığında yakalayabilirsiniz.