New Aug 2013, Delivered in EHP5:SP10 and EHP6:SP07

WLF_IDOCIDoc-Monitor

see also SAP_Workflow

WEDIBereichsmenü
BALEALE Administration
BDA1Restart Execution
BD64Verteilungsmodell
BD87Neustart IDOC
BD97RFC-Destinationen für synchrone Methodenaufrufe
BDM2Verfolgung IDOC Verlauf (auch im Ziel)
BDM5Technische Konsistenz prüfen
BDXMALE Output
SALEGuide
SCC4Logisches System der Mandanten (T000)
SM58Schedule RFC
SM59RFC-Destinations
WE05IDOC Überwachung
WE09IDocs durchsuchen (Dann WE02, IDoc wählen, Drucken, nochmal suchen)
WE11Löschen von IDocs
WE14 / r.RSEOUT00IDocs versenden
WE19Erneute Verarbeitung
WE20Partnervereinbarungent.EDPP1 = Partner, t.EDP12 = Ausgang, t.EDP21 = Eingang, t.EDP13=Ports)
PCP0Buchungsinformationen

r.RBDCUS15Partnervereinbarung generieren
r.RBDCUS19Konsistenzprüfung !!
r.RSARFC01Reorganisation tRFC
r.RBDMIDOCIDocs aus den Änderungszeigern erzeugen

Report aus der IDoc-Verarbeitung (werden bei BD87 aufgerufen):

RBDMOIN8STATUS PRÜFEN
RSEOUT00Verarbeitung aller selektierten IDocs (auch Nachverarbeitung SM58)
RBDAGAINWiederverarbeiten von fehlerhaften IDocs im Ausgang
RBDSYNEOIDoc trotz Syntaxfehler weiterverarbeiten (Ausgang)
RBDAGAIEWiederverarbeitung von editierten IDocs
RBDMANI2Manuelle Verarbeitung von IDocs: Nicht gebuchte IDocs einbuchen
RBDAGAI2Wiederverarbeiten von IDocs nach ALE-Eingangsfehler
RBDSYNEIIDoc trotz Syntaxfehler weiterverarbeiten (Eingang)
RBDAPP01Eingangsverarbeitung von übergabebereiten IDocs
RBDAGAIEWiederverarbeitung von editierten IDocs
RBDPROCESSIDoc-Verarbeitung
RBDMOINDStatusumsetzung bei erfolgreicher tRFC-Ausführung

ALE Fehleranalyse

  • ggf. hat der Benutzer im Fremdsystem auch keine Berechtigung, ein IDoc zu erstellen.
  • Nachdem das IDoc in WE05 auf grün steht, wird es in der SM58 versendet. Dort können auch noch Fehler auftauchen.
  • Die IDoc-Nachverfolgung arbeitet mit dem ACKNOWLEDGEMENT, wenn das nicht aktiviert ist, gibt es keine Nachverfolgung

IDocs prüfen#

t.EDI40Rohdaten
t.EDID4Aufbereitete IDoc Daten
t.EDIPORTWE21 ALE Ports
t.EDIPOAWE21 RFC-Destination of port
t.TBLSYSDESTBD97 RFC Destinations
t.edipoxXML Ports
t.edifmPfade für Ports

Kostenstellen / Profitcenter / PSP#

NachrichtenBezeichnungTabellen
COSFET (ALEREQ01)Anforderung KostenstellenCSKS + CSKT
COSMASSenden Kostenstellen
PRCFET (ALEREQ01)Anforderung ProfitcenterCEPC + CEPCT + CEPC_BUKRS
PRCMASSenden Profitcenter
PROJECTPSP-Element (Projektstrukturplanelement) StammdatenPROJ + PRPS
COGRP1Kostenstellengruppen
COGRP6Profitcentergruppen

Achtung: Vor dem Holen muss initial mindestens einmal ein IDoc aus dem Quellsystem gesendet worden sein ! Es erfolgt auch eine Prüfung im IT0000 + IT0001 auf Kostenstellen und Profitcenter, wenn das folgende BAPI im Modell eingestellt ist: BUS6001.CHECKACCOUNTASSIGNMENT.
Im Include LKACBF04 (FuBa COBL_EX_CODINGBLOCK_CHECK) > FORM check_codingblock_remote > CALL FUNCTION 'BAPI_ACCSERV_CHECKACCASSIGNMT' wird dann das FI/CO aufgerufen. Nach diesem Aufruf erhält man einen Geschäftsbereich, der im IT0001 aus dem FI/CO übernommen wird.

