<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://wiki.m1ch3l.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=M1ch3lde</id>
	<title>SAP Wiki ツ - Benutzerbeiträge [de]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.m1ch3l.de/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=M1ch3lde"/>
	<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/Spezial:Beitr%C3%A4ge/M1ch3lde"/>
	<updated>2026-05-17T13:24:03Z</updated>
	<subtitle>Benutzerbeiträge</subtitle>
	<generator>MediaWiki 1.42.3</generator>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=CL_ABAP_CONTEXT_INFO&amp;diff=2448</id>
		<title>CL ABAP CONTEXT INFO</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=CL_ABAP_CONTEXT_INFO&amp;diff=2448"/>
		<updated>2026-04-21T09:05:07Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: Die Seite wurde neu angelegt: „DATA lv_seldate TYPE cl_abap_context_info=&amp;gt;ty_system_date.     lv_seldate = cl_abap_context_info=&amp;gt;get_system_date(  ) - lv_days_in_past.“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;DATA lv_seldate TYPE cl_abap_context_info=&amp;gt;ty_system_date.&lt;br /&gt;
    lv_seldate = cl_abap_context_info=&amp;gt;get_system_date(  ) - lv_days_in_past.&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Jobvorlagen_f%C3%BCr_Fiori_App_Anwendungsjob(F1240)_erstellen&amp;diff=2447</id>
		<title>Jobvorlagen für Fiori App Anwendungsjob(F1240) erstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Jobvorlagen_f%C3%BCr_Fiori_App_Anwendungsjob(F1240)_erstellen&amp;diff=2447"/>
		<updated>2026-04-21T08:28:06Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: /* Y/Z-Klasse */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie: Codeschnipsel]]&lt;br /&gt;
[[Kategorie: Clean-Core-Level_A]]&lt;br /&gt;
{{Codeberg|page={{PAGENAMEE}}}}&lt;br /&gt;
Jobvorlagen, auch bekannt als Job Templates, können erstellt werden, die dann in der App &amp;quot;Anwendungsjob&amp;quot; bzw. &amp;quot;Application Jobs&amp;quot; für Erstellung von Jobs genommen werden können.&lt;br /&gt;
&lt;br /&gt;
== Übersicht der benötigten Objekte in ADT ==&lt;br /&gt;
&lt;br /&gt;
* Erstellung Y/Z Klasse&lt;br /&gt;
** Verwendung Interfaces&lt;br /&gt;
*** if_apj_dt_exec_object&lt;br /&gt;
*** if_apj_rt_exec_object&lt;br /&gt;
** Implementierung Methode if_apj_dt_exec_object~get_parameters.&lt;br /&gt;
** Implementierung Methode if_apj_rt_exec_object~execute&lt;br /&gt;
* Erstellung Application Job Catalog Entry&lt;br /&gt;
** Zuordnung der Klasse mit Execute Methode&lt;br /&gt;
* Erstellung Job Template&lt;br /&gt;
** Zuordnung Job Catalog Entry&lt;br /&gt;
** Festlegung Defaultwerte, wenn ein Template für Joberstellung genutzt wird&lt;br /&gt;
&lt;br /&gt;
== Anlegen der benötigten Objekte in ADT ==&lt;br /&gt;
&lt;br /&gt;
=== Y/Z-Klasse ===&lt;br /&gt;
Ich habe es mir angewöhnt die Klassen mit &amp;quot;_ajob&amp;quot; zu enden.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line copy&amp;gt;&lt;br /&gt;
 CLASS ycl_name_of_class_ajob DEFINITION&lt;br /&gt;
  PUBLIC&lt;br /&gt;
  FINAL&lt;br /&gt;
  CREATE PUBLIC .&lt;br /&gt;
&lt;br /&gt;
  PUBLIC SECTION.&lt;br /&gt;
    INTERFACES: if_apj_dt_exec_object,&lt;br /&gt;
                if_apj_rt_exec_object.&lt;br /&gt;
    &lt;br /&gt;
    &amp;quot;Spätere Parameter bei Jobanlage&lt;br /&gt;
    CONSTANTS: cv_material       TYPE selname VALUE &#039;SO_MATNR&#039; ##NO_TEXT,&lt;br /&gt;
               cv_posting_date   TYPE selname VALUE &#039;P_PODATE&#039; ##NO_TEXT.&lt;br /&gt;
  PROTECTED SECTION.&lt;br /&gt;
  PRIVATE SECTION.&lt;br /&gt;
 ENDCLASS.&lt;br /&gt;
&lt;br /&gt;
 CLASS ycl_name_of_class_ajob IMPLEMENTATION.&lt;br /&gt;
  METHOD if_apj_dt_exec_object~get_parameters.&lt;br /&gt;
&lt;br /&gt;
    et_parameter_def = VALUE #(&lt;br /&gt;
          ( selname = &#039;SO_MATNR&#039;  kind = &#039;S&#039; datatype = &#039;C&#039; component_type = &#039;MATNR&#039;      length = &#039;40&#039;  decimals = &#039;0&#039; param_text =&#039;Material&#039;(001) changeable_ind = &#039;X&#039; )&lt;br /&gt;
          ( selname = &#039;P_PODATE&#039;  kind = &#039;P&#039; datatype = &#039;D&#039; component_type = &#039;BUDAT&#039;      length = &#039;6&#039;  decimals = &#039;0&#039; param_text =&#039;Posting Date&#039;(004) changeable_ind = &#039;X&#039; mandatory_ind = &#039;&#039; )&lt;br /&gt;
      ).&lt;br /&gt;
&lt;br /&gt;
    &amp;quot; Default value&lt;br /&gt;
    et_parameter_val = VALUE #(&lt;br /&gt;
      ( selname = &#039;P_PODATE&#039;&lt;br /&gt;
        kind    = &#039;P&#039;&lt;br /&gt;
        sign    = &#039;I&#039;&lt;br /&gt;
        option  = &#039;EQ&#039;&lt;br /&gt;
        low     = sy-datum ) ##NO_TEXT&lt;br /&gt;
    ).&lt;br /&gt;
  ENDMETHOD.&lt;br /&gt;
&lt;br /&gt;
  METHOD if_apj_rt_exec_object~execute.&lt;br /&gt;
&lt;br /&gt;
    TRY.&lt;br /&gt;
        DATA(lo_log) = cl_bali_log=&amp;gt;create_with_header( cl_bali_header_setter=&amp;gt;create( object =&#039;&#039; subobject = &#039;&#039; external_id = &#039;&#039; ) ).&lt;br /&gt;
      CATCH cx_bali_runtime.&lt;br /&gt;
    ENDTRY.&lt;br /&gt;
&lt;br /&gt;
    TRY.&lt;br /&gt;
        DATA(lv_posting_date) = it_parameters[ selname = cv_posting_date ]-low.&lt;br /&gt;
      CATCH cx_sy_itab_line_not_found.&lt;br /&gt;
       RETURN.&lt;br /&gt;
    ENDTRY.&lt;br /&gt;
&lt;br /&gt;
    DATA: ltr_material      TYPE RANGE OF matnr.&lt;br /&gt;
&lt;br /&gt;
    LOOP AT it_parameters ASSIGNING FIELD-SYMBOL(&amp;lt;ls_para&amp;gt;).&lt;br /&gt;
      CASE &amp;lt;ls_para&amp;gt;-selname.&lt;br /&gt;
        WHEN cv_material.&lt;br /&gt;
          APPEND INITIAL LINE TO ltr_material ASSIGNING FIELD-SYMBOL(&amp;lt;ls_add_material&amp;gt;).&lt;br /&gt;
          MOVE-CORRESPONDING &amp;lt;ls_para&amp;gt; TO &amp;lt;ls_add_material&amp;gt;.&lt;br /&gt;
        WHEN OTHERS.&lt;br /&gt;
         &amp;quot;Handling, wenn ein Parameter da ist, der nicht erwartet wird&lt;br /&gt;
      ENDCASE.&lt;br /&gt;
    ENDLOOP.&lt;br /&gt;
&lt;br /&gt;
    &amp;quot;Dein&lt;br /&gt;
    &amp;quot;Application Code&lt;br /&gt;
    &amp;quot;hier&lt;br /&gt;
&lt;br /&gt;
    TRY.&lt;br /&gt;
        cl_bali_log_db=&amp;gt;get_instance( )-&amp;gt;save_log( log = lo_log&lt;br /&gt;
                                                   assign_to_current_appl_job = abap_true ).&lt;br /&gt;
     CATCH cx_bali_runtime.&lt;br /&gt;
    ENDTRY.&lt;br /&gt;
   ENDMETHOD.&lt;br /&gt;
  ENDCLASS.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Erstellung Job Entry ===&lt;br /&gt;
Das Objekt in ADT heißt &amp;quot;Application Job Catalog Entry&amp;quot;.&lt;br /&gt;
Selber bezeichne ich es am Ende mit &amp;quot;_JOB_CAT&amp;quot;.&lt;br /&gt;
Wenn das Objekt angelegt ist, kann unter &amp;quot;General Information&amp;quot; die Klasse angegeben werden, worin sich die execute-Methode befindet&lt;br /&gt;
&lt;br /&gt;
=== Erstellung Job Template ===&lt;br /&gt;
Das Objekt in ADT heißt &amp;quot;Application Job Template&amp;quot;.&lt;br /&gt;
Selber bezeichne ich es am Ende mit &amp;quot;_JOB_TEMP&amp;quot;.&lt;br /&gt;
Wenn das Objekt angelegt ist, kann unter &amp;quot;General Information&amp;quot; das bereits angelegte Job Catalog Entry zugeordnet werden.&lt;br /&gt;
Bei &amp;quot;Parameters &amp;quot; können Defaultwerte mitgegeben werden.&lt;br /&gt;
&lt;br /&gt;
== Debugging Application Jobs ==&lt;br /&gt;
Application Jobs, die via App angelegt und durchgeführt werden, sind wie die klassischen Jobs ebenfalls in SM37 zu sehen. Der Jobname hat allerdings einen zufällig generierten Namen. Das Debugging ist möglich, wenn man den Job via Checkbox markiert und in der GUI im Transaktionsfeld JDBG eingetragen und mit Enter bestätigt wird. Wenn ein Breakpoint in der o.g. Methoden in der GUI gesetzt ist, dann springt der Debugger an.&lt;br /&gt;
&lt;br /&gt;
== Entwicklung ==&lt;br /&gt;
* [[Anwendungsjob(F1240)_via_ABAP_mit_Jobvorlage_erstellen_und_terminieren]]&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Anwendungsprotokoll_in_Cloud_Entwicklung_erstellen&amp;diff=2446</id>
		<title>Anwendungsprotokoll in Cloud Entwicklung erstellen</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Anwendungsprotokoll_in_Cloud_Entwicklung_erstellen&amp;diff=2446"/>
		<updated>2026-04-11T09:06:27Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie: Codeschnipsel]]&lt;br /&gt;
[[Kategorie:Clean-Core-Level_A]]&lt;br /&gt;
Für T1 / Cloud Entwicklungen können die bekannten FuBas oder klassischen Klassen für Erstellungen von Application Logs nicht mehr genutzt werden.&lt;br /&gt;
Hierfür bietet die SAP mehrere freigegebende Klassen für die Cloud Entwicklung, s. [[SAP_Klassen#Application_Log]]&lt;br /&gt;
Das Objekt und Subobjekt sollte nicht via SLG0, sondern via Eclipse mit ABAP Development Tools angelegt werden.&lt;br /&gt;
&lt;br /&gt;
= Anwendung der Klassen =&lt;br /&gt;
&lt;br /&gt;
&amp;lt;div class=&amp;quot;adminonly&amp;quot; style=&amp;quot;display:none; text-align:right;&amp;quot;&amp;gt;https://pastebin.com/5punprFi&amp;lt;/div&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Neuen Anwendungsprotokoll erstellen ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line copy&amp;gt;&lt;br /&gt;
 TRY.&lt;br /&gt;
  DATA(lo_log) = cl_bali_log=&amp;gt;create( ).&lt;br /&gt;
 CATCH cx_bali_runtime INTO DATA(lx_runtime_exception).&lt;br /&gt;
 ENDTRY.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Kopfdaten zum Anwendungsprotokoll erstellen ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line copy&amp;gt;&lt;br /&gt;
 lo_log-&amp;gt;set_header( header = cl_bali_header_setter=&amp;gt;create( object = &#039;YOBJECT&#039;&lt;br /&gt;
                                                             subobject = &#039;YSUBOBJECT&#039;&lt;br /&gt;
                                                             external_id = &#039;Ext ID&#039; ) ).&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Nachrichten zum Anwendungsprotokoll hinzufügen ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line copy&amp;gt;&lt;br /&gt;
 TRY. &lt;br /&gt;
  DATA(lo_message) = cl_bali_message_setter=&amp;gt;create( severity = if_bali_constants=&amp;gt;c_severity_error&lt;br /&gt;
                                                     id = &#039;YMC_ABC&#039;&lt;br /&gt;
                                                     number = &#039;000&#039; ).&lt;br /&gt;
   lo_log-&amp;gt;add_item( item = lo_message ).&lt;br /&gt;
  &lt;br /&gt;
   lo_log-&amp;gt;add_item( item = cl_bali_message_setter=&amp;gt;create_from_sy( ) ).&lt;br /&gt;
  &lt;br /&gt;
   DATA(lo_free_text) = cl_bali_free_text_setter=&amp;gt;create( severity = if_bali_constants=&amp;gt;c_severity_error&lt;br /&gt;
                                                              text = &#039;Some Error Text&#039; ).&lt;br /&gt;
   lo_log-&amp;gt;add_item( item = lo_free_text ).&lt;br /&gt;
  &lt;br /&gt;
   DATA(lo_exception) = cl_bali_exception_setter=&amp;gt;create( severity = if_bali_constants=&amp;gt;c_severity_error&lt;br /&gt;
                                                         exception = lo_ref ).&lt;br /&gt;
   lo_log-&amp;gt;add_item( item = lo_exception ).&lt;br /&gt;
  CATCH cx_bali_runtime INTO DATA(lx_runtime_exception).&lt;br /&gt;
 ENDTRY.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Anwendungsprotokoll auf die Datenbank speichern ==&lt;br /&gt;
Es gibt zwei Methoden zum Speichern des Logs:&lt;br /&gt;
* SAVE_LOG: verwendet die Standarddatenbankverbindung. Dies bedeutet, dass das Protokoll nur dann auf die Datenbank geschrieben wird, wenn die Anwendung COMMIT_WORK aufruft.&lt;br /&gt;
* SAVE_LOG_2ND_DB_CONNECTION: verwendet zum Speichern ein Service, der das Protokoll direkt auf die Datenbank commited&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line copy&amp;gt; &lt;br /&gt;
 TRY. &lt;br /&gt;
  cl_bali_log_db=&amp;gt;get_instance( )-&amp;gt;save_log( log = lo_log ).&lt;br /&gt;
  cl_bali_log_db=&amp;gt;get_instance( )-&amp;gt;save_log_2nd_db_connection( log = lo_log ).&lt;br /&gt;
 CATCH cx_bali_runtime INTO DATA(lx_runtime_exception).&lt;br /&gt;
 ENDTRY.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Anwendungsprotokoll aus dem Speicher löschen / Prüfung Speicher gelöscht ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line copy&amp;gt;&lt;br /&gt;
 TRY.&lt;br /&gt;
  lo_log-&amp;gt;release_memory( ).  &lt;br /&gt;
  IF lo_log-&amp;gt;is_invalidated( ).&lt;br /&gt;
  ENDIF&lt;br /&gt;
 CATCH cx_bali_runtime INTO DATA(lx_runtime_exception).&lt;br /&gt;
  lo_runtime_exception-&amp;gt;get_text(  ).&lt;br /&gt;
 ENDTRY.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Anwendungsprotokoll löschen ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line copy&amp;gt;&lt;br /&gt;
 TRY.&lt;br /&gt;
   cl_bali_log_db=&amp;gt;get_instance( )-&amp;gt;delete_log( log = lo_log ).&lt;br /&gt;
  CATCH cx_bali_runtime INTO DATA(lx_runtime_exception).&lt;br /&gt;
 ENDTRY.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
== Anwendungsprotokoll in Fiori-Anwendungsjob anhängen ==&lt;br /&gt;
&lt;br /&gt;
Der Vorteil der o.g. verwendeten Klassen beim Speichern des Logs ist, dass diese direkt dem Anwendungsjob, die via Fiori App &amp;quot;Anwendungsjob&amp;quot; erstellt wurden, angehangen werden, wenn der entsprechende Parameter &amp;quot;ASSIGN_TO_CURRENT_APPL_JOB&amp;quot; bei cl_bali_log_db=&amp;gt;get_instance( )-&amp;gt;save_log( log = lo_log ). auf abap_true gesetzt wird.&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=SPLIT&amp;diff=2445</id>
		<title>SPLIT</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=SPLIT&amp;diff=2445"/>
		<updated>2026-03-29T12:10:25Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: /* Zusatz &amp;quot;IN CHARACTER MOD&amp;quot;E oder &amp;quot;IN BYTE MODE&amp;quot; */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Schlüsselbegriffe]]&lt;br /&gt;
&lt;br /&gt;
Mit SPLIT können zeichen- bzw. byteartige Variablen mit einem bestimmten Trennzeichen aufgesplittet werden.&lt;br /&gt;
&lt;br /&gt;
=== Speicherung der Ergebnisse in eine interne Tabelle ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
 lv_split_char        TYPE char01,&lt;br /&gt;
 lv_line              TYPE string,&lt;br /&gt;
 lt_splitted_data     TYPE TABLE OF string,&lt;br /&gt;
&lt;br /&gt;
 SPLIT lv_line AT lv_split_char INTO TABLE lt_splitted_data&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Speicherung der Ergebnisse in beliebig viele Variablen und Gesamtergebnis in eine interne Tabelle ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
 SPLIT lv_line AT space INTO DATA(str1) DATA(str2) DATA(str3), lt_splitted_data.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Wenn lv_line als Inhalt &amp;quot;Ich bin SAP Berater und Entwickler&amp;quot; hat, würden die Variablen &amp;quot;str1&amp;quot; das Wort &amp;quot;Ich&amp;quot;, &amp;quot;str2 das Wort &amp;quot;bin&amp;quot; und der str3 die restlichen Wörter also &amp;quot;SAP Berater und Entwickler&amp;quot; beinhalten. Die Tabelle enthält alle Aufteilungen d.h. sechs Zeilen.&lt;br /&gt;
&lt;br /&gt;
=== Zusatz &amp;quot;IN CHARACTER MODE&amp;quot; oder &amp;quot;IN BYTE MODE&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Wenn garnichts angegeben wird, wird eine Zeichenkettenverarbeitung durchgeführt.&lt;br /&gt;
Bei Bytestrings ist dann am Ende des Befehls &amp;quot;IN BYTE MODE&amp;quot; anzugeben.&lt;br /&gt;
&lt;br /&gt;
=== Bedeutung der sy-subrcs ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;sy-subrc&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Bedeutung&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|0&lt;br /&gt;
|Die Segmente wurden ohne Abschneiden in die Zielfelder bzw. die interne Tabelle übertragen. &lt;br /&gt;
|-&lt;br /&gt;
|4&lt;br /&gt;
|Beim Übertragen mindestens eines Segments in die Zielfelder bzw. die interne Tabelle wurde rechts abgeschnitten.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Nützliche Seiten ===&lt;br /&gt;
&lt;br /&gt;
* https://help.sap.com/doc/abapdocu_751_index_htm/7.51/de-DE/abapsplit.htm&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Lesezeichen&amp;diff=2444</id>
		<title>Lesezeichen</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Lesezeichen&amp;diff=2444"/>
		<updated>2026-03-29T11:30:00Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;TYPES: BEGIN OF zstock,&lt;br /&gt;
         matnr TYPE matnr,   &amp;quot;char40&lt;br /&gt;
         werks TYPE werks_d, &amp;quot;char04&lt;br /&gt;
         lgort TYPE lgort_d, &amp;quot;char04&lt;br /&gt;
         labst TYPE labst,   &amp;quot;quan13&lt;br /&gt;
       END OF zstock.&lt;br /&gt;
&lt;br /&gt;
DATA lt_mard  TYPE TABLE OF zstock,&lt;br /&gt;
     lt_stock TYPE TABLE OF zstock.&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Beispiel-Daten&lt;br /&gt;
lt_mard = VALUE #( ( matnr = &#039;100&#039; werks = &#039;1710&#039; lgort = &#039;1720&#039; labst = 125 )&lt;br /&gt;
                   ( matnr = &#039;110&#039; werks = &#039;1710&#039; lgort = &#039;1730&#039; labst = 250 )&lt;br /&gt;
                   ( matnr = &#039;110&#039; werks = &#039;1710&#039; lgort = &#039;1730&#039; labst = 500 )&lt;br /&gt;
                   ( matnr = &#039;120&#039; werks = &#039;1710&#039; lgort = &#039;1740&#039; labst = 750 ) ).&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Aggregation mit REDUCE&lt;br /&gt;
DATA(lt_stock_reduced) = VALUE zstock_table( &lt;br /&gt;
  FOR wa IN lt_mard&lt;br /&gt;
  GROUP BY ( matnr = wa-matnr werks = wa-werks lgort = wa-lgort ) &lt;br /&gt;
  INTO DATA(group)&lt;br /&gt;
  LET total_labst = REDUCE i( INIT x = 0&lt;br /&gt;
                               FOR g IN group&lt;br /&gt;
                               NEXT x = x + g-labst )&lt;br /&gt;
  IN ( matnr = group-key-matnr&lt;br /&gt;
       werks = group-key-werks&lt;br /&gt;
       lgort = group-key-lgort&lt;br /&gt;
       labst = total_labst ) ).&lt;br /&gt;
&lt;br /&gt;
&amp;quot; Ausgabe zum Test&lt;br /&gt;
LOOP AT lt_stock_reduced INTO DATA(ls).&lt;br /&gt;
  WRITE: / ls-matnr, ls-werks, ls-lgort, ls-labst.&lt;br /&gt;
ENDLOOP.&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=CORRESPONDING&amp;diff=2443</id>
		<title>CORRESPONDING</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=CORRESPONDING&amp;diff=2443"/>
		<updated>2026-03-29T11:23:56Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: /* CORRESPONDING anwenden wie MOVE-CORRESPONDING */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Schlüsselbegriffe]]&lt;br /&gt;
&lt;br /&gt;
=== MAPPING ===&lt;br /&gt;
 lt_send_documents = CORRESPONDING #( BASE ( lt_send_documents ) it_documents MAPPING bukrs = rbukrs ).&lt;br /&gt;
&lt;br /&gt;
=== EXCEPT ===&lt;br /&gt;
 lt_data2 = CORRESPONDING #( BASE ( lt_data2 ) lt_data MAPPING zcol1 = ycol1&lt;br /&gt;
                                                        EXCEPT ycol1 ).&lt;br /&gt;
&lt;br /&gt;
=== CORRESPONDING anwenden wie MOVE-CORRESPONDING ===&lt;br /&gt;
&lt;br /&gt;
struct2 = CORRESPONDING #( BASE ( struct2 ) struct1 ).&amp;lt;br/&amp;gt;&lt;br /&gt;
MOVE-CORRESPONDING struct1 TO struct2.&lt;br /&gt;
&lt;br /&gt;
itab2 = CORRESPONDING #( BASE ( itab2 ) itab1 ).&amp;lt;br/&amp;gt;&lt;br /&gt;
MOVE-CORRESPONDING itab1 TO itab2 KEEPING TARGET LINES.&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=CORRESPONDING&amp;diff=2442</id>
		<title>CORRESPONDING</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=CORRESPONDING&amp;diff=2442"/>
		<updated>2026-03-29T11:22:50Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Schlüsselbegriffe]]&lt;br /&gt;
&lt;br /&gt;
=== MAPPING ===&lt;br /&gt;
 lt_send_documents = CORRESPONDING #( BASE ( lt_send_documents ) it_documents MAPPING bukrs = rbukrs ).&lt;br /&gt;
&lt;br /&gt;
=== EXCEPT ===&lt;br /&gt;
 lt_data2 = CORRESPONDING #( BASE ( lt_data2 ) lt_data MAPPING zcol1 = ycol1&lt;br /&gt;
                                                        EXCEPT ycol1 ).&lt;br /&gt;
&lt;br /&gt;
=== CORRESPONDING anwenden wie MOVE-CORRESPONDING ===&lt;br /&gt;
&lt;br /&gt;
struct2 = CORRESPONDING #( BASE ( struct2 ) struct1 ).&lt;br /&gt;
MOVE-CORRESPONDING struct1 TO struct2.&lt;br /&gt;
&lt;br /&gt;
itab2 = CORRESPONDING #( BASE ( itab2 ) itab1 ).&lt;br /&gt;
MOVE-CORRESPONDING itab1 TO itab2 KEEPING TARGET LINES.&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Simulation_der_Konditionen_anhand_vom_Einkaufsinfosatz_und_letzte_Bestellung_mit_R%C3%BCckgabe_der_Konditionen_im_Format_des_Kalkulationsschemas&amp;diff=2441</id>
		<title>Simulation der Konditionen anhand vom Einkaufsinfosatz und letzte Bestellung mit Rückgabe der Konditionen im Format des Kalkulationsschemas</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Simulation_der_Konditionen_anhand_vom_Einkaufsinfosatz_und_letzte_Bestellung_mit_R%C3%BCckgabe_der_Konditionen_im_Format_des_Kalkulationsschemas&amp;diff=2441"/>
		<updated>2026-03-27T16:29:58Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Codeschnipsel]]&lt;br /&gt;
