Identify tables from where the function module extracts data for the ES

Hi All,
For the datasource, 0CRM_SALES_ORDER_I in the CRM system, we need to add a new field (in the table level). This datasource's extraction type is 'F1 - function module'. Is the extractor itself is this function module? If it is a sepeate FM, where can we find the function module name used for this datasource?
We need to identify the tables from where the fields in this datasource fetch data from. Where can we find this information?
To be specific, in the sales order in tcode crmd_order, if we goto conditions tab and create a new condition, in what table this will get stored?
Thank you in advance,
Hari

Ignore this thread! there is another thread I have created for the same problem.
I created only one; wonder how it became two!!

Similar Messages

  • Can any one suggest me a function module or BAPI for the below requirement.

    Hi all,
    I have a requirement in which i need to send an IDoc for each item of  the delivery document linked to the shipment document.
    previously i have called the function module in a BADI, but now the requirement has changed.No BADI or USEREXIT has to be used.Instead i need to create a custom program and call the function module in a form in the program.My doubt is how can i get the tables needed in the function module from the program? previously i got the tables as online parameters in the BADI.
    the function module will be trigerred at the time of saving of the document.
    I understand that i need to pass the tables in the program, but is there any way (function module or a BAPI) that can be used to directly get the data of the BADI?
    please help me as soon as possible.

    hi,
    my transaction is VL02N change outbound delivery.

  • Remote Function module to wait for the response.

    Hi .
    i just created the remote function module to call the webmethod by putting the parameters in tables (tab) for webmethods to pick the data from RFC and parameters in changing (tab) to collect the reponse from webmethods ,i just want to know if this is the right way of creating the RFC for webmethods and the RFC need to wait for certain time until it should get the response from webmethods.
    can any body guide me in this on how i can make the rfc to wait untill it will get the response from webmethods.
    waiting for your response.
    regards.
    Varma

    Hi Jaswanth,
    FM used to upload the data from the non sap system to the SAP sytem is the GUI_UPLOAD ans GUI_DOWLOAD is downloading the data from SAP to the presentation server .This file can be xls,tab or space deliminatior ettxt fiel.
    I think this was your requirement.
    Pooja

  • Where can i find the license subscription end dates for the licenses we've purchased?

    I am the admin for our Cloud team.  Is there a place under my login where i can see the start/end dates of the licenses we've purchased?
    Thanks.

    https://www.adobe.com/account.html for your Adobe orders page... or
    manage your team account http://forums.adobe.com/thread/1460939?tstart=0

  • Reg: Extract Date for  the closed periods

    Hi,
    In FI/CO, Every Financial year accounts have been closed.
    Now issue is I want do extract the data for a particular period of which is closed (2002) By using some standard prog.  It is giving an error msg that the input date is closed. How to over come this as a technical guy.  They require the data for 6 months in 2002.
    Regards
    Reddy

    Hi Santosh,
    Thanks for your Questions. Below are the explainations:
    1. Can you expalin how your system is behaving at the moment?
    A. Presently the GR Processing time is 1 day for a material in Plant. So, if the user wants to produce on Wednesday (Planned date in PR, provided by the MRP run), then the delivery should be on Tuesday (Because GR processing time is 1 day). In  the same way, he dont wants the delivery to be on Friday. I mean, if he wants to produce on Monday,  he wants the delivery to be on Thursday.
    Only Friday, he don't wants to make the Delivery.(The delivery date should not show Friday in PR's).
    2. Pls explain your original MRP view and planning calendor setting...
    A. For solving of the above issue, we changed the Lot size to copy of "PK" - Period lot size acc to planniong calendar. Then we maintained the Planning calendar, in which the periods are for every Monday, tuesday, wednesday and thursday. Expecting, the delivery  should be excluded for friday, the friday in the planning calendar is not given as a period.
    The scheduling paramter in the Lotsize is tried with both the options (period start = Deliery date and period end = Delivery date).
    Later removed "PD" in MRP type and tried with "R1" Time phase req. But, the precondition for this is to maintain "Forecast req". This is also done. But, then, the system for this material is not responding to the MRP run. It is asking to run the forecast model. We ar not using SOP.
    3. The results thst you get with current setting?
    A. For the planned date in PR of Monday, the delivery date in PR is on the day before monday. i.e., Friday (Saturday and sundays are holidays).
    4. Expected results...?
    A. For the planned date in PR of Monday, the delivery date in PR should be Thursday (the day before monday production).
    Hope, i am clear in my explaination. Please revert back, if you need any more information.
    Thanks and Regards
    Surendra Chakka

  • Find the difference between two dates for the specific month and year

    Hi,
    I have two dates, start date is 30/12/2012 and end date is 04/01/2013. Using datediff I found the difference of days between two dates. But I find the no of days in January 2013. ie output is 4 instead of 6. I input month and year to find the no of days
    for that date. In this case I input Jan 2013. How can I sql this ?

    I don't understand how most of the answers provided here not analytically solving the problem with many cases possible.
    First let me understand you:
    You have 2 dates range and you want to calculate day range for specific month and year between the original date range.
    declare @for_month int = 1 --January
    declare @for_year int = 2013
    declare @StartDate date = '2012-12-20'
    declare @EndDate date = '2013-01-04'
    SELECT
    CASE
    WHEN (DATEPART(MONTH, @StartDate) = @for_month and DATEPART(MONTH, @EndDate) = @for_month) and ((DATEPART(YEAR, @StartDate) = @for_year or DATEPART(YEAR, @EndDate) = @for_year)) THEN
    DATEDIFF(DAY, @StartDate,@EndDate)
    WHEN (@StartDate < cast(CONVERT(varchar(4), @for_year) + '-' + CONVERT(varchar(2), @for_month) + '-01' as date)) and (@EndDate between (cast(CONVERT(varchar(4), @for_year) + '-' + CONVERT(varchar(2), @for_month) + '-01' as date)) and (cast(DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, cast( CONVERT(varchar(4), @for_year) + '-' + CONVERT(varchar(2), @for_month) + '-01' as date)) + 1, 0)) as date))) THEN
    DATEDIFF(DAY, DATEADD(MONTH, DATEDIFF(MONTH, -1, @EndDate)-1, 0),@EndDate)
    WHEN (@EndDate > cast(DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, cast( CONVERT(varchar(4), @for_year) + '-' + CONVERT(varchar(2), @for_month) + '-01' as date)) + 1, 0)) as date)) and (@StartDate between (cast(CONVERT(varchar(4), @for_year) + '-' + CONVERT(varchar(2), @for_month) + '-01' as date)) and (cast(DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, cast( CONVERT(varchar(4), @for_year) + '-' + CONVERT(varchar(2), @for_month) + '-01' as date)) + 1, 0)) as date))) THEN
    DATEDIFF(DAY, @StartDate,DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, @StartDate) + 1, 0))) + 1
    WHEN ((DATEDIFF(DAY, @StartDate, cast(DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, cast( CONVERT(varchar(4), @for_year) + '-' + CONVERT(varchar(2), @for_month) + '-01' as date)) + 1, 0)) as date)) >= 0) and (DATEDIFF(DAY, cast(CONVERT(varchar(4), @for_year) + '-' + CONVERT(varchar(2), @for_month) + '-01' as date), @EndDate) >= 0)) THEN
    DATEDIFF(DAY, cast( CONVERT(varchar(4), @for_year) + '-' + CONVERT(varchar(2), @for_month) + '-01' as datetime), DATEADD(d, -1, DATEADD(m, DATEDIFF(m, 0, cast( CONVERT(varchar(4), @for_year) + '-' + CONVERT(varchar(2), @for_month) + '-01' as datetime)) + 1, 0))) + 1
    ELSE
    0
    END as [DD]
    I don't know how you calculate day range between 01/01/2013 and 04/01/2013
    is 4, it is actually is 3 but if that is the case, you can add 1 from the condition.

  • Unable to presist the business indicator meta data for the Audit Core

    The error above - caused by javax.ejb.EJBException is - I belive due to implementing too many business indicators? however I'm puzzled as to why this error occures and how to fix?
    Thanks for any insights,
    Ross

    Hi Experts,
    How to configure and launch the Siebel EAI?
    I'm having problems with url: http://ws811/eai_enu/start.swe?SWECmd=Start&SWEHo=ws811
    HTTP 500 - Internal server error
    Internet Explorer
    And the other url is OK:
    http://ws811/sales_ENU/start.swe?SWECmd=Start&SWEHo=ws811
    Please provide solution the asap.

  • 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 use the function module /IRM/IPBB_AGREEMENT_CREATE.

    Hi all,
    Please help me how to use the function module /IRM/IPBB_AGREEMENT_CREATE.
    It is a Vistex fuction module which is used to create Sales contract in SAP-Vistex. If anyone has use the function module and do have the sample code please share it.
    Thanks.

    FORM create_agreement TABLES pt_agreement
                                           CHANGING po_agreement .
      CONSTANTS: c_strt_knumh TYPE knumh VALUE '0000000000'.
      DATA: lc_kona  TYPE /irm/s_gkona,
            lc_cbasp TYPE /irm/s_ipcbasp,
          lt_cbapr TYPE /irm/t_ipcbapr,         "Partners
          lc_cbapr TYPE /irm/s_ipcbapr,
          lt_cbadt TYPE  /irm/t_ipcbadt,        "Dates
          lc_cbadt TYPE  /irm/s_ipcbadt,
          lt_cbafs TYPE  /irm/t_ipcbafs,
          lc_cbafs TYPE  /irm/s_ipcbafs,
          lt_cbacn TYPE  /irm/t_ipcbacn,
          lc_cbacn TYPE  /irm/s_ipcbacn,
          lt_cbacl TYPE  /irm/t_ipcbacl,
          lc_cbacl TYPE  /irm/s_ipcbacl,
          lt_cbtpv TYPE  /irm/t_ipagtpv,
          lc_cbtpv TYPE  /irm/s_ipagtpv,
          lt_texts TYPE  text_lh,
          lc_texts TYPE  itclh,
          lt_cbasd TYPE  /irm/t_ipcbasd,
          lc_cbasd TYPE  /irm/s_ipcbasd,
          lc_agreement    TYPE  /irm/s_ipcbasp_doc,
          lc_e_log_number TYPE  balognr,
          lt_messages     TYPE  /irm/t_gprolog.
      DATA: lt_vake      TYPE  cond_vakevb_t,
            lc_vake      TYPE LINE OF cond_vakevb_t,
            lt_konh      TYPE  /irm/t_gkonh,
            lc_konh      TYPE LINE OF /irm/t_gkonh,
            lt_konp      TYPE  /irm/t_gkonp,
            lc_konp      TYPE LINE OF /irm/t_gkonp,
            lt_konw      TYPE  /irm/t_gkonwu,
            lc_konw      TYPE LINE OF /irm/t_gkonwu,
            lt_konm      TYPE  /irm/t_gkonmu,
            lc_konm      TYPE LINE OF  /irm/t_gkonmu,
            lt_komg      TYPE  /irm/t_gkomg_index,
            lc_komg      TYPE LINE OF /irm/t_gkomg_index,
            lt_user_data TYPE  /irm/t_gpraxfu_index,
            lc_user_data TYPE LINE OF /irm/t_gpraxfu_index.
      DATA: lc_updt(1) TYPE c.
      DATA: lc_knumh TYPE knumh.
      DATA: BEGIN OF lc_str_knumh,
             hd(2) TYPE c VALUE '$$',
             inc_num(8) TYPE c,
            END OF lc_str_knumh.
      DATA: blank_agree_key TYPE knuma VALUE '~~~~~~~~~~'.
      FIELD-SYMBOLS <konh_line> LIKE LINE OF lt_konh.
      FIELD-SYMBOLS <konp_line> LIKE LINE OF lt_konp.
      DATA: lc_rule TYPE type_key_rule.
      READ TABLE pt_agreement INTO lc_rule INDEX 1.
    SELECT SINGLE * FROM  kona
            WHERE  vkorg   = lc_rule-vkorg
            AND    vtweg   = '10'
            AND    spart   = '10'
            AND    boart   = 'ZPS1'
            AND    botext  = lc_rule-sap_agkey.
    IF sy-subrc = 0.
       lc_updt = 'U'.
    ELSE.
      lc_updt = 'I'.
    ENDIF.
      LOOP AT pt_agreement INTO lc_rule.
        MOVE sy-tabix TO lc_str_knumh-inc_num.
        CONDENSE lc_str_knumh-inc_num NO-GAPS.
        WHILE lc_str_knumh-inc_num+7(1) = ' '.
          CONCATENATE '0' lc_str_knumh-inc_num INTO lc_str_knumh-inc_num.
          CONDENSE lc_str_knumh-inc_num NO-GAPS.
        ENDWHILE.
        CONCATENATE '$$' lc_knumh INTO lc_knumh.
        MOVE lc_str_knumh TO lc_knumh.
       MOVE c_strt_knumh TO lc_knumh.
        CLEAR: lc_konh, lc_konp, lc_komg.
        MOVE: lc_rule-vkorg    TO lc_komg-komg-vkorg,
              '10'             TO lc_komg-komg-vtweg,
              '10'             TO lc_komg-komg-spart,
              p_waers          TO lc_komg-komg-waerk,
              '1300'           TO lc_komg-komg-bukrs,
              lc_rule-lifnr    TO lc_komg-komg-lifnr,
              lc_knumh         TO lc_komg-knumh,
              lc_knumh         TO lc_konh-knumh,
              lc_knumh         TO lc_konp-knumh,
              lc_rule-datab    TO lc_konh-datab,
              lc_rule-datbi    TO lc_konh-datbi.
        CASE lc_rule-tablnam.
          WHEN 'A701'.                   "Every Agreement will have a A701 rule -
            "Therefore we acn setup the header using A701
            MOVE: 'New       '  TO lc_kona-knuma,
                  lc_rule-vkorg TO lc_kona-vkorg,
                  '10'          TO lc_kona-vtweg,
                  '10'          TO lc_kona-spart,
                  'ZPS1'        TO lc_kona-boart,
                  'C'           TO lc_kona-abtyp,
                  'V'           TO lc_kona-kappl,
                  p_waers       TO lc_kona-waers,
                  lc_rule-knuma_ag TO lc_kona-abrex,
                  'ZPS2'        TO lc_kona-kobog,
                  lc_rule-datab TO lc_kona-datab,
                  lc_rule-datbi TO lc_kona-datbi,
                  lc_rule-sap_agkey TO lc_kona-botext,
                  '1300'        TO lc_kona-bukrs,
                  'I'           TO lc_kona-updkz.
            MOVE: 'New       '  TO lc_cbasp-knuma_ag,
                  'ZPS1'        TO lc_cbasp-boart_ag,
                  p_waers       TO lc_cbasp-waers,
                  'A'           TO lc_cbasp-setl_mth,
                  'B'           TO lc_cbasp-setl_typ,
                  'A2'          TO lc_cbasp-ident,
                  'E'           TO lc_cbasp-setlm,
                  'ZPDA'        TO lc_cbasp-pargr,
                  'X'           TO lc_cbasp-npric,
                  'LF'          TO lc_cbasp-stprl,
                  lc_rule-lifnr TO lc_cbasp-stpar,
                  lc_rule-contract_rev  TO lc_cbasp-rvnum,
                  'I'           TO lc_cbasp-updkz.
            CONCATENATE: blank_agree_key
                   lc_rule-lifnr        INTO lc_konh-vakey.
            MOVE: lc_rule-lifnr TO lc_konp-lifnr.
          WHEN 'A703'.
            CONCATENATE: blank_agree_key
                         lc_rule-kunnr      INTO lc_konh-vakey.
            MOVE lc_rule-kunnr TO lc_komg-komg-kunnr.
          WHEN 'A709'.
            CONCATENATE: blank_agree_key
            lc_rule-zzprodh1  lc_rule-zzprodh2  lc_rule-zzprodh3
                   lc_rule-zzprodh4  lc_rule-zzprodh5 INTO lc_konh-vakey.
            CONCATENATE: lc_rule-zzprodh1  lc_rule-zzprodh2  lc_rule-zzprodh3
                   lc_rule-zzprodh4  lc_rule-zzprodh5 INTO lc_komg-komg-prodh.
          WHEN 'A710'.
            CONCATENATE: blank_agree_key
                lc_rule-matkl   INTO lc_konh-vakey.
            MOVE lc_rule-matkl TO lc_komg-komg-matkl.
          WHEN 'A711'.
            CONCATENATE: blank_agree_key
                 lc_rule-matnr   INTO lc_konh-vakey.
            MOVE lc_rule-matnr TO lc_komg-komg-matnr.
            IF lc_rule-kschl = 'ZPPL'.
              MOVE: 'C'              TO lc_konp-krech,
                    'CAD'              TO lc_konp-konwa.
              lc_konp-kbetr = lc_rule-net_po_price * 1.
            ENDIF.
          WHEN 'A717'.
          WHEN 'A718'.
            CONCATENATE: blank_agree_key
                 lc_rule-zzextwg INTO lc_konh-vakey.
            MOVE lc_rule-zzextwg TO lc_komg-komg-zzextwg.
         WHEN 'A719'.
           CONCATENATE: blank_agree_key
                lc_rule-werks INTO lc_konh-vakey.
           MOVE lc_rule-werks TO lc_komg-komg-werks.
         WHEN 'A721'.
           CONCATENATE: blank_agree_key
                 lc_rule-kunnr lc_rule-werks INTO lc_konh-vakey.
           MOVE: lc_rule-kunnr TO lc_konp-kunnr,
                 lc_rule-kunnr TO lc_komg-komg-kunnr.
          WHEN 'A722'.
            CONCATENATE: blank_agree_key
                         lc_rule-vkbur INTO lc_konh-vakey.
            MOVE lc_rule-vkbur TO lc_komg-komg-vkbur.
          WHEN 'A724'.
            CONCATENATE: blank_agree_key
                          lc_rule-kunnr lc_rule-vkbur INTO lc_konh-vakey.
            MOVE: lc_rule-kunnr TO lc_konp-kunnr,
                  lc_rule-kunnr TO lc_komg-komg-kunnr,
                  lc_rule-vkbur TO lc_komg-komg-vkbur.
        ENDCASE.
        MOVE: 'A'                  TO lc_konh-kvewe,
              lc_rule-tablnam+1(3) TO lc_konh-kotabnr,
              lc_rule-kappl        TO lc_konh-kappl,
              lc_rule-kschl        TO lc_konh-kschl.
        REPLACE ALL OCCURRENCES OF '~' IN lc_konh-vakey WITH ' '.
        APPEND lc_konh TO lt_konh.
        CLEAR lc_konh.
    *--- Add in the KONP.Do we need to add
        MOVE: lc_rule-kappl        TO lc_konp-kappl,
              lc_rule-kschl        TO lc_konp-kschl,
              'G'                  TO lc_konp-krech.
        IF lc_rule-kschl+3(1) = '%'.
          MOVE: 'A'              TO lc_konp-krech,
                '%'              TO lc_konp-konwa.
          lc_konp-kbetr = lc_rule-rebate_perc * 1.
        ENDIF.
        APPEND lc_konp TO lt_konp. CLEAR lc_konp.
        APPEND lc_komg TO lt_komg. CLEAR lc_komg.
      ENDLOOP.
      IF  lc_updt = 'I'.
        CALL FUNCTION '/IRM/IPCB_AGREEMENT_CREATE'
          EXPORTING
          I_MESSAGES_DISPLAY        = ' '
          I_SAVE_MESSAGES           = ' '
          I_COMMIT_WORK             = 'X'
          I_CALL_FROM_WS            = ' '
            is_kona                   = lc_kona
            is_cbasp                  = lc_cbasp
            it_cbapr                  = lt_cbapr
            it_cbadt                  = lt_cbadt
            it_cbafs                  = lt_cbafs
            it_cbacn                  = lt_cbacn
            it_cbacl                  = lt_cbacl
            it_cbtpv                  = lt_cbtpv
            it_texts                  = lt_texts
            it_cbasd                  = lt_cbasd
          IMPORTING
            es_agreement              = lc_agreement
            e_log_number              = lc_e_log_number
          TABLES
            t_messages                = lt_messages
         CHANGING
          CT_VAKE                   = lt_vake
          ct_konh                   = lt_konh
          ct_konp                   = lt_konp
          CT_KONW                   = lt_konw
          CT_KONM                   = lt_konm
           ct_komg                   = lt_komg
          CT_USER_DATA              = lt_usr_data
          EXCEPTIONS
            no_documents_to_process   = 1
            no_authorization          = 2
            creation_failed           = 3
            new_pricing_not_maitained = 4
            OTHERS                    = 5.
        IF sy-subrc <> 0.
    Implement suitable error handling here
        ELSE.
          MOVE: lc_agreement-knuma_ag TO po_agreement,
                lc_agreement-knuma_ag TO lc_kona-knuma.
        ENDIF.
        APPEND LINES OF lt_messages TO gt_messages.
      ELSE.
        MOVE-CORRESPONDING kona TO lc_kona.
      ENDIF.
      LOOP AT lt_konh ASSIGNING <konh_line>.
        MOVE lc_kona-knuma TO <konh_line>-vakey+0(10).
       move '&'           to <konh_line>-knumh+0(1).
      ENDLOOP.
      LOOP AT lt_konp ASSIGNING <konp_line>.
       MOVE lc_kona-knuma TO <konp_line>-vakey+0(10).
        move '&'           to <konh_line>-knumh+0(1).
      ENDLOOP.
      lc_kona-updkz = 'U'.
      lc_cbasp-updkz = 'U'.
      CLEAR lt_messages.
      CALL FUNCTION '/IRM/IPCB_AGREEMENT_CHANGE'
        EXPORTING
        I_MESSAGES_DISPLAY      = ' '
        I_SAVE_MESSAGES         = ' '
        I_COMMIT_WORK           = 'X'
        I_INIT_DATA             = 'X'
          is_kona                 = lc_kona
          is_cbasp                = lc_cbasp
         it_cbapr                = lt_cbapr
         it_cbadt                = lt_cbadt
         it_cbafs                = lt_cbafs
         it_cbacl                = lt_cbacl
         it_cbacn                = lt_cbacn
        IT_FIELDS               =
         it_texts                = lt_texts
       IMPORTING
         e_log_number            = lc_e_log_number
         TABLES
           t_messages              = lt_messages
        CHANGING
          cs_agreement            = lc_agreement
        CT_VAKE                 = lt_vake
          ct_konh                 = lt_konh
          ct_konp                 = lt_konp
        CT_KONW                 = lt_konw
        CT_KONM                 = lt_konm
          ct_komg                 = lt_komg
        CT_USER_DATA            = lt_usr_data
        EXCEPTIONS
          no_documents_to_process = 1
          no_authorization        = 2
          change_failed           = 3
          agreement_locked        = 4
          OTHERS                  = 5.
    IF sy-subrc <> 0.
    Implement suitable error handling here
    ENDIF.
      APPEND LINES OF lt_messages TO gt_messages.
    ENDFORM.                    " CREATE_AGREEMENT

  • Function Module to find out the release value in contract

    Dear All,
    I have to upload the contract with new accoutn assignment without changing the existing contract. For that i have to download all the existing contract data with value.
    In that case i have some issues regarding the value.
    For example : In the system old contract is created with value 1000 and the released value as 500.
    In that case i have to uload the new contract with all the details of existing contract with value of 500 (1000-500=500).
    How can i get the value (500) and from which table.Is there any functional module to find out the release value in contract.
    Thanks and regads,
    PM
    Edited by: PM on Jan 21, 2010 8:40 AM
    Edited by: PM on Jan 22, 2010 9:48 AM

    Hi
    You need to link the table VBFA and VBAK.
    For a contract you can check all the subsequent document (which you can filter whether you want to see Order / delivery / Billing) in VBFA and then from there pick the subsequent document no. and then from VBAK you can pick the Net value of these subsequent documents, and so you will have both the values (value of Contract and value in subsequent document) and you can determine the balance value.
    Regards
    Amitesh Anand

  • "Changing" parameter and "Tables" parameter defintions in function module

    If one defines "Changing" or "tables" parameters, they are treated as reference parameters.
    It becomes obvious for "tables" parameters where one does not have option to check box for "Pass by Value". But for "Changing" parameters, they provide the checkbox for "Pass by Value". Even when you select this option, the function module seems to handle the parameter as a reference parameter (whatever changes you make to it in the function module are retained when you return back to a calling program).
    My question is why then SAP has provided the checkbox of "Pass by Value" for "Changing" parameter?
    Thanks.
    Jitendra Mehta

    Hi Chaiphon:
    Thanks for explanation but I know the theory of "Pass by reference" versus "Pass by Value".
    Let me rephrase my question.
    When I use the importing parameter (say as a table with a dictionary table type) with reference (not "passing by value"), and if I modify the value of the parameter, the calling program (which calls function module) receives the changed value after the call.
    When I use the importing parameter with "Pass by Value" box checked, the modifications made to the table inside the function module is not retained after the code leaves function module and returns to the calling program.
    My question is why not the same behaviour with the "Changing parameter" in function module definition?
    And if Changing parameters are always reference parameters, then why SAP has provided the "Pass by Value" check box?

  • Drop down values are missing while using the function module KCD_EXCEL_OLE_TO_INT_CONVERT

    Hi all,
    I am using the function module "KCD_EXCEL_OLE_TO_INT_CONVERT"  to upload the excel template to an internal table but i am not getting the complete excel data into the table the fields which contains the drop down list values those values are not coming in to the table.
    Is there any other function module which can read even the drop down list values? can any one please provide me the solution.
    Thanks in advance
    ** FYI...i am using the below code:
    * upload excel file to a generic table
       CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
         EXPORTING
           filename                = l_filename
           i_begin_col             = 1
           i_begin_row             = 1
           i_end_col               = 150
           i_end_row               = 65000
         TABLES
           intern                  = lt_intern
         EXCEPTIONS
           inconsistent_parameters = 1
           upload_ole              = 2
           OTHERS                  = 3.
       IF sy-subrc <> 0.
         MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
       ENDIF.
    Thanks,
    Koushik

    Hi all,
    I am using the function module "KCD_EXCEL_OLE_TO_INT_CONVERT"  to upload the excel template to an internal table but i am not getting the complete excel data into the table the fields which contains the drop down list values those values are not coming in to the table.
    Is there any other function module which can read even the drop down list values? can any one please provide me the solution.
    Thanks in advance
    ** FYI...i am using the below code:
    * upload excel file to a generic table
       CALL FUNCTION 'KCD_EXCEL_OLE_TO_INT_CONVERT'
         EXPORTING
           filename                = l_filename
           i_begin_col             = 1
           i_begin_row             = 1
           i_end_col               = 150
           i_end_row               = 65000
         TABLES
           intern                  = lt_intern
         EXCEPTIONS
           inconsistent_parameters = 1
           upload_ole              = 2
           OTHERS                  = 3.
       IF sy-subrc <> 0.
         MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
       ENDIF.
    Thanks,
    Koushik

  • Error while executing the function module BAPI_RE_CN_CREATE

    Dear All
    I was using the the function module BAPI_RE_CN_CREATE.  When I am trying to execute the function module I am getting the error message u201CBusiness transaction RECN doest existu201D. While inputting the parameters for the function module I have given RECN   In the input field TRANS. Requesting you to please kindly suggest.
    Regards.
    Varaprasad

    Hi Varaprasad,
    please try the following.
    1. Create a contract manually in the system
    2. Use BAPI_RE_CN_GET_DETAIL to show how the fields and structures are filled.
    3. Check and change the parameters for BAPI_RE_CN_CREATE accordingly.
    Hope that helps.
    Regards, Franz

  • Regarding the function module.

    hi,
    iam using a function module in my program
    GET_PRINT_PARAMETERS
    the program is going to dump.
    iam not understood why it is going to dump.
    please provide me the solution for this issue
    thanks in advance

    HI,
      Please check the type of parameters that you are passing to this function module...   check for the function module definition and get the type of the parameters that you havve to pass to this FM.
    I am sure this is ur problem.
    Thanks
    Mahesh

  • How to delete lock entries generated by the function module "BAPI_OBJCL_CHANGE"

    Hi experts,
    I'm now trying to make an add-on program
    which updates material master information by the background job.
    To update the "Classification" view of material master,
    the program calls the function module "BAPI_OBJCL_CHANGE".
    If the "RETURN" information is valid,
    then the program calls "BAPI_TRANSACTION_COMMIT" (with the "wait" parameter 'X').
    Contrary to my intention,
    lock entries generated by the function module "BAPI_OBJCL_CHANGE" remains after "BAPI_TRANSACTION_COMMIT".
    As a result, the material updated remains locked until the add-on processing ends.
    To shoot this trouble, I read some SCN discussions below:
    <<lock unlock record>>
    ⇒ As I wrote above, I checked the parameter for "BAPI_TRANSACTION_COMMIT".
    <<BAPI_OBJCL_CHANGE Lock Error !>>
    ⇒ I cannot call the function module "BAPI_OBJCL_CHANGE" with "IN UPDATE TASK" option
    because of "BAPI_OBJCL_CHANGE" attributes.
    ("BAPI_OBJCL_CHANGE" is not a "Update Module".)
    How can I delete lock entries generated by the function module "BAPI_OBJCL_CHANGE" ?
    Thanks in advance.
    Tom

    I quess/hope you want to remove locks in you caller program and not locks required by the update task processing to insure database consistencies...
    Did you use the WAIT option in the commit FM, else if there are no other locks in your called program a call of FM DEQUEUE_ALL could solve your problem.
    Regards,
    Raymond

Maybe you are looking for