Date after 3 years...function module needed
Hi
i need to find the date after 3 years from today. please let me know how (function module or class) to do this.
thanks
hi,
<b>
Use this function module.
RE_ADD_MONTH_TO_DATE
old date = sy-datum ( any date u want ).
months = 36</b>
<b>U can also use other FM</b>
Date Manipulation
SD_DATETIME_DIFFERENCE
DAYS_BETWEEN_TWO_DATES
MONTHS_BETWEEN_TWO_DATES.
RE_ADD_MONTH_TO_DATE
CALCULATE_DATE
HR_JP_MONTH_BEGIN_END_DATE
LAST_DAY_OF_MONTHS
ADD_TIME_TO_DATE
CONVERT_DATE_TO_ALPHA_NUMERIC
PERIOD_AND_DATE_CONVERT_OUTPUT
CONVERSION_EXIT_LDATE_OUTPUT
DATE_TO_DAY
CCM_GO_BACK_MONTHS
SD_DATETIME_DIFFERENCE
Give the difference in Days and Time for 2 dates
FIMA_DAYS_AND_MONTHS_AND_YEARS
Get number of days. Year, Months between two dates.
<b>
Mark Helpfull Answers</b>
Regards
Message was edited by: Manoj Gupta
Message was edited by: Manoj Gupta
Similar Messages
-
After Layout Function module for BPS
Hi,
We have a BPS application with Excel layout. Currently I see that when I save in the Web Layout which is showing the excel view data After Layout funciton module is executing for each record.
Kindly help me how can I see the Buffer data of all the records at once in the layout.
Thanks
NaveenHi,
There are 2 ways to view the buffer data.
One way is to look at the table XTH_DATA while debugging the Planning Function. XTH_DATA needs to be defined as a Hashed Table.
Another way is to, while executing the planning function in BPS0, right click on it and execute with trace, it will show you the records earlier to the execution of the function and the resultant records after the execution.
Hope this helps. -
Not able to use Commit after the function module STATUS_OBJECT_CREATE
I am using function module STATUS_OBJECT_CREATE
CALL FUNCTION 'STATUS_OBJECT_CREATE'
EXPORTING
CHGKZ = 'X'
CLIENT = SY-MANDT
OBJNR = LV_OBJNR3
OBTYP = 'IWE'
STSMA = 'ZS_RE_01'
IMPORTING
OBJNR = LV_OBJNR3.
STONR = LV_STONR.
IF SY-SUBRC = 0.
COMMIT WORK.
ENDIF.
i am getting error after the COMMIT WORK .
I am not getting any issue in the function module .after the function module i am using the COMMIT WORK and i am getting the following error message
Category ABAP Programming Error
Runtime Errors SAPSQL_ARRAY_INSERT_DUPREC
Except. CX_SY_OPEN_SQL_DB
ABAP Program SAPLBSVU
Application Component CA-GTF-TS-SMT
Date and Time 03/17/2014 07:01:29
|Short text |
| The ABAP/4 Open SQL array insert results in duplicate database records. |
|What happened? |
| Error in the ABAP Application Program |
| |
| The current ABAP program "SAPLBSVU" had to be terminated because it has |
| come across a statement that unfortunately cannot be executed. |
|What can you do? |
| Note down which actions and inputs caused the error. |
| |
| |
| To process the problem further, contact you SAP system |
| administrator. |
| |
| Using Transaction ST22 for ABAP Dump Analysis, you can look |
| at and manage termination messages, and you can also |
| keep them for a long time. |
|Error analysis |
| An exception occurred that is explained in detail below. |
| The exception, which is assigned to class 'CX_SY_OPEN_SQL_DB', was not caught |
| in |
| procedure "STATUS_UPDATE" "(FUNCTION)", nor was it propagated by a RAISING |
| clause. |
| Since the caller of the procedure could not have anticipated that the |
| exception would occur, the current program is terminated. |
| The reason for the exception is: |
| If you use an ABAP/4 Open SQL array insert to insert a record in |
| the database and that record already exists with the same key, |
| this results in a termination. |
| |
| (With an ABAP/4 Open SQL single record insert in the same error |
| situation, processing does not terminate, but SY-SUBRC is set to 4.) |
|How to correct the error |
| Use an ABAP/4 Open SQL array insert only if you are sure that none of |
| the records passed already exists in the database. |
| |
| If the error occures in a non-modified SAP program, you may be able to |
| find an interim solution in an SAP Note. |
| If you have access to SAP Notes, carry out a search with the following |
| keywords: |
| |
| "SAPSQL_ARRAY_INSERT_DUPREC" "CX_SY_OPEN_SQL_DB" |
| "SAPLBSVU" or "LBSVUU01" |
| "STATUS_UPDATE" |
| |
| If you cannot solve the problem yourself and want to send an error |
| notification to SAP, include the following information: |
| |
| 1. The description of the current problem (short dump) |
| |
| To save the description, choose "System->List->Save->Local File |
| (Unconverted)". |
| |
| 2. Corresponding system log |
| |
| Display the system log by calling transaction SM21. |
| Restrict the time interval to 10 minutes before and five minutes |
| after the short dump. Then choose "System->List->Save->Local File |
| (Unconverted)". |
| |
| 3. If the problem occurs in a problem of your own or a modified SAP |
| program: The source code of the program |
| In the editor, choose "Utilities->More |
| Utilities->Upload/Download->Download". |
| |
| 4. Details about the conditions under which the error occurred or which |
| actions and input led to the error. |
| |
| The exception must either be prevented, caught within proedure |
| "STATUS_UPDATE" "(FUNCTION)", or its possible occurrence must be declared in |
| the |
| RAISING clause of the procedure. |
| To prevent the exception, note the following: |
|System environment |
| SAP Release..... 702 |
| SAP Basis Level. 0010 |
| |
| Application server... "sds6ci" |
| Network address...... "11.224.101.53" |
| Operating system..... "Linux" |
| Release.............. "2.6.18-194.el5" |
| Hardware type........ "x86_64" |
| Character length.... 16 Bits |
| Pointer length....... 64 Bits |
| Work process number.. 17 |
| Shortdump setting.... "full" |
| |
| Database server... "gctsdb01lds.hsi.hugh" |
| Database type..... "ORACLE" |
| Database name..... "DS6" |
| Database user ID.. "SAPDS4" |
| |
| Terminal.......... "GCTEMP02VDI" |
| |
| Char.set.... "C" |
| |
| SAP kernel....... 720 |
| created (date)... "Sep 14 2013 05:28:14" |
| create on........ "Linux GNU SLES-9 x86_64 cc4.1.2 use-pr130820" |
| Database version. "OCI_102, 10.2.0.5.0, V2, default" |
| |
| Patch level. 500 |
| Patch text.. " " |
| |
| Database............. "ORACLE 10.1.0.*.*, ORACLE 10.2.0.*.*, ORACLE 11.2.*.*.*" |
| SAP database version. 720 |
| Operating system..... "Linux 2.6, Linux 3" |
| |
| Memory consumption |
| Roll.... 1317248 |
| EM...... 0 |
| Heap.... 0 |
| Page.... 0 |
| MM Used. 1242912 |
| MM Free. 53400 |
|User and Transaction |
| Client.............. 160 |
| User................ "DV018458" |
| Language key........ "E" |
| Transaction......... "SE38 " |
| Transaction ID...... "5323C30FC9364665E10000000BE06533" |
| |
| EPP Whole Context ID.... "002655EE0F241ED3ABB7D81260A28C44" |
| EPP Connection ID....... 00000000000000000000000000000000 |
| EPP Caller Counter...... 0 |
| |
| Program............. "SAPLBSVU" |
| Screen.............. "RSM13000 3000" |
| Screen Line......... 2 |
| Debugger Active..... "none" |
|Information on where terminated |
| Termination occurred in the ABAP program "SAPLBSVU" - in "STATUS_UPDATE". |
| The main program was "RSM13000 ". |
| |
| In the source code you have the termination point in line 60 |
| of the (Include) program "LBSVUU01". |
| The program "SAPLBSVU" was started in the update system. |
| The termination is caused because exception "CX_SY_OPEN_SQL_DB" occurred in |
| procedure "STATUS_UPDATE" "(FUNCTION)", but it was neither handled locally nor |
| declared |
| in the RAISING clause of its signature. |
| |
| The procedure is in program "SAPLBSVU "; its source code begins in line |
| 1 of the (Include program "LBSVUU01 ". |
|Source Code Extract |
|Line |SourceCde |
| 30| LOOP AT jsto_upd WHERE chgkz = 'X'. |
| 31| CHECK: jsto_upd-chgnr > '000', |
| 32| jsto_upd-stsma NE jsto_upd-stsma_old. |
| 33| CLEAR jcdo_tab. |
| 34| MOVE-CORRESPONDING jsto_upd TO jcdo_tab. |
| 35| MOVE-CORRESPONDING chdat TO jcdo_tab. |
| 36| jcdo_tab-stsma_new = jsto_upd-stsma. |
| 37| APPEND jcdo_tab. |
| 38| ENDLOOP. |
| 39|* Änderungen zu Einzelstatus (Insert) |
| 40| LOOP AT jest_ins WHERE chgkz = 'X'. |
| 41| CHECK jest_ins-chgnr > '000'. |
| 42| CLEAR jcds_tab. |
| 43| MOVE-CORRESPONDING jest_ins TO jcds_tab. |
| 44| MOVE-CORRESPONDING chdat TO jcds_tab. |
| 45| jcds_tab-chind = 'I'. |
| 46| APPEND jcds_tab. |
| 47| ENDLOOP. |
| 48|* Änderungen zu Einzelstatus (Update) |
| 49| LOOP AT jest_upd WHERE chgkz = 'X'. |
| 50| CHECK jest_upd-chgnr > '000'. |
| 51| CLEAR jcds_tab. |
| 52| MOVE-CORRESPONDING jest_upd TO jcds_tab. |
| 53| MOVE-CORRESPONDING chdat TO jcds_tab. |
| 54| jcds_tab-chind = 'U'. |
| 55| APPEND jcds_tab. |
| 56| ENDLOOP. |
| 57|* Verbuchung Statusobjekte |
| 58| DESCRIBE TABLE jsto_ins LINES sy-tabix. |
| 59| IF sy-tabix > 0. |
|>>>>>| INSERT jsto CLIENT SPECIFIED |
| 61| FROM TABLE jsto_ins. |
| 62| ENDIF. |
| 63| DESCRIBE TABLE jsto_upd LINES sy-tabix. |
| 64| IF sy-tabix > 0. |
| 65| field-symbols <fs_jsto_line> like jsto_upd. |
| 66| loop at jsto_upd assigning <fs_jsto_line>. |
| 67| IF <fs_jsto_line>-chgnr = '000'. |
| 68| <fs_jsto_line>-chgnr = '999'. |
| 69| ENDIF. |
| 70|* on change of status profile delete user status related to old profile |
| 71| IF <fs_jsto_line>-STSMA NE <fs_jsto_line>-STSMA_OLD. |
| 72| DELETE FROM JEST CLIENT SPECIFIED WHERE |
| 73| MANDT = <fs_jsto_line>-MANDT AND |
| 74| OBJNR = <fs_jsto_line>-OBJNR AND |
| 75| STAT LIKE 'E%'. |
| 76| DELETE FROM JCDS CLIENT SPECIFIED WHERE |
| 77| MANDT = <fs_jsto_line>-MANDT AND |
| 78| OBJNR = <fs_jsto_line>-OBJNR AND |
| 79| STAT LIKE 'E%'. |i tried with out using commmit but it is not creating Status.
When i see the function module help and they are trying to COMMIT
FU STATUS_OBJECT_CREATE
Short Text
Create Status Object
Functionality
The function module generates a status object.
Take the object number from the object number management (function modules OBJECT_NUMNBER_GET_xx).
If no object number is given, the module takes a temporary object number that must be replaced later (function module STATUS_OBJECT_SWITCH_NUMBER).
Example
Creating an internal order with number 100123 (object type "ORC") for status profile "STATSCHEM" with final object number
call function 'OBJECT_NUMBER_GET_OR'
exporting
aufnr = '100123'
importing objnr = objektnummer.
call function 'STATUS_OBJECT_CREATE'
exporting
objnr = objektnummer
obtyp = 'ORC'
stsma = 'STATSCHEM'.
commit work.
Creating the same order with a temporary object number
data: objectkey like ionra.
* TBO00-REFSTRUCT for object type 'OR' is 'IONRA'
objectkey-aufnr = '100123'.
call function 'STATUS_OBJECT_CREATE'
exporting
i_objectkey = objectkey
obtyp = 'ORC'
stsma = 'STATSCHEM'.
importing
objnr = objektnummer.
call function 'OBJECT_NUMBER_GET_OR'
exporting
aufnr = '100123'
importing objnr = objektnummer_neu.
call function 'STATUS_OBJECT_SWITCH_NUMBER'
exporting
objnr_old = objektnummer
objnr_new = objektnummer_neu.
commit work.
Notes -
How to add Test data for a function module
Hi experts,
i want to add test data for a function module . i don't know how to proceed on it . please help me...
with regards,
James...
Valuable answers will be rewarded...Hi,
- Go to SE37 and execute your FM
- Enter the data you want to pass to FM
- Hit 'Save' button. Enter the meaningful name for your test scenario and save. That's it you have saved the test data.
You can also enter some other test data and save that also. In short, you can save multiple test scenario. Also, you can give multiple test scenario a same name and they do not overwrite each other ( but normally you give different name to differentiate them)
Next time you come to execute the FM again, hit the "test data" button and it will show you all the test scenario you have stored before. Select the one you want to use and it will load the data in FM parameters.
Let me know if you need any other information.
Regards,
RS -
Generic Data Source with Function Module data mismatch
Hi All,
I'm using Generic Data Source with Function Module, When I execute the Function Module (Which I have Created), I'm getting 16000 records and when run extractor(in RSA3) im getting different no.of records(infact they are more no.).
when I run the InfoPackage in BI im Getting more no. of records than what i got executing the function module..
and single record is divided into 2 records in BI side(not all the records), how can it be possible???
is there anything Im missing to explain you my issue???
if understood please help me out.
Thanks n Regards,
ravi.HI rkiranbi,
1. FIrst you excute function module according to your paramers, you will get some records. then goto tcode RSA3 --> excute
Provide your Data source name and under setting we have options like Data records/calls, Display extractor calls and selections --> fields .
in that options you have to increase the values. and then you have to pass paramers in RSA3 according to your function module
selections in SE37. Now you will get equal values in both functin module selection and RSA3 Selection. if it fail means you need to
check coding logic in function module.
2. if your are getting wrong values in BI System then check with
1. compare with PSA data and data target data (here you need to check with characterstic as well as keyfigures)
if you find any mistake you need change the coding in function module according to client requirement.
2. compare data with RSA3 and bi report data or data target data.
check it properly above steps, you will get solution.
thanks and regards,
malli -
Delta Problem while extracting the data by using function module
Hi Experts,
I have extracted the data by using Function module, for delta loads I have given Calday and additive delta in Generic delta settings, in BW side I have initialized the data after that I have given delta update option in infopackage and I made process chain also, every day process chain is running successfully but it is showing zero records, but there is a data in Data source (RSA3), means delta is not working.
What is the problem,
Is there any another settings for delta loads,
Please help me to do this,
Helpful answer will be appreciated with points,
Regards,
VenkatHi,
Try this delta type :NEW STATUS FOR CHANGED RECORDS.
More information from Nagesh, this information may help
1. New status for changed Records.
2. Additive delta.
New status for changed records means
New Order
order no quantity
1000 10
order changed to quntity 8. then 2 records will posted 2 BW in first case.
1000 -10
1000 8
if you come to Additve delta.
for the same case it will send the same record as
1000 10
changed records
1000 -2
this is the difference. New status with changed records should be used only in association with ODS not cube becoz we don't have overwrite option.
Additive delta we can use for ODS and Cubes with update mode Addition.
Regards,
Satya -
Hi gurus,
How do we get evtcreation_date and evtcreation_time data into check function module or implementation of object type? I am using cdhdr and cdpos and able to write my own logic.
Thanks in advance!!!
Xevi G.I think check FM's contain these value in any paramters.
Otherwise check CDHDR/CDPOS with appropriate OBJECT number etc.
This question can more appropriately answered in WORKFLOW forum.
Try [this|http://www.*******************/2007/09/work-flow-2.html] link also. -
How to extract data by using function module in generic extraction please
how to extract data by using function module in generic extraction please give me steps required
Dear Deba,
Generic Extraction via Function Module
/people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
If the requirement is like extracting data from multiple tables with some complex logic then views cannot be used..so u cna go for FM is used where it can be achieved.
Chk these
/people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a0f46157-e1c4-2910-27aa-e3f4a9c8df33
check the following thread
generic extraction with function module
Generic Extraction with function module
Regards,
Ram. -
Generic Data Source with Function Module data mismatch in BI
Hi All,
I'm using Generic Data Source with Function Module, When I execute the Function Module (Which I have Created), I'm getting 16000 records and when run extractor(in RSA3) im getting different no.of records(infact they are more no.).
when I run the InfoPackage in BI im Getting more no. of records than what i got executing the function module..
and single record is divided into 2 records in BI side(not all the records), how can it be possible???
is there anything Im missing to explain you my issue???
if understood please help me out.
Thanks n Regards,
ravi.the datasource frame work starts the function module several times.
1. the initialization
2. the serval times, until you "raise no_more_data".
check you coding: have you refreshed necessary internal tables.
Sven -
How to extract the data by using function module?
hi experts,
what are the steps i have to fallow to extract the data from R/3 by using FUNCTION MODULE.
thanks & regards
venkatHi,
Extracting data from R/3 extract structure thru function modules
You can proceed with create function module using SE37, thereu2019s sample in system RSAX_BIW_GET_DATA_SIMPLE,
You need to know the logic how to populate the structure,
after that RSO2, create datasource specify extract structure and
function module,
activate and replicate to bw.
Chheers
Raj -
Functional Module:Need some sample source code.
Hi All,
I have created a customized table u2018ZStock_Order_Dealeru2019 with the following fields:
Stock_Order_Dealer
Dealer Number
S2D order Number
Line item Number
Material Number
Ordered Quantity
Batch Number
Received Quantity
S2D from D2G
Receiving Date
I need to create a remote enabled function module in CRM system to fetch the u2018Batch Numberu2019 and u2018Received Quantityu2019 fields when the Material Number is fed to it.Please note that the input and output should be tables.
Could some one please give some sample source code for this.I used table types and select queries to resolve this problem.
-
Hi,
We have a requirement to create a BI report based on plant maintenance report. The plant maintenance report is based on a ABAP program with complex logic. My question is i want create a Generic Datasource using Function module and can I include the logic(Abap Program) that is used for plant maintenance report in the function module? Please share your thoughts.
Thanks,
RaviHi,
Step1-Create a table structure which you need to create same as the fields you require in you data source.
Step 2-create a custom abap program and inside that call the Client abap program with the selections as required and save the result data in some table
Step 3-create infoset query.In the infoset query give your table structure name and program name which you developed.
Step4-create data source on top of that query -
How to retrieve data from a function module and use it in sap script??
I have a report program, which calls a function module. This function module internally calls an include program. In this program, I have a variable which is to be used in the sap script. How can I send this variable to the sap script
Hi,
In your case, Include prog is part of FM, no need to treat it as an Entity.
Now, Your Answer -
In SCRIPT - IN Page Window -->
PERFORM GET_MVAT_TIN IN PROGRAM Z_SCRIPT_PERFORMS_ABAPDB3
USING &VBDKR-KUNRE&
CHANGING &STCD1&
CHANGING &STCD2&
ENDPERFORM
IF &STCD1& <> ' '
<B>MVAT Number :</> &STCD1&
ENDIF
Then go to SE38 --> Creat prog with type - Subroutine pool
In that Write FORM statement for this PERFORM.
FORM get_mvat_tin TABLES inttab STRUCTURE itcsy
outtab STRUCTURE itcsy.
DATA : v_kunre TYPE kna1-kunnr,
v_stcd1 TYPE kna1-stcd1,
v_stcd2 TYPE kna1-stcd2.
LOOP AT outtab.
CLEAR outtab-value.
MODIFY outtab.
ENDLOOP.
READ TABLE inttab INDEX 1.
v_kunre = inttab-value.
IF v_kunre CA sy-abcde.
ELSE.
UNPACK v_kunre TO v_kunre.
ENDIF.
" Here You can take your Funcion module ***************************
SELECT SINGLE stcd1 stcd2 FROM kna1 INTO (v_stcd1, v_stcd2)
WHERE kunnr = v_kunre.
IF sy-subrc = 0.
READ TABLE outtab INDEX 1.
WRITE v_stcd1 TO outtab-value.
MODIFY outtab INDEX 1.
READ TABLE outtab INDEX 2.
WRITE v_stcd2 TO outtab-value.
MODIFY outtab INDEX 2.
ENDIF.
ENDFORM. -
Error with data transfer in functional module
Hi all,
I need to upload file to the employee through BDS. (oaor transcation). i am using functional module
function zin_bds_dms_upload.
""Local Interface:
*" IMPORTING
*" VALUE(P_CLASS) TYPE BDN_CON-CLASSNAME
*" VALUE(P_OBJCT) TYPE BDN_CON-OBJKEY
*" VALUE(P_DESCR) TYPE BDN_CON-DESCRIPT
*" REFERENCE(P_PATH) TYPE SAPB-SAPFILES
data: begin of i_bds_conn occurs 10, " ITAB for the actual
bdn_tab_i type num08,
client type mandt,
classname type seoclsname,
classtype type bds_clstyp,
objkey type bds_typeid,
log_system type swo_typeid,
loio_id type char42,
doc_ver_no type num08,
doc_var_id type num08,
doc_var_tg type bds_var_tg,
descript type sdok_descr,
langu type spras,
comp_id type bds_compid,
mimetype type bds_mimetp,
crea_user type sdok_crusr,
crea_time type sdok_crtst,
chng_user type sdok_chusr,
chng_time type sdok_chtst,
contrep type bds_conrep,
docuclass type sdok_prv_m,
doc_type type sdok_prv_s,
expirytime type sdok_prv_m,
bds_docid type sdok_prv_l,
loio_id_to type sdok_loid,
rela_id type bds_relaid,
state type sdok_phsta,
bds_status type bds_state,
stor_tab type saearstat,
bdn_tab_d type bar_keep,
note_type type bds_state,
objecttext type toasp-objecttext,
objecttext2 type toasd-objecttext,
objecttext3 type toasr-objecttext,
ntext type tojtt-ntext,
end of i_bds_conn.
data: begin of bds_doctype_list occurs 10,
mandt type mandt,
classname type bapibds01-classname,
contrep type bapibds01-contrep,
docuclass type bapibds01-doc_class,
docuclass_text type toasd-objecttext,
doc_type type bapibds01-doc_type,
doc_type_text type toasp-objecttext,
appl_type type toadd-appl_type,
appl_type_text(50) type c,
standard type toadv-standard,
check_box type toadv-standard,
end of bds_doctype_list.
data: file_extension type toadd-doc_type, " file-extension
i_files type bapifiles occurs 1 with header line,
i_signature type bapisignat occurs 1 with header line,
logical_system type bds_conn00-log_system.
data: classname_select type bdn_con-classname,
classtype_select type bdn_con-classtype,
objkey_select type bdn_con-objkey,
mask(20) type c,
answer type c,
mimetype type toadd-mimetype,
i_toadd type toadd,
file_path type sapb-sapfiles,
filename_all type sapb-sapfiles,
file_path_memory(250) type c, " path für SAP memory
file_path_length type i, " length of the file_path
file_name type sapb-sapfiles.
classname_select = p_class.
classtype_select = 'BO'.
objkey_select = p_objct.
filename_all = p_path.
get parameter id 'OAP' field file_path.
if sy-subrc <> 0. " no file_path found.
file_path = space.
endif.
concatenate ',.' '' ',.' '' '.' into mask.
-- split filename -- *
perform split_path(oaall) using filename_all file_path file_name.
-- set new file_path to SAP memory -- *
file_path_length = strlen( file_path ).
if file_path <> space and file_path_length < 250.
file_path_memory = file_path.
set parameter id 'OAP' field file_path_memory.
else.
file_path_memory = space.
set parameter id 'OAP' field file_path_memory.
endif.
-- check documentclass -- *
perform get_file_extension using file_name
file_extension.
-- check file extension -- *
if file_extension = space.
-> if no docuclass is found from the document
-> default docuclass from the doctype!
file_extension = bds_doctype_list-docuclass.
endif.
-- get the mimetype of the docuclass -- *
perform mimetype_get(oaall) using file_extension
changing i_toadd.
move i_toadd-mimetype to mimetype.
-- fill file and signature structure -- *
clear: i_files, i_signature.
refresh : i_files, i_signature.
i_files-doc_count = 1.
i_files-directory = file_path.
i_files-filename = file_name.
i_files-mimetype = mimetype.
append i_files.
i_signature-doc_count = 1.
i_signature-prop_name = 'BDS_DOCUMENTCLASS'.
i_signature-prop_value = file_extension.
append i_signature.
i_signature-prop_name = 'BDS_CONTREP'.
if bds_doctype_list-contrep = space.
i_signature-prop_value = ' '. "#EC NOTEXT
else.
i_signature-prop_value = bds_doctype_list-contrep.
endif.
append i_signature.
i_signature-prop_name = 'BDS_DOCUMENTTYPE'.
i_signature-prop_value = bds_doctype_list-doc_type.
append i_signature.
i_signature-prop_name = 'DESCRIPTION'.
i_signature-prop_value = p_descr.
append i_signature.
i_signature-prop_name = 'LANGUAGE'.
i_signature-prop_value = sy-langu.
append i_signature.
-- create new document via KPro -- *
call function 'BDS_BUSINESSDOCUMENT_CREATEF'
exporting
logical_system = logical_system
classname = classname_select
classtype = classtype_select
client = sy-mandt
object_key = objkey_select
tables
files = i_files
signature = i_signature
exceptions
internal_error = 1
others = 2.
endfunction.
*& Form GET_FILE_EXTENSION
try to get the extension of the uploaded file
form get_file_extension using file_name file_extension.
-- data declaration ------------------------------------------------ *
data: length type i,
single_c type c.
data: begin of bds_doctype_list occurs 10,
mandt type mandt,
classname type bapibds01-classname,
contrep type bapibds01-contrep,
docuclass type bapibds01-doc_class,
docuclass_text type toasd-objecttext,
doc_type type bapibds01-doc_type,
doc_type_text type toasp-objecttext,
appl_type type toadd-appl_type,
appl_type_text(50) type c,
standard type toadv-standard,
check_box type toadv-standard,
end of bds_doctype_list.
clear: single_c.
length = strlen( file_name ).
if length > 0.
while length > 0.
single_c = file_name+length(1).
if single_c co '.'.
length = length + 1.
exit.
else.
length = length - 1.
endif.
endwhile.
if length > 0.
file_extension = file_name+length.
else.
file_extension = space.
endif.
else.
file_extension = space.
endif.
if file_extension <> space.
set locale language sy-langu.
translate file_extension to upper case. "#EC TRANSLANG
set locale language space.
endif.
endform. "get_file_extension
example : class = PREL
object = pernr_no
desc = 'leav application'
p_path = file_path
I used this in abap program then it is uploading fine but when used in the web dynpro file is not uploading. On debugging it is showing error in function module SDOK_PHIOS_CHECKIN
error key 5 ie error in transfer.
So please suggest how to upload in web dynpro abap.
Edited by: Bhavya belagal on Dec 22, 2010 11:55 AM
Edited by: Bhavya belagal on Dec 22, 2010 12:09 PMHallo Bhavya,
Please do not post like this as it is not readable . Mostly when you describe it in a simple manner you would get more response.
See this thread for answers from Thomas Jung [Re: Approach content repository other way then URL approach|Re: Approach content repository other way then URL approach]
Wiki [http://wiki.sdn.sap.com/wiki/display/WDABAP/File%2bUpload%2busing%2bcl_fitv_gos%2bclass|http://wiki.sdn.sap.com/wiki/display/WDABAP/File%2bUpload%2busing%2bcl_fitv_gos%2bclass]
Edited by: Baskaran Senthivel on Dec 22, 2010 2:42 PM -
Hi guys,
i have a selection screen where i need to give range of date.
say from 01.01.1998 to 01.02.2007.
i need to pass this date range to 'Z' funtion module how can i do it.
do i need to define it in tables declaration. if yes what will be the reference type of this field.
I want this range of dates in function module.
Please explain.Hi ahmed
Let us assume s_date is the select option for the date range defined like
DATA: s_date for p0001-begda.
Now while calling the FM pass the s_date-low and s_date-high as 2 parameters for the FM.In the FM create 2 parameters begda and endda of type begda. Use the low value and high value in the FM to populate the range table and u can use this range table for further processing of the dates in the FM.The range table can be forwarded as follows:
r_date-low = begda.
r_date-high = endda.
also provide the sign and options for the ranges table.
Maybe you are looking for
-
How do you get your password when the recovery email is no longer your email account?
I can not remember my apple I'd password and the email address that I used to have no longer exists so they send the information there and I can't get it. When I answer the security question it doesn't correspond although I am pretty sure I know my b
-
Hi there Relatively new to all this so.. hope I'm in the right place to ask this question. I'm designing a website using dreamweaver, flash, etc. I want one of the pages on my website to contain a short video that plays as soon as the page is uploade
-
Advice on setting up an online store
I have some HTML experience but I'm still an amateur. I sell video game console skins. I have approximately 12 different platforms a few different packages with about 35 different colors. Thus I have 2000+ items and am continually adding new consoles
-
Having problem with header(location)
I want to have a visitor to a site agree to some terms before being allowed to access a page. There is no logon so the approval is only for the current session. If we call the page with the terms (and the agree button) "portal.php" and the page with
-
Setting the same CPU for processor Affinity and I/O affinity..
Hi All, I have a server with two sql server instances and 32 CPU in which I have to give 16 CPU - 16 CPU to each SQL instance. each CPU has both processor Affinity and I/O affinity. As per Microsoft we should not assign both processor Affinity and