[[Kategorie:Clean-Core-Level_C]]&lt;br /&gt;
Der Funktionsbaustein [[ME_PO_PRICE_SIMULATION]] kann verwendet werden, wenn für eine Preissimulation kein Positions- und Kontierungstyp verwendet wird. Zudem ist die Rückgabe rein auf die Konditionsarten beschränkt, d.h. Zwischensummen bekommt man nicht zurück.&lt;br /&gt;
&lt;br /&gt;
In der Transaktion ME1M ist eine Preissimulation möglich. &lt;br /&gt;
Dort werden die folgenden internen FuBas verwendet:&lt;br /&gt;
* [[ME_PRICING_REFRESH]]&lt;br /&gt;
* [[ME_PRICING_INFORECORD]]&lt;br /&gt;
* [[ME_PRICING_DIALOG]]&lt;br /&gt;
* [[ME_PRICING_DELIVERY_PLAN]]&lt;br /&gt;
&lt;br /&gt;
Die Preissimulation baut auf den Infosatz bzw. wenn der Nettowert = 0 ist, wird die letzte Bestellposition herangezogen, insofern sie nicht als gelöscht markiert ist.&lt;br /&gt;
&lt;br /&gt;
Dies in Rahmen bei eigenem Coding verwenden zu können, zeigt ein kleines Testprogramm:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;
*&amp;amp; Report YMM_TEST_PROGRAM&lt;br /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;
*&amp;amp;&lt;br /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;
REPORT ymm_test_program.&lt;br /&gt;
&lt;br /&gt;
DATA:    BEGIN OF tmepr OCCURS 30.&lt;br /&gt;
           INCLUDE STRUCTURE meprtab.&lt;br /&gt;
DATA:    END OF tmepr.&lt;br /&gt;
DATA komp TYPE komp.&lt;br /&gt;
DATA komk TYPE komk.&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM eina&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE infnr = &#039;5300000873&#039;&lt;br /&gt;
INTO @DATA(eina).&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM eine&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE infnr = &#039;5300000873&#039;&lt;br /&gt;
  AND ekorg = &#039;1000&#039;&lt;br /&gt;
  AND esokz = &#039;0&#039;&lt;br /&gt;
INTO @DATA(eine).&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM lfm1&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE lifnr = &#039;0000139156&#039;&lt;br /&gt;
  AND ekorg = &#039;1000&#039;&lt;br /&gt;
INTO @DATA(lfm1).&lt;br /&gt;
&lt;br /&gt;
CALL FUNCTION &#039;ME_PRICING_REFRESH&#039;.&lt;br /&gt;
&lt;br /&gt;
CALL FUNCTION &#039;ME_PRICING_DIALOG&#039;&lt;br /&gt;
 EXPORTING&lt;br /&gt;
  dunkel       = &#039;X&#039;&lt;br /&gt;
  meins        = eina-meins&lt;br /&gt;
  menge        = eine-norbm&lt;br /&gt;
  termin       = sy-datum&lt;br /&gt;
&lt;br /&gt;
CALL FUNCTION &#039;ME_PRICING_INFORECORD&#039;&lt;br /&gt;
  EXPORTING&lt;br /&gt;
    infoa      = eina&lt;br /&gt;
    infoe      = eine&lt;br /&gt;
    lieferant  = lfm1&lt;br /&gt;
    simulation = &#039;X&#039;&lt;br /&gt;
  IMPORTING&lt;br /&gt;
    preisk     = komk&lt;br /&gt;
    preisp     = komp&lt;br /&gt;
  TABLES&lt;br /&gt;
    elemente   = tmepr.&lt;br /&gt;
&lt;br /&gt;
FIELD-SYMBOLS: &amp;lt;fs&amp;gt; TYPE table.&lt;br /&gt;
DATA tab TYPE TABLE OF komv.&lt;br /&gt;
DATA: l_variable(40) VALUE &#039;(SAPLMEPR)GKOMV[]&#039;.&lt;br /&gt;
&lt;br /&gt;
* Retrieve values from calling program&lt;br /&gt;
ASSIGN (l_variable) TO &amp;lt;fs&amp;gt;.&lt;br /&gt;
MOVE &amp;lt;fs&amp;gt; TO tab.&lt;br /&gt;
&lt;br /&gt;
WRITE &#039;.&#039;.&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM eina&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE infnr = &#039;5300010050&#039;&lt;br /&gt;
INTO @DATA(eina2).&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM eine&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE infnr = &#039;5300010050&#039;&lt;br /&gt;
  AND ekorg = &#039;1000&#039;&lt;br /&gt;
  AND esokz = &#039;0&#039;&lt;br /&gt;
INTO @DATA(eine2).&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM lfm1&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE lifnr = &#039;0000263203&#039;&lt;br /&gt;
  AND ekorg = &#039;1000&#039;&lt;br /&gt;
INTO @DATA(lfm12).&lt;br /&gt;
&lt;br /&gt;
CALL FUNCTION &#039;ME_PRICING_REFRESH&#039;.&lt;br /&gt;
&lt;br /&gt;
CALL FUNCTION &#039;ME_PRICING_INFORECORD&#039;&lt;br /&gt;
  EXPORTING&lt;br /&gt;
    infoa      = eina2&lt;br /&gt;
    infoe      = eine2&lt;br /&gt;
    lieferant  = lfm12&lt;br /&gt;
    simulation = &#039;X&#039;&lt;br /&gt;
  IMPORTING&lt;br /&gt;
    preisk     = komk&lt;br /&gt;
    preisp     = komp&lt;br /&gt;
  TABLES&lt;br /&gt;
    elemente   = tmepr.&lt;br /&gt;
&lt;br /&gt;
IF komp-netwr = 0.&lt;br /&gt;
  &amp;quot;IF eine-ebeln NE space AND eine-bstyp NE bstyp-kont AND&lt;br /&gt;
  &amp;quot;vorgang NE &#039;AP&#039;.&lt;br /&gt;
  SELECT SINGLE * FROM ekpo WHERE ebeln EQ &#039;4800000564&#039;&lt;br /&gt;
                              AND   ebelp EQ &#039;00060&#039;&lt;br /&gt;
                              AND   loekz EQ @space&lt;br /&gt;
    INTO @DATA(ekpo).&lt;br /&gt;
  SELECT SINGLE * FROM ekko WHERE ebeln EQ &#039;4800000564&#039;&lt;br /&gt;
    INTO @DATA(ekko).&lt;br /&gt;
  &amp;quot;ENDIF.&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &#039;ME_PRICING_DIALOG&#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      i_ekpo   = ekpo&lt;br /&gt;
      dunkel   = &#039;X&#039;&lt;br /&gt;
      skonto   = space &amp;quot;i_skonto&lt;br /&gt;
      bezugs   = space &amp;quot;i_bezugs&lt;br /&gt;
      effektiv = space. &amp;quot;i_effekt&lt;br /&gt;
*              menge    = eine-norbm&lt;br /&gt;
*              meins    = eina-meins&lt;br /&gt;
*              termin   = sy-datlo.&lt;br /&gt;
  &amp;quot;IMPORTING&lt;br /&gt;
  &amp;quot; exitflag = exitflag.&lt;br /&gt;
  DATA ls_isi_me_pricing_delivery TYPE isi_me_pricing_delivery_plan.&lt;br /&gt;
  CALL FUNCTION &#039;ME_PRICING_DELIVERY_PLAN&#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      simulation     = &#039;X&#039;&lt;br /&gt;
      dialog         = space&lt;br /&gt;
      &amp;quot;material      = mt06e war im Durchlauf aktiv. Besser versorgen&lt;br /&gt;
      belegkopf      = ekko&lt;br /&gt;
      belegposition  = ekpo&lt;br /&gt;
      infonummer     = eine-infnr&lt;br /&gt;
      infotyp        = eine-esokz&lt;br /&gt;
      infowerk       = eine-werks&lt;br /&gt;
      is_enhancement = ls_isi_me_pricing_delivery  &amp;quot;IS2ERP&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      preisp         = komp&lt;br /&gt;
      preisk         = komk.&lt;br /&gt;
&lt;br /&gt;
  CLEAR tab.&lt;br /&gt;
* Retrieve values from calling program&lt;br /&gt;
  ASSIGN (l_variable) TO &amp;lt;fs&amp;gt;.&lt;br /&gt;
  MOVE &amp;lt;fs&amp;gt; TO tab.&lt;br /&gt;
  DELETE tab WHERE knumv IS INITIAL.&lt;br /&gt;
&lt;br /&gt;
  WRITE &#039;.&#039;.&lt;br /&gt;
&lt;br /&gt;
ENDIF.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=READ_TEXT&amp;diff=2440</id>
		<title>READ TEXT</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=READ_TEXT&amp;diff=2440"/>
		<updated>2026-03-24T15:43:46Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie: Clean-Core-Level_B]]&lt;br /&gt;
Mit diesem FuBa können die Texte aus Stammsätze und Belege ermittelt werden.&lt;br /&gt;
&lt;br /&gt;
Wie die Parameter für verschiedene Texte zusammengesetzt werden müssen, kann man hier auf einen Blick sehen:&amp;lt;br /&amp;gt;&lt;br /&gt;
=&amp;gt; [[Texte_in_Stammsätze_und_Belege#Header_verschiedener_Texte|Texte in Stammsätze und Belege]]&lt;br /&gt;
&lt;br /&gt;
Der Text wird in eine simple internen Tabelle mit Typ &amp;quot;TLINE&amp;quot; geschrieben.&lt;br /&gt;
Oft ist es das Ziel die Inhalte in einem String zu speichern.&lt;br /&gt;
&lt;br /&gt;
Zum Beispiel könnte der Inhalt der interne Tabelle so aussehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:READ TEXT Output Table.png]]&lt;br /&gt;
&lt;br /&gt;
Die Verkettung abhängig vom TDFORMAT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  IF sy-subrc = 0 AND lines( lt_text_lines ) &amp;gt; 0.&lt;br /&gt;
    LOOP AT lt_text_lines ASSIGNING FIELD-SYMBOL(&amp;lt;text_line&amp;gt;).&lt;br /&gt;
      IF &amp;lt;text_line&amp;gt;-tdformat EQ &#039;*&#039; AND sy-tabix &amp;gt; 1.&lt;br /&gt;
        rv_result = |{ rv_result }{ cl_abap_char_utilities=&amp;gt;cr_lf }{ &amp;lt;text_line&amp;gt;-tdline }|.&lt;br /&gt;
      ELSEIF &amp;lt;text_line&amp;gt;-tdformat EQ &#039;=&#039; OR sy-tabix = 1.&lt;br /&gt;
        rv_result = |{ rv_result }{ &amp;lt;text_line&amp;gt;-tdline }|.&lt;br /&gt;
      ELSE.&lt;br /&gt;
        rv_result = |{ rv_result } { &amp;lt;text_line&amp;gt;-tdline }|.&lt;br /&gt;
      ENDIF.&lt;br /&gt;
    ENDLOOP.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Splittung Text bei 70 Zeichen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    LOOP AT lt_text_lines ASSIGNING FIELD-SYMBOL(&amp;lt;ls_line&amp;gt;).&lt;br /&gt;
       DATA(lv_text) = &amp;lt;ls_line&amp;gt;-tdline.&lt;br /&gt;
       DATA(lv_len)  = strlen( lv_text ).&lt;br /&gt;
       DATA(lv_off)  = 0.&lt;br /&gt;
&lt;br /&gt;
       IF lv_text IS INITIAL AND &amp;lt;ls_line&amp;gt;-tdformat = &#039;*&#039;.&lt;br /&gt;
        APPEND VALUE #( tdformat = &#039;*&#039;&lt;br /&gt;
                        tdline   = &#039;&#039; ) TO &amp;lt;ls_append&amp;gt;-lines.&lt;br /&gt;
        CONTINUE.&lt;br /&gt;
       ENDIF.&lt;br /&gt;
&lt;br /&gt;
       DATA(lv_first) = abap_true.&lt;br /&gt;
       WHILE lv_off &amp;lt; lv_len.&lt;br /&gt;
         DATA(lv_rest) = lv_len - lv_off.&lt;br /&gt;
         DATA(lv_take) = COND i( WHEN lv_rest &amp;gt; 70 THEN 70&lt;br /&gt;
                                 ELSE lv_rest ).&lt;br /&gt;
&lt;br /&gt;
         APPEND VALUE #(&lt;br /&gt;
         tdformat = COND #( WHEN lv_first = abap_true THEN &amp;lt;ls_line&amp;gt;-tdformat&lt;br /&gt;
                            ELSE &#039;=&#039; )&lt;br /&gt;
         tdline   = lv_text+lv_off(lv_take) ) TO &amp;lt;ls_append&amp;gt;-lines.&lt;br /&gt;
         lv_off += 70.&lt;br /&gt;
         lv_first = abap_false.&lt;br /&gt;
       ENDWHILE.&lt;br /&gt;
&lt;br /&gt;
     ENDLOOP.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Textkonvertierung von ITF in ASCII nach Lesen SAPScript Textbausteine ===&lt;br /&gt;
&lt;br /&gt;
Wenn ein Text von einem SO10 Text gelesen wird, können hier u.U. ungewünschte Textformatierungen vorhanden sein.&lt;br /&gt;
Zum Beispiel wird bei einem Komma bei der Ausgabe das Komma mit &amp;quot;&amp;lt;(&amp;gt;,&amp;lt;)&amp;gt;&amp;quot; angezeigt:&lt;br /&gt;
&lt;br /&gt;
[[Datei:READ TEXT SAPScript textbaustein.png]]&lt;br /&gt;
&lt;br /&gt;
Mit FuBa &amp;quot;CONVERT_ITF_TO_ASCII&amp;quot; kann das SAPScript in ein ASCII Format konvertiert werden.&lt;br /&gt;
Alternativ arbeitet man am Beispiel des Kommas mit [[REPLACE|REPLACE]].&lt;br /&gt;
&lt;br /&gt;
== Texte über CDS-Views und Klasse ==&lt;br /&gt;
&lt;br /&gt;
[[CL_MM_PUR_TEXT_FACTORY]]&lt;br /&gt;
&lt;br /&gt;
Beispiel zur Nutzung in CL_MM_PUR_PR_PROFNL_DPC_EXT&lt;br /&gt;
&lt;br /&gt;
Mapping Verständnis&lt;br /&gt;
* ArchObjectNumber = text_objectid&lt;br /&gt;
* DocumentText = text_id&lt;br /&gt;
* TechnicalObjectType = text_object&lt;br /&gt;
* language = spras&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=READ_TEXT&amp;diff=2439</id>
		<title>READ TEXT</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=READ_TEXT&amp;diff=2439"/>
		<updated>2026-03-24T15:43:25Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie: Clean-Core-Level_B]]&lt;br /&gt;
