To prevent beeing forwarded to a corportate identity provider (like MS Entra etc.) simply add &saml2=disabled to the Launchpad URL.
https://sapsystem.de/sap/bc/ui2/flp?sap-client=001&sap-language=DE&saml2=disabled
To prevent beeing forwarded to a corportate identity provider (like MS Entra etc.) simply add &saml2=disabled to the Launchpad URL.
https://sapsystem.de/sap/bc/ui2/flp?sap-client=001&sap-language=DE&saml2=disabled
For the past few weeks, my computer was randomly freezing for about 30 seconds. After a quick search, it became clear that it was a memory issue, even though my computer has over 32 GB of RAM…
> journalctl -k -b -o short-precise
Sep 23 09:39:38.873173 myPC systemd-journald: Under memory pressure, flushing caches.
Sep 23 09:39:41.632171 myPC systemd-journald: Under memory pressure, flushing caches.
Sep 23 09:39:44.072486 myPC systemd-journald: Under memory pressure, flushing caches.
Sep 23 09:39:50.630124 myPC systemd-journald: Under memory pressure, flushing caches.
Sep 23 09:40:18.142581 myPC kernel: upowerd invoked oom-killer: gfp_mask=0x140cca(GFP_HIGHUSER_MOVABLE|__GFP_COMP), order=0, oom_score_adj=0
> journalctl -k -b --since "2026-09-23 09:39:30" --until "2026-09-23 09:41:30" \
| grep -iE 'oom|killed process|kill process|out of memory|memory cgroup'
Sep 23 09:40:18 myPC kernel: oom-kill:constraint=CONSTRAINT_NONE,nodemask=(null),cpuset=/,mems_allowed=0,global_oom,task_memcg=/user.slice/user-1000.slice/session-c2.scope,task=Isolated Web Co,pid=2666576,uid=1000
Sep 23 09:40:18 myPC kernel: Out of memory: Killed process 2666576 (Isolated Web Co) total-vm:10469216kB, anon-rss:7162184kB, file-rss:196kB, shmem-rss:1752kB, UID:1000 pgtables:54092kB oom_score_adj:200
As it turned out, the problem was caused by Firefox (Killed process Isolated Web Co). Fortunately, the solution was quite simple. I enabled the unloadOnLowMemory setting:
about:config → browser.tabs.unloadOnLowMemory →true
Since then, everything is running normal again. I also tried to identify a specific extension or website, which needed too much memory via
about:processes
about:memory
but it was nothing out of the ordinary. I guess I just had too many Firefox windows and tabs open…
A fork of OnlyOffice called Euro-Office has been available for a few months now. Since it seems that many users are switching to this new solution, I decided to test it out for a while as well. Since I don’t use Nextcloud AIO, I had to manually set up a separate Euro-Office instance.
The setup was straightforward. Create a docker-compose.yaml and a .env for your 32 character long JWT secret, and then start the service with docker compose up -d.
services:
documentserver:
image: ghcr.io/euro-office/documentserver:latest
container_name: euro-office-documentserver
restart: unless-stopped
environment:
EXAMPLE_ENABLED: "false"
JWT_SECRET: ${JWT_SECRET}
networks:
- proxy
networks:
proxy:
external: true
Add the new service to your reverse-proxy. In my case, I still wanted to keep my OnlyOffice setup, in case I want to go back, so I first created a new subdomain. After about 3h, the new created A record for my subdomain was working.

The only problem I had, was that I could not find “Nextcloud Office” in the Apps list via the Nextcloud Web Interface. Perhaps because I’m still on Nextcloud Version 33.0.9 and Nextcloud 34 is listed as prerequisite in the docs. Therefore, I had to install it via command line.
docker exec --user www-data nextcloud-app php occ app:install eurooffice
It installed the latest Version 11.0.5.

After that, simply add your URL and JWT Secret in the settings.

Everything was working immediately. Great!
One nice thing I already noticed, you can edit files on your mobile phone again. This feature had been restricted at some point in OnlyOffice.
Seit Firefox 153 werden die Tab-Container standardmäßig unterstützt und machen die Erweiterung Firefox Multi-Account Containers überflüssig. Das ist besonders praktisch, wenn man häufiger mit Web-Anwendungen arbeitet, bei denen man verschiedene Benutzer testen muss. Da ich viel mit Fiori Apps und Workflows zu tun habe, muss ich hier häufig mit 3 oder 4 Benutzern abwechselnd testen, um einen Workflow vom Antrag bis zur Genehmigung durchzuspielen. Dafür habe ich mir nun einfach 4 Tab-Container definiert und kann mich in jedem Container mit einem separaten User am Fiori Launchpad anmelden. Super praktisch!

