[ABAP] SAP-ShortCode-Datei (*.sap) erzeugen

Variante 1 (SWN_CREATE_SHORTCUT -> *.sap-Datei speichern)

* SAP ShortCode-Dateien sind mit der installierten SAPGUI verknüpft und werden von dieser beim Doppelklick auf den Dateinamen geöffnet und ausgeführt
* SAP ShortCode-Dateien können auch im SAPGUI über den Button "Erstellt eine Verknüpfung" erzeugt werden
* SAP Hinweis: 103019 - SAPshortcut: Programmparameter
* http://troublefreeabap.blogspot.com/2013/06/creating-sapgui-shortcuts.html
PARAMETERS: p_matnr TYPE mara-matnr.

START-OF-SELECTION.

* Kommando (i_system_command):
* - fasst i_transaction und i_parameter zusammen
* - Transaktion MM03 in neuem Fenster anzeigen
*   - '/o' --> neuen Modus öffnen
*   - '*' --> überspringt Selektionsbild
* - Übergabe: MATNR an Dynpro-Feld für die MATNR im Selektionsbild (RMMG1-MATNR)
* - entfernen führenden Nullen (ALPHA = OUT)
  DATA(lv_cmd) = |/o*MM03 RMMG1-MATNR={ p_matnr ALPHA = OUT }|.
* Texttabelle mit generierten Daten für die Shortcut-Datei (*.sap)
  DATA(it_sap_shortcut_data) = VALUE soli_tab( ).

* WF Notif: SAP Shortcut als Anlage erzeugen
  CALL FUNCTION 'SWN_CREATE_SHORTCUT'
    EXPORTING
      i_system_command        = CONV char40( lv_cmd )
*      i_transaction           = '*MM03'
*      i_parameter             = CONV text255( |RMMG1-MATNR={ p_matnr ALPHA = OUT }| )
      i_user                  = ''
      i_windowsize            = 'Maximized' " oder 'Normal window'
      i_title                 = CONV char80( |MM03 - Material anzeigen| )
    IMPORTING
      shortcut_table          = it_sap_shortcut_data
    EXCEPTIONS
      inconsistent_parameters = 1
      OTHERS                  = 2.

  IF sy-subrc = 0.
* *.sap ShortCut-Datei speichern
    TRY.
        DATA: lv_action TYPE i.
        DATA: lv_filename TYPE string.
        DATA: lv_fullpath TYPE string.
        DATA: lv_path TYPE string.

* Save-Dialog
        cl_gui_frontend_services=>file_save_dialog( EXPORTING default_file_name = 'Start_MM03.sap'
                                                              default_extension = 'sap'
                                                              file_filter       = |ShortCut-Datei (*.sap)\|*.sap\|{ cl_gui_frontend_services=>filetype_all }|
                                                    CHANGING  filename          = lv_filename
                                                              path              = lv_path
                                                              fullpath          = lv_fullpath
                                                              user_action       = lv_action ).

        IF lv_action EQ cl_gui_frontend_services=>action_ok.
* Datei lokal speichern
          cl_gui_frontend_services=>gui_download( EXPORTING filename     = lv_fullpath
                                                            filetype     = 'DAT'
                                                  CHANGING  data_tab     = it_sap_shortcut_data ).

        ENDIF.
      CATCH cx_root INTO DATA(e_text).
        MESSAGE e_text->get_text( ) TYPE 'I'.
    ENDTRY.
  ENDIF.

Variante 2 (SICF-Service /sap/public/bc/workflow/shortcut)

PARAMETERS: p_matnr TYPE mara-matnr.

START-OF-SELECTION.

  DATA: it_servlist TYPE STANDARD TABLE OF icm_sinfo2 WITH DEFAULT KEY.

* Statistikdaten des ICM lesen
  CALL FUNCTION 'ICM_GET_INFO2'
    TABLES
      servlist           = it_servlist
    EXCEPTIONS
      icm_error          = 1
      icm_timeout        = 2
      icm_not_authorized = 3
      OTHERS             = 4.

  IF sy-subrc = 0.
* protocol 1: HTTP
* protocol 2: HTTPS
    IF line_exists( it_servlist[ protocol = 2 ] ).
* URL für workflow-shortcut zusammenbauen
* SICF-Service muss aktiv sein: /sap/public/bc/workflow/shortcut
* Daten werden in der Klasse CL_SWN_HTTP_SHORTCUT prozessiert
      DATA(lv_server) = it_servlist[ protocol = 2 ].
      DATA(lv_html) = |https://{ lv_server-hostname }:{ lv_server-service }|.
      lv_html = lv_html && |/sap/public/bc/workflow/shortcut?|.
      lv_html = lv_html && |sysid={ sy-sysid }&client={ sy-mandt }|.
      lv_html = lv_html && |&logonid=&uname={ sy-uname }|.
      lv_html = lv_html && |&langu=DE|.
      lv_html = lv_html && |&transaction=*MM03|.
      lv_html = lv_html && |&param=RMMG1-MATNR%3d{ p_matnr ALPHA = OUT }|.

      WRITE: / lv_html.
    ENDIF.
  ENDIF.

[Windows] Windows Master Control Panel shortcut einrichten

In Windows kann man einen Shortcut auf das Windows Master Control Panel einrichten. Man braucht dazu nur einen Ordner, z.B. auf dem Desktop, anlegen. Dieser Ordner muss folgenden kryptischen Namen haben:

BeliebigerOrdnerName.{ED7BA470-8E54-465E-825C-99712043E01C}

Innerhalb des Ordners sind dann automatisch Shortcuts für über 200 nützliche Funktionen zur Systemadministration abgelegt.

Links

[jQuery] Eventhandler registrieren – shortcut

// https://www.w3schools.com/jquery/jquery_events.asp

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>jQuery Button-Klick</title>
</head>
<body>
  <button id="btn1">Klick mich!</button>
</body>
</html>

// Button mit id="btn1": Eventhandler mit Parameter "evt" registrieren
$("#btn1").click(function(evt){
  // target ausgeben
  console.log(evt.target);
  // Button ausblenden
  $(this).fadeOut();
});