Mit diesem FuBa können die Texte aus Stammsätze und Belege ermittelt werden.&lt;br /&gt;
&lt;br /&gt;
Wie die Parameter für verschiedene Texte zusammengesetzt werden müssen, kann man hier auf einen Blick sehen:&amp;lt;br /&amp;gt;&lt;br /&gt;
=&amp;gt; [[Texte_in_Stammsätze_und_Belege#Header_verschiedener_Texte|Texte in Stammsätze und Belege]]&lt;br /&gt;
&lt;br /&gt;
Der Text wird in eine simple internen Tabelle mit Typ &amp;quot;TLINE&amp;quot; geschrieben.&lt;br /&gt;
Oft ist es das Ziel die Inhalte in einem String zu speichern.&lt;br /&gt;
&lt;br /&gt;
Zum Beispiel könnte der Inhalt der interne Tabelle so aussehen:&lt;br /&gt;
&lt;br /&gt;
[[Datei:READ TEXT Output Table.png]]&lt;br /&gt;
&lt;br /&gt;
Die Verkettung abhängig vom TDFORMAT:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
  IF sy-subrc = 0 AND lines( lt_text_lines ) &amp;gt; 0.&lt;br /&gt;
    LOOP AT lt_text_lines ASSIGNING FIELD-SYMBOL(&amp;lt;text_line&amp;gt;).&lt;br /&gt;
      IF &amp;lt;text_line&amp;gt;-tdformat EQ &#039;*&#039; AND sy-tabix &amp;gt; 1.&lt;br /&gt;
        rv_result = |{ rv_result }{ cl_abap_char_utilities=&amp;gt;cr_lf }{ &amp;lt;text_line&amp;gt;-tdline }|.&lt;br /&gt;
      ELSEIF &amp;lt;text_line&amp;gt;-tdformat EQ &#039;=&#039; OR sy-tabix = 1.&lt;br /&gt;
        rv_result = |{ rv_result }{ &amp;lt;text_line&amp;gt;-tdline }|.&lt;br /&gt;
      ELSE.&lt;br /&gt;
        rv_result = |{ rv_result } { &amp;lt;text_line&amp;gt;-tdline }|.&lt;br /&gt;
      ENDIF.&lt;br /&gt;
    ENDLOOP.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&amp;lt;/syntaxhighlight&lt;br /&gt;
&lt;br /&gt;
=== Splittung Text bei 70 Zeichen ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
    LOOP AT lt_text_lines ASSIGNING FIELD-SYMBOL(&amp;lt;ls_line&amp;gt;).&lt;br /&gt;
       DATA(lv_text) = &amp;lt;ls_line&amp;gt;-tdline.&lt;br /&gt;
       DATA(lv_len)  = strlen( lv_text ).&lt;br /&gt;
       DATA(lv_off)  = 0.&lt;br /&gt;
&lt;br /&gt;
       IF lv_text IS INITIAL AND &amp;lt;ls_line&amp;gt;-tdformat = &#039;*&#039;.&lt;br /&gt;
        APPEND VALUE #( tdformat = &#039;*&#039;&lt;br /&gt;
                        tdline   = &#039;&#039; ) TO &amp;lt;ls_append&amp;gt;-lines.&lt;br /&gt;
        CONTINUE.&lt;br /&gt;
       ENDIF.&lt;br /&gt;
&lt;br /&gt;
       DATA(lv_first) = abap_true.&lt;br /&gt;
       WHILE lv_off &amp;lt; lv_len.&lt;br /&gt;
         DATA(lv_rest) = lv_len - lv_off.&lt;br /&gt;
         DATA(lv_take) = COND i( WHEN lv_rest &amp;gt; 70 THEN 70&lt;br /&gt;
                                 ELSE lv_rest ).&lt;br /&gt;
&lt;br /&gt;
         APPEND VALUE #(&lt;br /&gt;
         tdformat = COND #( WHEN lv_first = abap_true THEN &amp;lt;ls_line&amp;gt;-tdformat&lt;br /&gt;
                            ELSE &#039;=&#039; )&lt;br /&gt;
         tdline   = lv_text+lv_off(lv_take) ) TO &amp;lt;ls_append&amp;gt;-lines.&lt;br /&gt;
         lv_off += 70.&lt;br /&gt;
         lv_first = abap_false.&lt;br /&gt;
       ENDWHILE.&lt;br /&gt;
&lt;br /&gt;
     ENDLOOP.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
=== Textkonvertierung von ITF in ASCII nach Lesen SAPScript Textbausteine ===&lt;br /&gt;
&lt;br /&gt;
Wenn ein Text von einem SO10 Text gelesen wird, können hier u.U. ungewünschte Textformatierungen vorhanden sein.&lt;br /&gt;
Zum Beispiel wird bei einem Komma bei der Ausgabe das Komma mit &amp;quot;&amp;lt;(&amp;gt;,&amp;lt;)&amp;gt;&amp;quot; angezeigt:&lt;br /&gt;
&lt;br /&gt;
[[Datei:READ TEXT SAPScript textbaustein.png]]&lt;br /&gt;
&lt;br /&gt;
Mit FuBa &amp;quot;CONVERT_ITF_TO_ASCII&amp;quot; kann das SAPScript in ein ASCII Format konvertiert werden.&lt;br /&gt;
Alternativ arbeitet man am Beispiel des Kommas mit [[REPLACE|REPLACE]].&lt;br /&gt;
&lt;br /&gt;
== Texte über CDS-Views und Klasse ==&lt;br /&gt;
&lt;br /&gt;
[[CL_MM_PUR_TEXT_FACTORY]]&lt;br /&gt;
&lt;br /&gt;
Beispiel zur Nutzung in CL_MM_PUR_PR_PROFNL_DPC_EXT&lt;br /&gt;
&lt;br /&gt;
Mapping Verständnis&lt;br /&gt;
* ArchObjectNumber = text_objectid&lt;br /&gt;
* DocumentText = text_id&lt;br /&gt;
* TechnicalObjectType = text_object&lt;br /&gt;
* language = spras&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Simulation_der_Konditionen_anhand_vom_Einkaufsinfosatz_und_letzte_Bestellung_mit_R%C3%BCckgabe_der_Konditionen_im_Format_des_Kalkulationsschemas&amp;diff=2438</id>
		<title>Simulation der Konditionen anhand vom Einkaufsinfosatz und letzte Bestellung mit Rückgabe der Konditionen im Format des Kalkulationsschemas</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Simulation_der_Konditionen_anhand_vom_Einkaufsinfosatz_und_letzte_Bestellung_mit_R%C3%BCckgabe_der_Konditionen_im_Format_des_Kalkulationsschemas&amp;diff=2438"/>
		<updated>2026-03-24T10:16:26Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Codeschnipsel]]&lt;br /&gt;
[[Kategorie:Clean-Core-Level_C]]&lt;br /&gt;
Der Funktionsbaustein [[ME_PO_PRICE_SIMULATION]] kann verwendet werden, wenn für eine Preissimulation kein Positions- und Kontierungstyp verwendet wird. Zudem ist die Rückgabe rein auf die Konditionsarten beschränkt, d.h. Zwischensummen bekommt man nicht zurück.&lt;br /&gt;
&lt;br /&gt;
In der Transaktion ME1M ist eine Preissimulation möglich. &lt;br /&gt;
Dort werden die folgenden internen FuBas verwendet:&lt;br /&gt;
* [[ME_PRICING_REFRESH]]&lt;br /&gt;
* [[ME_PRICING_INFORECORD]]&lt;br /&gt;
* [[ME_PRICING_DIALOG]]&lt;br /&gt;
* [[ME_PRICING_DELIVERY_PLAN]]&lt;br /&gt;
&lt;br /&gt;
Die Preissimulation baut auf den Infosatz bzw. wenn der Nettowert = 0 ist, wird die letzte Bestellposition herangezogen, insofern sie nicht als gelöscht markiert ist.&lt;br /&gt;
&lt;br /&gt;
Dies in Rahmen bei eigenem Coding verwenden zu können, zeigt ein kleines Testprogramm:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;
*&amp;amp; Report YMM_TEST_PROGRAM&lt;br /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;
*&amp;amp;&lt;br /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;
REPORT ymm_test_program.&lt;br /&gt;
&lt;br /&gt;
DATA:    BEGIN OF tmepr OCCURS 30.&lt;br /&gt;
           INCLUDE STRUCTURE meprtab.&lt;br /&gt;
DATA:    END OF tmepr.&lt;br /&gt;
DATA komp TYPE komp.&lt;br /&gt;
DATA komk TYPE komk.&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM eina&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE infnr = &#039;5300000873&#039;&lt;br /&gt;
INTO @DATA(eina).&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM eine&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE infnr = &#039;5300000873&#039;&lt;br /&gt;
  AND ekorg = &#039;1000&#039;&lt;br /&gt;
  AND esokz = &#039;0&#039;&lt;br /&gt;
INTO @DATA(eine).&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM lfm1&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE lifnr = &#039;0000139156&#039;&lt;br /&gt;
  AND ekorg = &#039;1000&#039;&lt;br /&gt;
INTO @DATA(lfm1).&lt;br /&gt;
&lt;br /&gt;
CALL FUNCTION &#039;ME_PRICING_REFRESH&#039;.&lt;br /&gt;
&lt;br /&gt;
CALL FUNCTION &#039;ME_PRICING_INFORECORD&#039;&lt;br /&gt;
  EXPORTING&lt;br /&gt;
    infoa      = eina&lt;br /&gt;
    infoe      = eine&lt;br /&gt;
    lieferant  = lfm1&lt;br /&gt;
    simulation = &#039;X&#039;&lt;br /&gt;
  IMPORTING&lt;br /&gt;
    preisk     = komk&lt;br /&gt;
    preisp     = komp&lt;br /&gt;
  TABLES&lt;br /&gt;
    elemente   = tmepr.&lt;br /&gt;
&lt;br /&gt;
FIELD-SYMBOLS: &amp;lt;fs&amp;gt; TYPE table.&lt;br /&gt;
DATA tab TYPE TABLE OF komv.&lt;br /&gt;
DATA: l_variable(40) VALUE &#039;(SAPLMEPR)GKOMV[]&#039;.&lt;br /&gt;
&lt;br /&gt;
* Retrieve values from calling program&lt;br /&gt;
ASSIGN (l_variable) TO &amp;lt;fs&amp;gt;.&lt;br /&gt;
MOVE &amp;lt;fs&amp;gt; TO tab.&lt;br /&gt;
&lt;br /&gt;
WRITE &#039;.&#039;.&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM eina&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE infnr = &#039;5300010050&#039;&lt;br /&gt;
INTO @DATA(eina2).&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM eine&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE infnr = &#039;5300010050&#039;&lt;br /&gt;
  AND ekorg = &#039;1000&#039;&lt;br /&gt;
  AND esokz = &#039;0&#039;&lt;br /&gt;
INTO @DATA(eine2).&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM lfm1&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE lifnr = &#039;0000263203&#039;&lt;br /&gt;
  AND ekorg = &#039;1000&#039;&lt;br /&gt;
INTO @DATA(lfm12).&lt;br /&gt;
&lt;br /&gt;
CALL FUNCTION &#039;ME_PRICING_REFRESH&#039;.&lt;br /&gt;
&lt;br /&gt;
CALL FUNCTION &#039;ME_PRICING_INFORECORD&#039;&lt;br /&gt;
  EXPORTING&lt;br /&gt;
    infoa      = eina2&lt;br /&gt;
    infoe      = eine2&lt;br /&gt;
    lieferant  = lfm12&lt;br /&gt;
    simulation = &#039;X&#039;&lt;br /&gt;
  IMPORTING&lt;br /&gt;
    preisk     = komk&lt;br /&gt;
    preisp     = komp&lt;br /&gt;
  TABLES&lt;br /&gt;
    elemente   = tmepr.&lt;br /&gt;
&lt;br /&gt;
IF komp-netwr = 0.&lt;br /&gt;
  &amp;quot;IF eine-ebeln NE space AND eine-bstyp NE bstyp-kont AND&lt;br /&gt;
  &amp;quot;vorgang NE &#039;AP&#039;.&lt;br /&gt;
  SELECT SINGLE * FROM ekpo WHERE ebeln EQ &#039;4800000564&#039;&lt;br /&gt;
                              AND   ebelp EQ &#039;00060&#039;&lt;br /&gt;
                              AND   loekz EQ @space&lt;br /&gt;
    INTO @DATA(ekpo).&lt;br /&gt;
  SELECT SINGLE * FROM ekko WHERE ebeln EQ &#039;4800000564&#039;&lt;br /&gt;
    INTO @DATA(ekko).&lt;br /&gt;
  &amp;quot;ENDIF.&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &#039;ME_PRICING_DIALOG&#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      i_ekpo   = ekpo&lt;br /&gt;
      dunkel   = &#039;X&#039;&lt;br /&gt;
      skonto   = space &amp;quot;i_skonto&lt;br /&gt;
      bezugs   = space &amp;quot;i_bezugs&lt;br /&gt;
      effektiv = space. &amp;quot;i_effekt&lt;br /&gt;
*              menge    = eine-norbm&lt;br /&gt;
*              meins    = eina-meins&lt;br /&gt;
*              termin   = sy-datlo.&lt;br /&gt;
  &amp;quot;IMPORTING&lt;br /&gt;
  &amp;quot; exitflag = exitflag.&lt;br /&gt;
  DATA ls_isi_me_pricing_delivery TYPE isi_me_pricing_delivery_plan.&lt;br /&gt;
  CALL FUNCTION &#039;ME_PRICING_DELIVERY_PLAN&#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      simulation     = &#039;X&#039;&lt;br /&gt;
      dialog         = space&lt;br /&gt;
      &amp;quot;material      = mt06e war im Durchlauf aktiv. Besser versorgen&lt;br /&gt;
      belegkopf      = ekko&lt;br /&gt;
      belegposition  = ekpo&lt;br /&gt;
      infonummer     = eine-infnr&lt;br /&gt;
      infotyp        = eine-esokz&lt;br /&gt;
      infowerk       = eine-werks&lt;br /&gt;
      is_enhancement = ls_isi_me_pricing_delivery  &amp;quot;IS2ERP&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      preisp         = komp&lt;br /&gt;
      preisk         = komk.&lt;br /&gt;
&lt;br /&gt;
  CLEAR tab.&lt;br /&gt;
* Retrieve values from calling program&lt;br /&gt;
  ASSIGN (l_variable) TO &amp;lt;fs&amp;gt;.&lt;br /&gt;
  MOVE &amp;lt;fs&amp;gt; TO tab.&lt;br /&gt;
  DELETE tab WHERE knumv IS INITIAL.&lt;br /&gt;
&lt;br /&gt;
  WRITE &#039;.&#039;.&lt;br /&gt;
&lt;br /&gt;
ENDIF.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Simulation_der_Konditionen_anhand_vom_Einkaufsinfosatz_und_letzte_Bestellung_mit_R%C3%BCckgabe_der_Konditionen_im_Format_des_Kalkulationsschemas&amp;diff=2437</id>
		<title>Simulation der Konditionen anhand vom Einkaufsinfosatz und letzte Bestellung mit Rückgabe der Konditionen im Format des Kalkulationsschemas</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Simulation_der_Konditionen_anhand_vom_Einkaufsinfosatz_und_letzte_Bestellung_mit_R%C3%BCckgabe_der_Konditionen_im_Format_des_Kalkulationsschemas&amp;diff=2437"/>
		<updated>2026-03-24T10:13:29Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: Die Seite wurde neu angelegt: „Kategorie:Codeschnipsel Kategorie:Clean-Core-Level_C Der Funktionsbaustein ME_PO_PRICE_SIMULATION kann verwendet werden, wenn für eine Preissimulation kein Positions- und Kontierungstyp verwendet wird. Zudem ist die Rückgabe rein auf die Konditionsarten beschränkt, d.h. Zwischensummen bekommt man nicht zurück.  In der Transaktion ME1M ist eine Preissimulation möglich.  Dort werden die folgenden internen FuBas verwendet: * ME_PRICING_REF…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Codeschnipsel]]&lt;br /&gt;
[[Kategorie:Clean-Core-Level_C]]&lt;br /&gt;
Der Funktionsbaustein [[ME_PO_PRICE_SIMULATION]] kann verwendet werden, wenn für eine Preissimulation kein Positions- und Kontierungstyp verwendet wird. Zudem ist die Rückgabe rein auf die Konditionsarten beschränkt, d.h. Zwischensummen bekommt man nicht zurück.&lt;br /&gt;
&lt;br /&gt;
In der Transaktion ME1M ist eine Preissimulation möglich. &lt;br /&gt;
Dort werden die folgenden internen FuBas verwendet:&lt;br /&gt;
* [[ME_PRICING_REFRESH]]&lt;br /&gt;
* [[ME_PRICING_INFORECORD]]&lt;br /&gt;
* [[ME_PRICING_DIALOG]]&lt;br /&gt;
* [[ME_PRICING_DELIVERY_PLAN]]&lt;br /&gt;
&lt;br /&gt;
Die Preissimulation baut auf den Infosatz bzw. wenn der Nettowert = 0 ist, dann wird die letzte ungelöschte Bestellposition herangezogen.&lt;br /&gt;
&lt;br /&gt;
Dies in Rahmen bei eigenem Coding verwenden zu können, zeigt ein kleines Testprogramm:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;
*&amp;amp; Report YMM_TEST_PROGRAM&lt;br /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;
*&amp;amp;&lt;br /&gt;
*&amp;amp;---------------------------------------------------------------------*&lt;br /&gt;
REPORT ymm_test_program.&lt;br /&gt;
&lt;br /&gt;
DATA:    BEGIN OF tmepr OCCURS 30.&lt;br /&gt;
           INCLUDE STRUCTURE meprtab.&lt;br /&gt;
DATA:    END OF tmepr.&lt;br /&gt;
DATA komp TYPE komp.&lt;br /&gt;
DATA komk TYPE komk.&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM eina&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE infnr = &#039;5300000873&#039;&lt;br /&gt;
INTO @DATA(eina).&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM eine&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE infnr = &#039;5300000873&#039;&lt;br /&gt;
  AND ekorg = &#039;1000&#039;&lt;br /&gt;
  AND esokz = &#039;0&#039;&lt;br /&gt;
INTO @DATA(eine).&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM lfm1&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE lifnr = &#039;0000139156&#039;&lt;br /&gt;
  AND ekorg = &#039;1000&#039;&lt;br /&gt;
INTO @DATA(lfm1).&lt;br /&gt;
&lt;br /&gt;
CALL FUNCTION &#039;ME_PRICING_REFRESH&#039;.&lt;br /&gt;
&lt;br /&gt;
CALL FUNCTION &#039;ME_PRICING_INFORECORD&#039;&lt;br /&gt;
  EXPORTING&lt;br /&gt;
    infoa      = eina&lt;br /&gt;
    infoe      = eine&lt;br /&gt;
    lieferant  = lfm1&lt;br /&gt;
    simulation = &#039;X&#039;&lt;br /&gt;
  IMPORTING&lt;br /&gt;
    preisk     = komk&lt;br /&gt;
    preisp     = komp&lt;br /&gt;
  TABLES&lt;br /&gt;
    elemente   = tmepr.&lt;br /&gt;
&lt;br /&gt;
FIELD-SYMBOLS: &amp;lt;fs&amp;gt; TYPE table.&lt;br /&gt;
DATA tab TYPE TABLE OF komv.&lt;br /&gt;
DATA: l_variable(40) VALUE &#039;(SAPLMEPR)GKOMV[]&#039;.&lt;br /&gt;
&lt;br /&gt;
* Retrieve values from calling program&lt;br /&gt;
ASSIGN (l_variable) TO &amp;lt;fs&amp;gt;.&lt;br /&gt;
MOVE &amp;lt;fs&amp;gt; TO tab.&lt;br /&gt;
&lt;br /&gt;
WRITE &#039;.&#039;.&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM eina&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE infnr = &#039;5300010050&#039;&lt;br /&gt;
INTO @DATA(eina2).&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM eine&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE infnr = &#039;5300010050&#039;&lt;br /&gt;
  AND ekorg = &#039;1000&#039;&lt;br /&gt;
  AND esokz = &#039;0&#039;&lt;br /&gt;
INTO @DATA(eine2).&lt;br /&gt;
&lt;br /&gt;
SELECT SINGLE FROM lfm1&lt;br /&gt;
FIELDS *&lt;br /&gt;
WHERE lifnr = &#039;0000263203&#039;&lt;br /&gt;
  AND ekorg = &#039;1000&#039;&lt;br /&gt;
INTO @DATA(lfm12).&lt;br /&gt;
&lt;br /&gt;
CALL FUNCTION &#039;ME_PRICING_REFRESH&#039;.&lt;br /&gt;
&lt;br /&gt;
CALL FUNCTION &#039;ME_PRICING_INFORECORD&#039;&lt;br /&gt;
  EXPORTING&lt;br /&gt;
    infoa      = eina2&lt;br /&gt;
    infoe      = eine2&lt;br /&gt;
    lieferant  = lfm12&lt;br /&gt;
    simulation = &#039;X&#039;&lt;br /&gt;
  IMPORTING&lt;br /&gt;
    preisk     = komk&lt;br /&gt;
    preisp     = komp&lt;br /&gt;
  TABLES&lt;br /&gt;
    elemente   = tmepr.&lt;br /&gt;
&lt;br /&gt;
IF komp-netwr = 0.&lt;br /&gt;
  &amp;quot;IF eine-ebeln NE space AND eine-bstyp NE bstyp-kont AND&lt;br /&gt;
  &amp;quot;vorgang NE &#039;AP&#039;.&lt;br /&gt;
  SELECT SINGLE * FROM ekpo WHERE ebeln EQ &#039;4800000564&#039;&lt;br /&gt;
                              AND   ebelp EQ &#039;00060&#039;&lt;br /&gt;
                              AND   loekz EQ @space&lt;br /&gt;
    INTO @DATA(ekpo).&lt;br /&gt;
  SELECT SINGLE * FROM ekko WHERE ebeln EQ &#039;4800000564&#039;&lt;br /&gt;
    INTO @DATA(ekko).&lt;br /&gt;
  &amp;quot;ENDIF.&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &#039;ME_PRICING_DIALOG&#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      i_ekpo   = ekpo&lt;br /&gt;
      dunkel   = &#039;X&#039;&lt;br /&gt;
      skonto   = space &amp;quot;i_skonto&lt;br /&gt;
      bezugs   = space &amp;quot;i_bezugs&lt;br /&gt;
      effektiv = space. &amp;quot;i_effekt&lt;br /&gt;