Eine vergleichbare Funktion konnte ich für Edge oder Chrome bisher nicht finden. Hier ist man meist auf das normale Fenster + ein privates Fenster beschränkt. Leider steht in den IT-Landschaften der Kunden Firefox immer seltener zur Verfügung …

I’ve been using Pi-hole for more than 8 years now. In all that time, I haven’t had a single problem with the software itself or with updates. The only annoyance was that I only had one instance, and I couldn’t use the internet properly while updating my Proxmox host or the LXC container where Pi-hole was running. That’s why I’ve now installed a second Pi-hole instance on my TrueNAS server. Originally, I didn’t really want to run any additional software on my NAS, but since installation with TrueNAS Scale is so easy and my NAS has nearly 100% uptime throughout the year, it makes sense.
After setting up and importing the configuration from my primary Pi-Hole instance via Teleporter I checked if there are any new relevant blocklists. I listed my used blocklists in an earlier post here. Of course, I’ve added a few more lists over the past few years, but I never updated that post. I found the following helpful repository
https://github.com/hagezi/dns-blocklists
And also this site to test the blocking, but not sure how meaningful the result is…
As last step, I added my second Pi-hole instance as alternative DNS-Sever in my FritzBox.
When submitting an expense report, a disclaimer text is shown, similar to this:

This note 2836713 describes how to change the disclaimer text.
View: T706_WEB_DOCU


FITVFELD_WEB


If the new text is not displayed, perhaps this note must be imported: 3764137. It adds the following get_submit_text method call in the service:

Vor einer Weile musste ich mich recht kurzfristig in das oben genannte Thema einarbeiten. Ich hatte bisher nie konkret damit zu tun und habe daher erstmal die entsprechende SAP Help Seite überflogen. Relativ schnell habe ich zum Glück den für mich relevanten Teil gefunden.

Das relevante Customizing findet man in der SPRO hier:

Die Unternehmen findet man in SF z.B. unter Admin Center → Manage Date → Legal Entity

