cancel
Showing results for 
Search instead for 
Did you mean: 

JMS Adapter Supports below message

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi Frnds,

I am working on one scenario i have to read and write RFH2 Message from MQ,we decided to use jms adapter.

JMS Adapter supports below Message to put in MQ,

<Data>

<MQRFH2>

<usr>

<TransactionType>GL_Update</TransactionType>

<Environment>LIVE</Environment>

<SourceScheme>EANCM</SourceScheme>

<SourceApplicationId>5051150003606</SourceApplicationId>

<DestScheme>EANCM</DestScheme>

<DestinationRouting>5051150003330</DestinationRouting>

<OriginalRouting/>

<MessageRecordCount>1</MessageRecordCount>

<BusinessTransactionId>20090405193001</BusinessTransactionId>

<ParentBusTID/>

<ParentBusId/>

<EECode>Y</EECode>

</usr>

<mcd>

<Msd>xml</Msd>

</mcd>

</MQRFH2>

<Message>

<GL_Update>

<header>

<SourceEAN>5051150003606</SourceEAN>

<DestinationEAN>5051150003330</DestinationEAN>

</header>

<detail>

<AuthorisedUser/>

<HeaderText/>

<HeaderReference/>

<PostingItem>

<ProfitCentre>7027101000</ProfitCentre>

<CostCentre/>

<AccountCode>0001413150</AccountCode>

<GlobalBusinessIdentifier>AU10</GlobalBusinessIdentifier>

<MonetaryAmount>0000000100.00</MonetaryAmount>

<GlobalCurrencyCode>AUD</GlobalCurrencyCode>

<RunDate>20080725</RunDate>

<Description>IV006270M000000000000000000001</Description>

<WorkBreakdownStructureElement/>

<BudgetRequest/>

<TransactionType/>

<TransactionNumber/>

<PostingKey>50</PostingKey>

<SalesTax>

<SalesTaxCode/>

<SalesTaxAmount/>

</SalesTax>

<PersonnelNumber/>

<Assignment/>

<CalculateTaxBase/>

<BaselineDate/>

<PaymentTerms/>

<MedicalReference/>

</PostingItem>

<PostingItem>

<ProfitCentre/>

<CostCentre/>

<SalesTax>

<SalesTaxCode>P3</SalesTaxCode>

</SalesTax>

</PostingItem>

<PostingItem>

<ProfitCentre>7022001001</ProfitCentre>

<CostCentre/>

<AccountCode>0001701001</AccountCode>

</PostingItem>

</detail>

<trailer>

<thisDocumentGenerationDateTime>20090405T072928Z</thisDocumentGenerationDateTime>

<thisDocumentIdentifier>20090405T072928Z</thisDocumentIdentifier>

</trailer>

</GL_Update>

</Message>

</Data>

please help me on this

it possible to achieve using JMS adapter or not?? what is the alternative solution ??

Regards,

raj

Accepted Solutions (0)

Answers (6)

Answers (6)

rajasekhar_reddy14
Active Contributor
0 Kudos

thanks solved.. using Dynamic Configuratuion Bean we can achieve.

rajasekhar_reddy14
Active Contributor
0 Kudos

any more inputs

mf_haq
Active Participant
0 Kudos

Hi RSR,

JMS is the better way to connect sonic MQ.below iam attaching you few points while using JMS.

1.for the JMS adapter an external driver is needed (java archive)

2.this archive is provided by the respective provider of the queuing system

3.the driver has to be deployed via SDM , see XI configuration guide for details

4.Routing rules and sender has to be specified as for any other channel in the directory

object model

5.the message header information is determined from the appropriate sender

agreement for the communication channel

6.the communication channel defined must be used in exactly one sender agreement

7.at least the interface name and the sender service must be qualified in the

sender agreement ,other fields are optional

Depending on the transport protocol selected, specify the following :

8.For Sonic MQ JMS Provider :

·        Java class QueueConnectionFactory