*              menge    = eine-norbm&lt;br /&gt;
*              meins    = eina-meins&lt;br /&gt;
*              termin   = sy-datlo.&lt;br /&gt;
  &amp;quot;IMPORTING&lt;br /&gt;
  &amp;quot; exitflag = exitflag.&lt;br /&gt;
  DATA ls_isi_me_pricing_delivery TYPE isi_me_pricing_delivery_plan.&lt;br /&gt;
  CALL FUNCTION &#039;ME_PRICING_DELIVERY_PLAN&#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      simulation     = &#039;X&#039;&lt;br /&gt;
      dialog         = space&lt;br /&gt;
      &amp;quot;material      = mt06e war im Durchlauf aktiv. Besser versorgen&lt;br /&gt;
      belegkopf      = ekko&lt;br /&gt;
      belegposition  = ekpo&lt;br /&gt;
      infonummer     = eine-infnr&lt;br /&gt;
      infotyp        = eine-esokz&lt;br /&gt;
      infowerk       = eine-werks&lt;br /&gt;
      is_enhancement = ls_isi_me_pricing_delivery  &amp;quot;IS2ERP&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      preisp         = komp&lt;br /&gt;
      preisk         = komk.&lt;br /&gt;
&lt;br /&gt;
  CLEAR tab.&lt;br /&gt;
* Retrieve values from calling program&lt;br /&gt;
  ASSIGN (l_variable) TO &amp;lt;fs&amp;gt;.&lt;br /&gt;
  MOVE &amp;lt;fs&amp;gt; TO tab.&lt;br /&gt;
  DELETE tab WHERE knumv IS INITIAL.&lt;br /&gt;
&lt;br /&gt;
  WRITE &#039;.&#039;.&lt;br /&gt;
&lt;br /&gt;
ENDIF.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=SAP_FuBas_und_BAPIs&amp;diff=2436</id>
		<title>SAP FuBas und BAPIs</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=SAP_FuBas_und_BAPIs&amp;diff=2436"/>
		<updated>2026-03-24T10:05:42Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: /* Preisfindung/Preissimulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:SAP_Standard]]&lt;br /&gt;
== Allgemein / Übergreifend ==&lt;br /&gt;
&lt;br /&gt;
=== Material ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_MATERIAL_GET_ALL]]&lt;br /&gt;
|Materialdaten lesen&lt;br /&gt;
|-&lt;br /&gt;
|[[ASSORTMENT_POS_HANDLING]]&lt;br /&gt;
|Fügt Materialien zum Sortimentsbaustein hinzu (VerbuchungsFuBa).&lt;br /&gt;
|-&lt;br /&gt;
|[[MD_STOCK_REQUIREMENTS_LIST_API]]&lt;br /&gt;
|Lesen der Bedarfs-/Bestandsliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Geschäftspartner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_CREATE_FROM_DATA]]&lt;br /&gt;
|Geschäftspartner anlegen&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_ROLE_ADD_2]]&lt;br /&gt;
|GP-Rolle hinzufügen&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_ADDRESS_GETDETAIL]]&lt;br /&gt;
|GP-Stammdaten bekommen&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_CENTRAL_CHANGE]]&lt;br /&gt;
|Vorname, Name etc. von Personen, Organisation und Gruppen sowie adressunabhängige Stammdaten wie Telefon,E-Mail etc. ändern&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_ADDRESS_CHANGE]]&lt;br /&gt;
|Adressdaten sowie adressabhängige Stammdaten wie Telefon, E-Mail etc. ändern&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Konvertierung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[UNIT_OF_MEASURE_SAP_TO_ISO]]&lt;br /&gt;
|Ändert internes SAP-Einheit zu ISO-Code (Mengen-,Gewicht- &amp;amp;Volumeneinheit) &lt;br /&gt;
|-&lt;br /&gt;
|[[UNIT_OF_MEASURE_ISO_TO_SAP]]&lt;br /&gt;
|Ändert ISO-Code zur internen SAP-Einheit (Mengen-,Gewicht- &amp;amp;Volumeneinheit)&lt;br /&gt;
|-&lt;br /&gt;
|[[SAP_CONVERT_TO_TEX_FORMAT]]&lt;br /&gt;
|Trennt Tabelleninhalte mit einem Trennzeichen z.B. Komma&lt;br /&gt;
|-&lt;br /&gt;
|[[ALSM_EXCEL_TO_INTERNAL_TABLE]]&lt;br /&gt;
|Kann .xlsx Dateien in interne Tabellen konvertieren. Klarer Nachteil ist allerdings, dass leere Felder in der .xlsx für die Konvertierung ignoriert werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== E-Mail/Dokumentenversand ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[SO_NEW_DOCUMENT_SEND_API1|SO_NEW_DOCUMENT_SEND_API1]]&lt;br /&gt;
|Sendet eine E-Mail mit .txt Anhang an einen E-Mail-Empfänger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
s. [[E-Mail_senden|bessere klassenbasierte Variante]]&lt;br /&gt;
&lt;br /&gt;
=== Texte ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[READ_TEXT]]&lt;br /&gt;
|Lesen Texte wie Langtexte in Stammsätze oder Belegen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Basis / Schnittstellen / Technisches ==&lt;br /&gt;
&lt;br /&gt;
=== Dateiverarbeitung / Verzeichnis ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[EPS_GET_DIRECTORY_LISTING|EPS_GET_DIRECTORY_LISTING]]&lt;br /&gt;
|Bekommt alle Filenamen eines Verzeichnisses&lt;br /&gt;
|-&lt;br /&gt;
|[[PFL_CHECK_DIRECTORY|PFL_CHECK_DIRECTORY]]&lt;br /&gt;
|Check, ob Verzeichnis existiert&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Berechtigungen und Sperren ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[ENQUEUE|ENQUEUE]]&lt;br /&gt;
|Sperrt ein Objekt&lt;br /&gt;
|-&lt;br /&gt;
|[[DEQUEUE|DEQUEUE]]&lt;br /&gt;
|Entsperrt ein Objekt&lt;br /&gt;
|-&lt;br /&gt;
|[[ENQUEUE_READ|ENQUEUE_READ]]&lt;br /&gt;
|Lesen ob ein Objekt gesperrt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Nummernkreis ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Nummernkreisobjekt|NUMBER_GET_NEXT]]&lt;br /&gt;
|Neue Nummer vom Z Nummernkreis bekommen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IDoc ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[ALE_RESERVATION_CREATE]]&lt;br /&gt;
|Erstellt [[MRESCR|MRESCR]] IDoc&lt;br /&gt;
|-&lt;br /&gt;
|[[IDOC_OUTPUT_DELVRY]]&lt;br /&gt;
|Erstellt [[DESADV|DESADV]] Outbound IDoc&lt;br /&gt;
|-&lt;br /&gt;
|[[IDOC_INPUT_DELVRY]]&lt;br /&gt;
|Erstellt [[DESADV|DESADV]] Inbound IDoc  &lt;br /&gt;
|-&lt;br /&gt;
|[[MASTER_IDOC_DISTRIBUTE|MASTER_IDOC_DISTRIBUTE]]&lt;br /&gt;
|Erstellt ein Outbound IDoc (Beispiel MBGMCR)&lt;br /&gt;
|-&lt;br /&gt;
|[[IDOC_INBOUND_WRITE_TO_DB|IDOC_INBOUND_WRITE_TO_DB]]&lt;br /&gt;
|Erstellt ein Inbound IDoc &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GUI  ==&lt;br /&gt;
&lt;br /&gt;
=== Dynpro ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[RS_SET_SELSCREEN_STATUS|RS_SET_SELSCREEN_STATUS]]&lt;br /&gt;
|Ermöglicht bei einem automatisch generierten Dynpro die Statusleiste auszutauschen&lt;br /&gt;
|-&lt;br /&gt;
|[[F4IF_INT_TABLE_VALUE_REQUEST]]&lt;br /&gt;
|Eigene F4-Suchhilfe auf Basis einer internen Tabelle anzeigen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Grid Darstellung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[REUSE_ALV_GRID_DISPLAY|REUSE_ALV_GRID_DISPLAY]]&lt;br /&gt;
|Stellt recht ohne viel Aufwand Daten in Grid dar.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== MM ==&lt;br /&gt;
&lt;br /&gt;
=== Bestellung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_GOODSMVT_CREATE| BAPI_GOODSMVT_CREATE]]&lt;br /&gt;
|(MIGO) Warenbewegung buchen&lt;br /&gt;
|-&lt;br /&gt;
|[[ME_PO_CONFIRM]]&lt;br /&gt;
|Fügt Bestätigungspositionen zu, wenn Bestätigungssteuerungsschlüssel vorbelegt ist &lt;br /&gt;
|-&lt;br /&gt;
|[[ME_READ_CHANGES_EINKBELEG]]&lt;br /&gt;
|Lesen von Änderungsbelegen zu einem Einkaufsbeleg&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Preisfindung/Preissimulation ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[ME_PO_PRICE_SIMULATION|ME_PO_PRICE_SIMULATION]]&lt;br /&gt;
|Simulation einer Bestellung bzw. Preisfindung ohne Kontierungs- und Positonstyp&lt;br /&gt;
|-&lt;br /&gt;
|[[ME_PRICING_REFRESH]]&lt;br /&gt;
[[ME_PRICING_INFORECORD]]&lt;br /&gt;
&lt;br /&gt;
[[ME_PRICING_DIALOG]]&lt;br /&gt;
[[ME_PRICING_DELIVERY_PLAN]]&lt;br /&gt;
|Wenn mit ME_PRICING_INFORECORD keine Preise gefunden werden, kann mit Kombi ME_PRICING_DIALOG und ME_PRICING_DELIVERY_PLAN die Konditionen, dargestellt wie im Kalkschema inkl. Zwischensummen, der letzten Bestellung gezogen werden&lt;br /&gt;
|- style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
|colspan=&amp;quot;2&amp;quot; | 🔧 how to [[Simulation der Konditionen anhand vom Einkaufsinfosatz und letzte Bestellung mit Rückgabe der Konditionen im Format des Kalkulationsschemas]]&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FI ==&lt;br /&gt;
&lt;br /&gt;
=== Buchungen ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_ACC_DOCUMENT_POST| BAPI_ACC_DOCUMENT_POST]]&lt;br /&gt;
|(FB01) Buchung eines Buchungsbelegs (AP, AR, etc.)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CO ==&lt;br /&gt;
&lt;br /&gt;
=== Obligoverwaltung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[K_OPEN_ITEM_POST|K_OPEN_ITEM_POST]]&lt;br /&gt;
|Obligoeinzelposten verbuchen (Hinzufügen, Update, Löschung)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== (e)WM ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[HU_CREATE_GOODS_MOVEMENT|HU_CREATE_GOODS_MOVEMENT]]&lt;br /&gt;
|Warenbewegung in Kombination mit einer HU&lt;br /&gt;
|-&lt;br /&gt;
|[[HU_PACKING_REFRESH]]&lt;br /&gt;
|Cleart globale Variablen.I.d.R. als erstes auszuführen, wenn weitere FuBas kommen.&lt;br /&gt;
|-&lt;br /&gt;
|[[VHUPRT2HU_CREATE_HUS]]&lt;br /&gt;
|Erstellt eine HU mit Typ &amp;quot;Werksauftrag:Endprodukt&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|[[VHUPRT2HU_CHECK_SAVE_SHOW_HUS]]&lt;br /&gt;
|Speichert z.B. eine HU mit Typ &amp;quot;Werksauftrag:Endprodukt&amp;quot; auf der DB.&lt;br /&gt;
|-&lt;br /&gt;
|[[VHURM_HU_POST_WE_PROD_ORDER|VHURM_HU_POST_WE_PROD_ORDER]]&lt;br /&gt;
|Führt ein Wareneingang mit einer HU mit Typ &amp;quot;Werksauftrag:Endprodukt&amp;quot; zum Fertigungsauftrag aus.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alles sonstige ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[CALL_BROWSER]]&lt;br /&gt;
|Öffnet im lokalen Standardbrowser einen neuen Tab oder neues Fenster&lt;br /&gt;
|-&lt;br /&gt;
|[[GUI_IS_ITS]]&lt;br /&gt;
|Prüfen, ob Umgebung WebGUI ist.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=SAP_FuBas_und_BAPIs&amp;diff=2435</id>
		<title>SAP FuBas und BAPIs</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=SAP_FuBas_und_BAPIs&amp;diff=2435"/>
		<updated>2026-03-24T09:59:50Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: /* Preisfindung/Preissimulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:SAP_Standard]]&lt;br /&gt;
== Allgemein / Übergreifend ==&lt;br /&gt;
&lt;br /&gt;
=== Material ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_MATERIAL_GET_ALL]]&lt;br /&gt;
|Materialdaten lesen&lt;br /&gt;
|-&lt;br /&gt;
|[[ASSORTMENT_POS_HANDLING]]&lt;br /&gt;
|Fügt Materialien zum Sortimentsbaustein hinzu (VerbuchungsFuBa).&lt;br /&gt;
|-&lt;br /&gt;
|[[MD_STOCK_REQUIREMENTS_LIST_API]]&lt;br /&gt;
|Lesen der Bedarfs-/Bestandsliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Geschäftspartner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_CREATE_FROM_DATA]]&lt;br /&gt;
|Geschäftspartner anlegen&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_ROLE_ADD_2]]&lt;br /&gt;
|GP-Rolle hinzufügen&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_ADDRESS_GETDETAIL]]&lt;br /&gt;
|GP-Stammdaten bekommen&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_CENTRAL_CHANGE]]&lt;br /&gt;
|Vorname, Name etc. von Personen, Organisation und Gruppen sowie adressunabhängige Stammdaten wie Telefon,E-Mail etc. ändern&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_ADDRESS_CHANGE]]&lt;br /&gt;
|Adressdaten sowie adressabhängige Stammdaten wie Telefon, E-Mail etc. ändern&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Konvertierung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[UNIT_OF_MEASURE_SAP_TO_ISO]]&lt;br /&gt;
|Ändert internes SAP-Einheit zu ISO-Code (Mengen-,Gewicht- &amp;amp;Volumeneinheit) &lt;br /&gt;
|-&lt;br /&gt;
|[[UNIT_OF_MEASURE_ISO_TO_SAP]]&lt;br /&gt;
|Ändert ISO-Code zur internen SAP-Einheit (Mengen-,Gewicht- &amp;amp;Volumeneinheit)&lt;br /&gt;
|-&lt;br /&gt;
|[[SAP_CONVERT_TO_TEX_FORMAT]]&lt;br /&gt;
|Trennt Tabelleninhalte mit einem Trennzeichen z.B. Komma&lt;br /&gt;
|-&lt;br /&gt;
|[[ALSM_EXCEL_TO_INTERNAL_TABLE]]&lt;br /&gt;
|Kann .xlsx Dateien in interne Tabellen konvertieren. Klarer Nachteil ist allerdings, dass leere Felder in der .xlsx für die Konvertierung ignoriert werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== E-Mail/Dokumentenversand ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[SO_NEW_DOCUMENT_SEND_API1|SO_NEW_DOCUMENT_SEND_API1]]&lt;br /&gt;
|Sendet eine E-Mail mit .txt Anhang an einen E-Mail-Empfänger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
s. [[E-Mail_senden|bessere klassenbasierte Variante]]&lt;br /&gt;
&lt;br /&gt;
=== Texte ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[READ_TEXT]]&lt;br /&gt;
|Lesen Texte wie Langtexte in Stammsätze oder Belegen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Basis / Schnittstellen / Technisches ==&lt;br /&gt;
&lt;br /&gt;
=== Dateiverarbeitung / Verzeichnis ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[EPS_GET_DIRECTORY_LISTING|EPS_GET_DIRECTORY_LISTING]]&lt;br /&gt;
|Bekommt alle Filenamen eines Verzeichnisses&lt;br /&gt;
|-&lt;br /&gt;
|[[PFL_CHECK_DIRECTORY|PFL_CHECK_DIRECTORY]]&lt;br /&gt;
|Check, ob Verzeichnis existiert&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Berechtigungen und Sperren ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[ENQUEUE|ENQUEUE]]&lt;br /&gt;
|Sperrt ein Objekt&lt;br /&gt;
|-&lt;br /&gt;
|[[DEQUEUE|DEQUEUE]]&lt;br /&gt;
|Entsperrt ein Objekt&lt;br /&gt;
|-&lt;br /&gt;
|[[ENQUEUE_READ|ENQUEUE_READ]]&lt;br /&gt;
|Lesen ob ein Objekt gesperrt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Nummernkreis ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Nummernkreisobjekt|NUMBER_GET_NEXT]]&lt;br /&gt;
|Neue Nummer vom Z Nummernkreis bekommen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IDoc ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[ALE_RESERVATION_CREATE]]&lt;br /&gt;
|Erstellt [[MRESCR|MRESCR]] IDoc&lt;br /&gt;
|-&lt;br /&gt;
|[[IDOC_OUTPUT_DELVRY]]&lt;br /&gt;
|Erstellt [[DESADV|DESADV]] Outbound IDoc&lt;br /&gt;
|-&lt;br /&gt;
|[[IDOC_INPUT_DELVRY]]&lt;br /&gt;
|Erstellt [[DESADV|DESADV]] Inbound IDoc  &lt;br /&gt;
|-&lt;br /&gt;
|[[MASTER_IDOC_DISTRIBUTE|MASTER_IDOC_DISTRIBUTE]]&lt;br /&gt;
|Erstellt ein Outbound IDoc (Beispiel MBGMCR)&lt;br /&gt;
|-&lt;br /&gt;
|[[IDOC_INBOUND_WRITE_TO_DB|IDOC_INBOUND_WRITE_TO_DB]]&lt;br /&gt;
|Erstellt ein Inbound IDoc &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GUI  ==&lt;br /&gt;
&lt;br /&gt;
=== Dynpro ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[RS_SET_SELSCREEN_STATUS|RS_SET_SELSCREEN_STATUS]]&lt;br /&gt;
|Ermöglicht bei einem automatisch generierten Dynpro die Statusleiste auszutauschen&lt;br /&gt;
|-&lt;br /&gt;
|[[F4IF_INT_TABLE_VALUE_REQUEST]]&lt;br /&gt;
|Eigene F4-Suchhilfe auf Basis einer internen Tabelle anzeigen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Grid Darstellung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[REUSE_ALV_GRID_DISPLAY|REUSE_ALV_GRID_DISPLAY]]&lt;br /&gt;
|Stellt recht ohne viel Aufwand Daten in Grid dar.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== MM ==&lt;br /&gt;
&lt;br /&gt;
=== Bestellung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_GOODSMVT_CREATE| BAPI_GOODSMVT_CREATE]]&lt;br /&gt;
|(MIGO) Warenbewegung buchen&lt;br /&gt;
|-&lt;br /&gt;
|[[ME_PO_CONFIRM]]&lt;br /&gt;
|Fügt Bestätigungspositionen zu, wenn Bestätigungssteuerungsschlüssel vorbelegt ist &lt;br /&gt;
|-&lt;br /&gt;
|[[ME_READ_CHANGES_EINKBELEG]]&lt;br /&gt;
|Lesen von Änderungsbelegen zu einem Einkaufsbeleg&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Preisfindung/Preissimulation ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[ME_PO_PRICE_SIMULATION|ME_PO_PRICE_SIMULATION]]&lt;br /&gt;
|Simulation einer Bestellung bzw. Preisfindung ohne Kontierungs- und Positonstyp&lt;br /&gt;
|-&lt;br /&gt;
|[[ME_PRICING_REFRESH]]&lt;br /&gt;
[[ME_PRICING_INFORECORD]]&lt;br /&gt;
&lt;br /&gt;
[[ME_PRICING_DIALOG]]&lt;br /&gt;
[[ME_PRICING_DELIVERY_PLAN]]&lt;br /&gt;
|Wenn mit ME_PRICING_INFORECORD keine Preise gefunden werden, kann mit Kombi ME_PRICING_DIALOG und ME_PRICING_DELIVERY_PLAN die Konditionen, dargestellt wie im Kalkschema inkl. Zwischensummen, der letzten Bestellung gezogen werden&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FI ==&lt;br /&gt;
&lt;br /&gt;
=== Buchungen ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_ACC_DOCUMENT_POST| BAPI_ACC_DOCUMENT_POST]]&lt;br /&gt;
|(FB01) Buchung eines Buchungsbelegs (AP, AR, etc.)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CO ==&lt;br /&gt;
&lt;br /&gt;
=== Obligoverwaltung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[K_OPEN_ITEM_POST|K_OPEN_ITEM_POST]]&lt;br /&gt;
|Obligoeinzelposten verbuchen (Hinzufügen, Update, Löschung)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== (e)WM ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[HU_CREATE_GOODS_MOVEMENT|HU_CREATE_GOODS_MOVEMENT]]&lt;br /&gt;
|Warenbewegung in Kombination mit einer HU&lt;br /&gt;
|-&lt;br /&gt;
|[[HU_PACKING_REFRESH]]&lt;br /&gt;
|Cleart globale Variablen.I.d.R. als erstes auszuführen, wenn weitere FuBas kommen.&lt;br /&gt;
|-&lt;br /&gt;
|[[VHUPRT2HU_CREATE_HUS]]&lt;br /&gt;
|Erstellt eine HU mit Typ &amp;quot;Werksauftrag:Endprodukt&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|[[VHUPRT2HU_CHECK_SAVE_SHOW_HUS]]&lt;br /&gt;
|Speichert z.B. eine HU mit Typ &amp;quot;Werksauftrag:Endprodukt&amp;quot; auf der DB.&lt;br /&gt;
|-&lt;br /&gt;
|[[VHURM_HU_POST_WE_PROD_ORDER|VHURM_HU_POST_WE_PROD_ORDER]]&lt;br /&gt;
|Führt ein Wareneingang mit einer HU mit Typ &amp;quot;Werksauftrag:Endprodukt&amp;quot; zum Fertigungsauftrag aus.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alles sonstige ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[CALL_BROWSER]]&lt;br /&gt;
|Öffnet im lokalen Standardbrowser einen neuen Tab oder neues Fenster&lt;br /&gt;
|-&lt;br /&gt;
|[[GUI_IS_ITS]]&lt;br /&gt;
|Prüfen, ob Umgebung WebGUI ist.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=SAP_FuBas_und_BAPIs&amp;diff=2434</id>
		<title>SAP FuBas und BAPIs</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=SAP_FuBas_und_BAPIs&amp;diff=2434"/>
		<updated>2026-03-24T09:59:37Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: /* Preisfindung/Preissimulation */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:SAP_Standard]]&lt;br /&gt;
