sap.ui.getCore().byId("tableId").getModel("oModel").refresh(true);
[ABAP] Read cost center description
DATA(kostl_text) = NEW cl_hrpa_ui_convert_0859( )->get_txt_costcenter( iv_kokrs = lv_kokrs iv_kostl = lv_kostl iv_date = sy-datum ).
# Class is using FUBA 'HRCA_COSTCENTER_GETDETAIL'
Megarac SP Gui / IPMI
In meinem NAS nutze ich seit vielen Jahren als Motherboard ein ASRock C2550D4I mit einer recht stromsparsamen on-Board CPU und einer BMC/IPMI Schnittstelle, welche Fernwartung über einen separaten LAN Port möglich macht.
BMC = Baseboard Management Controllers
IPMI = Intelligence Platform Management Interface
Bei einem BMC Update hat sich leider die WebGui verabschiedet und ich musste mir die Sache auf der Konsole anschauen. Dafür habe ich IPMITOOL installiert und verwendet. Dabei stellte sich heraus, dass lediglich die Netzwerkeinstellungen verloren gegangen sind.
Hier einige hilfreiche Befehle im Umgang mit dem IPMITOOL, welche mir geholfen haben. Über diesen Weg lässt sich ebenfalls das Passwort des Admin Users zurücksetzen.
# install
sudo apt install ipmitool
# display sensor & network settings
sudo ipmitool sensor
sudo ipmitool lan print 1
#set network settings
sudo ipmitool lan set 1 ipsrc static
sudo ipmitool lan set 1 ipaddr 192.168.178.3
sudo ipmitool lan set 1 defgw ipaddr 192.168.178.1
# Reset password
# https://support.oneidentity.com/de-de/kb/261220/reset-the-bmc-ipmi-password
sudo ipmitool user list 1
ID Name Callin Link Auth IPMI Msg Channel Priv Limit
1 false false true ADMINISTRATOR
2 admin true true true ADMINISTRATOR
3 true false false NO ACCESS
4 true false false NO ACCESS
5 true false false NO ACCESS
6 true false false NO ACCESS
7 true false false NO ACCESS
8 true false false NO ACCESS
9 true false false NO ACCESS
10 true false false NO ACCESS
sudo ipmitool user set password 2
Password for user 2:
Password for user 2:
Set User Password command successful (user 2)
# IPMI reseten
# https://www.thomas-krenn.com/de/wiki/IPMI_BMC_reset_bei_IPMI_Problemen
sudo ipmitool mc reset cold
# or remote with
ipmitool -I lanplus -H ip_address -U admin -a bmc reset cold
# Wenn das nicht hilft, ggf. hier schauen:
# https://portal.nutanix.com/page/documents/kbs/details?targetId=kA00e000000CrKRCA0
[HR] Abrechnungsergebnisse lesen
Reports:
RPCLSTRD – Anzeige des Clusters RD (Abrechnungsergebnisse Deutschland), Tcode: PC_PAYRESULT
H99_DISPLAY_PAYRESULT – Anzeigen von Abrechnungsergebnissen
Abrechnungsergebnistabelle:
Eine sehr schöne Übersicht über die Tabellen: https://l3consulting.de/die-tabellen-im-abrechnungscluster-des-sap-hcm-verstehen/
Die Tabelle RT enthält die Ergebnislohnarten der ausgewählten Abrechnungsperiode. (RT_ = komprimierte Darstellung)
Funktionsbausteine:
HR_GET_PAYROLL_RESULTS – Lesen von Abrechnungsergebnissen für Monats- und Jahresreports
PYXX_READ_PAYROLL_RESULT – Generischer Import von Abrechnungsergebnissen
HRCM_PAYROLL_RESULTS_GET – Abrechnungsdaten einer Person ermitteln
Hinweise zu Bausteinen: https://blog.hr-manager.de/2011/09/abap-abrechnungsergebnisse-lesen-per.html
Logische Datenbank:
Eine weitere Möglichkeit ist die Nutzung der logischen Datenbank PNP. Die Verwendung logischer Datenbanken ist jedoch obsolet (zumindest in anderen Modulen) und sollten daher eigentlich nicht mehr verwendet werden.
*&---------------------------------------------------------------------*
*& Report ZGETPAYROLL
*& Eigenschaften: Selektionsbildvariante 900, HR-Reportklasse PY_DEF.
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZGETPAYROLL.
TABLES: PERNR, PYORGSCREEN, PYTIMESCREEN.
INFOTYPES: 0002.
NODES: PAYROLL TYPE PAYDE_RESULT.
DATA: WA_RT TYPE PC207.
START-OF-SELECTION.
GET PERNR.
RP_PROVIDE_FROM_LAST P0002 SPACE PN-BEGDA PN-ENDDA.
WRITE:/ PERNR-PERNR, P0002-VORNA, P0002-NACHN.
GET PAYROLL.
LOOP AT PAYROLL-INTER-RT INTO WA_RT.
WRITE:/ WA_RT-LGART, WA_RT-BETRG.
ENDLOOP.
END-OF-SELECTION.
Oder in Kombination mit einem Fuba:
*&---------------------------------------------------------------------*
*& Report ZGETPAYROLL
*& Eigenschaften: HR-Reportklasse __M00001.
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*
REPORT ZGETPAYROLL.
TABLES: pernr. "Necessary for get pernr
INFOTYPES: 0001, "Organisatorische Zuord
0002, "Daten zur Person
0006, "Anschrift
0057. "Mitgliedschaften
DATA: l_payroll_result TYPE payat_result OCCURS 0 WITH HEADER LINE.
START-OF-SELECTION.
GET pernr.
rp_provide_from_last p0001 '' pn-begda pn-endda.
CALL FUNCTION 'HR_GET_PAYROLL_RESULTS'
EXPORTING
pernr = pernr-pernr
permo = pn-permo
pabrj = pn-pabrj
pabrp = pn-pabrp
actual = space "X actual, ' ' retro-differences
waers = 'EUR'
TABLES
result_tab = l_payroll_result
EXCEPTIONS
no_results = 0
wrong_structure_of_result_tab = 2
OTHERS = 4.
IF sy-subrc NE 0.
RETURN. "nächste Pernr
ENDIF.
[ABAP] Download internal table as TXT or CSV
" ty_output and tt_output are just dummy types
DATA: l_output_line TYPE ty_output,
l_output_lines TYPE tt_output,
l_csv_output TYPE truxs_t_text_data,
l_txt_output TYPE TABLE OF string,
PARAMETERS: p_alv RADIOBUTTON GROUP rb1 DEFAULT 'X' USER-COMMAND radio,
p_csv RADIOBUTTON GROUP rb1,
p_flcsv TYPE rlgrap-filename DEFAULT 'c:\temp\file.csv',
p_txt RADIOBUTTON GROUP rb1,
p_fltxt TYPE rlgrap-filename DEFAULT 'c:\temp\file.txt'.
" fill table l_output_lines with your data you want to export as txt or csv
IF p_csv = abap_true.
CALL FUNCTION 'SAP_CONVERT_TO_CSV_FORMAT'
TABLES
i_tab_sap_data = l_output_lines
CHANGING
i_tab_converted_data = l_csv_output.
TRY.
cl_gui_frontend_services=>gui_download( EXPORTING filename = CONV #( p_flcsv )
filetype = 'ASC'
CHANGING data_tab = l_csv_output ).
CATCH cx_root INTO DATA(e_text).
MESSAGE e_text->get_text( ) TYPE 'I'.
ENDTRY.
ELSEIF p_txt = abap_true.
LOOP AT l_output_lines INTO l_output_line.
CALL FUNCTION 'SO_STRUCT_TO_CHAR'
EXPORTING
ip_struct = l_output_line
IMPORTING
ep_string = l_string.
APPEND l_string TO l_txt_output.
ENDLOOP.
TRY.
cl_gui_frontend_services=>gui_download( EXPORTING filename = CONV #( p_fltxt )
filetype = 'ASC'
CHANGING data_tab = l_txt_output ).
CATCH cx_root INTO e_text.
MESSAGE e_text->get_text( ) TYPE 'I'.
ENDTRY.
ENDIF.
[SAP] Install SAP Gui for Java 7.50 on Linux Mint 20
Download
First have a look at the Requirements and FAQ.
Find the download link in the SAP Support Portal here. You will need a valid S-User and download permissions.
If you are not able to download the installer via Support Portal, there is a little workaround. Both, the installer for SAP Gui for Windows and SAP Gui for Java are also delivered with the AS ABAP 752 SP04, developer edition:
“The actual download (in the form of several .rar files), along with more information is available from the SAP Community Trials and Downloads page. Search for “7.52 SP04″ for convenience.”
You will have to download all 11 .rar files (about 14,6GB). When unziping, you’ll find a folder called client (about 1,2GB) containing both installers.
Installation
Since SAP Gui 7.50 Rev 5, Oracles JDKs is not necessary to run SAP Gui for Java, instead you are able to use OpenJDK. Read more about it here. And since version 7.50 Rev 8 the installer includes SapMachine and OpenJFX. Read more about it here. In this case, you don’t even have to install OpenJKD and OpenJFX by yourself and don’t have specify the module path, because it comes containerized within the SAP Gui.
So better first check the version of your downloaded gui. I’ve got SAP Gui 750 rev 5 within the AS ABAP 752 SP04. So let’s install openJDK & openJFX.
sudo apt-get install openjdk-11-jre openjfx
java --version
Finally lets install the SAP Gui:
cd JavaGUI/
java -jar PlatinGUI750_5-80002496.JAR install
The important step during the installation of SAP Gui for Java Rev 5 is to define the option for the module path. The module path hast to point to the OpenJFX lib-path:
/usr/share/openjfx/lib
Now you should be able to run the SAP Gui on Linux Mint 20
Eclipse ADT
When using Eclipse with ADT in combination with SAP Gui for Java and receiving the following error:
"The system reqirements are not met.Could not find: javafx.propertiesin: /usr/lib/jvm/java-11-openjdk-amd64/libYour Java Virtual Machine seems not to support JavaFX, required to run the SAPGUI for Java 7.50 rev 5.Please make sure you provide a valid path to the Java FX modules during guiinstallation."
You also have to add the OpenJFX path to the eclipse.ini file. Read more about it here.
--module-path=/usr/share/openjfx/lib
--add-modules=ALL-MODULE-PATH
[Software] Save battery power on laptops
With TLP I was able to extend the battery life of my ThinkPad E595 significantly.
“TLP is a feature-rich command line utility for Linux, saving laptop battery power without the need to delve deeper into technical details.”
https://linrunner.de/tlp/
If you prefer tools with UI, check TLPUI: https://github.com/d4nj1/TLPUI
There is also a repository for it:
sudo add-apt-repository ppa:linuxuprising/apps
sudo apt update
sudo apt install tlpui
When using a ThinkPad, there are specific kernel modules that can be installed.
https://linrunner.de/tlp/installation/ubuntu.html#thinkpads-only
Check with tlp-stat -b
Install with:
sudo apt install acpi-call-dkms tp-smapi-dkms
Another tool to monitor your power usage is PowerTOP:
“PowerTOP is a Linux tool to diagnose issues with power consumption and power management.”
https://01.org/powertop/
[Software] Bashtop – alternative to top and htop
https://github.com/aristocratos/bashtop
Installation for Ubuntu based distros:
sudo add-apt-repository ppa:bashtop-monitor/bashtop
sudo apt update
sudo apt install bashtop
[Proxmox] Installing Cockpit with ZFS Manager extension
The Cockpit ZFS Manager requires Cockpit version 201 or above. In the Debian Buster repository there’s only cockpit version 188, so you have to use the buster backports repository, which contains cockpit version 223.
# install cockpit
echo "deb http://deb.debian.org/debian buster-backports main" > /etc/apt/sources.list.d/buster-backport.list
apt update
apt-get -t buster-backports install cockpit
# add ZFS manager
git clone https://github.com/optimans/cockpit-zfs-manager.git
cp -r cockpit-zfs-manager/zfs /usr/share/cockpit
# start cockpit
systemctl start cockpit.service
systemctl enable cockpit.service
systemctl status cockpit.service
Now browse to https://ip-address-of-machine:9090 and login.
[ZFS] kernel module not found
$ modeprobe zfs
modprobe: FATAL: Module zfs not found in directory
Typically installable via:
$ sudo apt install zfs-dkms
Check with:
$ dkms status