[ABAP] Auswahl eines Transportauftrags (mit Anlegen)

* Tabellen:
*  E070 (Transportsystem: Header von Aufträgen/Aufgaben)
*  E07T (Transportsystem: Kurzbeschreibungen von Aufträgen/Aufgaben)
*  E070C (Transportsystem: Quell-/Zielmandant von Aufträgen/Aufgaben)
*  E071 (Transportsystem: Objekt-Einträge von Aufträgen/Aufgaben)
*  TADIR (Katalog der Repository-Objekte)
*  TPLOG (Logging der tp Aufrufe)

* https://www.berater-wiki.de/Transportauftrag
* https://www.berater-wiki.de/Access_Tabellenbeziehung_Transportauftrag/-Aufgabe
* http://sapyourself.com/2014/06/11/transporte-transporteur-ermitteln-und-analysieren-tabelle-tplog/

* TRFUNCTION
*  K  Workbench-Auftrag
*  W  Customizing-Auftrag
*  C  Umzug von Objekten ohne Paketwechsel
*  O  Umzug von Objekten mit Paketwechsel
*  E  Umzug eines kompletten Pakets
*  T  Transport von Kopien
*  S  Entwicklung/Korrektur
*  R  Reparatur
*  X  Unklassifizierte Aufgabe
*  Q  Customizing-Aufgabe
*  G  Stückliste für CTS-Projekt
*  M  Auftrag für Mandantentransport
*  P  Stückliste für Upgrade
*  D  Stückliste für Patch
*  F  Stückliste
*  L  Löschtransport
* TRSTATUS
*  D  Änderbar
*  L  Änderbar, geschützt
*  O  Freigabe gestartet
*  R  Freigegeben
*  N  Freigegeben (Importschutz für reparierte Objekte aktiv)
* KORRDEV
*  CUST  mandantenabhängiges Customizing
*  SYST  Repository, mandantenunabbhängige Objekte
* LOCKFLAG
*     nicht gesperrt
*  X  gesperrt
*  0  nicht importiert
*  1  importiert mit Fehler
*  2  erfolgreich importiert
*  3  erfolgreich aktiviert /After-Import-Methode ausgeführt
*  6  erfolgreich in Schattentabellen importiert
*  7  erfolgreich in neue Schattentabellen importiert
*  8  inaktiver Anteil erfolgreich importiert

* Auftragstyp
SELECTION-SCREEN BEGIN OF LINE.
  SELECTION-SCREEN COMMENT (14) lbl1 FOR FIELD p_tfunc.
  PARAMETERS: p_tfunc TYPE trfunction.
SELECTION-SCREEN END OF LINE.

INITIALIZATION.
  lbl1 = 'Auftragstyp:'.

START-OF-SELECTION.

  DATA: lv_req TYPE trwbo_request_header.

* Auswahl eines Transportauftrags (mit Anlegen)
  CALL FUNCTION 'TR_REQUEST_CHOICE'
    EXPORTING
      iv_request_types     = p_tfunc
    IMPORTING
      es_request           = lv_req
    EXCEPTIONS
      invalid_request      = 1
      invalid_request_type = 2
      user_not_owner       = 3
      no_objects_appended  = 4
      enqueue_error        = 5
      cancelled_by_user    = 6
      recursive_call       = 7
      OTHERS               = 8.

  IF sy-subrc = 0.
    cl_demo_output=>write_data( lv_req ).
    cl_demo_output=>display( ).
  ENDIF.

Spanische Vokabeln

SpanischDeutsch
adióstschüss
aguaWasser
almuerzoMittagessen
arrozReis
azúcarZucker
buenas nochesguten Abend, gute Nacht
carneFleisch
cartaBrief
cebollaZwiebel
cenaAbendessen
cervezaBier
chicaMädchen
chicoJunge
comidaEssen
cómowie
cuandowann, als
de nadagern geschehen
desayunoFrühstück
día, díasTag, Tage
diarioZeitung
disculpeVerzeihung, Entschuldigung
elder
ellasie, ihr
emparedadoSandwich
españolspanisch
fresaErdbeere
frutaObst
gatoKatze
graciasdanke
holahallo
hombreMann
huevoEi
inglésenglisch
jugoSaft
ladas
libroBuch
limónZitrone
lecheMilch
lo sientotut mir leid
losdie
manzanaApfel
menúSpeisekarte
mimein
mucho gustosehr erfreut
mujer, mujeresFrau, Frauen
muysehr
nadanichts
naranjaorange, Orange
niña, niñasKind, Mädchen
niño, niñosKind, Junge
nonein
nocheNacht
nombreName
nuestrounser
padreVater
panBrot
papaKartoffel
pastaNudeln
perdónVerzeihung
personaPerson
pescadoFisch
polloHühnchen
por favor (no)bitte (nicht)
quesoKäse
salSalz
salsaSoße
ja
sopaSuppe
Tee
tomateTomate
toroStier
du
unein
unaeine
vegetariano(-a)Vegetarier(-in)
verduraGemüse
viejoalt
yund
yoich
SpanischDeutsch
buenas nochesguten Abend, gute Nacht
¿Cómo estás?Wie geht es Dir?
de nadagern geschehen
Él no es ...Er ist kein ...
lo sientotut mir leid
mucho gustosehr erfreut
No, no es ...Nein, es ist keine ...
por favor (no)bitte (nicht)
¿Qué hora es?Wie spät ist es?

