SAP TREX administration

SAP TREX can be used for search. Search can be done best with HANA system nowadays. For HANA search read this blog. Migration from TREX to HANA is explained in OSS note 2054157 – How to migrate Enterprise Search from TREX to SAP HANA.

This blog will cover the SAP TREX administration. Search tips and tricks for both HANA search and SAP TREX can be found in this blog.

TREXADMIN

The main transaction for TREX administration is TREXADMIN:

Select your TREX RFC and press execute to get to the first tab that shows the Services overview:

Check the second overview tab for the status:

The alert tab contains alert to be checked:

Background information

SAP help file for TREXADMIN can be found in this link.

If you raise OSS message for TREX, provide the TREX logs as explained in OSS note 1140188 – BWA/TREX: How to provide indexes for problem analysis.

OSS notes for specific issues:

Data archiving: deliveries

This blog will explain how to archive deliveries via object RV_LIKP. Generic technical setup must have been executed already, and is explained in this blog.

Object RV_LIKP

Go to transaction SARA and select object RV_LIKP.

Dependency schedule:

In case you use production planning backflush, you must archive those first. Then material documents, shipment costs (if in use) and SD transport (if in use).

Main tables that are archived:

  • LIPK
  • LIPS
  • NAST (for the specific records)
  • VBFA (for the specific records)
  • VBPA (for the specific records)

Technical programs and OSS notes

Preprocessing program: S3LIKPPTS

Write program: S3LIKPWRS

Delete program: S3LIKPDLS

Read program: S3LIKPAU

Relevant OSS notes:

Application specific customizing

In the application specific customizing for RV_LIKP you can maintain the document retention time settings:

Executing the preprocessing run

In transaction SARA, select RV_LIKP. In the preprocessing run the documents to be archived are prepared:

You must run the program twice: for inbound and outbound deliveries.

Check the log for the results:

Typically RV_LIKP will yield 30 to 70% documents that can be archived.

Executing the write run and delete run

In transaction SARA, RV_LIKP select the write run:

Select your data, save the variant and start the archiving write run.

Give the archive session a good name that describes sales organization/shipment point and year. This is needed for data retrieval later on.

After the write run is done, check the logs. RV_LIKP archiving has average speed, but not so high percentage of archiving (up to 40 to 90%).

Deletion run is standard by selecting the archive file and starting the deletion run.

Data retrieval

Start the data retrieval program and fill selection criteria:

In the second screen select the archive files. Now wait long time before data is shown.

For faster retrieval, setup data archiving infostructures SAP_RV_LIKP_001 and SAP_RV_LIKP_002. These are not active by default. So you have to use transaction SARJ to set them up and later fill the structures (see blog).

Data archiving: material documents

This blog will explain how to archive material documents via object MM_MATBEL. Generic technical setup must have been executed already, and is explained in this blog.

Object MM_MATBEL

Go to transaction SARA and select object MM_MATBEL.

Dependency schedule:

In case you use production planning backflush, you must archive those first.

Main tables that are archived:

  • MKPF
  • MSEG
  • NAST (for the specific records)

Technical programs and OSS notes

Write program: RM07MARCS

Delete program: RM07MADES

Read program: RM07MAAU

Relevant OSS notes:

Application specific customizing

In the application specific customizing for MM_MATBEL you can maintain the document lifetime settings:

Executing the write run and delete run

In transaction SARA, MM_MATBEL select the write run:

Select your data, save the variant and start the archiving write run.

Give the archive session a good name that describes plant and year. This is needed for data retrieval later on.

After the write run is done, check the logs. MM_MATBEL is fast archiving and has high percentage of archiving (up to 100%).

Deletion run is standard by selecting the archive file and starting the deletion run.

Data retrieval

Start the data retrieval program and fill selection criteria:

In the second screen select the archive files. Now wait long time before data is shown.

Faster data retrieval is via archive explorer transaction SARE (for the archive explore the infostructures must be filled first, see this blog):

Fill out the document criteria:

From the result list double click on the line and jump to MIGO transaction to view the archived document.

Humor

New input welcome, leave a comment!

What does the SAP abbreviation stand for?

  • SAP = Slow And Painful
  • SAP = Software Aus Pakistan
  • SAP = Shut up And Pay
  • SAP = Sanduhr Anschau Program
  • SAP = Schreibs Auf Papier
  • SAP = Suffer After Purchase
  • SAP = System against People
  • SAP = Start Applying Patches
  • SAP = Surrender and Pay
  • SAP = Sit and Panic
  • SAP = Severely Aged Programs
  • SAP = Submit (security bugs) and Pray
  • SAP = Sammelbecken Arbeitsloser Physiker -> German for Pool of Unemployed Physicists