x.KS01-3Kostenstelle anlegen, ändern, anzeigen
x.KE51-3Profitcenter anlegen, ändern, anzeigen
x.KCH1-3Profit-Center Gruppen anlegen, ändern, anzeigen
x.KCH6NStandardhierarchie anzeigen
x.BD16Kostenstellen senden
x.BD17Kostenstellen holen
x.KAVBKostenstellengruppen (r.RGSALECC) oder Kostenartengruppe (r.RGSALECE) senden
x.KE79Profitcentergruppen senden
x.OKKPKostenrechnungskreis > Kontenplan
x.KE75r.RBDFEPRC, ALE Profit Center holen,
x.KE77r.RBDSEPRC, ALE Profit Center senden
x.CJALr.RCJ_SEND_PROJECT_ALE, ALE Projektstrukturpläne senden (PSP)
x.PS01Bereichsmenü Projektstrukturpläne

Kostenstellenhierarchie (=Kostenstellengruppen)#

x.KSH1-3Kostenstellengruppen anlegen, ändern, anzeigen
t.setheadersetclass='0101' => KstGrp und subclass=kokrs
t.setnodesetclass='0101' => KstGrp und subclass=kokrs
t.SETCLSSetklassen (0101, 0106)
x.OKKPKostenrechnungskreis pflegen (Hierarchie eintragen)
x.OKEONHierarchie pflegen

Verarbeitung#

WE30Nachrichtentyp
WE31Segmente
WE57Verknüpfung Funktion zu IDoc-Typ und Nachrichtentypt.EDIFCT
WE41Vorgangscodes Ausgang (Doppelklick)
WE42Vorgangscodes Eingangt.TEDE2 + t.EDE2T
WE81Logische Nachrichtentypen
WE82Zuordnung Nachrichten zu IDoc-Typ (t.EDIMSG)

OM, Org-Management#

Bei der Zuordnung einer Planstelle zu einer Person, erfolgt eine Verprobung im FI über
BAPI_ACCSERV_CHECKACCASSIGNMT aus LKACBF04.check_codingblock_remote.
Im ALE Modell ist das AcctngServices.CheckAccountAssignment (BUS6001).

Buchungs ins FI#

ACC_EMPLOYEE_EXPFinaler Nachrichtentype, der erst beim "übergeben" erstellt wird

Ein Storno der Buchung enthält im E1BAPACHE04 folgendes zusätzliches Feld:

OBJ_TYPE HRPAY
OBJ_KEY 0000016497
OBJ_SYS ABC_100
USERNAME DUCKD
HEADER_TXT PP0000007869
OBJ_KEY_R 0000016481
BUS_ACT HRP1
... Hinweis: OBJ_KEY_R = OBJ_KEY des alten IDocs
Doku zu OBJ_KEY_R:
Beim Stornieren von Buchhaltungsbelegen über die Schnittstelle ins Rechnungswesen kann die rufende Anwendung in diesem Feld die Belegnummer des zu stornierenden Belegs mitgeben. Sie besteht aus Stornoreferenznummer (AWREF_REV) und Stornoorganisationen (AWORG_REV).

Die Stornierung erfolgt durch Report RPCIPR00. Hier wird in perform create_revdoc ein neues IDoc anhand der PPDIT erstellt, wo die Menge und Betrag umgedreht werden (Segment E1BPACCR04)! Die Stornierung übergibt das erstellte IDoc sofort. Hierzu wird intern der Report RPCIPP00 aufgerufen.

Verknüpfung IDoc zur Buchung#

Siehe x.WE09
Logische Nachricht = ACC_EMPLOYEE_EXP
Segament           = E1BPACHE04
1. Feld            = HEADER_TXT 
1. Wert            = PPxxxxxxxxxx (PP=type, x=runid in PPDHD)   
2. Feld            = COMP_CODE   
2. Wert            = bbbb (b=Bukrs in PPDHD)

Kundeneigene Filter#