== Allgemein / Übergreifend ==&lt;br /&gt;
&lt;br /&gt;
=== Material ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_MATERIAL_GET_ALL]]&lt;br /&gt;
|Materialdaten lesen&lt;br /&gt;
|-&lt;br /&gt;
|[[ASSORTMENT_POS_HANDLING]]&lt;br /&gt;
|Fügt Materialien zum Sortimentsbaustein hinzu (VerbuchungsFuBa).&lt;br /&gt;
|-&lt;br /&gt;
|[[MD_STOCK_REQUIREMENTS_LIST_API]]&lt;br /&gt;
|Lesen der Bedarfs-/Bestandsliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Geschäftspartner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_CREATE_FROM_DATA]]&lt;br /&gt;
|Geschäftspartner anlegen&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_ROLE_ADD_2]]&lt;br /&gt;
|GP-Rolle hinzufügen&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_ADDRESS_GETDETAIL]]&lt;br /&gt;
|GP-Stammdaten bekommen&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_CENTRAL_CHANGE]]&lt;br /&gt;
|Vorname, Name etc. von Personen, Organisation und Gruppen sowie adressunabhängige Stammdaten wie Telefon,E-Mail etc. ändern&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_ADDRESS_CHANGE]]&lt;br /&gt;
|Adressdaten sowie adressabhängige Stammdaten wie Telefon, E-Mail etc. ändern&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Konvertierung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[UNIT_OF_MEASURE_SAP_TO_ISO]]&lt;br /&gt;
|Ändert internes SAP-Einheit zu ISO-Code (Mengen-,Gewicht- &amp;amp;Volumeneinheit) &lt;br /&gt;
|-&lt;br /&gt;
|[[UNIT_OF_MEASURE_ISO_TO_SAP]]&lt;br /&gt;
|Ändert ISO-Code zur internen SAP-Einheit (Mengen-,Gewicht- &amp;amp;Volumeneinheit)&lt;br /&gt;
|-&lt;br /&gt;
|[[SAP_CONVERT_TO_TEX_FORMAT]]&lt;br /&gt;
|Trennt Tabelleninhalte mit einem Trennzeichen z.B. Komma&lt;br /&gt;
|-&lt;br /&gt;
|[[ALSM_EXCEL_TO_INTERNAL_TABLE]]&lt;br /&gt;
|Kann .xlsx Dateien in interne Tabellen konvertieren. Klarer Nachteil ist allerdings, dass leere Felder in der .xlsx für die Konvertierung ignoriert werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== E-Mail/Dokumentenversand ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[SO_NEW_DOCUMENT_SEND_API1|SO_NEW_DOCUMENT_SEND_API1]]&lt;br /&gt;
|Sendet eine E-Mail mit .txt Anhang an einen E-Mail-Empfänger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
s. [[E-Mail_senden|bessere klassenbasierte Variante]]&lt;br /&gt;
&lt;br /&gt;
=== Texte ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[READ_TEXT]]&lt;br /&gt;
|Lesen Texte wie Langtexte in Stammsätze oder Belegen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Basis / Schnittstellen / Technisches ==&lt;br /&gt;
&lt;br /&gt;
=== Dateiverarbeitung / Verzeichnis ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[EPS_GET_DIRECTORY_LISTING|EPS_GET_DIRECTORY_LISTING]]&lt;br /&gt;
|Bekommt alle Filenamen eines Verzeichnisses&lt;br /&gt;
|-&lt;br /&gt;
|[[PFL_CHECK_DIRECTORY|PFL_CHECK_DIRECTORY]]&lt;br /&gt;
|Check, ob Verzeichnis existiert&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Berechtigungen und Sperren ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[ENQUEUE|ENQUEUE]]&lt;br /&gt;
|Sperrt ein Objekt&lt;br /&gt;
|-&lt;br /&gt;
|[[DEQUEUE|DEQUEUE]]&lt;br /&gt;
|Entsperrt ein Objekt&lt;br /&gt;
|-&lt;br /&gt;
|[[ENQUEUE_READ|ENQUEUE_READ]]&lt;br /&gt;
|Lesen ob ein Objekt gesperrt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Nummernkreis ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Nummernkreisobjekt|NUMBER_GET_NEXT]]&lt;br /&gt;
|Neue Nummer vom Z Nummernkreis bekommen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IDoc ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[ALE_RESERVATION_CREATE]]&lt;br /&gt;
|Erstellt [[MRESCR|MRESCR]] IDoc&lt;br /&gt;
|-&lt;br /&gt;
|[[IDOC_OUTPUT_DELVRY]]&lt;br /&gt;
|Erstellt [[DESADV|DESADV]] Outbound IDoc&lt;br /&gt;
|-&lt;br /&gt;
|[[IDOC_INPUT_DELVRY]]&lt;br /&gt;
|Erstellt [[DESADV|DESADV]] Inbound IDoc  &lt;br /&gt;
|-&lt;br /&gt;
|[[MASTER_IDOC_DISTRIBUTE|MASTER_IDOC_DISTRIBUTE]]&lt;br /&gt;
|Erstellt ein Outbound IDoc (Beispiel MBGMCR)&lt;br /&gt;
|-&lt;br /&gt;
|[[IDOC_INBOUND_WRITE_TO_DB|IDOC_INBOUND_WRITE_TO_DB]]&lt;br /&gt;
|Erstellt ein Inbound IDoc &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GUI  ==&lt;br /&gt;
&lt;br /&gt;
=== Dynpro ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[RS_SET_SELSCREEN_STATUS|RS_SET_SELSCREEN_STATUS]]&lt;br /&gt;
|Ermöglicht bei einem automatisch generierten Dynpro die Statusleiste auszutauschen&lt;br /&gt;
|-&lt;br /&gt;
|[[F4IF_INT_TABLE_VALUE_REQUEST]]&lt;br /&gt;
|Eigene F4-Suchhilfe auf Basis einer internen Tabelle anzeigen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Grid Darstellung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[REUSE_ALV_GRID_DISPLAY|REUSE_ALV_GRID_DISPLAY]]&lt;br /&gt;
|Stellt recht ohne viel Aufwand Daten in Grid dar.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== MM ==&lt;br /&gt;
&lt;br /&gt;
=== Bestellung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_GOODSMVT_CREATE| BAPI_GOODSMVT_CREATE]]&lt;br /&gt;
|(MIGO) Warenbewegung buchen&lt;br /&gt;
|-&lt;br /&gt;
|[[ME_PO_CONFIRM]]&lt;br /&gt;
|Fügt Bestätigungspositionen zu, wenn Bestätigungssteuerungsschlüssel vorbelegt ist &lt;br /&gt;
|-&lt;br /&gt;
|[[ME_READ_CHANGES_EINKBELEG]]&lt;br /&gt;
|Lesen von Änderungsbelegen zu einem Einkaufsbeleg&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Preisfindung/Preissimulation ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[ME_PO_PRICE_SIMULATION|ME_PO_PRICE_SIMULATION]]&lt;br /&gt;
|Simulation einer Bestellung bzw. Preisfindung ohne Kontierungs- und Positonstyp&lt;br /&gt;
|-&lt;br /&gt;
|[[ME_PRICING_REFRESH]]&lt;br /&gt;
[[ME_PRICING_INFORECORD]]&lt;br /&gt;
|&lt;br /&gt;
[[ME_PRICING_DIALOG]]&lt;br /&gt;
[[ME_PRICING_DELIVERY_PLAN]]&lt;br /&gt;
|Wenn mit ME_PRICING_INFORECORD keine Preise gefunden werden, kann mit Kombi ME_PRICING_DIALOG und ME_PRICING_DELIVERY_PLAN die Konditionen, dargestellt wie im Kalkschema inkl. Zwischensummen, der letzten Bestellung gezogen werden&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FI ==&lt;br /&gt;
&lt;br /&gt;
=== Buchungen ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_ACC_DOCUMENT_POST| BAPI_ACC_DOCUMENT_POST]]&lt;br /&gt;
|(FB01) Buchung eines Buchungsbelegs (AP, AR, etc.)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CO ==&lt;br /&gt;
&lt;br /&gt;
=== Obligoverwaltung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[K_OPEN_ITEM_POST|K_OPEN_ITEM_POST]]&lt;br /&gt;
|Obligoeinzelposten verbuchen (Hinzufügen, Update, Löschung)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== (e)WM ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[HU_CREATE_GOODS_MOVEMENT|HU_CREATE_GOODS_MOVEMENT]]&lt;br /&gt;
|Warenbewegung in Kombination mit einer HU&lt;br /&gt;
|-&lt;br /&gt;
|[[HU_PACKING_REFRESH]]&lt;br /&gt;
|Cleart globale Variablen.I.d.R. als erstes auszuführen, wenn weitere FuBas kommen.&lt;br /&gt;
|-&lt;br /&gt;
|[[VHUPRT2HU_CREATE_HUS]]&lt;br /&gt;
|Erstellt eine HU mit Typ &amp;quot;Werksauftrag:Endprodukt&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|[[VHUPRT2HU_CHECK_SAVE_SHOW_HUS]]&lt;br /&gt;
|Speichert z.B. eine HU mit Typ &amp;quot;Werksauftrag:Endprodukt&amp;quot; auf der DB.&lt;br /&gt;
|-&lt;br /&gt;
|[[VHURM_HU_POST_WE_PROD_ORDER|VHURM_HU_POST_WE_PROD_ORDER]]&lt;br /&gt;
|Führt ein Wareneingang mit einer HU mit Typ &amp;quot;Werksauftrag:Endprodukt&amp;quot; zum Fertigungsauftrag aus.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alles sonstige ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[CALL_BROWSER]]&lt;br /&gt;
|Öffnet im lokalen Standardbrowser einen neuen Tab oder neues Fenster&lt;br /&gt;
|-&lt;br /&gt;
|[[GUI_IS_ITS]]&lt;br /&gt;
|Prüfen, ob Umgebung WebGUI ist.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=SAP_FuBas_und_BAPIs&amp;diff=2433</id>
		<title>SAP FuBas und BAPIs</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=SAP_FuBas_und_BAPIs&amp;diff=2433"/>
		<updated>2026-03-24T09:54:52Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:SAP_Standard]]&lt;br /&gt;
== Allgemein / Übergreifend ==&lt;br /&gt;
&lt;br /&gt;
=== Material ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_MATERIAL_GET_ALL]]&lt;br /&gt;
|Materialdaten lesen&lt;br /&gt;
|-&lt;br /&gt;
|[[ASSORTMENT_POS_HANDLING]]&lt;br /&gt;
|Fügt Materialien zum Sortimentsbaustein hinzu (VerbuchungsFuBa).&lt;br /&gt;
|-&lt;br /&gt;
|[[MD_STOCK_REQUIREMENTS_LIST_API]]&lt;br /&gt;
|Lesen der Bedarfs-/Bestandsliste&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Geschäftspartner ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_CREATE_FROM_DATA]]&lt;br /&gt;
|Geschäftspartner anlegen&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_ROLE_ADD_2]]&lt;br /&gt;
|GP-Rolle hinzufügen&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_ADDRESS_GETDETAIL]]&lt;br /&gt;
|GP-Stammdaten bekommen&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_CENTRAL_CHANGE]]&lt;br /&gt;
|Vorname, Name etc. von Personen, Organisation und Gruppen sowie adressunabhängige Stammdaten wie Telefon,E-Mail etc. ändern&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_BUPA_ADDRESS_CHANGE]]&lt;br /&gt;
|Adressdaten sowie adressabhängige Stammdaten wie Telefon, E-Mail etc. ändern&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Konvertierung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[UNIT_OF_MEASURE_SAP_TO_ISO]]&lt;br /&gt;
|Ändert internes SAP-Einheit zu ISO-Code (Mengen-,Gewicht- &amp;amp;Volumeneinheit) &lt;br /&gt;
|-&lt;br /&gt;
|[[UNIT_OF_MEASURE_ISO_TO_SAP]]&lt;br /&gt;
|Ändert ISO-Code zur internen SAP-Einheit (Mengen-,Gewicht- &amp;amp;Volumeneinheit)&lt;br /&gt;
|-&lt;br /&gt;
|[[SAP_CONVERT_TO_TEX_FORMAT]]&lt;br /&gt;
|Trennt Tabelleninhalte mit einem Trennzeichen z.B. Komma&lt;br /&gt;
|-&lt;br /&gt;
|[[ALSM_EXCEL_TO_INTERNAL_TABLE]]&lt;br /&gt;
|Kann .xlsx Dateien in interne Tabellen konvertieren. Klarer Nachteil ist allerdings, dass leere Felder in der .xlsx für die Konvertierung ignoriert werden.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== E-Mail/Dokumentenversand ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[SO_NEW_DOCUMENT_SEND_API1|SO_NEW_DOCUMENT_SEND_API1]]&lt;br /&gt;
|Sendet eine E-Mail mit .txt Anhang an einen E-Mail-Empfänger&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
s. [[E-Mail_senden|bessere klassenbasierte Variante]]&lt;br /&gt;
&lt;br /&gt;
=== Texte ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[READ_TEXT]]&lt;br /&gt;
|Lesen Texte wie Langtexte in Stammsätze oder Belegen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Basis / Schnittstellen / Technisches ==&lt;br /&gt;
&lt;br /&gt;
=== Dateiverarbeitung / Verzeichnis ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[EPS_GET_DIRECTORY_LISTING|EPS_GET_DIRECTORY_LISTING]]&lt;br /&gt;
|Bekommt alle Filenamen eines Verzeichnisses&lt;br /&gt;
|-&lt;br /&gt;
|[[PFL_CHECK_DIRECTORY|PFL_CHECK_DIRECTORY]]&lt;br /&gt;
|Check, ob Verzeichnis existiert&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Berechtigungen und Sperren ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[ENQUEUE|ENQUEUE]]&lt;br /&gt;
|Sperrt ein Objekt&lt;br /&gt;
|-&lt;br /&gt;
|[[DEQUEUE|DEQUEUE]]&lt;br /&gt;
|Entsperrt ein Objekt&lt;br /&gt;
|-&lt;br /&gt;
|[[ENQUEUE_READ|ENQUEUE_READ]]&lt;br /&gt;
|Lesen ob ein Objekt gesperrt ist&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Nummernkreis ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[Nummernkreisobjekt|NUMBER_GET_NEXT]]&lt;br /&gt;
|Neue Nummer vom Z Nummernkreis bekommen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== IDoc ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[ALE_RESERVATION_CREATE]]&lt;br /&gt;
|Erstellt [[MRESCR|MRESCR]] IDoc&lt;br /&gt;
|-&lt;br /&gt;
|[[IDOC_OUTPUT_DELVRY]]&lt;br /&gt;
|Erstellt [[DESADV|DESADV]] Outbound IDoc&lt;br /&gt;
|-&lt;br /&gt;
|[[IDOC_INPUT_DELVRY]]&lt;br /&gt;
|Erstellt [[DESADV|DESADV]] Inbound IDoc  &lt;br /&gt;
|-&lt;br /&gt;
|[[MASTER_IDOC_DISTRIBUTE|MASTER_IDOC_DISTRIBUTE]]&lt;br /&gt;
|Erstellt ein Outbound IDoc (Beispiel MBGMCR)&lt;br /&gt;
|-&lt;br /&gt;
|[[IDOC_INBOUND_WRITE_TO_DB|IDOC_INBOUND_WRITE_TO_DB]]&lt;br /&gt;
|Erstellt ein Inbound IDoc &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== GUI  ==&lt;br /&gt;
&lt;br /&gt;
=== Dynpro ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[RS_SET_SELSCREEN_STATUS|RS_SET_SELSCREEN_STATUS]]&lt;br /&gt;
|Ermöglicht bei einem automatisch generierten Dynpro die Statusleiste auszutauschen&lt;br /&gt;
|-&lt;br /&gt;
|[[F4IF_INT_TABLE_VALUE_REQUEST]]&lt;br /&gt;
|Eigene F4-Suchhilfe auf Basis einer internen Tabelle anzeigen&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Grid Darstellung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[REUSE_ALV_GRID_DISPLAY|REUSE_ALV_GRID_DISPLAY]]&lt;br /&gt;
|Stellt recht ohne viel Aufwand Daten in Grid dar.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== MM ==&lt;br /&gt;
&lt;br /&gt;
=== Bestellung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_GOODSMVT_CREATE| BAPI_GOODSMVT_CREATE]]&lt;br /&gt;
|(MIGO) Warenbewegung buchen&lt;br /&gt;
|-&lt;br /&gt;
|[[ME_PO_CONFIRM]]&lt;br /&gt;
|Fügt Bestätigungspositionen zu, wenn Bestätigungssteuerungsschlüssel vorbelegt ist &lt;br /&gt;
|-&lt;br /&gt;
|[[ME_READ_CHANGES_EINKBELEG]]&lt;br /&gt;
|Lesen von Änderungsbelegen zu einem Einkaufsbeleg&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==== Preisfindung/Preissimulation ====&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[ME_PO_PRICE_SIMULATION|ME_PO_PRICE_SIMULATION]]&lt;br /&gt;
|Simulation einer Bestellung bzw. Preisfindung ohne Kontierungs- und Positonstyp&lt;br /&gt;
|-&lt;br /&gt;
|[[ME_PRICING_REFRESH]]&lt;br /&gt;
[[ME_PRICING_INFORECORD]]&lt;br /&gt;
[[ME_PRICING_DIALOG]]&lt;br /&gt;
[[ME_PRICING_DELIVERY_PLAN]]&lt;br /&gt;
|Wenn mit ME_PRICING_INFORECORD keine Preise gefunden werden, kann mit Kombi ME_PRICING_DIALOG und ME_PRICING_DELIVERY_PLAN die Konditionen, dargestellt wie im Kalkschema inkl. Zwischensummen, der letzten Bestellung gezogen werden&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== FI ==&lt;br /&gt;
&lt;br /&gt;
=== Buchungen ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[BAPI_ACC_DOCUMENT_POST| BAPI_ACC_DOCUMENT_POST]]&lt;br /&gt;
|(FB01) Buchung eines Buchungsbelegs (AP, AR, etc.)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== CO ==&lt;br /&gt;
&lt;br /&gt;
=== Obligoverwaltung ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[K_OPEN_ITEM_POST|K_OPEN_ITEM_POST]]&lt;br /&gt;
|Obligoeinzelposten verbuchen (Hinzufügen, Update, Löschung)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== (e)WM ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[HU_CREATE_GOODS_MOVEMENT|HU_CREATE_GOODS_MOVEMENT]]&lt;br /&gt;
|Warenbewegung in Kombination mit einer HU&lt;br /&gt;
|-&lt;br /&gt;
|[[HU_PACKING_REFRESH]]&lt;br /&gt;
|Cleart globale Variablen.I.d.R. als erstes auszuführen, wenn weitere FuBas kommen.&lt;br /&gt;
|-&lt;br /&gt;
|[[VHUPRT2HU_CREATE_HUS]]&lt;br /&gt;
|Erstellt eine HU mit Typ &amp;quot;Werksauftrag:Endprodukt&amp;quot;.&lt;br /&gt;
|-&lt;br /&gt;
|[[VHUPRT2HU_CHECK_SAVE_SHOW_HUS]]&lt;br /&gt;
|Speichert z.B. eine HU mit Typ &amp;quot;Werksauftrag:Endprodukt&amp;quot; auf der DB.&lt;br /&gt;
|-&lt;br /&gt;
|[[VHURM_HU_POST_WE_PROD_ORDER|VHURM_HU_POST_WE_PROD_ORDER]]&lt;br /&gt;
|Führt ein Wareneingang mit einer HU mit Typ &amp;quot;Werksauftrag:Endprodukt&amp;quot; zum Fertigungsauftrag aus.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Alles sonstige ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|&#039;&#039;&#039;Name&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;Zweck&#039;&#039;&#039;&lt;br /&gt;
|-&lt;br /&gt;
|[[CALL_BROWSER]]&lt;br /&gt;
|Öffnet im lokalen Standardbrowser einen neuen Tab oder neues Fenster&lt;br /&gt;
|-&lt;br /&gt;
|[[GUI_IS_ITS]]&lt;br /&gt;
|Prüfen, ob Umgebung WebGUI ist.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2432</id>
		<title>Aufruf von Actions in RAP Web-API</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2432"/>
		<updated>2026-03-21T15:42:51Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:RAP]]&lt;br /&gt;