[ABAP] Verschieben von Nodes per Drag & Drop innerhalb einer Baumansicht (CL_COLUMN_TREE_MODEL)

* globale Objektreferenz für Tree-Objekt
DATA: o_tree TYPE REF TO cl_column_tree_model.

* Übergabeobjekt für Drag-Drop-Events
CLASS lcl_dd_object DEFINITION.
  PUBLIC SECTION.
    METHODS: constructor
      IMPORTING
        i_drag_node_text TYPE tm_nodekey.

    METHODS: get_value
      RETURNING VALUE(rv_ret) TYPE tm_nodekey.

  PRIVATE SECTION.
    DATA: gv_drag_node_text TYPE tm_nodekey.
ENDCLASS.

CLASS lcl_dd_object IMPLEMENTATION.
  METHOD constructor.
    gv_drag_node_text = i_drag_node_text.
  ENDMETHOD.

  METHOD get_value.
    rv_ret = gv_drag_node_text.
  ENDMETHOD.
ENDCLASS.

* Demoprogramm: SAPSIMPLE_TREE_DRAG_DROP_DEMO
* http://saphelp.ucc.ovgu.de/NW750/EN/4d/88f020981740abe10000000a15822b/frameset.htm
* Eventhandler-Klasse
CLASS lcl_events DEFINITION.
  PUBLIC SECTION.

    TYPES: ty_it_events TYPE STANDARD TABLE OF cntl_simple_event WITH DEFAULT KEY.

    CLASS-METHODS: on_drag FOR EVENT drag OF cl_column_tree_model
      IMPORTING
        node_key
        item_name
        drag_drop_object
        sender.

    CLASS-METHODS: on_drop FOR EVENT drop OF cl_column_tree_model
      IMPORTING
        node_key
        drag_drop_object
        sender.

    CLASS-METHODS: on_drop_complete FOR EVENT drop_complete OF cl_column_tree_model
      IMPORTING
        node_key
        item_name
        drag_drop_object
        sender.
ENDCLASS.

CLASS lcl_events IMPLEMENTATION.
* Quell-Node
  METHOD on_drag.

* Übergabe Name der Quell-Node
    drag_drop_object->object = NEW lcl_dd_object( node_key ).

  ENDMETHOD.

* Ziel-Node
  METHOD on_drop.
    TRY.
* Holen Name der Quell-Node
        DATA(o_dd_obj) = CAST lcl_dd_object( drag_drop_object->object ).

        IF o_tree IS BOUND.
* Quell-Node an Ziel-Node umhängen
          o_tree->move_node(
                              node_key          = o_dd_obj->get_value( )
                              relative_node_key = node_key
                              relationship      = cl_tree_model=>relat_last_child
                           ).
        ENDIF.
      CATCH cx_root.
* Abbruch bei Cast-Fehler
        drag_drop_object->abort( ).
    ENDTRY.
  ENDMETHOD.

  METHOD on_drop_complete.

  ENDMETHOD.
ENDCLASS.

START-OF-SELECTION.
* Tree-Control erzeugen
* item_selection = abap_true wegen der CheckBoxen
  o_tree = NEW cl_column_tree_model( node_selection_mode   = cl_column_tree_model=>node_sel_mode_single
                                     hierarchy_column_name = 'FOLDER'
                                     hierarchy_header      = VALUE #( t_image = icon_folder
                                                                      heading = 'Beispiel'
                                                                      tooltip = 'Tooltip'
                                                                      width   = 30
                                                                    )
                                     item_selection        = abap_true
                                   ).
* Spalten hinzufügen
  o_tree->add_column( EXPORTING
                        name                = 'COL1'
                        width               = 30
                        header_text         = 'Column1' ).

  o_tree->add_column( EXPORTING
                        name                = 'COL2'
                        width               = 30
                        header_text         = 'Column2' ).

* in default_screen einbetten
  o_tree->create_tree_control( parent = cl_gui_container=>default_screen ).

