CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
Hi experts,
I have a doubt in fn module..
i gave the flat file data as
matnr mbrsh mtart maktx meins
z58723 m roh dfsdfsd kg
z57934 m roh rsdrss ea
when i am uploading from excel to mm01 t.code
in matnr it takes z58723 and in
mbrsh it takes z not m and in mtart it takes z587 not roh....
i think u can understand.....help me please.....
Hello,
Check with this sample.
DATA: G_T_FILE LIKE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
*download the excel data into an internal table
IF NOT P_FILE IS INITIAL.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
FILENAME = P_FILE
I_BEGIN_COL = G_C_START_COL
I_BEGIN_ROW = G_C_START_ROW
I_END_COL = G_C_END_COL
I_END_ROW = G_C_END_ROW
TABLES
INTERN = G_T_FILE
EXCEPTIONS
INCONSISTENT_PARAMETERS = 1
UPLOAD_OLE = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
MESSAGE E000(SU) WITH TEXT-004.
ENDIF.
ENDIF.
LOOP AT G_T_FILE.
IF G_T_FILE-COL = '1'.
G_T_DEBI-KUNNR = G_T_FILE-VALUE.
ENDIF.
IF G_T_FILE-COL = '2'.
G_T_DEBI-LAND1 = G_T_FILE-VALUE.
ENDIF.
IF G_T_FILE-COL = '3'.
G_T_DEBI-VBUND = G_T_FILE-VALUE.
ENDIF.
IF G_T_FILE-COL = '4'.
G_T_DEBI-AKONT = G_T_FILE-VALUE.
ENDIF.
AT END OF ROW.
APPEND G_T_DEBI.
CLEAR G_T_DEBI.
ENDAT.
ENDLOOP.
Cheers,
Vasanth
Similar Messages
-
Incorrect result using the function ALSM_EXCEL_TO_INTERNAL_TABLE
I have used the function ALSM_EXCEL_TO_INTERNAL_TABLE to load a Excel sheet on an internal table and the function returns the following result:
Row Col Value
0001 0001 902000100 A601 K 627542130 021 AGARDUN ZMAS 673 EU
0002 0001 902000101 A602 K 627542131 022 AGARDUN ZMAS 695 EU
0003 0001 902000102 A603 K 627542132 023 AGARDUN ZMAS 717 EU
0004 0001 902000103 A604 k 627542133 024 AGARDUN ZMAS 739 EU
0005 0001 902000104 A605 k 627542134 025 AGARDUN ZMAS 761 EU
0006 0001 902000105 A606 W 627542135 026 AGARDUN ZMAS 783 EU
0007 0001 902000106 A607 W 627542136 027 AGARDUN ZMAS 805 EU
0008 0001 902000107 A608 W 627542137 028 AGARDUN ZMAS 827 EU
0009 0001 902000108 A609 K 627542138 029 AGARDUN ZMAS 849 EU
0010 0001 902000109 A610 k 627542139 030 AGARDUN ZMAS 871 EU
0011 0001 902000110 A611 O 627542140 031 AGARDUN ZMAS 893 EU
That is to say, the excel sheet has nine columns, and the function thinks that only has 1 column.
I have checked the function with the same file in other computers, and the result has been the correct one, that is to say, the function returns the value of the column in its corresponding column:
Row Col Value
0001 0001 902000100
0001 0002 A601
0001 0003 K
0001 0004 627542130
0001 0005 021
0001 0006 AGARDUN
0001 0007 ZMAS
0001 0008 673
0001 0009 EU
0002 0001 902000101
0002 0002 A602
0002 0003 K
0002 0004 627542131
0002 0005 022
0002 0006 AGARDUN
0002 0007 ZMAS
0002 0008 717
0002 0009 EU
Can you help me?
Thanks.Hi Garduño,
1. U want to upload data from EXCEL
into internal table.
2. and u are using ALSM_EXCEL_TO_INTERNAL_TABLE.
3. But We cannot do this direclty !
For uploading purpose :
6. There are TWO options.
a) either save the excel to TAB Delimited file,
and use GUI_UPLOAD to upload the data in internal table.
b) use FM for excel purpose.
7. a) is easy and recommended
8. b) there is a FM for it,
but we have to apply some more logic
bcos the FM uploads data of excel
in the intenal table,
CELL BY CELL
9. afTER THAT , we have to convert this cell by cell data,
into our format of internal table.
10. use this code (just copy paste in new program)
(it is tried wit T001 structure data)
(it will AUTOMATICALLY based upon the
fields of internal table,
convert data from cell by cell,
to that of internal table fields)
REPORT abc.
DATA : ex LIKE TABLE OF alsmex_tabline WITH HEADER LINE.
DATA : t001 LIKE TABLE OF t001 WITH HEADER LINE.
DATA : cmp LIKE TABLE OF rstrucinfo WITH HEADER LINE.
DATA : col TYPE i.
DATA : col1 TYPE i.
FIELD-SYMBOLS : .
DATA : fldname(50) TYPE c.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = 'd:def.xls'
i_begin_col = 1
i_begin_row = 1
i_end_col = 100
i_end_row = 100
TABLES
intern = ex
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
BREAK-POINT.
CALL FUNCTION 'GET_COMPONENT_LIST'
EXPORTING
program = sy-repid
fieldname = 'T001'
TABLES
components = cmp.
LOOP AT ex.
AT NEW row.
IF sy-tabix = ex-value.
ENDLOOP.
BREAK-POINT.
regards,
amit m. -
Function ALSM_EXCEL_TO_INTERNAL_TABLE
Hy guys , im using this function in order to read a excel file , however , I m Getting exception upload_ole = 2 , why is that ? , here some code :
FORM match_archivo USING p_archivo CHANGING archivo.
DATA:lt_files TYPE filetable,
l_file TYPE file_table,
l_title TYPE string,
l_subrc TYPE i,
l_usr_act TYPE i,
l_def_file TYPE string.
l_def_file = p_archivo.
CLEAR lt_files. REFRESH lt_files.
CALL METHOD cl_gui_frontend_services=>file_open_dialog
EXPORTING
window_title = ''
default_extension = '*.xls'
default_filename = '*.xls'
initial_directory = 'c:\'
multiselection = ' '
CHANGING
file_table = lt_files
rc = l_subrc
EXCEPTIONS
file_open_dialog_failed = 1
cntl_error = 2
error_no_gui = 3
OTHERS = 5
IF sy-subrc EQ 0.
LOOP AT lt_files ASSIGNING <fs>.
fic_inl = <fs>.
EXIT.
ENDLOOP.
ELSE.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM.
FORM read_fi_in *
FORM read_fi_in.
CLEAR: fic_inl1, var.
MOVE fic_inl TO fic_inl1 .
REPLACE '.' WITH '~' INTO fic_inl1.
IF sy-subrc EQ 0.
SET LOCALE LANGUAGE sy-langu.
TRANSLATE fic_inl1 TO UPPER CASE.
CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
EXPORTING
filename = fic_inl1
i_begin_col = '1'
i_begin_row = '1'
i_end_col = '256'
i_end_row = '65536'
TABLES
intern = excel
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc = 0.
LOOP AT excel.
ENDLOOP.
ENDIF.
ENDIF.
ENDFORM.
thank you very much for your help .Hi Ali,
Try using the below code for your requirement.
I hope this will solve your problem....
FORM p_upload_data .
DATA : gd_scol TYPE i VALUE '1',
gd_srow TYPE i VALUE '2',
gd_ecol TYPE i VALUE '5',
gd_erow TYPE i VALUE '60000'.
DATA: it_tab TYPE filetable,
gd_subrc TYPE i.
DATA : lt_intern TYPE kcde_cells OCCURS 0 WITH HEADER LINE.
DATA : ld_index TYPE i.
FIELD-SYMBOLS : <fs> .
CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
EXPORTING
filename = p_path
i_begin_col = gd_scol
i_begin_row = gd_srow
i_end_col = gd_ecol
i_end_row = gd_erow
TABLES
intern = lt_intern
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 2
OTHERS = 3.
IF sy-subrc <> 0.
FORMAT COLOR COL_BACKGROUND INTENSIFIED.
WRITE:/ 'Error Uploading file'.
EXIT.
ENDIF.
IF lt_intern[] IS INITIAL.
FORMAT COLOR COL_BACKGROUND INTENSIFIED.
WRITE:/ 'No Data Uploaded'.
EXIT.
ELSE.
SORT lt_intern BY row col.
LOOP AT lt_intern.
MOVE lt_intern-col TO ld_index.
ASSIGN COMPONENT ld_index OF STRUCTURE it_final TO <fs>.
MOVE lt_intern-value TO <fs>.
AT END OF row.
APPEND it_final .
CLEAR it_final.
ENDAT.
ENDLOOP.
ENDIF.
ENDFORM. " P_UPLOAD_DATA
Thanks,
Chidanand -
Call function POPUP_TO_CONFIRM after Excel close
Good morning
I have written code like this
DATA: EXCEL TYPE OLE2_OBJECT.
DATA: BOOKS TYPE OLE2_OBJECT.
DATA: BOOK TYPE OLE2_OBJECT.
DATA: CELL TYPE OLE2_OBJECT.
DATA: FONT TYPE OLE2_OBJECT.
DATA: FILE TYPE OLE2_OBJECT.
CREATE OBJECT EXCEL 'EXCEL.APPLICATION'.
CALL METHOD OF EXCEL 'WORKBOOKS' = FILE.
CALL METHOD OF FILE 'OPEN'
EXPORTING
#1 = 'C:temp8D.xls'
#2 = 1.
CALL METHOD OF EXCEL 'CELLS' = CELL
EXPORTING
#1 = 6
#2 = 'C'.
SET PROPERTY OF CELL 'VALUE' = zak_pomoc.
CALL METHOD OF EXCEL 'QUIT'.
FREE OBJECT EXCEL.
If user has modified the 8D file I want display this file on the screen, but first function POPUP_TO_CONFIRM should ask him if he really wants to show file.
I make it like this.
call function 'POPUP_TO_CONFIRM'
EXPORTING
TITLEBAR = 'Display report'
TEXT_QUESTION = 'Display report 8D?'
DEFAULT_BUTTON = '1'
DISPLAY_CANCEL_BUTTON = 'X'
START_COLUMN = 25
START_ROW = 6
IMPORTING
answer = ans.
if ans eq '1'.
DATA gs_excel TYPE ole2_object .
DATA gs_wbooks TYPE ole2_object .
DATA gs_wbook TYPE ole2_object .
DATA gs_application TYPE ole2_object .
CREATE OBJECT gs_excel 'EXCEL.APPLICATION' .
SET PROPERTY OF gs_excel 'Visible' = 1 .
GET PROPERTY OF gs_excel 'Workbooks' = gs_wbooks .
GET PROPERTY OF gs_wbooks 'Application' = gs_application .
*--Opening the existing document
CALL METHOD OF gs_wbooks 'Open' = gs_wbook
EXPORTING
#1 = 'c:temp8D.xls'.
endif.
But there is my problem because two windows: first- asking about saving the file and the second- asking about showing the file, pop up in this same time.
What condition should I write to call second window after this first one?
Please, any suggestions?
Thank you.Hello
I'm just beginner and there is one thing I don't understand. Between lines
CALL METHOD OF EXCEL 'QUIT'
and
FREE OBJECT EXCEL
the window 'Do you want save changes' appears. And in that moment what is the value that says if the user chooses OK or QUIT?
If I would know that value, I could call function POPUP_TO_CONFIRM in the right moment. -
Call Function Destination in a background job
I am having a problem using:
CALL FUNCTION 'TABLE_ENTRIES_GET_VIA_RFC'
DESTINATION p_dest
in a background job.
I am working on a program that would compare the same table in 2 different systems and write the differences. It works when I run it in the foreground. However, I want to run this in a nightly background job. However, it is failing and I beleive that it is the result of the program needing a user to interactively logon to the remote system.
How can I bypass the logon screen or enter information into the logon screen using a background job?
Thanks.
JonHi Jonathan,
Would you like to reward some points to the poster to thank them as a part of SDN Contributor Recognition Program?
You can click on the yellow star on the right of each post header to reward points.
For more information:
https://www.sdn.sap.com/sdn/index.sdn?page=crp_help.htm
John. -
Uncatchable exception: BSP calling Function Module
Hi all,
currently i'm facing a very weird problem. My application class calls function module
HR_INFOTYPE_OPERATION. Normally, in case of an error, the function module gives you back a return parameter. But if i call it from my BSP, the processing doesn't leave the function module. It directly throws an exception ERROR_MESSAGE_STATE instead of writing the message into parameter return.
If i call the function module with the same parameters from a report, it works fine and the error message is written to return parameter without throwing an exception.
What am i doing wrong? I don't want that exception and need to go on with filled parameter result.
Regards
Mark-AndréHi MA,
try using ERROR_MESSAGE in the exceptions list, like this.
CALL FUNCTION 'func_name'
EXPORTING
string = text
pos = position
IMPORTING
string1 = text1
string2 = text2
EXCEPTIONS
string1_too_small = 1
string2_too_small = 2
ERROR_MESSAGE = 3
OTHERS = 4.
Cheers
Graham Robbo -
What is the use of CALL FUNCTION MODULE - AT BACKGROUND TASK?
Hi experts,
I found Call functional module in background task will make the FM run at the next commit work as some people said. So I have some questions:
1 if we use COMMIT WORK commend, the pending FM will be called? If there are several FMs called at background task, what is the sequence of them? How many conditions will trigger the running of these FMs?
2 Where can I find the log of this pending FMs? In SAP library, it says there are 2 tables. But I checked these tables and can only find the FM name and user of it. And I can not understand content of these tables. It seems one is for the main information of FM, and the other is for the data of the FM, maybe the parameters.
3 If I call a FM in this way, Can I canncel it before the next commit work in some way?
Finally, thanks for reading and help.HI,
When the COMMIT WORK statement is executed, the function modules registered for the current SAP-LUW are started in the order in which they were registered. ROLLBACK WORK deletes all previous registrations for the current SAP-LUW.
If the specified destination is not available when COMMIT WORK is executed, an executable program called RSARFCSE is started in background processing. By default, this tries to start the function modules registered for a SAP-LUW in their destination every 15 minutes and up to 30 times. These parameters can be changed in the transaction SM59. If the destination does not become available within the defined time, it is recorded in the database table ARFCSDATA as the entry "CPICERR". The entry in the database table ARFCSSTATE is deleted after a standard period of eight days -
How to fill data when call function of sap standard script form?
Hi every experts,
<Priority Normalized>
In our system, when we log in 'FR', we can print purchase order in language Franch,in t_code:ME22N. And when logging in 'EN', we can print it in language English, in ME22N. The English form is just only translated from Franch, with all same structure and frame. The form is done by script form.
And when logging in 'ZH', we create a new program, calling function smartform, instead of translating from EN language. Because of different structure and frame, I don't know the way to write script, so I print puchase order by smartform, when logging in 'ZH'.
But I have a new issue. Our MM module consultant needs me to print Chinese form if one condition, print English form in other condition.
So I have no idea to solve it. Because in my program, I get data to fill smartform and call function of smartform. And I don't know how to get data to fill script form. I only know the function name, 'OPEN_FORM' 'WRITE_FORM' 'CLOSE_FORM'.....
If I only call the several functions, I will get only frame without no data. So who can tell me how to do????
<Urgency downgraded>
Edited by: Suhas Saha on Jul 26, 2011 3:34 PM
Edited by: Vinod Kumar on Jul 26, 2011 4:09 PMHi,
Normally if we look in NACE transaction, you can see that upto five different FORMS can be assigned to a single output type . i.e. for each form there will be a seperate routine through which it gets called. But it all start from the first form only.
so you need to write your code in the ENTRY of the first form and if it does not satisfy do not go for processing of it but just exit of that form ENTRY. so that it will take you to next form.
hope this helps.
Thanks,
Venkatesh -
Function Module CALL FUNCTION 'SO_SPLIT_FILE_AND_PATH'
Hello All,
While using CALL FUNCTION 'SO_SPLIT_FILE_AND_PATH' to download to Unix file in GLD (Version 4.5b) the F.M is working fine, but in KLD(Version ECC 6.0) CALL FUNCTION 'SO_SPLIT_FILE_AND_PATH' is not working & the error message is displayed saying incomplete filename.
Could you let me know any alternate Function Module/ Method in this regard.
ThanksHi,
In ECC6 also Its Working fine only.
1. Go to SE37 -> Enter FM Name -> Test(F8).
2. Give any file path and test it.
Thanks,
Reward If Helpful. -
Call function 'gui_download'
Hallo Friends,
I am using the above fuction in my program. I want the header of my internal table to be writen als header in the text file. So, I created another Itab (Itab-col_1) and appended all the headers in this, which I later use as below.
Problem:
1.
I am not satisfied with the downloaded output in file.txt I want the header to be excactly over the column content. Please see my output:
MANDT LIFNR LAND1 NAME1 NAME2 NAME3
010§§§§§§0000010000§§§§§§§§§§§§§§§§§§DE§§§§§§Test
010§§§§§§0000100000§§§§§§§§§§§§§§§§§§US§§§§§§TEST
§ § means Space
It is Obvious LAND1 should be over DE / US, NAME1 should be over Test / TEST etc etc
2.
I would like filed seperator to be ( ; ) not space. The flag 'X' gives space.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
filename = str
filetype = 'ASC'
write_field_separator = 'X'
dat_mode = 'X'
TABLES
data_tab = itab_kreditor
fieldnames = itab_datei_col_header
EXCEPTIONS
file_write_error = 1
file_not_found = 19
OTHERS = 22.
So, how can I solve these two problems.
Blacky.CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = BIN_FILESIZE
filename = filename
FILETYPE = 'ASC'
APPEND = ' '
<b> WRITE_FIELD_SEPARATOR = ';'</b>
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = ' '
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH = FILELENGTH
TABLES
data_tab = data_tab
FIELDNAMES = FIELDNAMES
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Regards
Vasu -
Fm CALL FUNCTION 'GUI_DOWNLOAD'
hi experts:
How to add a field name line in fm 'GUI_DOWNLOAD'?
allenhI,
DATA: V_PATH TYPE STRING.
V_PATH = P_FILE.
**-- Function GUI_DOWNLOAD is used to save the data back in the
**-- flat file from the internal table
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
FILENAME = V_PATH
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = 'X'
TABLES
DATA_TAB = I_PIPE
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
****DO REWARD IF USEFULL
VIJAY -
Call function RFC in a loop and kill old session
Hi,
we have a problem with a program.
here's a part of the code:
DO.
CALL FUNCTION 'YC_REFRESH_GPT_START_CM25' STARTING NEW TASK 'TEST'
EXPORTING
i_profile = p_prfl
i_werks = p_werks
i_arbpl_low = s_arbpl-low
i_arbpl_high = s_arbpl-high
TABLES
t_arbpl = it_arbpl.
PERFORM wait_for_refresh.
PERFORM terminate_session.
ENDDO.
So the program does a call function, waits a while, then terminates the session and recalls the function.
Apparently, like this the data should be updated.
But in the terminate session, the session is terminated using:
CALL 'ThUsrInfo' ID 'OPCODE' FIELD opcode_delete_mode
ID 'MODE' FIELD l_mode.
And it works the first time, but the second time there is a dump.
So, is there another way to achieve what this program is trying to do?
Or is there another way to kill the session?
Thanks!!Hi,
the DLL will stay in memory as long as there is a program running which has not closed (unloaded) the DLL.
Doing repetitive calls to the DLL is irrelevant in this context. LV opens the DLL as soon as needed and will only unload it when there is no VI in memory which has a CLN to that DLL...
Best regards,
GerdW
CLAD, using 2009SP1 + LV2011SP1 + LV2014SP1 on WinXP+Win7+cRIO
Kudos are welcome -
Approximate operator and recursive call function in abap
Dear expert,
Please give me an example about Approximate operator and recursive call function in abap
thanks so muchHi
About Approximate operator, you can go to tcode 'ABAPDOCU', searching CO,CN,CA etc...each of them have example there.
And recursive function,
Say here is a FM,
FUNCTION recursive_get_number.
*import im_num type i.
*export ex_num type i.
ex_num = im_num + 1.
IF ex_num GE 100.
EXIT.
ELSE.
CALL FUNCTION recursive_get_number
EXPORTING
im_num = ex_num
IMPORTING
ex_num = ex_num.
ENDIF.
ENDFUNCTION.
When you call this function from outside with importing parameter '1', then will return you 100.
regards,
Archer. -
Call function in abap routine of infopackage
Experts,
Good day. I have a problem concerning the data to be imported in my ods.I can't find a similar thread corcerning my problem. My File date field should contain only 2 years and 3months data of recent data. I'm using a call function fima_date_create to filter values of zfile_date.
CALL FUNCTION 'FIMA_DATE_CREATE'
EXPORTING
I_DATE = sy-datum
I_FLG_END_OF_MONTH = ' '
I_YEARS = 2-
I_MONTHS = 3-
I_DAYS = 0
I_CALENDAR_DAYS = 0
I_SET_LAST_DAY_OF_MONTH = ' '
IMPORTING
E_DATE =
E_FLG_END_OF_MONTH =
E_DAYS_OF_I_DATE =
The sy-datum becomes the High value and the date generated by this FM will be the low value. I already tested this function module and it is what i want. How Should I write the ABAP code for this in the abap routine for my infopackage? Or what steps do I need to take.Hi,
When you choose the option to write a routine for one of the characteristics in the infopackage selections, you get a window to write your code with some prewritten code as below. Modify it as shown below, for your requirement.
data: l_idx like sy-tabix.
read table l_t_range with key
fieldname = 'CALDAY'.
l_idx = sy-tabix.
START of YOUR CODE
<----
Required logic -
>
L_T_RANGE-LOW = <lower limit of range>.
L_T_RANGE-HIGH = <upper limit of range>.
L_T_RANGE-SIGN = 'I'.
L_T_RANGE-OPTION = 'BT'.
END of YOUR CODE
modify l_t_range index l_idx.
p_subrc = 0.
Hope this helps. -
Help:alternate for calling function in where clause
Hi ,
In below query i'm calling function in where clause to avoid COMPLETE status records,due to this query taking 700 secs to return result.If i'm remove below function condition it's returning results with in 5 secs.Can you some one advice to any alternate idea for this?
WHERE mark_status != 'COMPLETE'
SELECT assessment_school,
subject,
subject_option,
lvl,
component,mark_status,
mark_status
NULL AS grade_status,
NULL AS sample_status,
:v_year,
:v_month,
:v_formated_date,
:v_type,
cand_lang
FROM
(SELECT assessment_school,
subject,
subject_option,
lvl,
programme,
component,
paper_code,
cand_lang,
mark_entry.get_ia_entry_status(:v_year, :v_month, assessment_school, subject_option, lvl, cand_lang, component, paper_code) AS mark_status
FROM
(SELECT DISTINCT ccr.assessment_school,
ccr.subject,
ccr.subject_option,
ccr.lvl,
ccr.programme,
ccr.language AS cand_lang,
ccr.paper_code,
ccr.component
FROM candidate_component_reg ccr
WHERE ccr.split_session_year = :v_year
AND ccr.split_session_month = :v_month
AND EXISTS
(SELECT 1
FROM IBIS.subject_component sc
WHERE sc.year = ccr.split_session_year
AND sc.month = ccr.split_session_month
AND sc.paper_code = ccr.paper_code
AND sc.assessment_type = 'INTERNAL'
AND sc.subject_option NOT LIKE '%self taught%'
AND sc.component NOT IN ('PERFORMANCE PRODUCTION','PRESENTATION WORK','REFLECTIVE PROJECT','SPECIAL SYLLABUS INT. ASSESSMENT')
AND NVL(ccr.withdrawn,'N') = 'N'
AND ccr.mark_status != 'COMPLETE'
AND EXISTS
(SELECT 1
FROM school s
WHERE s.school_code = ccr.assessment_school
AND s.training_school = 'N'
WHERE mark_status != 'COMPLETE';One thing you can test quickly is to put the function call in it's own select ...from dual.
This might make a difference.
However, only you can check this, I don't have your tables or data.
So, what happens if you use:
paper_code,
cand_lang,
(select mark_entry.get_ia_entry_status(:v_year, :v_month, assessment_school, subject_option, lvl, cand_lang, component, paper_code) from dual ) AS mark_status
FROM
(SELECT DISTINCT ccr.assessment_school, --<< is the DISTINCT really needed?
ccr.subject,
ccr.subject_option,
...Also, try to find out the purpose of that above DISTINCT, is it really needed or is there some join missing?
Maybe you are looking for
-
Ricoh mp c3001 not printing in color after upgrading to yosemite
After upgrading to Yosemite, not able to print in color to a Ricoh MP C3001 on the network.
-
Can I find out the model number of my screen without taking it apart?
Hi! My "17 Macbook Pro creen needs replacing,and I have no interest in spending upwards of $250. I would like to find a suitable replacement online,but I need to know the model number first for purposes of compatibility. I have been told that I would
-
Contact Names not appearing in messages?
Hi all, After a recent visit abroad (which my phone/network wouldnt work!) I have returned home to find whenever someone texts me, in the menu it will show their number (ie +4407.....) rather than their name. A visit to my network shop didnt help. So
-
Hi I've generated a few trial smart albums from my main library before making any serious use of them and the behaviour when burning one or more of them to a DVD seems very odd to me, in fact useless, and I wonder if someone can tell me what I'm doin
-
BOE XI 3.1 - Universe Export Restriction
Guys, Our configuration's are BOE XI 3.1 SP2. Windows AD authentication In our organization we have few developers and few Super Users (Power Users). Both Developer and Super Users have Universe access. So by default both Developers and S