Report zum Testen: ECPAO_EE_ORG_REPL_QUERY
This is just a personal list of Zigbee devices I use at home. The list is sorted in the order in which I bought the devices. You can tell this by the fact that I paid way too much for the first few devices before I got into the “AliExpress” game. 🙂
Helpful databases:
https://www.zigbee2mqtt.io/supported-devices
https://zigbee.blakadder.com/
| Manufacturer | Model | Type | Z2M | Paring | Battery/Powering | Best price I got it for | Comment |
|---|---|---|---|---|---|---|---|
| Blitzwolf | BW-SHP13 Smart Socket | Plug (incl. power measurement) | # | Pair this device with a long press (5 seconds) on the on/off button | 230v | 9,45€ | |
| Blitzwolf | BW-SHP15 Smart Socket | Plug (incl. power measurement) | # | Pair this device with a long press (5 seconds) on the on/off button | 230v | 8,98€ | |
| Germa | Plug | Plug | Pair this device with a long press (5 seconds) on the on/off button | 230v | 8,97€ | ||
| Ikea | TRÅDFRI Motion | Motion sensor | # | Press pairing button 4 times | 2xCR2032 | 9,99€ | |
| Ikea | TRÅDFRI Repeater | Signal Repeater | # | Push the reset button of the device with a paperclip for 5 seconds | 230v | ||
| Ikea | TRÅDFRI LED | LED bulb E27 | # | 230v | |||
| Ikea | TRÅDFRI Wireless dimmer | Dimmer / switch | I’ve actually never used it. | ||||
| Ikea | TRÅDFRI Steckdose | Plug | # | Press and hold the reset button until the white light starts fading | 230v | From my eight devices, one already died. | |
| Ikea | BADRING | Water Leakage Sensor | # | Press the pairing button 4 times within 5 seconds | 1xAAA | ||
| Ikea | E1743 | Dimmer / switch | # | Press the pairing button 4 times | 1xCR2032 | I’ve actually never used it. | |
| Müller-Licht | tint | LED bulb E14 | 230v | 15,00€ | |||
| Xiaomi Mijia | GZCGQ01LM | Light sensor | 11,75€ | Had no real use case for the device so far. | |||
| Aqara | MCCGQ11LM | Contact sensor | # | Press and hold the reset button on the device for +- 5 seconds (until the blue light starts blinking). | 1xCR1632 | 8,56€ | Somehow, this device loses the connection to my Zigbee network every few months, and reconnection always causes problems. |
| Aqara | WSDCGQ11LM | Temperature and humidity sensor | # | Press and hold the reset button on the device for +- 5 seconds (when the blue blinks, immediately release the button for pairing to start). | 1xCR2032 | 13,93€ | Somehow, this device loses the connection to my Zigbee network every few months, and reconnection always causes problems. |
| Aqara | SSM-U01 | Single Switch Module T1 (with neutral) | # | Press button on device for 8 seconds, or toggle external switch 5 times (if it does not work, continue toggling the switch). | 230v | 24,00€ | Supports rocker switch (bistable / Wippschalter) or rebound switch (monostable / Wipptaster). Switch mode can be changed via Zigbee2MQTT. FAQ. Manual. |
| Ledvance (ex. OSRAM) | SMART+ Gardenpole | LED Garden lighting | # | Turn light 5x for 5 sec on and 5 sec off | 230v | 34,99€ | |
| Ledvance | SMART+ BT TIBEA Pendant Tunable White | LED Pendant lamp | # | Turn light 5x for 5 sec on and 5 sec off | 230v | ||
| OSRAM (LIGHTIFY) | Classic A60 W clear | LED bulb E27 | Turn light 5x for 3 sec on and 5 sec off | 230v | 7,99€ | These bulbs can lead to problems in the Zigbee network. Cannot find the source anymore, where I’ve read this… | |
| Lidl | LIVARNO LUX HG06106C | LED bulb E27 | # | Check zigbee2mqtt docs | 230v | ||
| Lidl | SilverCrest HG06335/HG07310 | Motion sensor | # | Factory reset the motion detector by holding the reset button (little hole on the right side, not the button on the back) for 5 seconds. | In my experience, I had many issues pairing this device using Zigbee2MQTT. With ZHA it was always working on the first try. Also, it helped to remove the battery before paring. Very poorly performing motion detector… already replaced it. | ||
| Lidl | LIVARNO Smart Home Outdoor-LED-Band | LED Strip | # | Turn device on/off 3 times | 230v | Some LEDs are not working anymore. | |
| Lidl | LIVARNO home LED-Band | LED Strip | # | Turn device on/off 3 times | 230v | The LED controller makes a high-pitched noise, which is super annoying. After about 3 years, the controller stopped working completely. | |
| Philips | LWA001 | LED bulb E27 | # | Only by using the Philips RWL021 remote. Press on & off buttons on the remote for 5 seconds close to the lamp. (#) | 230v | ||
| Philips | RWL021 | Dimmer / switch | # | Factory reset the Hue dimmer switch by pressing and holding the setup button on the back for 10 seconds. | CR2450 | Can also be used to reset Zigbee devices of other brands.(#) | |
| Sonoff | SNZB-02D | Temperature and humidity sensor | # | Press pairing button for 5 seconds | CR2450 | 12,62€ | Somehow, this device loses the connection to my Zigbee network every few months. Check here for troubleshooting. I replaced it with another temp sensor. |
| Sonoff | ZBMINIL2 | Smart Switch (no neutral) | # | Press the pairing button for 5 seconds, until the signal LED flashes slowly. | 230v | 12,28€ | Supports rocker switch (Wippschalter) and push button (Wipptaster). To change mode, press the pairing button very fast three times (so fast that the relay does not get trigger while doing that) until the green LED flashes 3 times. |
| ONENUO | TH01Z | Temperature and humidity sensor | # | Press pairing button for 5 seconds (review) | 3xAAA | 11,13€ | Somehow, this device loses the connection to my Zigbee network every few months. That’s why I replaced it. |
| Wenzhi | WZ-M100-W | Presence sensor | # | Connect via USB cable and press pairing button for 5 seconds | 5v USB-C | 11,83€ | Device is spamming the network with default firmware. Device also works via ZHA via a custom quirk (see comments here). There is also a custom firmware, but it cannot be flashed via OTA. _TZE204_ztc6ggyl |
| Tuya | ZG-205Z/A | Presence sensor | # | Connect via USB cable and press pairing button for 5 seconds | 5v USB-C | 12,22€ | So far, the only Zigbee presence sensor, that is not spamming. _TZE200_2aaelwxk |
| Wenzhi | MTG275-ZB-RL | Presence sensor | # | Press and hold pairing button for more than 3 seconds | 230v | 17,64€ | Device is spamming the network. Check here. _TZE204_dtzziy1e |
| ONENUO | TS0207 | Water leak sensor | # | Press and hold pairing button until red LED is flashing | 2xAAA | 3,79€ | |
| eWeLink | SNZB-04 | Contact sensor | # | Press and hold the RESET button for 5 seconds till red LED flashes | 2xAAA | 2,29€ | |
| HEIMAN | HS1SA | Smoke detector | # | Press and hold the RESET button for 2 seconds till Test Button LED flashes green | 1x CR17335/CR123A | 15,79€ | |
| Tuya | PA-44Z | Smoke detector | # | Press and hold test/mute button for 10 seconds till LED flashes quickly | 1x CR17335 | 6,39€ | Low battery alert: ≤20% |
| Tuya | TS0505B_1 | LED Ceiling Light | # | Turn device on/off 3 times | 230v | 18,81€ | The colors have very low brightness, nearly unusable during daytime |
| Alecto | SMART-HEAT10 | Thermostat | # | Press 7 times on the display | 2xAA (1,5V) | 15,99€ | The device can be paired, without attaching it to a valve. Does not provide many entities. Also, very bad battery lifetime. |
| Tuya | SZ-A60-18W | LED bulb E27 | # | Turn device on/off 3 times | 4,39€ | Brand: Gleco | 500-999 lumen | |
| AVATTO | ME168 | Thermostat | # | Rotate the knob until temperature state is ‘OF’, press and hold the knob for 5 seconds. Wi-Fi icon should flash. | 2xAA (1,5V) | 16,70€ | Set the temperature to maximum (35°C) before installation. |
| Tuya (Moes) | TRV601 | Thermostat | # | In manual mode, turn the knob counterclockwise until the screen displays ‘OF’. Press and hold the middle button for 3 seconds until the WI-FI icon flashes. | 3xAA (1,5V) | 16,41€ | I noticed that it helps to re-insert the batteries, if the device won’t pair. Also, it’s important to first attach the thermostat to the valve and run the adapting process first. This is so far my favorite TRV, as it provides more entities than the other ones. |
| Moes | BHT-002-GA | Thermostat | # | Turn thermostat off, press and hold the temperature down button for +- 8 seconds | 230v | 28,40€ | Very positive review, but in my case the device is spaming the zigbee network… And unfortunately, sometimes there a some temperature spikes, which destroy the history graph in HA. This is also mentioned in the comments of the review. Lucky via this thread, I found a custom firmware that can be flashed via OTA. |
| Tuya | Smart Socket | Plug (incl. power measurement) | # | Pair this device with a long press (5 seconds) on the on/off button | 230v | 2,93€ | |
| Tuya | ZTH08-E | Temperature and humidity sensor | # | Press and hold the reset button on the device for +- 5 seconds | 3xAAA | 5,86€ | |
| Tuya | ZTH01 | Temperature and humidity sensor | # | Press and hold the reset button on the device for +- 5 seconds (until the network indicator at the top of the display starts blinking). | 2xAAA | 2,60€ | In Zigbee2MQTT, recognized as TS0201 |
| Moes | MS-105Z | Smart Dimmer | # | To reset the device you need to have a switch wired between L and S, or short them using a tool like a voltmeter. Press the switch for 10 times, then wait for one second. If successful, you will hear three long beeps followed by a series of short beeps that will continue until the device is paired. | 230v | 8,90€ | |
| Sonoff | ZBMINIR2 | Smart Switch | # | Press the pairing button for 5 seconds, until the signal LED flashes slowly. | 230v | 1,73$ (1,52€) | |
| Tuya (Zemismart) | SPM02V2.5 | Power meter | # | Press the reset button 3~5 seconds til the LED is quickly flashing | 400v | 32,45€ | Unfortunately device is spamming the network a bit. The report interval can be changed on devices with newer firmware version. My device seems to have an older firmware and update is only possible via official hub… |
| Moes | Moes ZS-EUD_1gang | Smart touch dimmer | # | Press and hold On/Off Button for 5 seconds | 230v | 16,01€ | |
| eWeLink | SNZB-04_eWeLink | Contact sensor | # | Press reset key for more than 6s until the indicator is flashing | CR2023 | 2,60€ | It is labeled C3007 on the box. Small device, but very bad battery lifetime. |
| Sonoff | TRVZB | Thermostat | # | Turn the device off and hold down the top button for 3 seconds. The device must first be attached to the valve. | 3xAA | 12,98€ | It’s possible to adjust the valve opening and closing degree. |
| Tuya | TH02Z | Temperature and humidity sensor | # | Press paring button (next to the batteries underneath the cover) for 5 seconds | 2xAAA | 3,50€ | It is labeled TH08Z-B on the box |
| eWeLink | SNZB-02 | Temperature and humidity sensor | # | Press and hold the RESET button for 5 seconds till red LED flashes | 2xAAA | 2,43€ | Got paired as SNZB-02, but it does look like a TH02Z |
| Tuya | TS0203 (black) | Contact sensor | # | Press and hold the reset switch on the device, the pinhole on the side of the device, using the provided reset pin for +- 5 seconds | 2xAAA | 3,70€ | It is labeled ZD06 on the manual. The device is working great, but the quality of the case seems to be very low. |
| Tuya | TS0203 (white) | Contact sensor | # | Press and hold the reset switch on the device, the pinhole on the side of the device, using the provided reset pin for +- 5 seconds | 2xAAA | 2,31 | |
| eWeLink | SNZB-03 | Water Leakage Sensor | # | Press and hold the RESET button for 5 seconds till red LED flashes | 2xAAA | 3,50€ | Got paired as SNZB-03 (motion sensor), but does look like an IH-K665. Switch in HA from occupancy to moisture in the device settings. |
| Tuya | 809WZT | Motion sensor | # | Use a pin to press and hold the “SET button” of the sensor for 5s until the indicator flashes quickly. (button at the bottom, LED is at the front) | 2xAAA | 2,58€ | |
| Zbeacon | TH01 | Temperature and humidity sensor | # | Press and hold the RESET button for 5 seconds till red LED flashes | 2xAAA | 2,31€ | |
| Dycsm | YG400A | Smoke detector | # | Press and hold the RESET button for 5 seconds till LED flashes | 2xAAA | 5,93€ | |
| Tuya | TS0603 | Garage door opener | # | Press reset key for about 10 seconds until the indicator light flashes quickly | 230v | 13,08€ | |
| HOBEIAN | ZG-204ZV | Motion & temperature & humidity sensor | # | Press and hold the RESET button for 3 seconds till LED flashes | 2xAAA | 1.78$ (~1,50€) | Device does not work. Motion is detected every few seconds until the battery is empty. |
| ONENUO (Tuya) | ZP01 | Motion sensor | # | Press and hold the RESET button for 5 seconds till red LED flashes | 2xAAA | 2.58€ | |
| HOBEIAN | ZG-102ZM | Vibration sensor | # | Press and hold the RESET button for 3 seconds till LED flashes | 2xAAA | 2.21$ | |
| Telink Semiconductor (Tuya) | TS0202 | Motion sensor | # | Press and hold the RESET button until LED flashes | 2xAAA | 1.86$ (~1,43€) |
I was working with the Fiori App My Travel and Expenses for Business Traveler and implemented a new approval workflow. Unlike in the SAP standard workflow, the first approver was not the boss of the employee. The workflow was already working fine, but when sending the travel expense from the Fiori app, it still displayed the boss as approver.