* Drag-Drop-Verhalten definieren
  DATA(o_behaviour) = NEW cl_dragdrop( ).

  o_behaviour->add( EXPORTING
                      flavor = 'Filestest'
                      dragsrc = abap_true
                      droptarget = abap_true
                      effect = CONV i( cl_dragdrop=>move + cl_dragdrop=>copy )
                  ).

  DATA: lv_handle_dd TYPE i.

  o_behaviour->get_handle( IMPORTING handle = lv_handle_dd ).

* Beispielhaft Nodes und Subnodes erzeugen
  o_tree->add_node( EXPORTING
                      isfolder          = abap_true
                      node_key          = 'NODE1'
                      relative_node_key = ''
                      relationship      = cl_tree_model=>relat_last_child
                      expanded_image    = CONV tv_image( icon_folder )
                      image             = CONV tv_image( icon_folder )
                      item_table        = VALUE #( ( class     = cl_column_tree_model=>item_class_checkbox
                                                     item_name = 'FOLDER'
                                                     text      = 'Obj1'
                                                     editable  = abap_true
                                                   )
                                                 )

                      drag_drop_id      = lv_handle_dd
                  ).

  o_tree->add_node( EXPORTING
                      isfolder          = abap_true
                      node_key          = 'NODE1_1'
                      relative_node_key = 'NODE1'
                      relationship      = cl_tree_model=>relat_last_child
                      expanded_image    = CONV tv_image( icon_oo_object )
                      image             = CONV tv_image( icon_oo_object )
                      item_table        = VALUE #( ( class     = cl_column_tree_model=>item_class_link
                                                     item_name = 'FOLDER'
                                                     text      = 'Obj4'
                                                   )
                                                   ( class     = cl_column_tree_model=>item_class_text
                                                     item_name = 'COL1'
                                                     text      = 'Wert1'
                                                     style     = cl_column_tree_model=>style_intensified
                                                     font      = cl_column_tree_model=>item_font_prop
                                                   )
                                                   ( class     = cl_column_tree_model=>item_class_text
                                                     item_name = 'COL2'
                                                     text      = 'Wert2'
                                                   )
                                                 )

                      drag_drop_id      = lv_handle_dd
                  ).

  o_tree->add_node( EXPORTING
                      isfolder          = abap_true
                      node_key          = 'NODE2'
                      relative_node_key = ''
                      relationship      = cl_tree_model=>relat_last_child
                      expanded_image    = CONV tv_image( icon_folder )
                      image             = CONV tv_image( icon_folder )
                      item_table        = VALUE #( ( class     = cl_column_tree_model=>item_class_checkbox
                                                     item_name = 'FOLDER'
                                                     text      = 'Obj2'
                                                     editable  = abap_true
                                                   )
                                                 )

                      drag_drop_id      = lv_handle_dd
                  ).

  o_tree->add_node( EXPORTING
                      isfolder          = abap_true
                      node_key          = 'NODE2_1'
                      relative_node_key = 'NODE2'
                      relationship      = cl_tree_model=>relat_last_child
                      expanded_image    = CONV tv_image( icon_oo_object )
                      image             = CONV tv_image( icon_oo_object )
                      item_table        = VALUE #( ( class     = cl_column_tree_model=>item_class_button
                                                     item_name = 'FOLDER'
                                                     text      = 'Obj3'
                                                   )
                                                   ( class     = cl_column_tree_model=>item_class_text
                                                     item_name = 'COL1'
                                                     text      = 'Wert1'
                                                     style     = cl_column_tree_model=>style_inactive
                                                     font      = cl_column_tree_model=>item_font_prop
                                                   )
                                                   ( class     = cl_column_tree_model=>item_class_text
                                                     item_name = 'COL2'
                                                     text      = 'Wert2'
                                                   )
                                                 )

                      drag_drop_id      = lv_handle_dd
                  ).

* Nodes expandieren
  o_tree->expand_root_nodes( expand_subtree = abap_true
                             level_count = 10 ).

* Events registrieren
* ITEM_DOUBLE_CLICK            Doppelklick auf Item
* BUTTON_CLICK                 Drucktaste wurde gedrückt
* LINK_CLICK                   Link geklickt
* CHECKBOX_CHANGE              Zustandsänderung einer Checkbox
* ITEM_KEYPRESS                Taste wurde gedrückt, Item war selektiert
* HEADER_CLICK                 Header geklickt
* ITEM_CONTEXT_MENU_REQUEST    Anforderung eines Kontext-Menüs für ein Item
* ITEM_CONTEXT_MENU_SELECT     Kontext-Menü Eintrag wurde ausgewählt
* HEADER_CONTEXT_MENU_REQUEST  Anforderung eines Kontext-Menüs für einen Header
* HEADER_CONTEXT_MENU_SELECT   Kontext-Menü Eintrag wurde ausgewählt
* DRAG                         Ereignis zum Füllen des Drag Drop Daten - Objekts
* DRAG_MULTIPLE                Ereignis zum Füllen des Drag Drop Daten - Objekts
* DROP_COMPLETE                Ereignis nach erfolgreichem Drop
* DROP_COMPLETE_MULTIPLE       Ereignis nach erfolgreichem Drop
  SET HANDLER lcl_events=>on_drag FOR o_tree.
  SET HANDLER lcl_events=>on_drop FOR o_tree.
  SET HANDLER lcl_events=>on_drop_complete FOR o_tree.

