cancel
Showing results for 
Search instead for 
Did you mean: 

function module on KONV

Former Member
0 Kudos

Hi there

Table konv is a cluster table.

I have already created a datasource on this table with an infoset linking it with ekko, but I expect to face performance issues as the table konv has many records.

Therefore I would like to create a function module linking knumv from ekko and konv.

Here is what i have done but when create the datasource i am getting an error. Could you please provide your help in solving this issue. Thanks in advance.

TABLES: konv.

DATA: l_s_select TYPE srsc_s_select.

STATICS: s_s_if TYPE srsc_s_if_simple,

s_counter_datapakid LIKE sy-tabix,

s_cursor TYPE cursor.

RANGES: l_r_knumv FOR konv-knumv,

l_r_kposn FOR konv-kposn,

l_r_kschl FOR konv-kschl,

l_r_waers FOR konv-waers.

l_r_kntyp for konv-kntyp.

l_r_kruek for konv-kruek.

l_r_kwert for konv-kwert.

IF i_initflag = sbiwa_c_flag_on.

IF NOT g_flag_interface_initialized IS INITIAL.

IF 1 = 2. MESSAGE e008(r3). ENDIF.

log_write 'E' "message type

'R3' "message class

'008' "message number

' ' "message variable 1

' '. "message variable 2

RAISE error_passed_to_mess_handler.

ENDIF.

APPEND LINES OF i_t_select TO s_s_if-t_select.

s_s_if-requnr = i_requnr.

s_s_if-dsource = i_isource.

s_s_if-maxsize = i_maxsize.

g_s_interface-initflag = i_initflag.

g_s_interface-updmode = i_updmode.

g_s_interface-datapakid = i_datapakid.

g_flag_interface_initialized = sbiwa_c_flag_on.

APPEND LINES OF i_t_fields TO s_s_if-t_fields.

ELSE.

IF s_counter_datapakid = 0.

LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = ' KNUMV'.

MOVE-CORRESPONDING l_s_select TO l_r_knumv.

APPEND l_r_knumv.

ENDLOOP.

LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'KPOSN'.

MOVE-CORRESPONDING l_s_select TO l_r_kposn.

APPEND l_r_kposn.

ENDLOOP.

LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'KSCHL'.

MOVE-CORRESPONDING l_s_select TO l_r_kschl.

APPEND l_r_kschl.

ENDLOOP.

LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'WAERS'.

MOVE-CORRESPONDING l_s_select TO l_r_waers.

APPEND l_r_waers.

ENDLOOP.

LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'kntyp'.

MOVE-CORRESPONDING l_s_select TO l_r_kntyp.

APPEND l_r_kntyp.

ENDLOOP.

LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'kRUEK'.

MOVE-CORRESPONDING l_s_select TO l_r_kruek.

APPEND l_r_kruek.

ENDLOOP.

LOOP AT s_s_if-t_select INTO l_s_select WHERE fieldnm = 'kWERT'.

MOVE-CORRESPONDING l_s_select TO l_r_kwert.

APPEND l_r_kwert.

ENDLOOP.

OPEN CURSOR WITH HOLD s_cursor FOR

SELECT (s_s_if-t_fields) FROM konv

WHERE knumv IN l_r_knumv AND

kposn IN l_r_kposn AND

kschl IN l_r_kschl AND

waers IN l_r_waers AND

kntyp IN l_r_kntyp AND

kruek IN l_r_kruek AND

kwert IN l_r_kwert.

ENDIF.

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.

s_counter_datapakid = s_counter_datapakid + 1.

ENDIF.

ENDFUNCTION.

Regards

Boujema

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hello

please have a look at following thread

Former Member
0 Kudos

Hi,

Have you defined the Extraction structure in Se11 and are you using that in Generic datasource?

With rgds,

Anil Kumar Sharma .P

Former Member
0 Kudos

Hi Pradip

Thanks for your help but the post you gave me deals with another suject.

Regards

Former Member
0 Kudos

Hi Anil thank you for your reply

Yes I have already create a structure based on the fields that you can see in the code. And yes it is a generic datasource, but you are right to ask it as I didn't mention where i get the error message.

I get an error message when i test the extraction.

Does anybody have an idea !!?! Thanks in advance for your help.

Regards

Boujema

Former Member
0 Kudos

what error are you getting?

Former Member
0 Kudos

Hi Oscar

I am getting this error

Error 6 in function module RSS_PROGRAM_GENERATE

Former Member
0 Kudos

Your source code is that exactly? i copy it into my system and it has syntax errors...

Former Member
0 Kudos

yes Oscar my code is exactly like this.

I can't find exactly what and where the error is

Could you please help me in correcting it

I Thank you in advance.

Regards

Former Member
0 Kudos

in source editor press ctrlF2 (check syntax) if ok then activate FM pressing ctrlF3.

RANGES: l_r_knumv FOR konv-knumv,

l_r_kposn FOR konv-kposn,

l_r_kschl FOR konv-kschl,

l_r_waers FOR konv-waers.

l_r_kntyp for konv-kntyp.

l_r_kruek for konv-kruek.

l_r_kwert for konv-kwert.

Finish all sentences with comma except the last one.

Former Member
0 Kudos

Hi Oscar when checking the source code it is telling me SRSC_S_IF_SIMPLE is unknown.

Former Member
0 Kudos

Seemingly I have a pb with the function group some parts are missing thanks to all anyway

Regards