Competence

Competence is limited, incompetence is unlimited
Below each level of incompetence there a next level of even worse incompetence
We don't need to remove the BigTruck button in STMS since nobody will be so stupid to start the ImportAll
Fundamental laws of stupidity:
1. Everybody underestimates the amount of stupid people
2. Stupidity is not related to any other characteristic of a person 
3. Stupid people damage others and themselves
4. Not-stupid people underestimate the damage of stupid people
5. Stupid people are more dangerous than smart criminals

Checking 3rd party tools and integration

A lot of 3rd party tools exist. A lot of them are good. Some are really not that good.

SAP partner site

Start on the SAP partner site. Now go to the section for certified solution and hardware:

Now search or select a third party solution. In this example Onapsis:

You can see the scope of the product for which it is certified and for which version.

The certificate itself contains more detailed information:

You see the functions, the version for which it was tested and till what date the certificate is valid.

What to check from 3rd party?

Checkpoint for 3rd party solution:

  • SAP certified? Not all 3rd party software is certified. Check it as explained above.
  • S4HANA compliant? Not al 3rd party software is S4HANA compliant and certified. This can give issues when you have to run S4HANA conversion in the future.
  • Check scope of solution
  • Check till what date the solution is certified

Caveat emptor

If a solution is not SAP certified, it does not mean it is bad. If a solution is SAP certified it does not mean it is good and meeting all of your requirements.

Caveat emptor: know what you buy.

The SAP certification ensures some checkpoints. In your company requirements might be higher than tested and checked by SAP certification.

The SAP checkpoints are mostly on installation and de-installation. And do not always cover security elements!

Transaction variant

This blog will explain how to create a transaction variant.

It will also give a list of how-to OSS notes that might help you for your situation.

Questions that will be answered in this blog are:

  • How to set up a transaction variant?
  • Where can I find the restrictions for transaction variants?
  • Where can I find how-to instructions for transaction variants?

Set up transaction variant

As example we will use SU3 transaction to maintain own user data. On the screen there is also a password reset button we want to remove:

To set up a transaction variant start transaction SHD0:

Enter in transaction code SU3 and in the variant name the Z name of the variant you want to create. Now hit the create button. Execute the transaction and go back to the popup screen. On the popup screen change the menu options and toggle the button to invisible:

The transaction variant is now created:

To assign a transaction code, don’t go to transaction SE93, but stay in the SHD0 transaction and select the menu option Goto / Create Variant Transaction:

Assign a ZSU3 as transaction code. Save the variant transaction and test it by entering the new ZSU3 transaction code:

The password reset button is gone in this variant.

SAP references

SAP blog on transaction variant: link.

SAP help file on transaction variant: link.
Restriction OSS note: 331360 – Transaction variants are not always possible.

OSS notes

How-to OSS notes:

Analysis of SYS_LOB* tables

When you are trying to manage your database size, you might see large SYS_LOB* tables on Oracle based systems.

Questions that will be answered in this blog are:

  • How can I find large SYS_LOB tables in my Oracle based SAP system?
  • How can I find the real table for the SYS_LOB?

Finding SYS_LOB table size

In DB02 select all segments larger than 1 GB with name SYS_LOB*:

Output might be like this:

On the tab Lobs you can see the table:

From SYS_LOB name to table

Next to the direct view in DB02 as shown above, OSS note 2142497 – What to do for large lobsegment on Oracle database? describes several ways of determining the translation from the SYS_LOB label to the real table.

You can use ST04 SQL query and fire this query: replace the SYS_LOB number from the one in your own system:

SELECT OWNER, TABLE_NAME, COLUMN_NAME FROM DBA_LOBS
WHERE 'SYS_LOB0007061918C00006$$' IN (SEGMENT_NAME, INDEX_NAME);

Or in ST04, you launch the DBA view for DBA_LOBS:

Result:

In this case table DMC_INDXCL is the source of the SYS_LOB. Knowing this it will easily lead you to OSS note 2704146 – How to delete data in DMC_INDXCL? – SLT for clean up.

Frequent SYS_LOB tables

Frequent SYS_LOB tables and solutions:

Integrate SO10 text in webdynpro

This blog will explain how to integrate SO10 standard text in webdynpro. It will also show how to use this to integrate it into page on the right after logon (see also this blog).

Setup SO10 text

Start transaction SO10 and create text for logon:

Now enter the text and save it:

We have entered text (as explained in SO10 blog). Important: add the <br/> tags to create the line break.

Setup webdynpro screen

We will now setup webdynpro screen into which we will integrate SO10 text above.

