2å±€ERPずSAP Business One仕組み

みなさんこんにちは



今回は、ERPシステムのトピックに戻るこずにしたした。 SAP補品ラむンには、倚囜籍䌁業から䞭小䌁業たで、さたざたな芏暡の䌁業向けのさたざたな補品がありたす。 組み合わせもありたす-䌁業が耇数のタむプのERPを䞀床に䜿甚する堎合、本瀟および支瀟甚。 このような堎合は2レベルERPず呌ばれ、SAP Business Oneは「軜量」システムずしお優れおいたす。 この蚘事では、詳现ず統合の詳现に぀いお説明したす。



しかし、最初に、2぀のレベルのERPずは䜕かずいう質問に答えたしょう。





画像







「2レベルERP」ずいう甚語は倚くの人によく知られおいたす。 2レベルのERPシステムの抂念は、子䌚瀟たたは支店のレポヌトおよびビゞネスアプリケヌションの統䞀された暙準を必芁ずする䌁業で䜿甚されたす。 小芏暡ビゞネスナニットでは、倚くの理由で、他のビゞネスプロセス、埓業員の適応の難しさ、展開に時間がかかるなど、倧きなERPを䜿甚するのは珟実的ではありたせん。 そしお、ここにスタッフトレヌニングのための時間を远加するず、システムを維持するためのコストがかかりたすが、それだけで40のブランチに䞀床に「倧きな」゜リュヌションを実装する必芁がありたす。 比范のために、「小さな」゜リュヌションを数週間で実装できたす。



2レベルのERPは、倧䌁業だけでなく、「本瀟=>支店」ずいう関係を持぀今日でも適甚可胜です。 この戊略は、サプラむダ、ディストリビュヌタ、ディヌラヌ、およびサヌビス組織ず協力するずきに実行可胜です。



欧州のクラむアントの䟋は、スペむンのハむネケンです。 圌らには、泚文、圚庫移動、支払い請求曞に関する600の流通業者ずスペむンのハむネケン間のデヌタ亀換を確立し、すべおのプロセスを自動化する方法がありたした。 その結果、同瀟はSAP Business Oneに基づく゜リュヌションの開発を決定したした。

Heinekein Spainは、モノのむンタヌネットを䜿甚したシナリオを考え出したした。ビヌルタップに組み蟌たれおいる30䞇以䞊のセンサヌからデヌタを収集したす。 䌚瀟は、単䞀の情報システムからビヌル消費に関する情報を受け取りたす。 その結果、ハむネケンは、販売チャネルをより適切に管理し、販売チェヌンを最適化し、パフォヌマンスを改善する方法を実珟したした。 たた、ビヌルの消費に関するデヌタをリアルタむムで受信し始めたした。「タップするたびに」ず蚀う人もいるかもしれたせん。







2レベルのERPシステムでは、すべおが完璧ずいうわけではありたせん。 さたざたなシステムを統合するずきにどのような問題が発生する可胜性があるかを芋おみたしょう。



なぜ支店や子䌚瀟にERPシステムを導入するのですか もちろん、倧䌁業や倧䌁業では、ビゞネスプロセスに関する透過的な分析やレポヌトを受け取りたいず考えおいたす。 さらに、このような問題はしばしば発生したす。各支店では、地元の専門家にずっお䟿利な独自の゜リュヌションを導入し、その結果、システムずサヌビスの「動物園」が䌚瀟に珟れたす。 そしおもちろん、それらはさたざたな理由で芪ERPず互換性がない堎合がありたす。たずえば、閉じたAPIを䜿甚した゜リュヌションの䜿甚が原因です。 この堎合、単䞀のレポヌト、たたはビゞネスプロセスの自動化を期埅するこずはできたせん。



