Please enable JavaScript to view this site.

Prozess Designer

Die Datei bapi.xml enthält eine Liste der Eingabe- und Ausgabefelder, sowie der zu dem Baustein zugehörigen SAP-Tabellen.

<?xml version="1.0" encoding="UTF-8"?>

<jobsapbapi bapiId="Z_ACC_DOCUMENT_POST" bapiName="CONST_Z_ACC_DOCUMENT_POST_NAME" 

 bapiDescription="CONST_Z_ACC_DOCUMENT_POST_DESCRIPTION">

 <input>

         <field name="OBJ_TYPE" table="DOCUMENTHEADER" description="CONST_Z_ACC_DOCUMENT_POST_FIELD_OBJ_TYPE" 

                 required="true" />

         <field name="COMP_CODE" table="DOCUMENTHEADER" description="CONST_Z_ACC_DOCUMENT_POST_FIELD_COMP_CODE" 

                 required="true" />

         <field name="BUS_ACT" table="DOCUMENTHEADER" description="CONST_Z_ACC_DOCUMENT_POST_FIELD_BUS_ACT" 

                 required="true" /> 

         <field name="CREDIT_NOTE" table="DOCUMENTHEADER" type="xflag" 

                 description="CONST_Z_ACC_DOCUMENT_POST_FIELD_CREDIT_NOTE" />

         <field name="PSTNG_DATE" table="DOCUMENTHEADER" type="date" 

                 description="CONST_Z_ACC_DOCUMENT_POST_FIELD_PSTNG_DATE" required="true" />

         <field name="USERNAME" table="DOCUMENTHEADER" userdefined="true" 

                 description="CONST_Z_ACC_DOCUMENT_POST_FIELD_USERNAME" />

         <field name="SAP_USERNAME" table="DOCUMENTHEADER" userdefined="true" 

                 description="CONST_Z_ACC_DOCUMENT_POST_FIELD_SAP_USERNAME" />

         <field name="DOC_DATE" table="DOCUMENTHEADER" type="date" 

                 description="CONST_Z_ACC_DOCUMENT_POST_FIELD_DOC_DATE" required="true" />

Root-Element jobsapbapi

Feld

Beschreibung

bapiId

Name des Funktionsbausteins  (entspricht dem Namen im SAP-System)

bapiName

Bezeichnung des JobLink for SAP-Bausteins (erscheint z.B. in der Funktionsauswahlliste der Systemaktivität)

bapiDescription

Beschreibung des JobLink for SAP-Bausteins (erscheint z.B. in der Systemaktivität als Zusatztext)

Element input

Das Element enthält Einzelfelder und list-Elemente mit Positionsfeldern. Sie werden als Eingabeparameter der Systemaktivität bzw. des Dialogelements verwendet und an den Funktionsbaustein in dem SAP-System übergeben.

Element output

Das Element enthält Einzelfelder und list-Elemente mit Positionsfeldern. Sie werden als Ausgabeparameter der Systemaktivität bzw. des Dialogelements verwendet. Damit können aus dem SAP-System zurückgelieferte Werte in der JobRouter-Datenbank gespeichert werden.

 </input>

 <output>

         <field name="FISCALYEAR" description="CONST_Z_ACC_DOCUMENT_POST_FIELD_FISCALYEAR" />

         <field name="INVOICEDOCNUMBER" description="CONST_Z_ACC_DOCUMENT_POST_FIELD_INVOICEDOCNUMBER" />

 </output>

 <tables>

 

Element field

Hier werden Einzelfelder definiert.

Jedes field-Element hat folgende Attribute:

Feld

Beschreibung

name

Feldname (wie im SAP-System definiert)

table

Tabelle in dem SAP-System, die das Feld beinhaltet. Die Tabelle wird in einem tables-Element aufgelistet.

description

Beschreibung des Feldes. Sie wird z.B. als Tooltip in der Systemaktivität-Konfiguration angezeigt.

type

Datentyp des Feldes. Folgende Datentypen können angegeben werden:

date - Datumswerte im Format (yyyy-mm-dd)

decimal - Dezimalzahlen

xflag - übergibt ein "X" an das SAP-System, wenn im Feld 1 oder "x" eingetragen wurde

fixLengthChar:<Länge>:<Füllzeichen> - definiert die Länge einer Eingabe und ein Füllzeichen. Die Definition fixLengthChar:10:0 gibt an, dass die Eingabe 10 Zeichen lang sein soll und mit 0 aufgefüllt wird (von Links).

required

Angabe, ob es sich um ein Pflichtfeld handelt.

userdefined

Benutzerdefinierte Felder, die in der PHP-Datei des Bausteins gesondert behandelt werden können (z.B. USERNAME oder SAP_USERNAME).

amount

Ein benutzerdefiniertes Attribut, das mit dem Beispiel-Baustein verwendet wird. Handelt es sich um ein Gutschrift und ist das Attribut auf true gesetzt, wird der Wert dieses Feldes mit einem Minus-Zeichen an das SAP-System übergeben.

Die Attribute name und table sind Pflichtattribute. Ansonsten können beliebige Attribute hinzugefügt werden, die in den jeweiligen bapi.php - Dateien gesondert behandelt werden müssen.

Handelt es sich um unstrukturierte Daten, d.h. diese sind keiner Tabelle zugeordnet, wird in dem table-Attribut der Wert HEAD eingetragen. Die Tabelle HEAD wird nicht in dem tables-Element aufgelistet. In diesem Beispiel ist ersichtlich wie diese Tabelle in dem JobLink for SAP-Baustein Z_INCOMINGINVOICE_CHANGE benutzt wird:

 