Go to SE80 and create webdynpro Z_LOGON_INFO and go to the main view context and create this structure:

This is the data container for the string to show on the screen.

In the Layout View add element for logon text of type FormattedTextView:

Bind the text from the data element:

And map the data source:

In the view go to the methods and fill the WDDOINIT method:

Full code:

METHOD wddoinit .

  DATA: lt_table    TYPE TABLE OF tline,
        ls_table    TYPE tline,
        iv_textname TYPE tdobname VALUE 'Z_TEXT_FOR_LOGON', "Text created in SO10.
        lv_string   TYPE string,
        ex_lines    TYPE string.

  DATA lo_nd_data TYPE REF TO if_wd_context_node.
  DATA lo_el_data TYPE REF TO if_wd_context_element.
  DATA ls_data TYPE wd_this->element_data.

  CONSTANTS: lc_txtid(4)   TYPE c VALUE 'ST',
             lc_txtobj(10) TYPE c VALUE 'TEXT'.

  CALL FUNCTION 'READ_TEXT'
    EXPORTING
      id       = lc_txtid
      name     = iv_textname
      language = sy-langu
      object   = lc_txtobj
    TABLES
      lines    = lt_table.

  LOOP AT lt_table INTO ls_table.
    CONCATENATE ex_lines ls_table-tdline INTO ex_lines SEPARATED BY space.
  ENDLOOP.

  lo_nd_data = wd_context->get_child_node( name = wd_this->wdctx_data ).
  lo_el_data = lo_nd_data->get_element( ).
  lo_el_data->set_attribute(
    name =  'SO10TEXT'
    value = ex_lines  ).

ENDMETHOD.

The code calls with function module READ_TEXT the text set into Z_TEXT_FOR_LOGON and binds it to the SO10TEXT element. Remark: the formatted text in webdynpro now processes the </BR> settings.

And create the webdynpro application:

And test it:

Restrictions

The formatted text is processed by class CL_WD_FORMATTED_TEXT. See help.sap.com on this. Restrictions are listed (like no use of commands), and list of allowed tags.

Adding URL

Adding a URL to the standard text and show it in webdypro is not possible (as far as known). To add a URL, add to LinkToUrl item in the webdynpro.

Insert as launch page

Now we follow the instructions from the blog on the logon text. Start transaction SM30_SSM_CUST and set the parameter SESS_URL:

Now log on again:

S4HANA conversion DTV tool (data transition validation)

When you are running S4HANA conversion, this will include financial data conversion. For compliancy reasons the FICO business will demand you run reports before and after the conversion to show that the data is converted ok.

To structure these checks the DTV tool (data transition validation tool) was developed by SAP.

How to install the DTV tool

Master note for the DTV tool is 3117879 – DTV Tool – Central Note.

DTV tool can be used for S4HANA 2021 and higher as target system. There is no installation needed there.

For the source system you need to be on the right support package or install via TCI delivery note 3103342 – DTV Tool Initial Delivery.

Technical reference blog from SAP: link.

How to run the DTV tool

Start of the tool is transaction code DVF:

The detailed steps are described high level in this SAP blog.

All detailed steps (including how to setup connections to source system) are explained in the SAP help file for the DTV tool.

FIORI app support

FIORI app support is a nice tool. With the tool, you can get support on app issues.

The tool can help with:

  • Getting specific version information for a FIORI app
  • Checking if the SICF services are active
  • Checking if the ODATA services are active
  • Checking for authorization errors

This blog will explain these topics and will explain how the setup of the function works.

How to use the FIORI app support

In any FIORI app (not the main launchpad), click on your person icon:

And open the app support from the menu:

Now the app support screen will first open with the version information:

Clicking on Front end server shows the front end server status for this app:

In this case you can already see there are issues with the backend:

You can download the logs by pressing the Download Logs button:

By clicking on all the checks and logs, you can quickly detect where any issue of the FIORI application might be.

How to setup the FIORI app support

FIORI app support needs to be setup. First activate these 2 SICF services;

  • /default_host/sap/bc/bsp/sap/sui_flp_app_sup
  • /default_host/sap/bc/ui5_ui5/sap/sui_flp_app_sup

And activate this ODATA service: sui_flp_app_sup_srv.

Start transaction /UI2/FLP_CONF_DEF to check this entry is present (and if not present, create it):

Now use transaction /UI2/FLP_CUS_CONF to check that this entry is set to active. If not, create the entry and set it to active:

Another option is via business catalog.

For both methods: read the SAP help file.

SAP references and OSS notes

SAP blog on FIORI app support: link.

Help file on App support: link.