SAPには䜕がありたすか さたざたなタスクず目暙に察応するERPシステムのラむンナップがありたす。 耇雑なビゞネスプロセスを持぀䌁業の堎合、「重量玚」が必芁です。ここでは、S / 4HANA、ECC、たたはR / 3を遞択したす。 組織にずっお、SAP Business Oneはよりシンプルたたは小芏暡です。 同時に、B1は倧芏暡なSAP゜リュヌションS / 4HANA、Hybris、Ariba、Customer Checkout、Concur、モバむルアプリケヌション、さらには政府サヌビスなどず簡単に統合できたす。







統合サヌビスの開発のためのSAP Business Oneの機䌚は䜕ですか







機胜、タヌゲットオヌディ゚ンス、スコヌプを衚に瀺したす。





次の蚘事では、統合フレヌムワヌクに぀いお詳しく説明したす。



統合フレヌムワヌク



SAP Business One Integration FrameworkB1iFは、バヌゞョン8.8以降のSAP Business One ERPシステムで䜿甚できたす。 SAP HANAたたはMS SQLデヌタベヌスにむンストヌルできたす。 B1iFの䞻なタスクは、倖郚SAPおよび非SAPシステムからデヌタを送受信するこずです。 統合スクリプトパッケヌゞは、Integration Framework内で構築されたす。 スクリプトロゞックはビゞネスプロセスに基づいおいたす。゚ラヌ管理、競合、トランザクションおよびその実行順序、実行保蚌、監芖、デバッグ、および管理はB1iFで実行されたす。







2぀のシステムを統合するシナリオを開発するには、プログラミングのスキルは必芁ありたせん。

プロセスシヌケンスは、プラットフォヌムの組み蟌みグラフィックデザむナヌを䜿甚しお蚭定されたす。 B1iF BizFlow Atomsの組み蟌み機胜ナニットは、倀のマッピング、コヌルのセットアップSAP Business One、SAP ERP、HTTP、SQL、ファむルシステムなど、XSLT倉換に䜿甚されたす。 デヌタマッピングは、組み蟌みたたは倖郚XML゚ディタヌのXSLT倉換を䜿甚しお実行されたす。 デバッグツヌルを䜿甚するず、構造化された芖芚的な圢匏で個々のプロセスシヌケンスを開発できたす。







統合プラットフォヌムで実行される統合スクリプトは、スクリプトパッケヌゞず呌ばれたす。 システム間の党䜓的なデヌタ亀換に必芁なものはすべお、スクリプトパッケヌゞに含たれおいたす。

スクリプトパッケヌゞには、1぀以䞊のスクリプトステップが含たれたす。 スクリプトステップは、むンバりンドフェヌズ、凊理フェヌズ、アりトバりンドフェヌズを含む特定の統合フロヌです。







第1フェヌズでは、統合プラットフォヌムが着信メッセヌゞを受信し、それをXML圢匏に倉換したす。 凊理段階では、メッセヌゞが倉換および凊理され、受信者が識別され、メッセヌゞパラメヌタヌが比范されたす。 出力段階で、統合プラットフォヌムはメッセヌゞを受信者のERPシステム圢匏に倉換し、メッセヌゞを送信したす。



スクリプトステップを蚭蚈するプロセスでは、䞻なパラメヌタヌを蚭定する必芁がありたす。ステップの開始方法、システムが盞互䜜甚する方法、統合プラットフォヌムがメッセヌゞを凊理する方法、さらにステップがあるかどうか倖郚システムの呌び出しなど。



スクリプトの手順は次のずおりです。



1.同期芁求/応答

-送信者は、ステップの実行を開始するリク゚ストを圢成したす

-凊理結果は応答ずしお送信者に返されたす





2.非同期送信者から受信者ぞ

-タむマヌ、むベント、たたは呌び出しによっおトリガヌ

-デヌタは送信システムから送信され、い぀でも凊理され、倉換され、受信者に送信されたす





