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
    Naveen

    Hi,
    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,
    Venkat

    Hi,
    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

  • To get evt_creation_date and _evt_creation_time data in a function module

    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
    venkat

    Hi,
    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.

  • Creation of Generic Data source using function module based on the program which was used to created ABAP report

    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,
    Ravi

    Hi,
    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 PM

    Hallo 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

  • Date range in function module

    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

  • Video in flash issues

    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