[[Kategorie:RAP_als_Web_API]]&lt;br /&gt;
== OData V2 - Web API ==&lt;br /&gt;
&lt;br /&gt;
=== Action &amp;quot;Process&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Ausgangsituation, s. [[CSV_Upload_und_Verarbeitung_mit_RAP_am_Beispiel_von_Geschaeftspartner-Personen#Managed_ohne_Draft]]:&lt;br /&gt;
* Action Methode in Behavior Definition &amp;quot;ZR_YMD_BP_CSV_ROWS&amp;quot; definiert&lt;br /&gt;
* Action Methode in Behavior Impl. &amp;quot;ZBP_YMD_BP_CSV_ROWS-&amp;gt;LHC_CSVROWS-&amp;gt;Process&amp;quot; ausprogrammiert&lt;br /&gt;
* Service Binding: ZAPI_YMD_BP_CSVUPLOAD_O2&lt;br /&gt;
&lt;br /&gt;
SAP Gateway Client / Postman:&lt;br /&gt;
* HTTP-Methode: POST (ggf. vorher mit GET X-CRSF-Token besorgen)&lt;br /&gt;
* Request-URI: /sap/opu/odata/sap/ZAPI_YMD_BP_CSVUPLOAD_O2/Process?FileID=8&amp;amp;FileIDRow=1&lt;br /&gt;
&lt;br /&gt;
== OData V4 - Web API ==&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Kategorie:RAP_als_Web_API&amp;diff=2431</id>
		<title>Kategorie:RAP als Web API</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Kategorie:RAP_als_Web_API&amp;diff=2431"/>
		<updated>2026-03-21T15:38:37Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:RAP]]&lt;br /&gt;
== Kurzdefinition nach SAP ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.m1ch3l.de/Kategorie:RAP#Kurzdefinition_nach_SAP&lt;br /&gt;
&lt;br /&gt;
== Ist RAP clean-core oder Cloud Ready? ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.m1ch3l.de/Kategorie:RAP#Ist_RAP_clean-core_oder_Cloud_Ready?&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=MediaWiki:Sidebar&amp;diff=2430</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=MediaWiki:Sidebar&amp;diff=2430"/>
		<updated>2026-03-21T15:37:52Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* 🌍 Geschäftsprozesse / Module&lt;br /&gt;
** category: Materialwirtschaft|Materialwirtschaft&lt;br /&gt;
** category: Qualitätsmanagement|Qualitätsmanagement&lt;br /&gt;
** category: Warehouse_Management|Warehouse Management&lt;br /&gt;
* ⚙️ Customizing&lt;br /&gt;
** category: SPRO|SPRO&lt;br /&gt;
*** Customizing_für_Materialwirtschaft|-&amp;gt; MM&lt;br /&gt;
*** Customizing_für_Qualitätsmanagement|-&amp;gt; QM&lt;br /&gt;
** Customizing_für_Fiori-Apps|Fiori Apps&lt;br /&gt;
*** &lt;br /&gt;
* ⛏️ Erweiterbarkeit&lt;br /&gt;
** category: In-App_Extensibility|IN-APP EXTENSIBILITY&lt;br /&gt;
*** Key_User_Extensibility|-&amp;gt; Key User Extensibility&lt;br /&gt;
*** category: Classic_Extensibility|-&amp;gt; Classic Extensibility&lt;br /&gt;
** category: Side_by_Side_Extensibility|S-BY-S EXTENSIBILITY&lt;br /&gt;
*** Business_Technology_Platform|-&amp;gt; Business Technology Platform&lt;br /&gt;
* ⌨️ Entwicklung&lt;br /&gt;
*** Clean_Core_Level_Modell|Clean-Core-Level-Modell&lt;br /&gt;
** category: SAP_Standard|SAP STANDARD&lt;br /&gt;
*** Kategorie:SAP_APIs|-&amp;gt; APIs&lt;br /&gt;
*** SAP_FuBas_und_BAPIs|-&amp;gt; FuBas &amp;amp; BAPIs&lt;br /&gt;
*** SAP_Klassen|-&amp;gt; Klassen&lt;br /&gt;
*** SAP_Programme|-&amp;gt; Programme&lt;br /&gt;
*** Kategorie:Core_Data_Services|-&amp;gt; Core Data Services&lt;br /&gt;
*** category: RAP|-&amp;gt; RAP&lt;br /&gt;
*** category: Schlüsselbegriffe|-&amp;gt; Schlüsselbegriffe&lt;br /&gt;
** category: Z_Coding_3rd_Party|Z-CODING/3RD PARTY&lt;br /&gt;
*** category: AddOns|-&amp;gt; AddOns&lt;br /&gt;
*** category: Codeschnipsel|-&amp;gt; Codeschnipsel&lt;br /&gt;
*** category: Freizeit_erstellte_ZKlassen_und_ZProgramme|-&amp;gt; Freizeit Coding&lt;br /&gt;
** IDE|IDE&lt;br /&gt;
*** category: Eclipse|-&amp;gt; Eclipse&lt;br /&gt;
* 🖥️ Schnittstellen zu Systemen / Integration / EDI&lt;br /&gt;
** category:IDoc_im_Standard|IDoc im Standard&lt;br /&gt;
** category:IDoc_im_Z-Umfeld|IDoc im Z-Umfeld&lt;br /&gt;
** category:REST_API|REST API&lt;br /&gt;
** category: RAP_als_Web_API|RAP als Web-API&lt;br /&gt;
* 🔝 Übergreifend / Sonstiges&lt;br /&gt;
** category: Stammdaten|Stammdaten&lt;br /&gt;
** SAP_Tabellen|Tabellen&lt;br /&gt;
** SAP_Objekte|Objekte&lt;br /&gt;
** category: Nachrichtensteuerung|Nachrichtensteuerung&lt;br /&gt;
** category: BusinessWorkflow|Business Workflow&lt;br /&gt;
** category: Fiori|Fiori&lt;br /&gt;
** category: Formulare|Formulare&lt;br /&gt;
** Übersetzungen|Übersetzungen&lt;br /&gt;
** SAP_Transaktionen|Transaktionen&lt;br /&gt;
** category: Berechtigungen|Berechtigungen&lt;br /&gt;
* Für Einsteiger / Anfänger&lt;br /&gt;
* Einführung_in_ABAP|Einführung in ABAP&lt;br /&gt;
* 👨‍💻 Administration&lt;br /&gt;
** https://wiki.m1ch3l.de/wiki.m1ch3l.de:%C3%9Cber_SAP_Wiki_%E3%83%84#Wiki|Wiki&lt;br /&gt;
** https://wiki.m1ch3l.de/wiki.m1ch3l.de:%C3%9Cber_SAP_Wiki_%E3%83%84#Autor|Autor&lt;br /&gt;
** https://de.m1ch3l.de/#imprint|Impressum&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=MediaWiki:Sidebar&amp;diff=2429</id>
		<title>MediaWiki:Sidebar</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=MediaWiki:Sidebar&amp;diff=2429"/>
		<updated>2026-03-21T15:37:40Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* 🌍 Geschäftsprozesse / Module&lt;br /&gt;
** category: Materialwirtschaft|Materialwirtschaft&lt;br /&gt;
** category: Qualitätsmanagement|Qualitätsmanagement&lt;br /&gt;
** category: Warehouse_Management|Warehouse Management&lt;br /&gt;
* ⚙️ Customizing&lt;br /&gt;
** category: SPRO|SPRO&lt;br /&gt;
*** Customizing_für_Materialwirtschaft|-&amp;gt; MM&lt;br /&gt;
*** Customizing_für_Qualitätsmanagement|-&amp;gt; QM&lt;br /&gt;
** Customizing_für_Fiori-Apps|Fiori Apps&lt;br /&gt;
*** &lt;br /&gt;
* ⛏️ Erweiterbarkeit&lt;br /&gt;
** category: In-App_Extensibility|IN-APP EXTENSIBILITY&lt;br /&gt;
*** Key_User_Extensibility|-&amp;gt; Key User Extensibility&lt;br /&gt;
*** category: Classic_Extensibility|-&amp;gt; Classic Extensibility&lt;br /&gt;
** category: Side_by_Side_Extensibility|S-BY-S EXTENSIBILITY&lt;br /&gt;
*** Business_Technology_Platform|-&amp;gt; Business Technology Platform&lt;br /&gt;
* ⌨️ Entwicklung&lt;br /&gt;
*** Clean_Core_Level_Modell|Clean-Core-Level-Modell&lt;br /&gt;
** category: SAP_Standard|SAP STANDARD&lt;br /&gt;
*** Kategorie:SAP_APIs|-&amp;gt; APIs&lt;br /&gt;
*** SAP_FuBas_und_BAPIs|-&amp;gt; FuBas &amp;amp; BAPIs&lt;br /&gt;
*** SAP_Klassen|-&amp;gt; Klassen&lt;br /&gt;
*** SAP_Programme|-&amp;gt; Programme&lt;br /&gt;
*** Kategorie:Core_Data_Services|-&amp;gt; Core Data Services&lt;br /&gt;
*** category: RAP|-&amp;gt; RAP&lt;br /&gt;
*** category: Schlüsselbegriffe|-&amp;gt; Schlüsselbegriffe&lt;br /&gt;
** category: Z_Coding_3rd_Party|Z-CODING/3RD PARTY&lt;br /&gt;
*** category: AddOns|-&amp;gt; AddOns&lt;br /&gt;
*** category: Codeschnipsel|-&amp;gt; Codeschnipsel&lt;br /&gt;
*** category: Freizeit_erstellte_ZKlassen_und_ZProgramme|-&amp;gt; Freizeit Coding&lt;br /&gt;
** IDE|IDE&lt;br /&gt;
*** category: Eclipse|-&amp;gt; Eclipse&lt;br /&gt;
* 🖥️ Schnittstellen zu Systemen / Integration / EDI&lt;br /&gt;
** category:IDoc_im_Standard|IDoc im Standard&lt;br /&gt;
** category:IDoc_im_Z-Umfeld|IDoc im Z-Umfeld&lt;br /&gt;
** category:REST_API|REST API&lt;br /&gt;
** category: RAP_als_Web_API|RAP als Web-API]]&lt;br /&gt;
* 🔝 Übergreifend / Sonstiges&lt;br /&gt;
** category: Stammdaten|Stammdaten&lt;br /&gt;
** SAP_Tabellen|Tabellen&lt;br /&gt;
** SAP_Objekte|Objekte&lt;br /&gt;
** category: Nachrichtensteuerung|Nachrichtensteuerung&lt;br /&gt;
** category: BusinessWorkflow|Business Workflow&lt;br /&gt;
** category: Fiori|Fiori&lt;br /&gt;
** category: Formulare|Formulare&lt;br /&gt;
** Übersetzungen|Übersetzungen&lt;br /&gt;
** SAP_Transaktionen|Transaktionen&lt;br /&gt;
** category: Berechtigungen|Berechtigungen&lt;br /&gt;
* Für Einsteiger / Anfänger&lt;br /&gt;
* Einführung_in_ABAP|Einführung in ABAP&lt;br /&gt;
* 👨‍💻 Administration&lt;br /&gt;
** https://wiki.m1ch3l.de/wiki.m1ch3l.de:%C3%9Cber_SAP_Wiki_%E3%83%84#Wiki|Wiki&lt;br /&gt;
** https://wiki.m1ch3l.de/wiki.m1ch3l.de:%C3%9Cber_SAP_Wiki_%E3%83%84#Autor|Autor&lt;br /&gt;
** https://de.m1ch3l.de/#imprint|Impressum&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2428</id>
		<title>Aufruf von Actions in RAP Web-API</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2428"/>
		<updated>2026-03-21T15:36:37Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:RAP]]&lt;br /&gt;