Naturally, the Fiori app does not know anything from the changes on the workflow. So I had to figure out where this approver value comes from and how I could adjust it to match the workflow logic.
I first went to the official documentation to check if there is any BAdI to change/overwrite the approver.

I also checked the note 3260453 – Enablement of Custom Logic for Key User Extensibility option in S/4HANA FIORI app MTE, but it seems like no BAdI was doing the job.
Spoiler: Actually there is a BAdI called FIN_TRV_APPROVER_NAME, but it is not listed here or anywhere else in the documentation. As many times before, incomplete SAP documentation wasted hours of my life…..
Because I could not find a BAdI, I went to the RAP service, to check where the approver is set and if it’s possible to overwrite it in someway.
When clicking the Create and send button in Fiori, a POST request to the endpoint CheckTripAmounts is fired. The response of type cds_ui_travelexpensemanage.TravelExpenseType contains the required value in field TrvlExpnApproverName.
I already knew the corresponding package for RAP-Service.

In package ODATA_TRV_MTE_UI_MANAGE I found the root view entity C_TravelExpense which contained the property TrvlExpnApproverName. Its projection I_TravelExpense was located in package VDM_TRV_MTE_UI_MANAGE. I was already afraid, that the approver is somehow read via some CDS association, but it turned out to be added as empty field and properly therefore is manually filled in some behavior implementation.
cast ( ' ' as vdm_trvlexpnapprovername ) as TrvlExpnApproverName,
The related behavior implementation was in class CL_BP_I_TRAVELEXPENSE and there I found the CheckTripAmounts method, which matched the POST request I saw in the Dev console. And here I found the following logic.
DATA l_trvlexpnapprovername TYPE char40.
cl_trv_business_data_s4=>get_approver( EXPORTING iv_employeenumber = api->get_header( )->get_pernr( )
io_header = api->get_header( )
IMPORTING ev_approver_name = l_trvlexpnapprovername
et_messages = lt_return ).
When looking in the get_approver method I found the default approver logic via OM, but also a BAdI call at the end.
DATA lo_badi TYPE REF TO fin_trv_approver_name.
TRY.
GET BADI lo_badi.
DATA(ls_general_data) = io_header->get_general_data( ).
CALL BADI lo_badi->change_approver_name
EXPORTING
iv_traveller_pernr = iv_employeenumber
is_general_data = ls_general_data
CHANGING
cv_approver_name = ev_approver_name
cv_approver_pernr = ev_approver_pernr.
CATCH cx_root.
ENDTRY.
Turned out, there is BAdI to overwrite the approver, it was just not documented…………………. all other eight BAdI’s are mentionend in the documentation.