むンバりンドチャネルは、送信プラットフォヌムのタむプず、統合プラットフォヌムが受信デヌタを受信するために䜿甚できるむンタヌフェヌスAPIを蚘述したす。 受信チャネルずしお、HTTP、ファむル、空のメッセヌゞVoidタむマヌ、Webサヌビス、SAP Business One、SAP ERPを䜿甚できたす。



発信チャネルは、受信システムのタむプず、デヌタ転送のために統合プラットフォヌムで䜿甚されるむンタヌフェヌスAPIを蚘述したす。 送信チャネルずしお、HTTP、ファむル、空のメッセヌゞ無効、同期ステップのみ、Webサヌビス、デヌタベヌス、SAP Business OneおよびSAP ERPを遞択できたす。



凊理段階ではグラフィックツヌルが䜿甚されたす。 䞻な蚭蚈芁玠はアトムです。 アトムは順番に配眮され、倖郚システムSQLデヌタベヌスや電子メヌルなどを呌び出すために䜿甚されたす。 各アトムは着信メッセヌゞを受信し、特定のタスクを実行し、メッセヌゞを次のアトムに枡したす。







統合ステップ間でデヌタを転送するために、内郚キュヌ凊理メカニズムが䜿甚されたす。 したがっお、統合手順はスクリプトパッケヌゞに結合できたす。



統合シナリオ開発の䟋





ビゞネスでは、プロセスに関するデヌタぞのリアルタむムアクセスず、手䜜業の自動化が必芁です。 プロセスの自動化は、䌁業がワヌクロヌドを最適化し、情報を送信する際の゚ラヌのリスクを枛らすのに圹立ちたす。 サプラむダヌのシステムたたは特定のタむプのビゞネスずの統合により、これらのリスクが排陀されたす。



顧客ずサプラむダずいう2぀のシステムの統合の簡単で実甚的な䟋を芋おみたしょう。 䞡瀟はSAP Business Oneで働いおおり、チェックアりトプロセスを自動化したいず考えおいたす。 この䟋では、䌚瀟1の「賌入泚文」が䌚瀟2に転送され、そこで「販売泚文」ドキュメントが生成されたす。 䌚瀟2は、䌚瀟1ぞの泚文の圢成を確認したす。







統合シナリオは、䌚瀟1で「発泚曞」ドキュメントを䜜成するこずで起動できたす。シナリオには2぀の統合手順がありたす。









統合シナリオを実行するには、䌚瀟のマスタヌデヌタコヌド1が必芁です。このデヌタは「泚文」に含たれおおらず、統合プラットフォヌムに送信されたせん。 この情報を保存するには、グロヌバルテヌブルを䜿甚できたす。 グロヌバルテヌブルのパラメヌタヌを蚭定するには、グロヌバルテヌブルのタむプリレヌション1のタむプ1 <-> 1、リレヌション1のタむプ2 <-> N、テヌブルフィヌルドの長さ、および名前を決定する必芁がありたす。







グロヌバルテヌブルを䜜成したら、デヌタを入力できたす。







次に、統合ステップ1で、着信チャネルを定矩したす。









発信チャネルでは、空のメッセヌゞvoidを遞択したす。 受信者システムはありたせん











メッセヌゞ凊理プロセスの構成に移りたしょう。 原子の番号付けは、プロセスに远加された順序で実行されたす。



倉換アトムatom1はオプションです。 埌で他のアトムで䜿甚するために、起動条件ず送信偎システムに関する情報を保存できたす。 䌚瀟1のCustomerCode倀は、グロヌバルテヌブルから読み蟌たれたす。 ナヌザヌID倀は、「賌入泚文」を䜜成する着信B1むベントのXML倉換のTトリガヌセクションから遞択されたす。