[[Kategorie:RAP_als_Web_API]]&lt;br /&gt;
== OData V2 - Web API ==&lt;br /&gt;
&lt;br /&gt;
=== Action &amp;quot;Process&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Ausgangsituation, s. [[CSV_Upload_und_Verarbeitung_mit_RAP_am_Beispiel_von_Geschaeftspartner-Personen#Managed_ohne_Draft]]:&lt;br /&gt;
* Action Methode in Behavior Definition &amp;quot;ZR_YMD_BP_CSV_ROWS&amp;quot; definiert&lt;br /&gt;
* Action Methode in Behavior Impl. &amp;quot;ZBP_YMD_BP_CSV_ROWS-&amp;gt;LHC_CSVROWS-&amp;gt;Process&amp;quot; ausprogrammiert&lt;br /&gt;
* Service Binding: ZAPI_YMD_BP_CSVUPLOAD_O2&lt;br /&gt;
&lt;br /&gt;
SAP Gateway Client / Postman:&lt;br /&gt;
* HTTP-Methode: POST (ggf. vorher mit GET X-CRSF-Token besorgen)&lt;br /&gt;
* Request-URI: /sap/opu/odata/sap/ZAPI_YMD_BP_CSVUPLOAD_O2/Process?FileID=8&amp;amp;FileIDRow=1&lt;br /&gt;
&lt;br /&gt;
== OData V2 - Web API ==&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Kategorie:RAP_als_Web_API&amp;diff=2427</id>
		<title>Kategorie:RAP als Web API</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Kategorie:RAP_als_Web_API&amp;diff=2427"/>
		<updated>2026-03-21T15:35:07Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kurzdefinition nach SAP ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.m1ch3l.de/Kategorie:RAP#Kurzdefinition_nach_SAP&lt;br /&gt;
&lt;br /&gt;
== Ist RAP clean-core oder Cloud Ready? ==&lt;br /&gt;
&lt;br /&gt;
* https://wiki.m1ch3l.de/Kategorie:RAP#Ist_RAP_clean-core_oder_Cloud_Ready?&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Kategorie:RAP_als_Web_API&amp;diff=2426</id>
		<title>Kategorie:RAP als Web API</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Kategorie:RAP_als_Web_API&amp;diff=2426"/>
		<updated>2026-03-21T15:34:31Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Kurzdefinition nach SAP ==&lt;br /&gt;
&lt;br /&gt;
* [[Kategorie:RAP#Kurzdefinition nach SAP]]&lt;br /&gt;
&lt;br /&gt;
== Ist RAP clean-core oder Cloud Ready? ==&lt;br /&gt;
&lt;br /&gt;
* [[Kategorie:RAP#Ist_RAP_clean-core_oder_Cloud_Ready?]]&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Kategorie:RAP_als_Web_API&amp;diff=2425</id>
		<title>Kategorie:RAP als Web API</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Kategorie:RAP_als_Web_API&amp;diff=2425"/>
		<updated>2026-03-21T15:32:16Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: Die Seite wurde neu angelegt: „* https://wiki.m1ch3l.de/Kategorie:RAP#Kurzdefinition%20nach%20SAP“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;* https://wiki.m1ch3l.de/Kategorie:RAP#Kurzdefinition%20nach%20SAP&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Hauptseite&amp;diff=2424</id>
		<title>Hauptseite</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Hauptseite&amp;diff=2424"/>
		<updated>2026-03-21T15:21:41Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: Weiterleitung nach Willkommen erstellt&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;#REDIRECT [[Willkommen]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;strong&amp;gt;MediaWiki wurde installiert.&amp;lt;/strong&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Hilfe zur Benutzung und Konfiguration der Wiki-Software findest du im [https://www.mediawiki.org/wiki/Special:MyLanguage/Help:Contents Benutzerhandbuch].&lt;br /&gt;
&lt;br /&gt;
== Starthilfen ==&lt;br /&gt;
&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Configuration_settings Liste der Konfigurationsvariablen]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:FAQ MediaWiki-FAQ]&lt;br /&gt;
* [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce Mailingliste neuer MediaWiki-Versionen]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Localisation#Translation_resources Übersetze MediaWiki für deine Sprache]&lt;br /&gt;
* [https://www.mediawiki.org/wiki/Special:MyLanguage/Manual:Combating_spam Erfahre, wie du Spam auf deinem Wiki bekämpfen kannst]&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Generische_Objektdienste_(GOS)&amp;diff=2423</id>
		<title>Generische Objektdienste (GOS)</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Generische_Objektdienste_(GOS)&amp;diff=2423"/>
		<updated>2026-03-21T15:18:45Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie: Codeschnipsel]]&lt;br /&gt;
== Coding ==&lt;br /&gt;
&lt;br /&gt;
=== FuBas, Klassen ===&lt;br /&gt;
&lt;br /&gt;
==== Konvertierungen ====&lt;br /&gt;
&lt;br /&gt;
===== BIN zu XSTRING =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
*Parameter&lt;br /&gt;
*IS_DOCOUMENT_DATA	TYPE SOFOLENTI1&lt;br /&gt;
*IT_OBJECT_CONTENT	TYPE SWFTLISTI1&lt;br /&gt;
*value( RV_XSTRING )	TYPE XSTRING&lt;br /&gt;
&lt;br /&gt;
DATA lt_solixtab TYPE solix_tab.&lt;br /&gt;
DATA lv_docsize  TYPE i.&lt;br /&gt;
DATA lv_xstring TYPE xstring.&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &#039;SO_SOLITAB_TO_SOLIXTAB&#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      ip_solitab  = it_object_content &amp;quot;TYPE SOFOLENTI1&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      ep_solixtab = lt_solixtab.&lt;br /&gt;
&lt;br /&gt;
  lv_docsize = lines( lt_solixtab ) * 255.&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &#039;SCMS_BINARY_TO_XSTRING&#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      input_length = lv_docsize&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      buffer       = lv_xstring&lt;br /&gt;
    TABLES&lt;br /&gt;
      binary_tab   = lt_solixtab&lt;br /&gt;
    EXCEPTIONS&lt;br /&gt;
      failed       = 1&lt;br /&gt;
      OTHERS       = 2.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===== XSTRING zu BIN =====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
*Parameter&lt;br /&gt;
*IV_XSTRING	TYPE XSTRING&lt;br /&gt;
*value( RT_CONTENT )	TYPE SOLI_TAB&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DATA lt_content_x    TYPE solix_tab.&lt;br /&gt;
  DATA lv_solix_length TYPE i.&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &#039;SCMS_XSTRING_TO_BINARY&#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      buffer        = iv_xstring&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      output_length = lv_solix_length&lt;br /&gt;
    TABLES&lt;br /&gt;
      binary_tab    = lt_content_x.&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &#039;SO_SOLIXTAB_TO_SOLITAB&#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      ip_solixtab = lt_content_x&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      ep_solitab  = lt_content.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Inhalt Datei bekommen ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
*Parameter&lt;br /&gt;
*IV_DOCNO	TYPE SO_ENTRYID&lt;br /&gt;
*ES_DOCOUMENT_DATA	TYPE SOFOLENTI1&lt;br /&gt;
*ET_OBJECT_HEADER	TYPE SWFTLISTI1&lt;br /&gt;
*ET_OBJECT_CONTENT	TYPE SWFTLISTI1&lt;br /&gt;
*EV_XSTRING	TYPE XSTRING&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &#039;SO_DOCUMENT_READ_API1&#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      document_id                = iv_docno &amp;quot; TYPE SO_ENTRYID&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      document_data              = ls_docoument_data&lt;br /&gt;
    TABLES&lt;br /&gt;
      object_header              = lt_object_header&lt;br /&gt;
      object_content             = lt_object_content&lt;br /&gt;
    EXCEPTIONS&lt;br /&gt;
      document_id_not_exist      = 1&lt;br /&gt;
      operation_no_authorization = 2&lt;br /&gt;
      x_error                    = 3&lt;br /&gt;
      OTHERS                     = 4.&lt;br /&gt;
&lt;br /&gt;
&amp;quot;convert bin zu xstring&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Anhänge hinzufügen ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
*Parameter&lt;br /&gt;
*IS_DOCOUMENT_DATA	TYPE SOFOLENTI1&lt;br /&gt;
*IT_OBJECT_HEADER	TYPE SWFTLISTI1&lt;br /&gt;
*IV_XSTRING	TYPE XSTRING&lt;br /&gt;
*value( RS_OBJECT_HEAD )	TYPE SOOD2&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
DATA ls_root_folder  TYPE soodk.&lt;br /&gt;
  DATA ls_object_id    TYPE soodk.&lt;br /&gt;
  DATA lt_content      TYPE soli_tab.&lt;br /&gt;
  DATA ls_doc_data     TYPE sood1.&lt;br /&gt;
  DATA ls_object_head  TYPE sood2.&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &#039;SO_FOLDER_ROOT_ID_GET&#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      region                = &#039;B&#039;&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      folder_id             = ls_root_folder&lt;br /&gt;
    EXCEPTIONS&lt;br /&gt;
      communication_failure = 1&lt;br /&gt;
      owner_not_exist       = 2&lt;br /&gt;
      system_failure        = 3&lt;br /&gt;
      x_error               = 4&lt;br /&gt;
      OTHERS                = 5.&lt;br /&gt;
&lt;br /&gt;
  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;br /&gt;
    RETURN.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
  lt_content = convert_xstring_to_bin( iv_xstring ).&lt;br /&gt;
&lt;br /&gt;
  ls_doc_data = VALUE #( objla  = is_docoument_data-obj_langu&lt;br /&gt;
                         objsrt = is_docoument_data-obj_sort&lt;br /&gt;
                         objnam = is_docoument_data-obj_name&lt;br /&gt;
                         objdes = is_docoument_data-obj_descr&lt;br /&gt;
                         objpri = is_docoument_data-obj_prio&lt;br /&gt;
                         objsns = is_docoument_data-sensitivty&lt;br /&gt;
                         acout  = is_docoument_data-to_do_out&lt;br /&gt;
                         vmtyp  = is_docoument_data-proc_type&lt;br /&gt;
                         skips  = is_docoument_data-skip_scren&lt;br /&gt;
                         objcp  = is_docoument_data-no_change&lt;br /&gt;
                         ownnam = is_docoument_data-owner_nam ).&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &#039;SO_OBJECT_INSERT&#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      folder_id                  = ls_root_folder&lt;br /&gt;
      object_hd_change           = ls_doc_data&lt;br /&gt;
      object_type                = &#039;EXT&#039;&lt;br /&gt;
    IMPORTING&lt;br /&gt;
      object_hd_display          = ls_object_head&lt;br /&gt;
      object_id                  = ls_object_id&lt;br /&gt;
    TABLES&lt;br /&gt;
      objcont                    = lt_content&lt;br /&gt;
      objhead                    = it_object_header&lt;br /&gt;
    EXCEPTIONS&lt;br /&gt;
      active_user_not_exist      = 1&lt;br /&gt;
      communication_failure      = 2&lt;br /&gt;
      component_not_available    = 3&lt;br /&gt;
      dl_name_exist              = 4&lt;br /&gt;
      folder_not_exist           = 5&lt;br /&gt;
      folder_no_authorization    = 6&lt;br /&gt;
      object_type_not_exist      = 7&lt;br /&gt;
      operation_no_authorization = 8&lt;br /&gt;
      owner_not_exist            = 9&lt;br /&gt;
      parameter_error            = 10&lt;br /&gt;
      substitute_not_active      = 11&lt;br /&gt;
      substitute_not_defined     = 12&lt;br /&gt;
      system_failure             = 13&lt;br /&gt;
      x_error                    = 14&lt;br /&gt;
      OTHERS                     = 15.&lt;br /&gt;
&lt;br /&gt;
  IF sy-subrc &amp;lt;&amp;gt; 0.&lt;br /&gt;
    RETURN.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
  IF create_binary_relation( is_root_folder = ls_root_folder&lt;br /&gt;
                             is_object_id   = ls_object_id ).&lt;br /&gt;
    &amp;quot;Alle Schritte erfogreich durchgeführt&lt;br /&gt;
    &amp;quot;--&amp;gt; Informationen zur Datei zurückgeben&lt;br /&gt;
    rs_object_head = ls_object_head.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Anhänge bekommen ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
*Parameter&lt;br /&gt;
*value( RT_LINKS )	TYPE OBL_T_LINK&lt;br /&gt;
&lt;br /&gt;
DATA(ls_lpor) = VALUE sibflporb( instid = *Business Objekt Key* &amp;quot;z.B. Belegnummer Kundenauftrag&lt;br /&gt;
                                 typeid = *Business Objekt TYPE* &amp;quot;z.B. Kundenauftrag BUS2032&lt;br /&gt;
                                 catid  = &#039;BO&#039; ).&lt;br /&gt;
&lt;br /&gt;
DATA(lt_rel_options) = VALUE obl_t_relt( ( sign   = &#039;I&#039;&lt;br /&gt;
                                           option = &#039;EQ&#039;&lt;br /&gt;
                                           low    = &#039;ATTA&#039; ) ).&lt;br /&gt;
&lt;br /&gt;
cl_binary_relation=&amp;gt;read_links_of_binrels(&lt;br /&gt;
 EXPORTING&lt;br /&gt;
  is_object           = ls_lpor&lt;br /&gt;
  it_relation_options = lt_rel_options&lt;br /&gt;
  ip_role             = &#039;GOSAPPLOBJ&#039;&lt;br /&gt;
 IMPORTING&lt;br /&gt;
  et_links            = DATA(lt_links) ).&lt;br /&gt;
 CATCH cx_obl_parameter_error&lt;br /&gt;
  cx_obl_internal_error&lt;br /&gt;
  cx_obl_model_error.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Anhänge kopieren ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
&amp;quot;Prüfen, ob die Quelle Anhänge hat, s. o.&lt;br /&gt;
DATA(ls_source) = VALUE sibflporb( instid = *Business Objekt Key* &amp;quot;z.B. Belegnummer Kundenauftrag&lt;br /&gt;
                                   typeid = *Business Objekt TYPE* &amp;quot;z.B. Kundenauftrag BUS2032&lt;br /&gt;
                                   catid  = &#039;BO&#039; ).&lt;br /&gt;
&lt;br /&gt;
DATA(ls_target) = VALUE sibflporb( instid = *Business Objekt Key* &amp;quot;z.B. Belegnummer Kontrakt&lt;br /&gt;
                                   typeid = *Business Objekt TYPE* &amp;quot;z.B. Kontrakt BUS2034&lt;br /&gt;
                                   catid  = &#039;BO&#039; ).&lt;br /&gt;
&lt;br /&gt;
cl_gos_service_tools=&amp;gt;copy_linked_objects( is_source            = ls_source&lt;br /&gt;
                                           is_target            = ls_target&lt;br /&gt;
                                           it_service_selection = VALUE tgos_sels( ( sign   = &#039;I&#039;&lt;br /&gt;
                                                                                     option = &#039;EQ&#039;&lt;br /&gt;
                                                                                     low    = &#039;PCATTA_CREA&#039; ) &lt;br /&gt;
                                                                                  ) &lt;br /&gt;
                                          ). &lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== Anhänge löschen ====&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
*Parameter&lt;br /&gt;
*IS_LINK	TYPE OBL_S_LINK&lt;br /&gt;
*value( RV_DELETED )	TYPE ABAP_BOOL&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
  DATA ls_lpor_a TYPE sibflporb.&lt;br /&gt;
  DATA ls_lpor_b TYPE sibflporb.&lt;br /&gt;
&lt;br /&gt;
  DATA ls_folder_id TYPE soodk.&lt;br /&gt;
  DATA ls_object_id TYPE soodk.&lt;br /&gt;
&lt;br /&gt;
  IF is_link IS INITIAL.&lt;br /&gt;
    RETURN.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&lt;br /&gt;
  ls_lpor_a = VALUE #( catid  = is_link-catid_a&lt;br /&gt;
                       typeid = is_link-typeid_a&lt;br /&gt;
                       instid = is_link-instid_a ).&lt;br /&gt;
&lt;br /&gt;
  ls_lpor_b = VALUE #( catid  = is_link-catid_b&lt;br /&gt;
                       typeid = is_link-typeid_b&lt;br /&gt;
                       instid = is_link-instid_b ).&lt;br /&gt;
&lt;br /&gt;
  TRY.&lt;br /&gt;
      cl_binary_relation=&amp;gt;delete_link( is_object_a = ls_lpor_a&lt;br /&gt;
                                       is_object_b = ls_lpor_b&lt;br /&gt;
                                       ip_reltype  = is_link-reltype ).&lt;br /&gt;
    CATCH cx_obl_parameter_error&lt;br /&gt;
          cx_obl_internal_error&lt;br /&gt;
          cx_obl_model_error.&lt;br /&gt;
      RETURN.&lt;br /&gt;
  ENDTRY.&lt;br /&gt;
&lt;br /&gt;
  ls_folder_id = VALUE #( objtp = is_link-instid_b+0(3)&lt;br /&gt;
                          objyr = is_link-instid_b+3(2)&lt;br /&gt;
                          objno = is_link-instid_b+5(12) ).&lt;br /&gt;
&lt;br /&gt;
  ls_object_id = VALUE #( objtp =   is_link-instid_b+17(3)&lt;br /&gt;
                          objyr =  is_link-instid_b+20(2)&lt;br /&gt;
                          objno =  is_link-instid_b+22(12) ).&lt;br /&gt;
&lt;br /&gt;
  CALL FUNCTION &#039;SO_OBJECT_DELETE&#039;&lt;br /&gt;
    EXPORTING&lt;br /&gt;
      folder_id                  = ls_folder_id&lt;br /&gt;
      object_id                  = ls_object_id&lt;br /&gt;
    EXCEPTIONS&lt;br /&gt;
      communication_failure      = 1&lt;br /&gt;
      folder_not_empty           = 2&lt;br /&gt;
      folder_not_exist           = 3&lt;br /&gt;
      folder_no_authorization    = 4&lt;br /&gt;
      forwarder_not_exist        = 5&lt;br /&gt;
      object_not_exist           = 6&lt;br /&gt;
      object_no_authorization    = 7&lt;br /&gt;
      operation_no_authorization = 8&lt;br /&gt;
      owner_not_exist            = 9&lt;br /&gt;
      substitute_not_active      = 10&lt;br /&gt;
      substitute_not_defined     = 11&lt;br /&gt;
      system_failure             = 12&lt;br /&gt;
      x_error                    = 13&lt;br /&gt;
      OTHERS                     = 14.&lt;br /&gt;
&lt;br /&gt;
  IF sy-subrc = 0.&lt;br /&gt;
    &amp;quot;Löschen erfolgreich. Commit ist noch erforderlich.&lt;br /&gt;
    rv_deleted = abap_true.&lt;br /&gt;
  ENDIF.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== APIs ===&lt;br /&gt;
* [[CV_ATTACHMENT_SRV]]&lt;br /&gt;
* [[API_CV_ATTACHMENT_SRV]]&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=wiki.m1ch3l.de:%C3%9Cber_SAP_Wiki_%E3%83%84&amp;diff=2422</id>
		<title>wiki.m1ch3l.de:Über SAP Wiki ツ</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=wiki.m1ch3l.de:%C3%9Cber_SAP_Wiki_%E3%83%84&amp;diff=2422"/>
		<updated>2026-03-21T15:16:53Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Autor ===&lt;br /&gt;
*[https://www.linkedin.com/in/marvin-michel-346840147/ LinkedIn]&lt;br /&gt;
*[https://www.xing.com/profile/Marvin_Michel3 Xing]&lt;br /&gt;
*[https://blog.m1ch3l.de Blog]&lt;br /&gt;
*[mailto:marvin@m1ch3l.de Kontakt]&lt;br /&gt;
*[https://de.m1ch3l.de/#imprint Impressum]&lt;br /&gt;
&lt;br /&gt;
=== Wiki ===&lt;br /&gt;
&lt;br /&gt;
*[[Videos|Übersicht aller Videos]]&lt;br /&gt;
*[[Spezial:Zufällige_Seite|Zufällige Seite]]&lt;br /&gt;
*[https://www.mediawiki.org/wiki/Help:Contents Wiki-Hilfe]&lt;br /&gt;
*[[Wiki-Seitenvorlagen|Wiki-Seitenvorlage]]&lt;br /&gt;
*[[Dieses_Wiki_unterstützen|Dieses Wiki unterstützen]]&lt;br /&gt;
*[[ToDos]]&lt;br /&gt;
*[[Lesezeichen]]&lt;br /&gt;
&lt;br /&gt;
=== Statistiken ===&lt;br /&gt;
&lt;br /&gt;
Das Wiki hat &#039;&#039;&#039;{{NUMBEROFPAGES}} Seiten&#039;&#039;&#039;, davon sind es &#039;&#039;&#039;{{NUMBEROFARTICLES}} Inhaltsseiten&#039;&#039;&#039; mit &#039;&#039;&#039;{{NUMBEROFFILES}} Dateien&#039;&#039;&#039;.&amp;lt;br /&amp;gt; Die Seiten wurden insgesamt &#039;&#039;&#039;{{NUMBEROFEDITS}} Mal geändert&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Folgende Kategorien haben insgesamt Seiten:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Materialwirtschaft =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:Materialwirtschaft|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* Qualitätsmanagement =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:Qualitätsmanagement|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* Stammdaten =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:Stammdaten|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* Fiori =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:Fiori|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* IDoc&amp;lt;br /&amp;gt;&lt;br /&gt;
** Standard =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:IDoc_im_Standard|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
** Z-Umfeld =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:IDoc_im_Z-Umfeld|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* Formulare =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:Formulare|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
** AdobeForms &#039;&#039;&#039;{{PAGESINCATEGORY:AdobeForms|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* Schlüsselbegriffe =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:Schlüsselbegriffe|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* Codeschnipsel =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:Codeschnipsel|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=wiki.m1ch3l.de:%C3%9Cber_SAP_Wiki_%E3%83%84&amp;diff=2421</id>
		<title>wiki.m1ch3l.de:Über SAP Wiki ツ</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=wiki.m1ch3l.de:%C3%9Cber_SAP_Wiki_%E3%83%84&amp;diff=2421"/>
		<updated>2026-03-21T15:16:28Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=== Autor ===&lt;br /&gt;
*[https://www.linkedin.com/in/marvin-michel-346840147/ LinkedIn]&lt;br /&gt;
*[https://www.xing.com/profile/Marvin_Michel3 Xing]&lt;br /&gt;
*[https://blog.m1ch3l.de Blog]&lt;br /&gt;
*[mailto:marvin@m1ch3l.de Kontakt]&lt;br /&gt;
*[https://de.m1ch3l.de/#imprint Impressum]&lt;br /&gt;
&lt;br /&gt;
=== Wiki ===&lt;br /&gt;
&lt;br /&gt;
*[[Videos|Übersicht aller Videos]]&lt;br /&gt;
*[[Spezial:Zufällige_Seite|Zufällige Seite]]&lt;br /&gt;
*[https://www.mediawiki.org/wiki/Help:Contents Wiki-Hilfe]&lt;br /&gt;
*[[Wiki-Seitenvorlagen|Wiki-Seitenvorlage]]&lt;br /&gt;
*[[Dieses_Wiki_unterstützen|Dieses Wiki unterstützen]]&lt;br /&gt;
*[[ToDos]]&lt;br /&gt;
*[[Lesezeichen]]&lt;br /&gt;
&lt;br /&gt;
=== Statistiken ===&lt;br /&gt;
&lt;br /&gt;
Das Wiki hat &#039;&#039;&#039;{{NUMBEROFPAGES}} Seiten&#039;&#039;&#039;, davon sind es &#039;&#039;&#039;{{NUMBEROFARTICLES}} Inhaltsseiten&#039;&#039;&#039; mit &#039;&#039;&#039;{{NUMBEROFFILES}} Dateien&#039;&#039;&#039;.&amp;lt;br /&amp;gt; Die Seiten wurden insgesamt &#039;&#039;&#039;{{NUMBEROFEDITS}} Mal geändert&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Folgende Kategorien haben insgesamt Seiten:&amp;lt;br /&amp;gt;&lt;br /&gt;
* Materialwirtschaft =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:Materialwirtschaft|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* Qualitätsmanagement =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:Qualitätsmanagement|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* Stammdaten =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:Stammdaten|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* Fiori =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:Fiori|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* IDoc&amp;lt;br /&amp;gt;&lt;br /&gt;
** Standard =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:IDoc_im_Standard|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
** Z-Umfeld =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:IDoc_im_Z-Umfeld|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* Formulare =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:Formulare|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
** AdobeForms &#039;&#039;&#039;{{PAGESINCATEGORY:AdobeForms|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* Schlüsselbegriffe =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:Schlüsselbegriffe|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
* Codeschnipsel =&amp;gt; &#039;&#039;&#039;{{PAGESINCATEGORY:Codeschnipsel|pages}}&#039;&#039;&#039;&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Englische Seiten ===&lt;br /&gt;
&lt;br /&gt;
* https://unirab.org&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=ToDos&amp;diff=2420</id>
		<title>ToDos</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=ToDos&amp;diff=2420"/>
		<updated>2026-03-21T15:15:42Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;adminonly&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&lt;br /&gt;
* Test&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=ToDos&amp;diff=2419</id>
		<title>ToDos</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=ToDos&amp;diff=2419"/>
		<updated>2026-03-21T15:15:33Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;adminonly&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&lt;br /&gt;
* &lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=ToDos&amp;diff=2418</id>
		<title>ToDos</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=ToDos&amp;diff=2418"/>
		<updated>2026-03-21T15:15:25Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;div class=&amp;quot;adminonly&amp;quot; style=&amp;quot;display:none;&amp;quot;&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/div&amp;gt;&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Lesezeichen&amp;diff=2417</id>
		<title>Lesezeichen</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Lesezeichen&amp;diff=2417"/>
		<updated>2026-03-21T15:13:58Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: Die Seite wurde geleert.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=ToDos&amp;diff=2416</id>
		<title>ToDos</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=ToDos&amp;diff=2416"/>
		<updated>2026-03-21T15:13:38Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: Die Seite wurde geleert.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=FILTER&amp;diff=2415</id>
		<title>FILTER</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=FILTER&amp;diff=2415"/>
		<updated>2026-03-21T15:11:45Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Schlüsselbegriffe]]&lt;br /&gt;
* https://github.com/SAP-samples/abap-cheat-sheets/blob/main/05_Constructor_Expressions.md#filter&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Formatoption_TIMESTAMP&amp;diff=2414</id>
		<title>Formatoption TIMESTAMP</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Formatoption_TIMESTAMP&amp;diff=2414"/>
		<updated>2026-03-21T15:11:22Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Formatoptionen(ABAP)]]&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Formatoption_PAD_WIDTH&amp;diff=2413</id>
		<title>Formatoption PAD WIDTH</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Formatoption_PAD_WIDTH&amp;diff=2413"/>
		<updated>2026-03-21T15:11:11Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Formatoptionen(ABAP)]]&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
 &amp;quot;Hier würde z.B. das Material 4711 dahinter mit Leerzeichen aufgefüllt werden&lt;br /&gt;
 lv_mat_with_spaces = |{ ls_purreq-material WIDTH = 40 PAD = space  }|.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=REUSE_ALV_GRID_DISPLAY&amp;diff=2412</id>
		<title>REUSE ALV GRID DISPLAY</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=REUSE_ALV_GRID_DISPLAY&amp;diff=2412"/>
		<updated>2026-03-21T15:08:56Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Clean-Core-Level_C]]&lt;br /&gt;
Der FuBa ist aus meiner Sicht gut, wenn man unkompliziert und schnell Daten im Grid darstellen will.&lt;br /&gt;
Bei User Aktionen wie Doppelklick muss allerdings ein Unterprogramm genutzt werden, sodass es für globale Methoden z.B. ungeeignet ist.&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
 &lt;br /&gt;
    DATA: ls_layout  TYPE slis_layout_alv.&lt;br /&gt;
 &lt;br /&gt;
 *   Globale ALV-Tabelle, damit USER_COMMAND funktioniert&lt;br /&gt;
    FREE: gt_log_alv.&lt;br /&gt;
  &lt;br /&gt;
    ls_layout-zebra = abap_true.&lt;br /&gt;
    ls_layout-colwidth_optimize = abap_true.&lt;br /&gt;
 &lt;br /&gt;
    CALL FUNCTION &#039;REUSE_ALV_GRID_DISPLAY&#039;&lt;br /&gt;
      EXPORTING&lt;br /&gt;
        i_callback_program      = &#039;ZLDL_BESTANDSMONITOR&#039;&lt;br /&gt;
        i_callback_user_command = &#039;USER_COMMAND_ALV&#039;&lt;br /&gt;
        i_structure_name        = &#039;ZANFLOG_LDL_ALV&#039;&lt;br /&gt;
        is_layout               = ls_layout&lt;br /&gt;
        i_screen_start_column   = 5&lt;br /&gt;
        i_screen_start_line     = 5&lt;br /&gt;
        i_screen_end_column     = 150&lt;br /&gt;
        i_screen_end_line       = 20&lt;br /&gt;
      TABLES&lt;br /&gt;
        t_outtab                = gt_log_alv&lt;br /&gt;
      EXCEPTIONS&lt;br /&gt;
        program_error           = 1&lt;br /&gt;
        OTHERS                  = 2.&lt;br /&gt;
    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;br /&gt;
 *     Implement suitable error handling here&lt;br /&gt;
    ENDIF.&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=REUSE_ALV_GRID_DISPLAY&amp;diff=2411</id>
		<title>REUSE ALV GRID DISPLAY</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=REUSE_ALV_GRID_DISPLAY&amp;diff=2411"/>
		<updated>2026-03-21T15:08:48Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie: Kategorie:Clean-Core-Level_C]]&lt;br /&gt;
Der FuBa ist aus meiner Sicht gut, wenn man unkompliziert und schnell Daten im Grid darstellen will.&lt;br /&gt;
Bei User Aktionen wie Doppelklick muss allerdings ein Unterprogramm genutzt werden, sodass es für globale Methoden z.B. ungeeignet ist.&lt;br /&gt;
&lt;br /&gt;
=== Codeschnipsel ===&lt;br /&gt;
 &lt;br /&gt;
    DATA: ls_layout  TYPE slis_layout_alv.&lt;br /&gt;
 &lt;br /&gt;
 *   Globale ALV-Tabelle, damit USER_COMMAND funktioniert&lt;br /&gt;
    FREE: gt_log_alv.&lt;br /&gt;
  &lt;br /&gt;
    ls_layout-zebra = abap_true.&lt;br /&gt;
    ls_layout-colwidth_optimize = abap_true.&lt;br /&gt;
 &lt;br /&gt;
    CALL FUNCTION &#039;REUSE_ALV_GRID_DISPLAY&#039;&lt;br /&gt;
      EXPORTING&lt;br /&gt;
        i_callback_program      = &#039;ZLDL_BESTANDSMONITOR&#039;&lt;br /&gt;
        i_callback_user_command = &#039;USER_COMMAND_ALV&#039;&lt;br /&gt;
        i_structure_name        = &#039;ZANFLOG_LDL_ALV&#039;&lt;br /&gt;
        is_layout               = ls_layout&lt;br /&gt;
        i_screen_start_column   = 5&lt;br /&gt;
        i_screen_start_line     = 5&lt;br /&gt;
        i_screen_end_column     = 150&lt;br /&gt;
        i_screen_end_line       = 20&lt;br /&gt;
      TABLES&lt;br /&gt;
        t_outtab                = gt_log_alv&lt;br /&gt;
      EXCEPTIONS&lt;br /&gt;
        program_error           = 1&lt;br /&gt;
        OTHERS                  = 2.&lt;br /&gt;
    IF sy-subrc &amp;lt;&amp;gt; 0.&lt;br /&gt;
 *     Implement suitable error handling here&lt;br /&gt;
    ENDIF.&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Vergleichsoperatoren_f%C3%BCr_zeichartige_Datentypen_(CO,CN,CA,NA,CS,NS,CP,NP)&amp;diff=2410</id>
		<title>Vergleichsoperatoren für zeichartige Datentypen (CO,CN,CA,NA,CS,NS,CP,NP)</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Vergleichsoperatoren_f%C3%BCr_zeichartige_Datentypen_(CO,CN,CA,NA,CS,NS,CP,NP)&amp;diff=2410"/>
		<updated>2026-03-21T15:07:19Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Schlüsselbegriffe]]&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=ACC_DOCUMENT&amp;diff=2409</id>
		<title>ACC DOCUMENT</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=ACC_DOCUMENT&amp;diff=2409"/>
		<updated>2026-03-21T15:06:05Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:Clean-Core-Level_A]]&lt;br /&gt;