Möchte man Führungskräften die Möglichkeit geben, in der MyForms App die Formulare ihrer Mitarbeiter einzusehen, kann dies einfach über den HCMFAB_B_COMMON BAdI in der Methode GET_CONFIGURATION realisiert werden.
IF iv_application_id = gc_application_id-myhrforms.
ev_enable_onbehalf = boolc( go_employee_api->is_manager( iv_application_id = iv_application_id
iv_pernr = iv_employee_number ) = abap_true ).
ENDIF.
Im Standard werden der Zeitnachweis und Entgeltnachweis angezeigt. Möchte man nun für die Führungskraft den Entgeltnachweis ausblenden, kann dies über den BAdI HCMFAB_BI_MYFORMS gemacht werden.
In der Methode GET_HIDE_REM_TIME_STATEMENT kann dies z.B. so realisiert werden.
ev_hide_rem = abap_false.
ev_hide_time = abap_false.
DATA(ownpernr) = go_employee_api->get_employeenumber_from_user( ).
IF iv_pernr <> ownpernr.
ev_hide_rem = abap_true.
ENDIF.
Die Variable ev_hide_rem verhindert das Hinzufügen des Entgeltnachweises im folgenden, wie ab Zeile 25 zu sehen.

Jedoch ist nach meiner Beobachtung das noch nicht ausreichend, da in der Methode FILL_FORM_TYPES der Entgeltnachweis dann doch wieder hinzugefügt wird.

Daher habe ich den Entgeltnachweis zusätzlich noch in der Methode FILL_FORM_TYPES entfernt.
DATA(ownpernr) = go_employee_api->get_employeenumber_from_user( ).
IF iv_pernr <> ownpernr. " Manager dürfen nur Zeitnachweise ihrer Mitarbeiter sehen
DELETE ct_form_types WHERE form_type <> 'SAP_INT_TIM_STM'.
RETURN.
ENDIF.
Die Führungskraft kann nun ausschließlich den Zeitnachweis des Mitarbeiters sehen. Er selbst kann alle Formulare wie gewohnt einsehen.