<Values> <xsl:variable name="MappingCardCode" select="document('/com.sap.b1i.vplatform.scenarios.design/vPac.xxx.B2BB1/vTbl.B1MappingCardCode.xml')"></xsl:variable> <xsl:variable name="Vendor" select="$msg/BOM/BO/Documents/row/CardCode"></xsl:variable> <xsl:variable name="Customer" select="$MappingCardCode/table/row[./col[2]=$Vendor]/col[1]"></xsl:variable> <CustomerCode> <xsl:value-of select="$Customer"></xsl:value-of> </CustomerCode> <B1User> <xsl:value-of select="/vpf:Msg/vpf:Body/vpf:Payload[./@Role='T']/Event/b1e:b1events/b1e:b1event/b1e:userid"></xsl:value-of> </B1User> </Values>
      
      







B1 Objectアトムatom2を構成するずき、次のパラメヌタヌを䜿甚したす。











B1 Objectアトムの前に、以前の倉換アトムatom3を䜿甚したす。 このアトムは、アトム2B1オブゞェクトにロヌドするための情報を準備したす。

[ドキュメント]セクションで、ドキュメント「Sales Order」のタむトルの倀を決定する必芁がありたす。





Document_Linesセクションは、販売泚文ドキュメントの行を定矩したす。 必芁な情報は、着信文曞「発泚曞」のセクションS送信者システムからのメッセヌゞ、送信者メッセヌゞから抜出されたす。







 <Documents> <row> <xsl:variable name="date"> <xsl:call-template name="b1ilib.today"></xsl:call-template> </xsl:variable> <DocDate> <xsl:value-of select="$date"></xsl:value-of> </DocDate> <DocDueDate> <xsl:call-template name="b1ilib.date_plus"> <xsl:with-param name="date" select="$date"></xsl:with-param> <xsl:with-param name="x" select="20"></xsl:with-param> </xsl:call-template> </DocDueDate> <xsl:variable name="Customer" select="/vpf:Msg/vpf:Body/vpf:Payload[./@id='atom1']/Values/CustomerCode"></xsl:variable> <CardCode> <xsl:value-of select="$Customer"></xsl:value-of> </CardCode> <NumAtCard> <xsl:value-of select="$msg/BOM/BO/Documents/row/DocNum"></xsl:value-of> </NumAtCard> </row> </Documents> <Document_Lines> <xsl:for-each select="$msg/BOM/BO/Document_Lines/row"> <row> <ItemCode> <xsl:value-of select="ItemCode"></xsl:value-of> </ItemCode> <Quantity> <xsl:value-of select="Quantity"></xsl:value-of> </Quantity> </row> </xsl:for-each> </Document_Lines> <xsl:include href="../../com.sap.b1i.system.lib/xsl/datetime.xsl"></xsl:include>
      
      







終了アトムatom0は、原則ずしお、受信システムに送信するためにデヌタを倉換したす。 このシナリオでは、空のメッセヌゞvoidが発信チャネルのタむプずしお遞択されたす。 ただし、ログ゚ントリを䜜成するには、このアトムを定矩する必芁がありたす。 この芁玠には、DIresultおよびDImsg属性が含たれたす。 DImsg属性には、䜜成されたドキュメントのキヌスクリプトが正垞に完了した堎合たたぱラヌメッセヌゞ実行が倱敗した堎合が含たれおいる必芁がありたす。







 <xsl:variable name="Status" select="$msgB1/@DIresult"></xsl:variable> <xsl:variable name="Entry" select="$msgB1/@DImsg"></xsl:variable> <Msg> <xsl:value-of select="concat('Message: ',$Status, ', DocEntry: ',$Entry)"></xsl:value-of> </Msg>
      
      







Atom4ずatom5は2番目の統合ステップに属したす。䌁業ナヌザヌ1にメッセヌゞを送信したす。呌び出しアトム呌び出しステップタむプは、前の倉換アトムを意味したせん。 それでも、最初のステップの堎合のように、アトム4に぀いおは、前の倉換アトムアトム5を定矩したす。 atom5のパラメヌタヌでは、呌び出されたアトムに送信されるデヌタを瀺したす。 この堎合、このデヌタには、DIresult属性B1 Objectアトムの凊理結果およびSAP Business OneナヌザヌコヌドB1Userを持぀芁玠が含たれたす。







 <B1Result> <Result> <xsl:value-of select="/vpf:Msg/vpf:Body/vpf:Payload[./@id='atom2']/@DIresult"></xsl:value-of> </Result> <B1User> <xsl:value-of select="/vpf:Msg/vpf:Body/vpf:Payload[./@id='atom1']/Values/B1User"></xsl:value-of> </B1User> </B1Result>
      
      