<?xml version="1.0" encoding="UTF-8"?>

<jobsapbapi bapiId="Z_INCOMINGINVOICE_CHANGE" bapiName="Z_INCOMINGINVOICE_CHANGE_NAME" 

 bapiDescription="Z_INCOMINGINVOICE_CHANGE_DESCRIPTION">

 <input>

         <field name="FISCALYEAR" table="HEAD" description="CONST_Z_INCOMINGINVOICE_CHANGE_FIELD_FISCALYEAR" 

                 required="true" />

         <field name="INVOICEDOCNUMBER" table="HEAD" description="CONST_Z_INCOMINGINVOICE_CHANGE_FIELD_INVOICEDOCNUMBER" 

                 required="true" />

 

Element list

Positionsfelder werden innerhalb eines list-Elements definiert. Das list-Element hat folgende Attribute:

Feld

Beschreibung

id

Eindeutige ID. Die ID kann benutzt werden, um die Liste mit einer Tabelle zu verknüpfen (Attribute inputList und outputList)

name

Name

description

Beschreibung

 

<list id="items" name="CONST_Z_ACC_DOCUMENT_POST_LIST_ITEMS_NAME" 

 description="CONST_Z_ACC_DOCUMENT_POST_LIST_ITEMS_DESCRIPTION">

 <field name="GL_ACCOUNT" table="ACCOUNTGL" type="fixLengthChar:10:0" 

         description="CONST_Z_ACC_DOCUMENT_POST_ITEMS_GL_ACCOUNT" />

 <field name="COSTCENTER" table="ACCOUNTGL" type="fixLengthChar:10:0" 

         description="CONST_Z_ACC_DOCUMENT_POST_ITEMS_COSTCENTER" />

 <field name="WBS_ELEMENT" table="ACCOUNTGL" description="CONST_Z_ACC_DOCUMENT_POST_ITEMS_WBS_ELEMENT" />                        

 <field name="ITEM_TEXT" table="ACCOUNTGL" description="CONST_Z_ACC_DOCUMENT_POST_ITEMS_ITEM_TEXT" />

 <field name="TAX_CODE" table="ACCOUNTGL" description="CONST_Z_ACC_DOCUMENT_POST_ITEMS_TAX_CODE" />

 <field name="ITEM_AMOUNT" table="CURRENCYAMOUNT" userdefined="true" 

         description="CONST_Z_ACC_DOCUMENT_POST_ITEMS_ITEM_AMOUNT" amount="true" />

 <field name="ALLOC_NMBR" table="ACCOUNTGL" description="CONST_Z_ACC_DOCUMENT_POST_ITEMS_ALLOC_NMBR" />        

</list>

Element tables

Hier werden die SAP-Tabellen aufgelistet, die von einem Funktionsbaustein angesprochen werden. Die Definition der Tabellen kann der SAP-BAPI-Dokumentation entnommen werden. Anhand des Transaktionscodes se37 wird der Dialog Function Builder: Einstieg geöffnet. Nach der Eingabe von Z_ACC_DOCUMENT_POST im Feld Funktionsbaustein, wird die Übersicht des Funktionsbausteins angezeigt. Die Tabellen sind den Reitern Import, Export und Tabellen zu entnehmen.

Jedes table-Element hat folgende Attribute:

Feld

Beschreibung

name

Tabellenname (wie im SAP-System definiert)

inputList

verknüpft die Tabelle mit einem list-Element aus dem Input anhand der ID (optional)

outputList

verknüpft die Tabelle mit einem list-Element aus dem Output anhand der ID (optional)

 

</output>

 <tables>

         <table name="DOCUMENTHEADER" />

         <table name="ACCOUNTPAYABLE" />

         <table name="ACCOUNTGL" inputList="items" />

         <table name="ACCOUNTTAX" />

         <table name="CURRENCYAMOUNT" inputList="items" />

         <table name="EXTENSION1" />

         <table name="ACCOUNTRECEIVABLE" />

         <table name="ACCOUNTWT" />

         <table name="CONTRACTHEADER" />

         <table name="CONTRACTITEM" />

         <table name="CRITERIA" />

         <table name="CUSTOMERCPD" />

         <table name="EXTENSION2" />

         <table name="PAYMENTCARD" />

         <table name="REALESTATE" />

         <table name="RETURN" outputList="returnItems"/>

         <table name="VALUEFIELD" />

 </tables>

Element include

Neben einfachen JobLink for SAP-Bausteinen ist es möglich mittels des include - Elements zusammengesetzte Bausteine zu definieren. Dadurch werden, die mit dem element - Element eingebundenen Bausteine, sequentiell ausgeführt. Die Rückgabewerte der ersten Funktion können als Input der nächsten Funktion weiterverwendet werden.

Hinweis: Die zusammengesetzten Funktionen sind nicht transaktional, d.h. wenn die zweite Funktion fehlschlägt, werden die Änderungen der ersten Funktion nicht mehr rückgängig gemacht. Wenn allerdings die erste Funktion fehlschlägt, wird die Zweite nicht mehr ausgeführt.

<?xml version="1.0" encoding="UTF-8"?>

<jobsapbapi bapiId="Z_ACC_DOCUMENT_CHANGE" bapiName="CONST_Z_ACC_DOCUMENT_CHANGE_NAME" 

 bapiDescription="CONST_Z_ACC_DOCUMENT_CHANGE_DESCRIPTION">

 <include>

         <element name="Z_ACC_DOCUMENT_DELETE"/>

         <element name="Z_ACC_DOCUMENT_POST"/>        

 </include>

</jobsapbapi>