cancel
Showing results for 
Search instead for 
Did you mean: 

Mapping fails due to size

Former Member
0 Kudos

Mapping fail saying that unparseable date exists. The payload size is too big. When I download the payload and take part of it and test in message mapping it executes so the mapping is fine..

Is it possible to cut the payload and take it in instalments usng JDBC sender cc?

Or can I use date in select statement and update flag in update so that those values won't be picked ever

How to reduce data pcked from database?

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Midhun,

Use like this Select Top 100 * from table name.

You can go through the below blog by Dheeraj.

Regards,

Suhale Shaik.

Former Member
0 Kudos

Hi Suhale,

sngle stack PI am using. Now in cc monitoring it is green, message processed successfully, but when I click on the message id, it goes to the message monitor and I don't see the message details at the bottom.

I don't see any errors but target structure is not created

Former Member
0 Kudos

what you have given in Sender JDBC Communication Channel about the select and update statement. Did you follow the blog.

Did you check your Database table whether the flag is updated or not. Whether the records are processed or not.

Regards,

Suhale Shaik.

iaki_vila
Active Contributor
0 Kudos

Hi Midhun,

Even the channel in green you can have any error in the audit log. Make a double-click on the message id in the communication channel monitoring when you see the details.

Regards,

Former Member
0 Kudos

it worked, thanks

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi Midhun,

For Unparseable date issue, I suppose you might have used TransformDate function, and some records from the table may not have the date value in the field. Thus, you will need to correct the mapping by adding a condition to check if the date filed value exists.

For selecting records in limited number, depending on the database that you are interfacing with, there can be different SQL functions. As correctly pointed in Dheeraj's blog by Suhale Sheik.

You can also try using the WHERE clause with the FLAG field and the date field in your table.

Regards,

Alka.

Former Member
0 Kudos

Hi Midhun,


Is it possible to cut the payload and take it in instalments usng JDBC sender cc?


Yes, you can limit the number of records fetched by the Select query by including rownum ( less than 1000 records or so)  at the end of the query.


Or can I use date in select statement and update flag in update so that those values won't be picked ever

Yes you can do this and update the update flag.

How to reduce data pcked from database?

You can restrict the number of records fetched by sender JDBC by using the rownum fucntion in Select Query.

Regards,

Ramesh

Former Member
0 Kudos

The rows in the database table do not have any value. It's not numbers. So can I still use it in sender jdbc cc?

I added where rownum < 10 and I got error invalid column name

iaki_vila
Active Contributor
0 Kudos

Hi Ramesh and Midhun,

The rownum is a bad idea, the UPDATE sentence has not the possibility of using the rownum function (at least in Oracle).

You would need the SELECT with the rownum and later a stored procedure with the same SELECT and ulterior UPDATE with the records picked up in the SELECT cursor and to have you DB table seriarizable.

Regards,

Message was edited by: Iñaki Vila

Former Member
0 Kudos

I am using ms sql. I there anyway to reduce the number of rows picked? I don't know stored procedures and the databse help I can't seek also. I have to solve myself

LIMIT or any ways I can select just say 50 or 60 records from databse

Former Member
0 Kudos

Can you paste your Select and update queries.

Regards

Ramesh

Former Member
0 Kudos

select EmpNum, EmpName, Date, PIN from Tablename where rownum <= 10

update is <test>

--------------------------------------------------------------------------------------------------------

initially I used these queries

select EmpNum, EmpName, Date, PIN from Tablename where Flag is null

update tablename set flag = 'x' where Flag is null

this was failing with the heavy load. I took part of payload, tested in Message Mapping and Operation Mapping, both are working so my mapping should be fine.

Former Member
0 Kudos

Hi Midhun,

Please check the below link :

http://scn.sap.com/thread/1040406

You have to use an update query when using rownum. otherwise if you just use <test> then the same set of records are fetched everytime from table using the select query.

I think you need to use sub query in the update statement. For which you have to identify Primary key and based on that you have to update. Check the above link.

Regards,

Ramesh.

Former Member
0 Kudos

Hi Midhun,

As said by Inaki Check that using stored procedure or else go to the point no 6 the link which given by Inaki.

I am pasting it here please look into it.

6.Specify additional Parameter Names and Parameter Values in the table.

Due to messages of large size, it is possible that there could be out of memory errors, which could lead to JEE server node failures.

Following are the parameters to be set in the table to limit the message size:

  • msgLimit : This parameter is used to enable the max message size limit feature for JDBC adapter. When this parameter is set to true, JDBC adapter does not process the message of size higher than the values specified through maxMsgSize and maxRowSize. If msgLimit is set to true then, maxMsgSize and maxRowSize parameters are mandatory.
  • maxMsgSize : This parameter is used to limit the message size to an optimal value. JDBC adapter does not process the message size of more than the value provided for maxMsgSize, if encountered at runtime. The value of the parameter should be provided in KB.More information on configuring the maximum message size: SAP note 1253826.
  • maxRowSize : This parameter is used to provide the maximum row size. This parameter is used to calculate the maximum number of rows that could be sent through channel in one interval. The value of the parameter should be provided in KB.More information on configuring the maximum row size: SAP note 1253826.

Regards,

Suhale Shaik.

azharshaikh
Active Contributor
0 Kudos

Hi Midhun,

In addition, can you check the date field that is causing this error and try to convert it to required format  at target side (using DateTrans Function) in your MM & check if it helps..

Regards,

Azhar

Former Member
0 Kudos

mapping is fne, as it works with part of payload

iaki_vila
Active Contributor
0 Kudos

Hi Midhun,

When i have that problem with huge payloads from sender jdbc i usually do a stored procedure in the database (you can ask for help to your DB team), in that stored procedure you can do the SELECT and the UPDATE and in the the UPDATE field you set the sentence TEST. Check the point 7 of Defining Processing Parameters in the documentation: http://help.sap.com/saphelp_nw73/helpdata/en/7E/5DF96381EC72468A00815DD80F8B63/frameset.htm

Regards.

Former Member
0 Kudos

Is it possible to pic data using date, between so and so dates, then the payload will be less

then upate flag of those records as y