BD95Filtername (ALE-Objekttyp), Tabelle, Feld anlegen
BD59Filter einer Nachricht zuordnen
BD96Filter einem BAPI zuordnen

Filter und Regeln#

t.TBD30ALE: Umsetzregeln für IDoc-Segmente
t.KCDRSALE: Umsetzungswerte (Datenübernahme Regeln: Selektionsbedingungen Senderfelder)
t.KCDRADatenübernahme Regeln: Attribute der Empfängerfelder
t.KCDRMDatenübertragung Regeln: Offsets und Längen der Senderfelder

Ein Filter greift nur im sendenden System (bei COSMAS im FI).
Regeln greifen sowohl im Eingang als auch im Ausgang.

Mitarbeiter Stammdaten verteilen, HRMD_A und HRMD_ABA#

ERP zu CRM

Stammdatenverteilung, Change Pointer#

Menu > Werkzeuge > ALE > Stammdatenverteilung > Rechnugswesen > Kostenstelle > Stammdaten
r.RBDFECOSHR
r.RBDSECOSFI/CO
x.BD22Delete change pointers
t.BDCPÄnderungszeiger
t.BDCPSÄnderungszeiger: Status
t.KCDRFDatenübernahme Regeln: Formeln
t.KCDMSFDatenübernahme: Senderfelder für gen. Regel umbenennen
Entweder über Reports oder über Änderungszeiger.
WE20 > System > Nachricht gibt an, ob der Eingang sofort oder mit einem Report (gescheduled) verarbeitet werden soll.
Änderungszeiger kann man aktivieren über
SALE > Geschäftsprozesse modellieren > Verteilung von Stammdaten konfigurieren > Replikation von geänderten Daten einrichten

IDocs in Datei exportieren und aus Datei importieren#

Exportieren
#

1. BD64 anpassen
2. "Datei"-Port (WE21) anlegen (nicht "XML-Datei"-Port, da das nicht mit WE19 eingelesen werden kann)
3. WE20 anlegen 4. Generellen Report/Transaktion zum Versenden ausführen

Importieren#

1. BD64, WE20 und WE21 anpassen 2. WE19 - "Datei als Vorlage" (und UNICODE=X) 3. Als Empfängerport SAP<SID> in der IDoc Datei ändern (und ggf sonstige Anpassungen machen) 4. "Standard Eingang" wählen

Mit der WE19 - "existierendes IDoc" kann man übrigens ein IDoc nochmal verbuchen

IDoc erstellen und freigeben#

Freigabe in der Entwicklung wieder löschen
SELECT * FROM EDISDEF SET CLOSED=' ' WHERE SEGTYP='ZP01ZS_E1BPCC1DNPERSO_FIT'

General tasks for usage#

  1. Define IDoc
  2. Create program to create IDoc and send to ALE subsystem
  3. Create function to receive IDoc from ALE subsystem
  4. Customize ALE subsystem
    1. set up destination for IDoc via tRFC
    2. set up receiving function for IDoc

1. IDoc#

An IDoc contain a tree out of segments (or just one)

Segments#

  • Create segments with WE31
  • a segment has two parts
    • header, called "segment type", contains type and definition attributes, start with Z1
    • data, called "segment definition", contain all fields, start with Z2 by default (name is given automatically)
  • SAP segments start with "E1", customer segments start with "Z1"

IDoc#

  • Use transaction WE30
    • Create "Basic Type"
    • Add as many segment(s) as you like
    • You can create a segment tree with nodes and siblings
    • Activate in initial WE31 screen with (Menu > Edit > Set release ...)

Message type#

  • Create message type with WE81
  • Connect message type with IDoc via WE82 ("Release" is a 3 digit number like "701" or "640")

2. Program for Sending#

  • Check if receiver available with function ALE_MODEL_INFO_GET
  • Create IDoc via types "edidc" (control = header) and "edidd" (data)
  • Use function MASTER_IDOC_DISTRIBUTE
  • COMMIT_WORK

3. Program for Receiving#

  • Copy function ALE_INPUT_ALEAUD into new function Z_...
  • TABLES parameter contain IDoc
  • Navigate through doc with function NUMBER_GET_NEXT
  • Read iDoc and update database with MODIFY ...
  • return result(s)

4. Register functions (sending/receiving)#