ƒRƒ“ƒeƒ“ƒcƒtƒŒ[ƒ€‹N“ź

‚±‚̃Oƒ‰ƒtƒBƒbƒN‚Í“Y•t‚̃eƒLƒXƒg‚Éà–Ÿ‚ł‚ê‚Ä‚ą‚Ü‚·  ƒsƒbƒLƒ“ƒOƒŠƒXƒg‚Ì“ŻŠú§Œä ( —á) •¶‘‚đ SAP ƒ‰ƒCƒuƒ‰ƒŠƒXƒgƒ‰ƒNƒ`ƒƒ‚É‘g‚ʍž‚Ț

Žg—p

XML ƒŠƒ|ƒWƒgƒŠ“à‚̃sƒbƒLƒ“ƒOƒŠƒXƒg‚đA“ŻŠú’†‚ÉSAP R/3 ‚©‚ç CATS ƒm[ƒgƒuƒbƒN ‚É“]‘—‚ł‚ꂜƒsƒbƒLƒ“ƒOƒŠƒXƒg‚Ćă‘‚«‚”‚È‚ą‚Æ‚”‚Ü‚·B‚»‚Ì‘ă‚í‚è‚ɁAˆÈ‰ș‚̂悀‚ɃsƒbƒLƒ“ƒOƒŠƒXƒg‚đXV‚”‚Ü‚·B

·        ƒsƒbƒLƒ“ƒOƒŠƒXƒg‚̍s‚Ș XML ƒŠƒ|ƒWƒgƒŠ“à‚É‚·‚Ƃɑ¶Ę‚·‚éê‡‚́A‚»‚̍s‚𓯊ú’†‚ÉŽóM‚”‚œƒsƒbƒLƒ“ƒOƒŠƒXƒg“à‚̍s‚Ć’uŠ·‚”‚Ü‚·B

·        ƒsƒbƒLƒ“ƒOƒŠƒXƒg‚̍s‚Ș XML ƒŠƒ|ƒWƒgƒŠ“à‚É‘¶Ę‚”‚È‚ąê‡‚́A‚»‚̍s‚đƒsƒbƒLƒ“ƒOƒŠƒXƒg‚É‘}“ü‚”‚Ü‚·B

Žè‡

...

       1.      •ʂ̃Nƒ‰ƒXAZsynchronizationInboundHandler ‚đ’è‹`‚”‚Ü‚·B ‚±‚̃Nƒ‰ƒX‚Ć‚Í IsynchronizationInboundHandler ƒCƒ“ƒ^ƒtƒF[ƒX‚𓱓ü‚·‚é•K—v‚Ș‚ ‚è‚Ü‚·B

       2.      getObjectName ƒƒ\ƒbƒh‚𓱓ü‚”‚Ü‚·B

       3.      handleInboundContainer ƒƒ\ƒbƒh‚𓱓ü‚”‚Ü‚·B

-         IMessageContainer ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚đA•K—v‚ɉž‚¶‚Ä“ŻŠú‘€ì‚ÉŠÖ‚·‚éo—̓ƒbƒZ[ƒW‚É“o˜^‚”‚Ü‚·B’‹L: ŠÈ—Ș‰»‚Ì‚œ‚߁A‚±‚Ì—á‚Ć‚ÍƒƒbƒZ[ƒW‚Ì•\ŽŠ‚ɂ‚ą‚Ä‚Íà–Ÿ‚”‚Ü‚č‚ńB

-         DatabaseCustomer ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚đ“Ç‚Ęž‚ʂ܂·B

-         SAP R/3 ‚©‚çŽóM‚”‚œƒsƒbƒLƒ“ƒOƒŠƒXƒg‚ÌŠes‚đ‡ŽŸ“Ç‚Ęž‚ʁACATS ƒm[ƒgƒuƒbƒN ‚Ì XML ƒŠƒ|ƒWƒgƒŠ‚ɓ݂¶ˆêŽŸƒL[‚đ‚à‚s‚Ș‚È‚ą‚©ƒ`ƒFƒbƒN‚”‚Ü‚·B

·         “Ż‚¶ˆêŽŸƒL[‚đ‚à‚s‚Ș‘¶Ę‚”‚œê‡‚́A‚»‚̍s‚đíœ‚”AŽóM‚”‚œƒsƒbƒLƒ“ƒOƒŠƒXƒg‚̍s‚đ XML ƒŠƒ|ƒWƒgƒŠ“à‚̃sƒbƒLƒ“ƒOƒŠƒXƒg‚É‘}“ü‚”‚Ü‚·B

·         “Ż‚¶ˆêŽŸƒL[‚đ‚à‚s‚Ș‘¶Ę‚”‚È‚ąê‡‚́AŽóM‚”‚œƒsƒbƒLƒ“ƒOƒŠƒXƒg‚̍s‚đ XML ƒŠƒ|ƒWƒgƒŠ“à‚̃sƒbƒLƒ“ƒOƒŠƒXƒg‚É‘}“ü‚”‚Ü‚·B

Java ƒ\[ƒXƒR[ƒh

package com.sap.mycats.customer.examples;

 

import  com.sap.mycats.basics.database.badi.*;

import  com.sap.mycats.basics.tools.badi.*;

import  com.sap.mycats.basics.customer.synchronization.ISynchronizationInboundHandler;

 

/**

  * This example of an ISynchronizationInboundHandler appends or updates

  * received elements.The standard handler would replace all records with the

  * received table.

 */

public class ZSynchronizationInboundHandler

     implements ISynchronizationInboundHandler

{

     public final static String ZPICKLIST_WBS = "ZPICKLIST_POSID";

 

 

     public ZSynchronizationInboundHandler () {

     }

 

 

     public String getObjectName () {

         return ZPICKLIST_WBS;

     }

 

 

     public void handleInboundContainer (ITableReadOnly anInboundContainer) {

         DatabaseCustomer database =  DatabaseCustomer.getInstance();

         for (int i = 0; i < anInboundContainer.getRowCount(); i++) {

             IRecordReadWrite record = null;

             try {

                 record = RecordFactory.createRecord(ZPICKLIST_WBS);

             } catch (Exception e) {

                 return;

             }

             record.setCorrespondingFields(anInboundContainer.getRecordReadOnly(i));

             ITableReadWrite oldRecords

                 = database.select(ZPICKLIST_WBS, "primary", record, record);

             for (int j = 0; j < oldRecords.getRowCount(); j++) {

                 database.delete(ZPICKLIST_WBS, oldRecords.getRecordReadWrite(j));

             }

             database.insert(ZPICKLIST_WBS, record);

         }

     }

}

 

 

ƒRƒ“ƒeƒ“ƒcƒtƒŒ[ƒ€I—č