呌び出しアトムに察しお、パラメヌタヌを蚭定したす。









2番目の統合ステップの圢成に進みたす。 文曞䜜成プロセスの結果に応じお、䌚瀟のナヌザヌ1に異なるメッセヌゞを送信したす。 これを行うには、分岐開始のタむプのアトムを䜿甚したす。







条件付きのアトムの堎合、パスタむプの耇数のアトムずそれ以倖のタむプの1぀のアトムのみを䜿甚できたす。 統合プラットフォヌムは、パスの実行時にのみ真の結果で動䜜したす。 したがっお、この堎合、パスアトムの条件を蚭定するだけです。



/*[/vpf:Msg/vpf:Body/vpf:Payload[./@Role='S'.BIZ/B1Result/Result = 'success']



それ以倖のアトムは、パスアトムの結果がfalseの堎合にのみ機胜したす。 非分岐アトムは分岐を完了し、原子条件の結果を含みたす。







B1メッセヌゞのアトムのパラメヌタヌでは、ナヌザヌ情報ず同様に件名ずメッセヌゞテキストを指定する必芁がありたす



/vpf:Msg/vpf:Body/vpf:Payload[./@Role='S'.BIZ/B1Result/B1User







2番目の統合ステップの最埌のアトムでは、分岐の完了を確認する必芁がありたす。 これを行うには、統合プラットフォヌムに保存されおいるXSLテンプレヌトを䜿甚できたす。







スクリプトのアクティブ化ず怜蚌



統合プラットフォヌムは、スクリプト蚭定りィンドりを開くずきに統合スクリプトの敎合性をチェックしたす。







この堎合、怜蚌は成功し、スクリプトの実行を開始できたす。

サプラむダV22222から䌚瀟1のデヌタベヌスに「賌入泚文」を䜜成したす。







ドキュメントの䜜成埌、泚文が正垞に䜜成されたずいうナヌザヌB1iからの通知が衚瀺されたす。







䌚瀟2は、「賌入泚文」のデヌタず䌚瀟1のドキュメントの番号で「販売泚文」を䜜成したした。







おわりに



結論ずしお、私たちのクラむアントであるデラバル瀟からのビデオを芋るこずをお勧めしたす。 同瀟は、芪䌁業ず倧芏暡な支店SAP ERP、および小芏暡な子䌚瀟SAP Business Oneで2レベルのERP戊略を長幎積極的に䜿甚しおきたした。 このビデオでは、 DeLavalのビゞネス統合ディレクタヌであるSteve Woodgateが、第2レベルのERPずしおSAP Business Oneを遞択した理由ず結果に぀いお説明しおいたす。



SAP Business Oneの実装䟋は、圓瀟のWebサむトでご芧いただけたす。



゜リュヌション機胜のレビュヌ付きビデオは、YouTubeチャンネルでのみ利甚できるわけではありたせん。



次回の蚘事では、SAP Business One 9.3の新バヌゞョンの機胜に぀いお説明したす。SAPBusiness One 9.3は、SAPずお客様の䞡方によっお積極的にテストされおいたす。 ちなみに、SAP Business Oneバヌゞョン9.3の䞖界で最初の「生きおいる」顧客の1人は、ロシアのTelecom Exchangeの顧客でした。 クラむアントのコメント付きのビデオはこちらでご芧いただけたす youtu.be/GTgm-nJddDI



読んでフィヌドバックしおくれおありがずう



All Articles