·        Java class queue

·        IP address or server name

·        Server port

·        JMS queue

9.JNDI JMS Provider Lookup

·        JNDI name of QueueConnectionFactory

·        JNDI name of JMS queue

·        Name of JNDI Initial Context Factory

·        Address of JNDI server

·        JNDI users

·        JNDI password with confirmation

10.

For WebSphereMQ (MQ Series) JMS Provider

·        Java class QueueConnectionFactory

·        Java class queue

·        IP address or server name

·        Queue manager name

·        Channel name

·        JMS queue

·        Character set for non-ASCll names

·        Transport/network protocol

·        Target client

11.

JMS Provider Administered Objects via File

File name of serialized object QueueConnectionFactory

File name of serialized object Queue

With Rgds,

MF.Haq

rajasekhar_reddy14
Active Contributor
0 Kudos

Hi Haq,

i know abt configuration deployment of jar files ..... no issues with that..

bjt my requirement different buddy......

cheers,

raj

rajasekhar_reddy14
Active Contributor
0 Kudos

THANKS

rajasekhar_reddy14
Active Contributor
0 Kudos

any help...............

JoelTrinidade
Active Contributor
0 Kudos

Hi Shekar,

Integration with MQ,,,,, jms is definitely the best way. Rest for adapter settings and all info refer:

Configuring the Sender JMS Adapter:

http://help.sap.com/saphelp_nw04/helpdata/en/f4/2d6189f0e27a4894ad517961762db7/content.htm

Configuring the Receiver JMS Adapter:

http://help.sap.com/saphelp_nw04/helpdata/en/10/b1b4c8575a6e47954ad63438d303e4/content.htm

Regards

joel

Former Member
0 Kudos

Hi Joel,

This is actually one of my messages that Shekar is working on. The documentation pointers were good (thanks), but we have seen those banded around before.

I know that if we go into ASMA we can set the 10 additional JMS message attributes. So if I set the message attributes, say "gsk2cTransactionType" as the property and "String" as the property type (both without quotes) I see that I get the following in the rfh2 header on the MQ message:

<usr>

<gsk2cTransactionType></gsk2cTransactionType>

</usr>

This is great, and partially proves what I want. But to make it work, I need to assign a value to the property, as an example:

<usr>

<gsk2cTransactionType>GSK_GL_Update</gsk2cTransactionType>

</usr>

The way I understand it, to get the value of the property into the JMS message, the value must come from the PI Message itself, but I am struggling to understand how and where it gets set.

Can anyone shed any light?

Edited by: DavidGeorge on Apr 16, 2009 10:44 AM

Shabarish_Nair
Active Contributor
0 Kudos

didnt this help?

Former Member
0 Kudos

Thanks for the reply.

Just seen that thread for the first time - I will watch that one too.

We have no working solution yet... but hopefully a bit closer. It's a shame the documentation only covers half the job.

I'm really hoping there is someone who has experience with rfh2 and WebsphereMQ - I'd love to hear success/horror stories.

Former Member
0 Kudos

We finally got a solution for this.

Here it is:

1. In Adapter Specific Message Attributes under the "Advanced" tab, use the table to enter your property names into the table (up to 10)

2. Click on the "Module" tab of the communication channel.

3. In the processing sequence, add a new module called "AF_Modules/DynamicConfigurationBean" type "Local Enterprise Bean" module key "RFHHEADER"

4. You can now enter name value pairs in the module configuration table.. for instance, if you want to assign a value of "TEST" to a property called "Environment" (created in step 1, and first entry in table), then the config would be as follows:

Module Key Parameter Name Parameter Value

=========== ============= =========================

RFHHEADER key.0 insert http://sap.com/xi/XI/System/JMS DCJMSMessageProperty0

RFHHEADER value.0 TEST

repeat using key.1/value.1 etc..

It's not made clear how to do it in the documentation, but it does create a RFH2 with values wrapped in the /usr folder of a WebsphereMQ message.