== BAdI Einsatz in Bezug zum BAPI_ACC_DOCUMENT_POST und dessen Erweiterungsparameter &amp;quot;extension2&amp;quot; ==&lt;br /&gt;
&lt;br /&gt;
=== Z-Implementierung anlegen ===&lt;br /&gt;
&lt;br /&gt;
Der BAdI ist mehrfach nutzbar und es kann eine eigene Z-Implementierung angelegt werden. Bevor man diesen speichern kann, muss ein Filter zugeordnet werden welcher Referenzvorgang relevant ist.&lt;br /&gt;
In Bezug auf dem [[BAPI_ACC_DOCUMENT_POST]] ist hier der Referenzvorgang &amp;quot;BKPFF&amp;quot; zu verwenden.&lt;br /&gt;
Bei manueller Buchung wäre es &amp;quot;BKPF&amp;quot;, bei BAPI oder Batch Inputmappen ist es &amp;quot;BKPFF&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=== Vorgehen: Buchungsschlüssel explizit setzen === &lt;br /&gt;
&lt;br /&gt;
Wenn z.B. mit dem [[BAPI_ACC_DOCUMENT_POST]] eine FB01 Buchung erzeugt wird und der Erweiterungsparameter &amp;quot;extension2&amp;quot; zuvor mitgegeben wurde, wird die Z-Implementierung durchlaufen.&lt;br /&gt;
&lt;br /&gt;
S. kurzen [https://blog.m1ch3l.de/fb01_buchungen_mit_bapi_acc_document_post/ Blogeintrag], wann und warum die Buchungschlüssel explizit gesetzt werden sollten.&lt;br /&gt;
&lt;br /&gt;
In der Interface Methode &amp;quot;CHANGE&amp;quot; ist entsprechend Code zu programmieren, sodass der BAPI_ACC_DOCUMENT_POST mit den definierten Buchungsschlüssel arbeitet:&lt;br /&gt;
&lt;br /&gt;
https://answers.sap.com/answers/3883521/view.html&lt;br /&gt;
&lt;br /&gt;
https://community.sap.com/t5/technology-q-a/mapping-of-posting-key-in-bapi-acc-document-post/qaq-p/3659837&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Eintraege_aus_interne_Tabelle_in_Stringvariable_mit_Trenner_verketten&amp;diff=2408</id>
		<title>Eintraege aus interne Tabelle in Stringvariable mit Trenner verketten</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Eintraege_aus_interne_Tabelle_in_Stringvariable_mit_Trenner_verketten&amp;diff=2408"/>
		<updated>2026-03-20T16:31:43Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie: Codeschnipsel]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
DATA(conc) = |{ REDUCE string(&lt;br /&gt;
                 INIT text = `` sep = ``&lt;br /&gt;
                 FOR  range IN document_type&lt;br /&gt;
                NEXT  text = text &amp;amp;&amp;amp; sep &amp;amp;&amp;amp; range-low&lt;br /&gt;
                       sep = &#039;/&#039; ) }|&lt;br /&gt;
&amp;lt;/syntaxhighlight &amp;gt;&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Eintraege_aus_interne_Tabelle_in_Stringvariable_mit_Trenner_verketten&amp;diff=2407</id>
		<title>Eintraege aus interne Tabelle in Stringvariable mit Trenner verketten</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Eintraege_aus_interne_Tabelle_in_Stringvariable_mit_Trenner_verketten&amp;diff=2407"/>
		<updated>2026-03-20T16:31:06Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie: Codeschnipsel]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
DATA(text) = |{ REDUCE string(&lt;br /&gt;
                 INIT text = `` sep = ``&lt;br /&gt;
                 FOR  range IN document_type&lt;br /&gt;
                NEXT  text = text &amp;amp;&amp;amp; sep &amp;amp;&amp;amp; range-low&lt;br /&gt;
                       sep = &#039;/&#039; ) }|&lt;br /&gt;
&amp;lt;/syntaxhighlight &amp;gt;&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Eintraege_aus_interne_Tabelle_in_Stringvariable_mit_Trenner_verketten&amp;diff=2406</id>
		<title>Eintraege aus interne Tabelle in Stringvariable mit Trenner verketten</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Eintraege_aus_interne_Tabelle_in_Stringvariable_mit_Trenner_verketten&amp;diff=2406"/>
		<updated>2026-03-20T16:29:52Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: Die Seite wurde neu angelegt: „Kategorie: Codeschnipsel  &amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt; DATA(text) = |{ REDUCE #(                  INIT text = `` sep = ``                  FOR  range IN document_type                 NEXT  text = text &amp;amp;&amp;amp; sep &amp;amp;&amp;amp; range-low                        sep = &amp;#039;/&amp;#039; ) }| &amp;lt;/syntaxhighlight &amp;gt;“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie: Codeschnipsel]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
DATA(text) = |{ REDUCE #(&lt;br /&gt;
                 INIT text = `` sep = ``&lt;br /&gt;
                 FOR  range IN document_type&lt;br /&gt;
                NEXT  text = text &amp;amp;&amp;amp; sep &amp;amp;&amp;amp; range-low&lt;br /&gt;
                       sep = &#039;/&#039; ) }|&lt;br /&gt;
&amp;lt;/syntaxhighlight &amp;gt;&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Datens%C3%A4tze_mit_RFC_FuBa_paketweise_bekommen&amp;diff=2405</id>
		<title>Datensätze mit RFC FuBa paketweise bekommen</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Datens%C3%A4tze_mit_RFC_FuBa_paketweise_bekommen&amp;diff=2405"/>
		<updated>2026-03-20T16:26:15Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie: Codeschnipsel]]&lt;br /&gt;
Dies ist ein einfaches Beispiel wie man paketweise Datensätze via RFC Baustein bekommen kann.&lt;br /&gt;
Die Aufteilung in Paketen ist bei extrem vielen Datensätzen notwendig.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;abap&amp;quot; line start=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
DO.&lt;br /&gt;
 &amp;quot;Wir selektieren die jeweiligen Materialnummern von der MARA&lt;br /&gt;
 &amp;quot;von dem System, der die Kurztexte vom Zielsystem abfragen möchte&lt;br /&gt;
 &amp;quot;Dabei wird Paketweise z.B. 1000 Datensätze selektiert und nur diese,&lt;br /&gt;
 &amp;quot;die nicht bereits für die Anfrage ausgewählt wurden.&lt;br /&gt;
 SELECT matnr FROM mara INTO TABLE @DATA(gt_mara)&lt;br /&gt;
             UP TO gv_packsize ROWS&lt;br /&gt;
             WHERE matnr IN gt_mat_range&lt;br /&gt;
               AND matnr &amp;gt; gv_last_mat&lt;br /&gt;
             ORDER BY matnr ASCENDING.&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Unsere Return Bedingung. Wenn keine Datensätze mehr zu bearbeiten sind,&lt;br /&gt;
 &amp;quot;springen wir aus der DO-Schleife raus.&lt;br /&gt;
 IF sy-dbcnt = 0.&lt;br /&gt;
  EXIT.&lt;br /&gt;
 ENDIF.&lt;br /&gt;
 &lt;br /&gt;
 &amp;quot;Wichtig für den SELECT in der DO-Schleife, damit nur neue Materialnummern selektiert werden.&lt;br /&gt;
 gv_last_mat = gt_mara[ lines( gt_mara ) ].&lt;br /&gt;
 &lt;br /&gt;
 &amp;quot;Dieser FuBa ist im Zielsystem vorhanden.&lt;br /&gt;
 &amp;quot;Anhand der Materialnummer werden die Kurztexte gelesen und dem System übergeben,&lt;br /&gt;
 &amp;quot;der die Kurztexte anfragt.             &lt;br /&gt;
 CALL FUNCTION &#039;Z_GET_MAT_SHORTEXT&#039; DESTINATION gv_rfc_dest&lt;br /&gt;
  EXPORTING&lt;br /&gt;
   it_matnr         = gt_mara&lt;br /&gt;
  IMPORTING&lt;br /&gt;
   et_matnr_maktx   = gt_matnr_maktx_dest&lt;br /&gt;
  EXCEPTIONS&lt;br /&gt;
   system_failure        = 1&lt;br /&gt;
   communication_failure = 2&lt;br /&gt;
   OTHERS                = 3.&lt;br /&gt;
 IF sy-subrc &amp;lt;&amp;gt; 0.&lt;br /&gt;
  RAISE EXCEPTION TYPE zcl_bal.&lt;br /&gt;
 ENDIF.&lt;br /&gt;
&lt;br /&gt;
 &amp;quot;Hier kommt irgendeine Verarbeitung mit der gt_matnr_maktx_dest...&lt;br /&gt;
&lt;br /&gt;
ENDO.&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2404</id>
		<title>Aufruf von Actions in RAP Web-API</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2404"/>
		<updated>2026-03-15T08:51:57Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:RAP]]&lt;br /&gt;
== OData V2 - Web API ==&lt;br /&gt;
&lt;br /&gt;
=== Action &amp;quot;Process&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Ausgangsituation, s. [[CSV_Upload_und_Verarbeitung_mit_RAP_am_Beispiel_von_Geschaeftspartner-Personen#Managed_ohne_Draft]]:&lt;br /&gt;
* Action Methode in Behavior Definition &amp;quot;ZR_YMD_BP_CSV_ROWS&amp;quot; definiert&lt;br /&gt;
* Action Methode in Behavior Impl. &amp;quot;ZBP_YMD_BP_CSV_ROWS-&amp;gt;LHC_CSVROWS-&amp;gt;Process&amp;quot; ausprogrammiert&lt;br /&gt;
* Service Binding: ZAPI_YMD_BP_CSVUPLOAD_O2&lt;br /&gt;
&lt;br /&gt;
SAP Gateway Client / Postman:&lt;br /&gt;
* HTTP-Methode: POST (ggf. vorher mit GET X-CRSF-Token besorgen)&lt;br /&gt;
* Request-URI: /sap/opu/odata/sap/ZAPI_YMD_BP_CSVUPLOAD_O2/Process?FileID=8&amp;amp;FileIDRow=1&lt;br /&gt;
&lt;br /&gt;
== OData V2 - Web API ==&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2403</id>
		<title>Aufruf von Actions in RAP Web-API</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2403"/>
		<updated>2026-03-12T11:21:58Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:RAP]]&lt;br /&gt;
== OData V2 - Web API ==&lt;br /&gt;
&lt;br /&gt;
=== Action &amp;quot;Process&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Ausgangsituation, s. [[CSV_Upload_und_Verarbeitung_mit_RAP_am_Beispiel_von_Geschaeftspartner-Personen]]:&lt;br /&gt;
* Action Methode in Behavior Definition &amp;quot;ZR_YMD_BP_CSV_ROWS&amp;quot; definiert&lt;br /&gt;
* Action Methode in Behavior Impl. &amp;quot;ZBP_YMD_BP_CSV_ROWS-&amp;gt;LHC_CSVROWS-&amp;gt;Process&amp;quot; ausprogrammiert&lt;br /&gt;
* Service Binding: ZAPI_YMD_BP_CSVUPLOAD_O2&lt;br /&gt;
&lt;br /&gt;
SAP Gateway Client / Postman:&lt;br /&gt;
* HTTP-Methode: POST (ggf. vorher mit GET X-CRSF-Token besorgen)&lt;br /&gt;
* Request-URI: /sap/opu/odata/sap/ZAPI_YMD_BP_CSVUPLOAD_O2/Process?FileID=8&amp;amp;FileIDRow=1&lt;br /&gt;
&lt;br /&gt;
== OData V2 - Web API ==&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2402</id>
		<title>Aufruf von Actions in RAP Web-API</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2402"/>
		<updated>2026-03-12T11:21:25Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:RAP]]&lt;br /&gt;
== OData V2 - Web API ==&lt;br /&gt;
&lt;br /&gt;
=== Action &amp;quot;Process&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Ausgangsituation, s. [[CSV_Upload_und_Verarbeitung_mit_RAP_am_Beispiel_von_Geschaeftspartner-Personen]]:&lt;br /&gt;
* Action Methode in Behavior Definition &amp;quot;ZR_YMD_BP_CSV_ROWS&amp;quot; definiert&lt;br /&gt;
* Action Methode in Behavior Impl. &amp;quot;ZBP_YMD_BP_CSV_ROWS-&amp;gt;LHC_CSVROWS-&amp;gt;Process&amp;quot; ausprogrammiert&lt;br /&gt;
* Service Binding: ZAPI_YMD_BP_CSVUPLOAD_O2&lt;br /&gt;
&lt;br /&gt;
SAP Gateway Client / Postman:&lt;br /&gt;
* HTTP-Methode: POST&lt;br /&gt;
* Request-URI: /sap/opu/odata/sap/ZAPI_YMD_BP_CSVUPLOAD_O2/Process?FileID=8&amp;amp;FileIDRow=1&lt;br /&gt;
&lt;br /&gt;
== OData V2 - Web API ==&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2401</id>
		<title>Aufruf von Actions in RAP Web-API</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2401"/>
		<updated>2026-03-12T11:20:53Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Kategorie:RAP]]&lt;br /&gt;
== OData V2 - Web API ==&lt;br /&gt;
&lt;br /&gt;
=== Action &amp;quot;Process&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Ausgangsituation, s. [[CSV_Upload_und_Verarbeitung_mit_RAP_am_Beispiel_von_Geschaeftspartner-Personen]]:&lt;br /&gt;
* Action Methode in Behavior Definition &amp;quot;ZR_YMD_BP_CSV_ROWS&amp;quot; definiert&lt;br /&gt;
* Action Methode in Behavior Impl. &amp;quot;ZBP_YMD_BP_CSV_ROWS-&amp;gt;LHC_CSVROWS-&amp;gt;Process&amp;quot; ausprogrammiert&lt;br /&gt;
* Service Binding: ZAPI_YMD_BP_CSVUPLOAD_O2&lt;br /&gt;
&lt;br /&gt;
* HTTP-Methode: POST&lt;br /&gt;
* Request-URI: /sap/opu/odata/sap/ZAPI_YMD_BP_CSVUPLOAD_O2/Process?FileID=8&amp;amp;FileIDRow=1&lt;br /&gt;
&lt;br /&gt;
== OData V2 - Web API ==&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2400</id>
		<title>Aufruf von Actions in RAP Web-API</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2400"/>
		<updated>2026-03-12T11:20:30Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== OData V2 - Web API ==&lt;br /&gt;
&lt;br /&gt;
=== Action &amp;quot;Process&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Ausgangsituation, s. [[CSV_Upload_und_Verarbeitung_mit_RAP_am_Beispiel_von_Geschaeftspartner-Personen]]:&lt;br /&gt;
- Action Methode in Behavior Definition &amp;quot;ZR_YMD_BP_CSV_ROWS&amp;quot; definiert&lt;br /&gt;
- Action Methode in Behavior Impl. &amp;quot;ZBP_YMD_BP_CSV_ROWS-&amp;gt;LHC_CSVROWS-&amp;gt;Process&amp;quot; ausprogrammiert&lt;br /&gt;
- Service Binding: ZAPI_YMD_BP_CSVUPLOAD_O2&lt;br /&gt;
&lt;br /&gt;
* HTTP-Methode: POST&lt;br /&gt;
* Request-URI: /sap/opu/odata/sap/ZAPI_YMD_BP_CSVUPLOAD_O2/Process?FileID=8&amp;amp;FileIDRow=1&lt;br /&gt;
&lt;br /&gt;
== OData V2 - Web API ==&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
	<entry>
		<id>https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2399</id>
		<title>Aufruf von Actions in RAP Web-API</title>
		<link rel="alternate" type="text/html" href="https://wiki.m1ch3l.de/index.php?title=Aufruf_von_Actions_in_RAP_Web-API&amp;diff=2399"/>
		<updated>2026-03-12T11:20:15Z</updated>

		<summary type="html">&lt;p&gt;M1ch3lde: Die Seite wurde neu angelegt: „== OData V2 - Web API ==  === Action &amp;quot;Process&amp;quot; ===  Ausgangsituation, s. CSV_Upload_und_Verarbeitung_mit_RAP_am_Beispiel_von_Geschaeftspartner-Personen: - Action Methode in Behavior Definition &amp;quot;ZR_YMD_BP_CSV_ROWS&amp;quot; definiert - Action Methode in Behavior Impl. &amp;quot;ZBP_YMD_BP_CSV_ROWS-&amp;gt;LHC_CSVROWS-&amp;gt;Process&amp;quot; ausprogrammiert - Service Binding: ZAPI_YMD_BP_CSVUPLOAD_O2  HTTP-Methode: POST Request-URI: /sap/opu/odata/sap/ZAPI_YMD_BP_CSVUPLOAD_O2/Process?FileID=…“&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== OData V2 - Web API ==&lt;br /&gt;
&lt;br /&gt;
=== Action &amp;quot;Process&amp;quot; ===&lt;br /&gt;
&lt;br /&gt;
Ausgangsituation, s. [[CSV_Upload_und_Verarbeitung_mit_RAP_am_Beispiel_von_Geschaeftspartner-Personen]]:&lt;br /&gt;
- Action Methode in Behavior Definition &amp;quot;ZR_YMD_BP_CSV_ROWS&amp;quot; definiert&lt;br /&gt;
- Action Methode in Behavior Impl. &amp;quot;ZBP_YMD_BP_CSV_ROWS-&amp;gt;LHC_CSVROWS-&amp;gt;Process&amp;quot; ausprogrammiert&lt;br /&gt;
- Service Binding: ZAPI_YMD_BP_CSVUPLOAD_O2&lt;br /&gt;
&lt;br /&gt;
HTTP-Methode: POST&lt;br /&gt;
Request-URI: /sap/opu/odata/sap/ZAPI_YMD_BP_CSVUPLOAD_O2/Process?FileID=8&amp;amp;FileIDRow=1&lt;br /&gt;
&lt;br /&gt;
== OData V2 - Web API ==&lt;/div&gt;</summary>
		<author><name>M1ch3lde</name></author>
	</entry>
</feed>