cancel
Showing results for 
Search instead for 
Did you mean: 

Info Package request never ends, it stays in yellow

Former Member
0 Kudos

Hi,

I have a generic extractor that uses a Function Module to obtain information about inventory from the corresponding tables in SAP.

I created a datasource and replicate it in BW.

Then I created an infopackage in BW, and when I execute the infopackage the monitor shows me the number of registers loaded, and after some minutes the number of registers doesn't increase anymore, but the status of the request stays in yellow, and I need to manually change it to green, in order to continue with the data loading.

I need to program this data load in a process chain, but the infopackage request never ends, so, the information never reaches the infocube.

Can you give me some ideas.

Look forward to your suggestions

Best Regards

Accepted Solutions (0)

Answers (9)

Answers (9)

former_member199691
Active Contributor
0 Kudos

Your data source is based on FM and I guess problem is that you have missed the statement "RAISE NO_MORE_DATA' or have not used it at right place.

Have a look at following FMs as example;

RSAX_BIW_GET_DATA or

RSAX_BIW_GET_DATA_SIMPLE

Former Member
0 Kudos

Hi Gaurav / AL1112,

You are right, i didn't have the statement RAISE NO_MORE_DATA.

But I'm looking at the FM RSAX_BIW_GET_DATA_SIMPLE, and how the statement is used, and in my FM doesn't work exactly the same.

The FM RSAX_BIW_GET_DATA_SIMPLE used the statement like this:

FETCH NEXT CURSOR S_CURSOR

APPENDING CORRESPONDING FIELDS

OF TABLE E_T_DATA

PACKAGE SIZE S_S_IF-MAXSIZE.

IF SY-SUBRC <> 0.

CLOSE CURSOR S_CURSOR.

RAISE NO_MORE_DATA.

ENDIF.

In my FM I'm not using cursors. What I do is to call another FM that returns the information I need, so I try to use the statement in this way:

CALL FUNCTION 'ZMM_DIAS_INV'

TABLES

gt_dias_inv = e_t_data.

IF SY-SUBRC EQ 0.

RAISE NO_MORE_DATA.

ENDIF.

But now when I execute the infopackage I don't get any data.

I suppose I'm using the statement incorrectly.

What do you think ?

Regards,

Carlos

Edited by: Carlos Sibaja on Aug 10, 2011 7:56 PM

former_member199691
Active Contributor
0 Kudos

I am not very sure but you can try following options;

1. use NE

IF SY-SUBRC NE 0.

RAISE NO_MORE_DATA.

ENDIF

2. Get data into some internal table from FM and then pass it to e_t_data

CALL FUNCTION 'ZMM_DIAS_INV'

TABLES

gt_dias_inv = i_data.

IF SY-SUBRC NE 0.

RAISE NO_MORE_DATA.

ELSE.

APPEND i_data to e_t_data

ENDIF.

3. if you need to split data in data packages then you will have to use some more logic to split the data on the basis of data package size

DESCRIBE TABLE i_data LINES l_lines.

lv_index = 1.

"Initialization mode or data extraction ?

IF lv_index GT l_lines.

RAISE no_more_data.

ENDIF.

LOOP AT i_data INTO i_data1 FROM lv_index.

IF index LT lv_maximum_size.

lv_index = lv_index + 1.

index = index + 1.

APPEND i_data1 TO e_t_data.

ELSE.

EXIT.

ENDIF.

ENDLOOP.

s_counter_datapakid = s_counter_datapakid + 1.

ENDIF.

These are just some sample codes, you will need to adopt these as per your need. I am hoping one of these option should solve your problem.

Regards,

Gaurav

anshu_lilhori
Active Contributor
0 Kudos

HI Carlos,

PLease go through the PDF i am pasting below it might be helpful to you.

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/e05de889-0b30-2d10-4f9c-c4c2db505...

PLease take help of an APAPer if available they can debug and let you konw the issue.

Regards,

AL

Former Member
0 Kudos

Hi AL,

The PDF was very helpful. I change the structure of the abap extractor and now the infopackage in BW finish in green.

Thanks !!

Best regards,

Carlos

former_member182516
Active Contributor
0 Kudos

Hi Carlos,

Can you clarify below points...

was the source system job got finished when you tried to change the status to green?

On what basis you changed the status to green?

Are there any failed or hung TRFcs from source to Bw system?

Are there any hung Idcos from source to Bw system?

Did you check the PID of that particular laod finished or got hung and waiting for gate way or some thing else( imean did u check the activity of PID before changing the status to green).

inorder to check the source sytem job goto monitor screen of the load -->menu --> environment --> job overview -->select source system

to check the TRFCs

environment --> transactional RFC --> source system

If the above things are fine fine tune the FM code that u are using ...

Regards

KP

Edited by: prashanthk on Aug 8, 2011 5:15 PM

anshu_lilhori
Active Contributor
0 Kudos

HI,

We also faced the similar issue.It seems to me that there is an issue with your function module.As far as i understand there is some tuning needs to be done for your funciton module.

Please have a word with your ABAPer and ask him/her to debug that datasource which is based on function module.

Also check if this statement is added in your fucntion module or not RAISE NO_MORE_DATA.It only gies the mesage to source system that data is arrived in BW so plase stop the job.

Hope it helps.

Regards,

AL:

Former Member
0 Kudos

Hi,

you can check idoc whether it is executed or not by using tcode we19

i hope it will help you

former_member182470
Active Contributor
0 Kudos

Hi,

Since you are looking at Process Chain perspective, its always better to check the RFC Connections, tRFC status regularly by BASIS team. Any of your previous Idocs should not get strucked earlier.

Regards,

Suman

Former Member
0 Kudos

Hi,

We also came across this issue few days back and found that Transactional RFC's were getting stuck in source system side. Check if in the IP monitor details tab, you are getting a message "No IDOCS arrived from source system".

Basically TRFC's are released automatically but some time if any of the previos TRFC get stuck in source system then all the other TRFC's in quest gets stucked. So check in transaction SM58, if there are any TRFC's pending, and consult to your Baisis team and request them to release it otherwise you will have to release each TRFC manually.

Regards,

Durgesh.

Former Member
0 Kudos

Hi,

Check the backgroung job in Source sysyem SM37 whether its completd or not,if completed then check in SM58 whether any TRFC stucks or not if yes you can manually push them one by one.

Thanks,

former_member197610
Active Contributor
0 Kudos

hi,

Did you check your idocs? try to push the idocs manually and see if it changes.

Hope this helps..

Former Member
0 Kudos

Hi Carlos,

When you run Info package, have you checked the job log in SM37.

Check whether the job gets finished or not..?

Regards,

Venkatesh.