* Erzeugung von cl_gui_container=>default_screen erzwingen
  WRITE: space.

[SAP] Screen Personas

Transaktionen

/PERSONAS/ADMIN (Administration SAP Screen Personas)
/PERSONAS/ANALYTICS (Personas – Analyse)
/PERSONAS/FLAVORS (Personas – Flavors)
/PERSONAS/HEALTH (Personas Health Check)
/PERSONAS/LAUNCH (Personas Flavor Launcher)
/PERSONAS/LIBRARY (MIME Object Library)
/PERSONAS/RESOURCES (Resource Maintenance)
/PERSONAS/ROLES (Role Maintenance)
/PERSONAS/SE (Slipstream Engine starten)
/PERSONAS/SETTINGS (Personas – Globale Einstellungen)
/PERSONAS/TEMPLATES (Templates Maintenance)
/PERSONAS/THEMES (Theme Maintenance)
/PERSONAS/TRANSPORTS (Transports UI)
/PERSONAS/USERS (User Maintenance)

Aufruf

  • Service Pfad
    SICF
    Service Pfad: /default_host/sap/bc/personas (SAP Screen Personas 3.0)
    Rechtsklick + Service testen.
    
  • URL
    https://host.domain:port/sap/bc/personas
    
  • Slipstream Engine
    https://host.domain:port/sap/bc/se/m
    

SICF-Services

/default_host/sap/bc/personas (SAP Screen Personas 3.0 Vorkonfigurierte SAP GUI for HTML mit aktivem SAP Screen Personas 3.0.)
/default_host/sap/bc/personas3 (/PERSONAS/CL_MIME_ZIP_HANDLER)
/default_host/sap/bc/gui/sap/its/webgui (SAP GUI for HTML)

/default_host/sap/public/bc/ui5_ui5 (SAPUI5-Bibliothek über HTTP aus MIME-Repository aufgerufen)
 
/default_host/sap/bc/se/ (Slipstream-Root-Service)
/default_host/sap/bc/se/m (Wurzelknoten für SE-Quellen)
/default_host/sap/bc/se/proxy (Proxy-Service für Slipstream Engine)
/default_host/sap/bc/se/rg (Einfacher ITS-Rest-GUI-Handler)

Vorkonfigurerte Rollen

/PERSONAS/ADMIN_ROLE (umfassende Berechtigungen für alle SAP-Screen-Personas-Funktionen)
/PERSONAS/CONSUMER_ROLE (Standardbenutzer mit der Berechtigung, Flavors zu verwalten)
/PERSONAS/EDITOR_ROLE (Geschäftsbenutzer mit Berechtigungen für eine vollständige Bearbeitung)

Links

Weltall / Raumfahrt

Bernd Leitenbergers Web Site

  • viele Aufsätze zum Thema Chemie, alte Computer und Raumfahrt

Voyager – The Interstellar Mission

  • die Seite der NASA über die Voyager-Sonden

JPL Small-Body Database Browser, Beispiel C/1995 O1 (Hale-Bopp)

  • Infos und animierte Orbits zu kleinen Objekten die unser Sonnensystem durchqueren

The REAL source of Gravity

  • Was ist Gravitation?

What is Gravity? The Illusion of Force by a Curved Dimension

  • Was ist Gravitation?

Why Gravity is NOT a Force

  • Warum Gravitation keine Kraft ist.

Does Time Cause Gravity?

  • Verursacht Zeit Gravitation?

PHYSIK THEORIE – Was ist Masse?

  • Was ist Masse?

Why No One Has Measured The Speed Of Light

  • Lichtgeschwindigkeit

Einstein-Cartan-Theorie

  • Verallgemeinerung der Allgemeinen Relativitätstheorie auf die Riemann-Cartan-Geometrie (Torsion)

[CDS-Views] Virtuelle Elemente: Aufruf von ABAP-Coding aus CDS-Views heraus

Virtuelle Elemente bieten Möglichkeiten Berechnungs- und Verarbeitungslogik von Feldwerten mittels ABAP-Klassen durchzuführen:

https://saplearners.com/virtual-elements-in-abap-cds-view/
https://help.sap.com/docs/SAP_NETWEAVER_AS_ABAP_751_IP/cc0c305d2fab47bd808adcad3ca7ee9d/a7fc007921d44263b09ccc092392b05f.html?version=7.51.7&locale=en-US