Function module to fill duration

Hi.
I have one problem. I defined under date management one new DURATION. Now I calculate this duration according to some dates and want to fill this Duration date type with my calculated value.
I tried using functions CRM_APPT_MAINTAIN_SINGLE_OW and CRM_APPT_MAINTAIN_MULTI_OW but I'm unable to fill this duration with value. If I try filling field timestamp_from of some DATE TYPE, it works OK. But I can't fill the field duration of DURATION date type.
Help will be appreciated.

Hello Robert,
Instead of coming back and saying "Solved By Myself" you should actually post the solution you used to share with others who may encounter the same issue you had.  You've done this "one liner" on a lot of your posts and it really does not help the community, it just becomes a dead end for anyone else who may have the same / similiar issue.  You had the time and effort to post the question, find it in your heart to post the solution as well.  It benefits the COMMUNITY.
Thanks,
Jon

Similar Messages

  • How to use SWC_CREATE_OBJECT in Function Module

    Hi All,
    I need to create a one function module to fill the work flow container field. this work flow builder had only one task, that task is triggering through QM Action box. I need to maintain this function module in AM Action box, FM when saving field.
    Please help me how to create a new function module in QM Acion box. When run the QM02 with usage decesion option is triggered Associated task is triggering, now how i will pass the notification number to work flow container.
    Please help me

    I think you can
    SWC_CREATE_OBJECT 'QMObject' Object Key
    Or you can pass the QM number to the Workflow and use GENERICINSTANTIATE Method of Business Object SYSTEM to instantiate the QM Business Object.
    Thanks
    Arghadip

  • Function module not genrating a output when executing

    Hello
    I am using this function module to calculate the difference between the number of days using factory calendar. The function module is working fine but it is not giving the output. It is not generating the result. here is the code for the function module
    please can you check and let me know what can be the reason
      DATA:
        DURATION_F       TYPE F.
      IF  START_DATE IS INITIAL
      AND END_DATE IS INITIAL.
        MESSAGE E032 RAISING PARAMETERS_NOT_VALID.
    Bitte geben Sie ein gültiges Start- und Enddatum an
      ENDIF.
      IF FLG_UNITS IS INITIAL.
        PERFORM TIME_UNITS.
        FLG_UNITS = 'X'.
      ENDIF.
      IF UNIT = SPACE.
        UNIT = UNIT_DAY.
      ENDIF.
      PERFORM DURATION_COMPUTE
         USING
              START_DATE
              START_TIME
              END_DATE
              END_TIME
              FACTORY_CALENDAR
              UNIT
         CHANGING
              DURATION_F
              START_DATE
              END_DATE
              START_TIME
              END_TIME.
      DURATION = DURATION_F.
    ENDFUNCTION.

    when calling the function module get the duration field as output
    write that output on the list

  • Create a rule in Rule Editor using a function module

    Hello all,
    I want to create a rule using Rule Editor.
    As the requirements are complex, I created a function module; and I want the rule to call the function module
    My company already done this in the past, but the function module was supposed to fill a composition
    Here, it is a little bit different because I want the function module to fill characteristics in a property. I've tried to create the rule on rule editor which will call the function module but is doesn't work
    Have some of you already used rule editor with a function module?
    If yes, can you tell me if there are some "mandatory" parameters to add in Rule Editor to allow it to work?
    Thanks for your help on this topic
    Regards
    Stephanie

    Hi,
    There is well defined pdf is exist on google. please search and help yourself.
    Use google search term "How to Write a Routine for 0CALDAY in infopackage selections".
    Let me help you how to find it.
    Let me google that for you
    Thanks

  • Passing Internal Table to a Function Module.

    I am new to Web Dynpro Abap. Using the Function Builder, I am trying to pass an Internal Table (IT) as an import parameter into my Function Module (FM), fill it within the FM and be able to recieve the filled IT back as an Export parameter from the FM to my program. My problem here is that I do not know how to specify the Internal Table as an import OR export parameter for a Function Module, I tried using the Table Tab, but it says that is obsoleted.
    Anyone! Thanks.

    Hi,
    You want to pass the internal table to FM inside WD component and that table contains fields from diff table, right?
    Open the FM through SE37. Goto 'Tables' tab of FM. Create table of type mentioned in the 'Associated Type' column of the FM. Fill the internal table with data and pass the internal table to FM.
    You can create Table type with different fields through SE11.
    I hope I interpreted your question correctly.
    Regards,
    Saket.

  • Function Module Changed - Selection Screen still has old values

    Hi All,
    Our data source uses a function module while extraction. (generic)
    We have changed the Text Symbols in our function module.
    In the function module we fill one particular field (master data) as per the logic.
    The changes done are reflected in the dataloads and data is fine in BW.
    our problem is the selection screen in BW and in the reports, it shows the older values as well for that particular field.
    Can anyone help us in this regard?
    thanks
    Sudeepti

    Sudeepti,
    run program
    rsdds_aggregates_maintain for the relevant infoobjects and see if the change is carried over..
    Also check if the text tables for the same refer to the older values...
    Arun
    Assign points if useful

  • Debugging Append Structure Function Module

    Hi,
    If we enhnace the extract structure with append structure and write a function module to fill the data for append structure then how do we debug this function module. When this function module will be executed?
    Thanks.

    Whenever you enhance an extraction structure, the right place to include and execute the code for populating the appended fields is in CMOD.
    In there, you can create a "CASE" entry for your datasource and put the code for it. If you want to call a function module in here, you can do so.
    This code will be executed after the "main" fields in the datasource are filled, right before they're sent to BW.
    You can easily put a "breakpoint" in that code, execute a test extraction using RSA3 and debug your code and logic.
    Regards,
    Luis

  • Function module  ''ADDR_GET"

    Hello,
    I am working on a program which uses the function module 'ADDR_GET' which imports 'SADR' ( Company Data ).
    The structure SADR contains a field SPRAS (Lnaguage key) which is no where in the whole function module gets filled up.
    Just because SPRAS not getting filled up I am having further issues in the program which is using this function module.
    not sure why there isnt any code in ADDR_GET to fill SADR-SPRAS. Anyone had the same issue before or anyone with ideas please help..

    Hi Ramesh,
    Did you try passing manually the language key and test your scenario even if you dont get the spars
    field. When i check there are conversion routines for that but i dont think conversion  routine is an issue here but.
    I would suggest to put a break point in Function module and debug and see whats heppening.
    Thanks,
    Pradeep.

  • Virtual infocube with Function module

    hi!
    i wrote function module that fill virtual cube with data.
    i can view loaded data. but data in Bex is not displayed hierarchically.
    what to do?
    interface of function module:
    import parameters:
    I_INFOPROV type RSINFOPROV
    I_TH_SFC type RSDRI_TH_SFC
    I_TH_SFK type RSDRI_TH_SFK
    I_T_RANGE type RSDRI_T_RANGE
    I_TX_RANGETAB type RSDRI_TX_RANGETAB
    I_FIRST_CALL type RS_BOOL
    I_PACKAGEZISE type I
    export parameters:
    E_T_DATA type STANDARD TABLE
    E_END_OF_DATA type RS_BOOL
    E_T_MSG type RS_T_MSG
    may be any parameters are missing.
    or anything in BEx must be configured.

    Hi Claudio,
    I never implemented Virtual InfoCube with services with a FM, but I know there is a couple of How To Documents about named:
    - How to Reporting from External Data via Virtual InfoProvider
    -How to Implement a Virtual InfoCube with Services
    both with some code samples: did you read it?
    Hope it helps
    GFV

  • Fill structure of IDoc via a function module

    Hi all,
    I have a special requirement that an IDoc has to be filled over a function module and then is sent. The IDoc is PROACT01.
    So I'm looking more or less for a function module which does the same as you can do in transaction we19 (IDoc test tool). You should be able to fill the interface of the IDoc. Do you know if there are some standard function modules to do that?
    Thanks for any hints
    Regards
    Berthold

    Try this for starters - VMI_MASTERIDOC_CREATE_PROACT.  You could incorporate this into your custom program if you need to control the output of the IDoc data.

  • How is TKOMK filled when entering function module RV_INVOICE_DOCUMENT_ADD

    Hello,
    I am debugging the Invoice program, SAPMV60A, and the table I am interested in is TKOMK. When I am in MV60AF0B_BELEG_SICHERN TKOMK is empty but when I enter function module RV_INVOICE_DOCUMENT_ADD TKOMK is already filled, and I can't see how.
    Can anyone tell me where the information comes from?

    Hi
    FM RV_INVOICE_DOCUMENT_ADD  belongs to function group V60A, both programs SAPMV60A and SAPLV60A have an internal table called TKOMK, so I think another fm of V60A fills the table TKOMK and so you can see it as soon you enter in a fm of V60A.
    Max

  • What is the best way, while creating Function Module based extractor

    Hi Friends,
    I am Sreekanth.
    I have created a Functio Module based Extractor,
    To fetch data from COPA tables.
    In this extracton 3 tables are getting involved.
    1) CE3OP01 2) CE4OP01 and 3) CE1OP01.
    Logic required is as follow:
    1) get data from CE3OP01 and for all entries of this data set,
    get data from CE4OP01 and CE1OP01 and finally send the data set to BW after few manupulations.
    I have implemented the whole logic and its working fine in DEVELOPMENT box where data volume is less.
    But the same code is timing out in Quality Box, due to huge volues of data.
    Below I am copying the code that i am using . Any body can suggest me how to proceed further so that my code works with huge volumes of data.
    Now I am getting the time out error while selection data from CE3IOP01 table itself.
    FUNCTION /ds1/c_bw_zds_copa_recon.
    ""Local interface:
    *"  IMPORTING
    *"     VALUE(I_REQUNR) TYPE  SRSC_S_IF_SIMPLE-REQUNR
    *"     VALUE(I_DSOURCE) TYPE  SRSC_S_IF_SIMPLE-DSOURCE OPTIONAL
    *"     VALUE(I_MAXSIZE) TYPE  SRSC_S_IF_SIMPLE-MAXSIZE OPTIONAL
    *"     VALUE(I_INITFLAG) TYPE  SRSC_S_IF_SIMPLE-INITFLAG OPTIONAL
    *"     VALUE(I_READ_ONLY) TYPE  SRSC_S_IF_SIMPLE-READONLY OPTIONAL
    *"  TABLES
    *"      I_T_SELECT TYPE  SRSC_S_IF_SIMPLE-T_SELECT OPTIONAL
    *"      I_T_FIELDS TYPE  SRSC_S_IF_SIMPLE-T_FIELDS OPTIONAL
    *"      E_T_DATA STRUCTURE  /DS1/FI_COPA_RECN OPTIONAL
    *"  EXCEPTIONS
    *"      NO_MORE_DATA
    *"      ERROR_PASSED_TO_MESS_HANDLER
                            PROGRAM INFORMATION                          *
    RIEF ID.......: N/A                                                  *
    PROGRAM.......: /DS1/C_BW_ZDS_COPA_RECON               
    PROGRAM FUNCTION: This Function Module Extracts Cost Center, Company *
    Code, and all Amount fields form CE3OP01 table and  sectaktbo       "
    *     Current profitability segment (CO-PA)                          *
         paobjnr     "     Profitability Segment Number (CO-PA)       *
         pasubnr     "     Profitability segment changes (CO-PA)      *
         bukrs            "     Company Code
         kndnr       "     Customer from CE4Op01 table.               *
    Segrigate one record from CE3Op01 into 93 based on Value fields.    *
    PROGRAM TYPE..Function Module                                        *
    DEV. CLASS..../DS1/MI_01                                             *
    LOGICAL DB.... N/A                                                   *
                   Conventions used in the Program                       *
    *     global variables      --> g_*                                    *
    *     local variables       --> l_*                                    *
    *     constants             --> c_*                                    *
    *     internal tables       --> t_*                                    *
    *     structures            --> x_*                                    *
    *     parameters            --> p_*                                    *
    *     select-options        --> s_*                                    *
    *     ranges                --> r_*                                    *
    *     workarea          --> w_*                                    *
    *     field symbol            --> fs_*                                   *
    Declaration for Interface: Selection criteria
      STATICS: s_s_if TYPE srsc_s_if_simple,
    Maximum number of lines for DB table
      ls_s_if TYPE srsc_s_if_simple, "Static Structure
    counter
              ls_counter_datapakid LIKE sy-tabix,"Static Counter
    cursor
              ls_cursor TYPE cursor,"Static Cursor.
              ls_cursor1 TYPE cursor."Static Cursor.
    *CONSTANTS
      CONSTANTS:  lc_datasource TYPE char14 VALUE 'ZDS_COPA_RECON',
                                                 " Data Source Name
                  lc_msgtype TYPE char1 VALUE 'E',  "message type
                  lc_msgcls  TYPE char2 VALUE 'R3', "message class
                  lc_msgnum  TYPE char3 VALUE '009',"Message Number.
                  lc_001 TYPE char3 VALUE '001',
                  lc_b0 TYPE char2 VALUE 'B0',
                  lc_10 TYPE char2 VALUE '10',
                  lc_01 TYPE char2 VALUE '01',
                  lc_02 TYPE char2 VALUE '02',
                  lc_1 TYPE sy-tabix VALUE 1.
    *Data Declaration.
      DATA: lt_ce3op01  TYPE STANDARD TABLE OF x_ce3op01,
            " Internal table for ce3op01
            lt_ce3op02  TYPE STANDARD TABLE OF x_ce3op01,
            lt_ce4op01  TYPE STANDARD TABLE OF x_ce4op01,
            " Internal table for ce4op01
            lw_ce3op01  TYPE x_ce3op01,
            " Work area for ce3op01
            lw_ce3op02  TYPE x_ce3op01,                         "MOD-002
            lw_ce4op01  TYPE x_ce4op01,
            " Work area for ce4op01
            lw_e_t_data TYPE /ds1/fi_copa_recn,
      " Work area for /ds1/fi_copa_recn.
    *CE1op01
      lt_ce1op01 TYPE STANDARD TABLE OF x_ce1op01,"Internaltable
      lw_ce1op01 TYPE x_ce1op01,"Work area for CE1op01.
    **CE1op01
      lt_fldlist TYPE STANDARD TABLE OF lx_fldlist, "fields list
      lw_fldlist TYPE lx_fldlist,"  FIELDS list work area
      lt_flnmval TYPE STANDARD TABLE OF lx_flnmval,"table for splitting
      lw_flnmval TYPE lx_flnmval,"work area for spilitting
      l_index TYPE i VALUE 1, "to keep track of index.
      l_len   TYPE i,
      l_s_no_recs   TYPE sy-tabix VALUE 99,
      l_s_loop_from        TYPE sy-tabix,     "from "MOD-002
      l_s_loop_to          TYPE sy-tabix,                       "to"MOD-002
      l_norecs             TYPE sy-tabix,                       "MOD-002
      l_count              TYPE sy-tabix.                       "MOD-002
    *Field Symbols.
      FIELD-SYMBOLS:
         <fs_flnmval> TYPE lx_flnmval."Field symbol for fild values
    Selection Ranges
      RANGES:  lr_bukrs      FOR ce4op01-bukrs, " Range for company code
      lr_versi      FOR ce3op01-versi," Range for version
      lr_paledger   FOR ce3op01-paledger,"Range for paledger
      lr_vrgar      FOR ce3op01-vrgar,"Range for vrgar
      lr_gjahr      FOR ce3op01-gjahr,"Range for Fiscal year
      lr_perbl      FOR ce3op01-perbl."Range for perbl
    Initialization mode (first call by SAPI) or data transfer mode
      IF i_initflag = sbiwa_c_flag_on.
    Initialization: check input parameters
                    buffer input parameters
                    prepare data selection
    Check DataSource validity
        IF ls_counter_datapakid = 0.
          CASE i_dsource.
            WHEN lc_datasource.
            WHEN OTHERS.
              IF 1 = 2. MESSAGE e009(r3). ENDIF.                "#EC *
    this is a typical log call. Please write every error message like this
              log_write lc_msgtype "'E'                  "message type
                        lc_msgcls  "'R3'                 "message class
                        lc_msgnum  "'009'                "message number
                        i_dsource   "message variable 1
                        ' '.                 "message variable 2
              RAISE error_passed_to_mess_handler.
          ENDCASE.
          APPEND LINES OF i_t_select TO s_s_if-t_select.
          APPEND LINES OF i_t_fields TO s_s_if-t_fields.
    Fill parameter buffer for data extraction calls
          ls_s_if-requnr    = i_requnr.
          ls_s_if-dsource   = i_dsource.
          ls_s_if-maxsize   = i_maxsize.
          ls_s_if-initflag  = i_initflag.
      Company Code
          LOOP AT s_s_if-t_select  INTO  i_t_select WHERE fieldnm = c_bukrs.
            MOVE: i_t_select-sign   TO lr_bukrs-sign,
                  i_t_select-option TO lr_bukrs-option,
                  i_t_select-low    TO lr_bukrs-low,
                  i_t_select-high   TO lr_bukrs-high.
            APPEND lr_bukrs.
          ENDLOOP.
    *Version (0)
    *SRSC_S_IF_SIMPLE-T_SELECT
          LOOP AT s_s_if-t_select INTO i_t_select WHERE fieldnm = c_versi.
       LOOP AT i_t_select  INTO  s_s_if-t_select WHERE fieldnm = c_versi.
            MOVE: i_t_select-sign   TO lr_versi-sign,
                  i_t_select-option TO lr_versi-option,
                  i_t_select-low    TO lr_versi-low,
                  i_t_select-high   TO lr_versi-high.
            APPEND lr_versi.
          ENDLOOP.
    *Currency Type (company code only)
         LOOP AT s_s_if-t_select INTO i_t_select WHERE fieldnm = c_paledger.
            MOVE: i_t_select-sign   TO lr_paledger-sign,
                  i_t_select-option TO lr_paledger-option.
            IF i_t_select-low = lc_b0.
              MOVE lc_01 TO lr_paledger-low.
            ELSEIF  i_t_select-low = lc_10.
              MOVE lc_02 TO lr_paledger-low.
            ENDIF.
            APPEND lr_paledger.
          ENDLOOP.
    *Record Type
          LOOP AT s_s_if-t_select INTO i_t_select WHERE fieldnm = c_vrgar.
            MOVE: i_t_select-sign   TO lr_vrgar-sign,
                  i_t_select-option TO lr_vrgar-option,
                  i_t_select-low    TO lr_vrgar-low,
                  i_t_select-high   TO lr_vrgar-high.
            APPEND lr_vrgar.
          ENDLOOP.
    *Fiscal Year
          LOOP AT s_s_if-t_select INTO i_t_select WHERE fieldnm = c_gjahr.
            MOVE: i_t_select-sign   TO lr_gjahr-sign,
                  i_t_select-option TO lr_gjahr-option,
                  i_t_select-low    TO lr_gjahr-low,
                  i_t_select-high   TO lr_gjahr-high.
            APPEND lr_gjahr.
          ENDLOOP.
    *Period Block/Year
          LOOP AT s_s_if-t_select INTO i_t_select WHERE fieldnm = c_perbl.
            MOVE: i_t_select-sign   TO lr_perbl-sign,
                  i_t_select-option TO lr_perbl-option,
                  i_t_select-low    TO lr_perbl-low,
                  i_t_select-high   TO lr_perbl-high.
            APPEND lr_perbl.
          ENDLOOP.
    *Value Field Name.
          LOOP AT s_s_if-t_select INTO i_t_select WHERE fieldnm = c_fldnm.
            MOVE:
            i_t_select-sign   TO gr_zfldnm-sign,
            i_t_select-option TO gr_zfldnm-option,
            i_t_select-low   TO gr_zfldnm-low,
            i_t_select-high   TO gr_zfldnm-high.
            APPEND gr_zfldnm.
          ENDLOOP.
    First data package -> OPEN CURSOR
          IF ls_counter_datapakid = 0.
    *Create 93 Field names in an internal table.
         MOVE 'VV010' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV011' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV012' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV013' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV014' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV015' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV016' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV020' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV021' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV030' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV031' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV032' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV033' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV034' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV035' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV200' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV201' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV202' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV203' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV036' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV037' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV038' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV039' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV040' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV041' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV042' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV043' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV204' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV205' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV211' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV212' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV213' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV222' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV223' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV230' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV232' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV233' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV500' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV501' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV502' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV503' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV504' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV505' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV506' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV507' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV508' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV509' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV510' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV511' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV512' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV513' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV514' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV515' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV516' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV517' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV518' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV519' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV520' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV236' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV206' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV051' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV052' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV053' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV054' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV055' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV056' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV057' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV058' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV059' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV060' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV241' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV242' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV243' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV244' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV245' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV246' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV247' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV248' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV249' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV250' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV521' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV522' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV523' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV524' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV525' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV526' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV527' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV528' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV529' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV530' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV227' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV226' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
         MOVE 'VV224' TO lw_fldlist-fldnam. APPEND lw_fldlist TO lt_fldlist.
            OPEN CURSOR WITH HOLD ls_cursor FOR
                 SELECT
                 paobjnr      " Profitability Segment Number (CO-PA)
                 paledger     " Currency type for an operating concern
                 vrgar        " Record Type
                 versi        " Plan version (CO-PA)
                 gjahr            " Fiscal Year
                 perbl            " Fiscal year/period block
                 pasubnr
                 vv010001     " List Price
                 vv011001     " Formula Price
                 vv012001     " Customer Price
                 vv013001     " Manual Price
                 vv014001     " Retail Pump Price
                 vv015001     " Markup
                 vv016001     " Net Proceeds Other
                 vv020001     " Excise Duty Offset
                 vv021001     " Duties & Government
                 vv030001     " Sales Discounts
                 vv031001     " Sales Surcharges
                 vv032001     " Sales Rebates
                 vv033001     " Agents Comm Paid
                 vv034001     " RBA CR Royalties
                 vv035001     " Other Revenues
                 vv200001     " Transfer PriceSupply
                 vv201001     " Prim Tran Tariff Sup
                 vv202001     " S&Handling TariffDis
                 vv203001     " Sec Trans Tariff Dis
                 vv036001     " Proceeds from Servic
                 vv037001     " Exchanges
                 vv038001     " Throughput fees
                 vv039001     " Output Tax Offset
                 vv040001     " CR comm & Oth Oil Pr
                 vv041001     " Supplier fees
                 vv042001     " RBA Fairshare Adjust
                 vv043001     " Contr Comm Paid IG
                 vv204001     " Sec Tran Tariff Supp
                 vv205001     " Comp Stock Obligatio
                 vv211001     " Prim Tran Tar Transf
                 vv212001     " S&Handling Tar Trans
                 vv213001     " Sec Trans TariffTran
                 vv222001     " DIS:S&Handl Tar OvUn
                 vv223001     " DIS:Sec Tr TarifOvUn
                 vv230001     " Transfer Price LSC
                 vv232001     " S&Handling Tar LSC
                 vv233001     " Sec Trans Tariff LSC
                 vv500001     " 3rd Party Purchases
                 vv501001     " Transf from Oth Sect
                 vv502001     " Purchases IG
                 vv503001     " Inter-Seg Transf Pur
                 vv504001     " Import Freight
                 vv505001     " Stock Variations
                 vv506001     " Other Product Cost
                 vv507001     " Pipeline Operat Exp
                 vv508001     " Primary Transp Expen
                 vv509001     " Manufacturing Expens
                 vv510001     " Supply /Process Exp
                 vv511001     " MK Processing Plants
                 vv512001     " S&Handling Expenses
                 vv513001     " Sec Transp Expenses
                 vv514001     " Point of Sale Expens
                 vv515001     " Contr Comm Rec IG
                 vv516001     " Assoc Inc Dividend
                 vv517001     " Marketing & Sell Exp
                 vv518001     " Other Rev from Dist
                 vv519001     " Other Rev Transferrd
                 vv520001     " Stock Write-Off
                 vv236001     " Oth cost Tar LSC SMP
                 vv206001     " Prim Trp tariff Dist
                 vv051001     " CR Net Turnover
                 vv052001     " Dummy Price 2
                 vv053001     " Dummy Price 3
                 vv054001     " Dummy Price 4
                 vv055001     " Dummy Price 5
                 vv056001     " Dummy Price 6
                 vv057001     " Dummy Price 7
                 vv058001     " Dummy Price 8
                 vv059001     " Dummy Price 9
                 vv060001     " Dummy Price10
                 vv241001     " DummyTariff 1
                 vv242001     " DummyTariff 2
                 vv243001     " DummyTariff 3
                 vv244001     " DummyTariff 4
                 vv245001     " DummyTariff 5
                 vv246001     " DummyTariff 6
                 vv247001     " DummyTariff 7
                 vv248001     " DummyTariff 8
                 vv249001     " DummyTariff 9
                 vv250001     " DummyTariff10
                 vv521001     " SD&A Rebates
                 vv522001     " Dummy Cost 2
                 vv523001     " Dummy Cost 3
                 vv524001     " Dummy Cost 4
                 vv525001     " Dummy Cost 5
                 vv526001     " Dummy Cost 6
                 vv527001     " Dummy Cost 7
                 vv528001     " Dummy Cost 8
                 vv529001     " Dummy Cost 9
                 vv530001     " Dummy Cost 10
                 vv227001     " Sec Tr TarifOvUn LSC
                 vv226001     " S&Handl Tar OvUn LSC
                 vv224001     " Pr Tra TariffOvU DIS
                 FROM ce3op01
                 WHERE   paledger = lc_02 AND
                 vrgar    IN lr_vrgar AND
                 versi    IN lr_versi AND
                 perbl    IN lr_perbl AND
                 gjahr    IN lr_gjahr.
          ENDIF.
    For all other cursors.
          FETCH NEXT CURSOR ls_cursor
              APPENDING TABLE lt_ce3op02
              PACKAGE SIZE ls_s_if-maxsize.
          IF sy-subrc <> 0.
            EXIT.
          ENDIF.
          SORT lt_ce3op02 BY paobjnr pasubnr paledger vrgar versi gjahr
               perbl.
          DELETE ADJACENT DUPLICATES FROM lt_ce3op02 COMPARING paobjnr.
    *Begin of MODE-002
          DESCRIBE TABLE lt_ce3op02 LINES l_norecs.
          l_s_loop_from = lc_1.
          DO.
            l_s_loop_to = l_s_loop_from + l_s_no_recs.
            LOOP AT lt_ce3op02 INTO lw_ce3op02
            FROM l_s_loop_from TO l_s_loop_to .
              APPEND lw_ce3op02 TO lt_ce3op01.
            ENDLOOP.
            SORT lt_ce3op01 BY paobjnr.
    *End of MOS-002
            SELECT
              aktbo       "     Current profitability segment (CO-PA)
              paobjnr     "     Profitability Segment Number (CO-PA)
              pasubnr     "     Profitability segment changes (CO-PA)
              kndnr       "     Customer
              artnr
              bukrs     "     Company Code
              prctr
              kokrs
           FROM ce4op01
           INTO TABLE lt_ce4op01
           FOR ALL ENTRIES IN lt_ce3op01
           WHERE paobjnr = lt_ce3op01-paobjnr AND
                 pasubnr = lt_ce3op01-pasubnr AND
                 bukrs  IN lr_bukrs.
    *CE1op01
            SELECT
            paledger
            vrgar
            versi
            perio
            paobjnr
            pasubnr
            belnr
            posnr
            rbeln
            rposn
           FROM ce1op01
           INTO TABLE lt_ce1op01
           FOR ALL ENTRIES IN lt_ce3op01
           WHERE paledger = lt_ce3op01-paledger AND
                 vrgar    = lt_ce3op01-vrgar AND
                 versi    = lt_ce3op01-versi AND
                 perio    = lt_ce3op01-perbl AND
                 paobjnr = lt_ce3op01-paobjnr AND
                 pasubnr = lt_ce3op01-pasubnr.
    **CE1op01
            LOOP AT lt_ce3op01 INTO lw_ce3op01.
              MOVE:
              lw_ce3op01-paobjnr   TO lw_flnmval-paobjnr,
             lw_ce3op01-paledger  TO lw_flnmval-paledger,
             lw_ce3op01-vrgar     TO lw_flnmval-vrgar,
                      lw_ce3op01-versi     TO lw_flnmval-versi,
                      lw_ce3op01-gjahr     TO lw_flnmval-gjahr,
                      lw_ce3op01-perbl     TO lw_flnmval-perbl.
    *appending all 93 fields as records
              MOVE lw_ce3op01-vv010001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv011001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv012001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv013001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv014001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv015001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv016001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv020001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv021001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv030001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv031001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv032001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv033001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv034001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv035001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv200001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv201001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv202001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv203001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv036001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv037001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv038001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv039001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv040001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv041001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv042001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv043001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv204001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv205001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv211001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv212001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv213001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv222001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv223001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv230001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv232001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv233001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv500001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv501001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv502001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv503001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv504001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv505001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv506001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv507001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv508001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv509001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv510001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv511001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv512001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv513001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv514001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv515001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv516001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv517001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv518001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv519001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv520001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv236001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv206001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv051001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv052001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv053001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv054001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv055001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv056001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv057001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv058001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv059001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv060001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv241001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv242001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv243001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv244001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv245001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv246001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv247001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv248001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv249001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv250001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv521001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv522001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv523001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv524001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv525001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv526001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv527001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv528001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv529001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv530001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv227001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv226001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
              MOVE lw_ce3op01-vv224001    TO lw_flnmval-zamunt.
              APPEND lw_flnmval TO lt_flnmval.
    *Segrigating all one record into 102 records is complete
            ENDLOOP.
            LOOP AT lt_flnmval ASSIGNING <fs_flnmval>.
              IF l_index > 93.
                l_index = 1.
              ENDIF.
              READ TABLE lt_fldlist INTO lw_fldlist INDEX l_index.
              IF sy-subrc = 0.
                CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
                  EXPORTING
                    input  = lw_fldlist-fldnam
                  IMPORTING
                    output = <fs_flnmval>-fldnam.
              ENDIF.
              l_index = l_index + 1.
            ENDLOOP.
            SORT lt_ce4op01 BY paobjnr.
            SORT lt_ce1op01 BY paobjnr  paledger vrgar  versi.
            SORT gr_zfldnm BY low.
            DELETE lt_flnmval WHERE fldnam NOT IN gr_zfldnm.
            LOOP AT lt_flnmval INTO lw_flnmval.
              READ TABLE lt_ce4op01 INTO  lw_ce4op01 WITH KEY
                                 paobjnr = lw_flnmval-paobjnr BINARY SEARCH.
              IF sy-subrc = 0.
                MOVE :   lw_flnmval-paledger  TO lw_e_t_data-paledger,
                         lw_flnmval-vrgar     TO lw_e_t_data-vrgar,
                         lw_flnmval-versi     TO lw_e_t_data-versi ,
                         lw_flnmval-gjahr     TO lw_e_t_data-gjahr,
                         lw_flnmval-perbl     TO lw_e_t_data-perbl,
                         lw_ce4op01-bukrs     TO lw_e_t_data-bukrs,
                         lw_ce4op01-kndnr     TO lw_e_t_data-kndnr,
                         lw_ce4op01-artnr     TO lw_e_t_data-artnr,
                         lw_ce4op01-prctr     TO lw_e_t_data-prctr,
                         lw_ce4op01-kokrs     TO lw_e_t_data-kokrs,
                         lw_flnmval-fldnam   TO lw_e_t_data-zfldnm,
                         lw_flnmval-zamunt   TO lw_e_t_data-zamount.
    CE1op01
                READ TABLE lt_ce1op01 INTO lw_ce1op01 WITH KEY
                            paobjnr = lw_flnmval-paobjnr
                            paledger = lw_flnmval-paledger
                            vrgar  = lw_flnmval-vrgar
                            versi = lw_flnmval-versi BINARY SEARCH.
                IF sy-subrc = 0.
                  MOVE: lw_ce1op01-rbeln  TO lw_e_t_data-rbeln,
                        lw_ce1op01-rposn  TO lw_e_t_data-rposn.
                ENDIF.
    CE1op01
                APPEND lw_e_t_data TO gt_out_data.
              ENDIF.
            ENDLOOP.
    *Begin of MOD-002
            FREE lt_flnmval.
            REFRESH :lt_ce3op01,lt_ce4op01,lt_ce1op01.
            e_t_data[] = gt_out_data[].
            DELETE e_t_data WHERE zfldnm NOT IN gr_zfldnm.
            l_s_loop_from = l_s_loop_to + lc_1.
            l_count = l_count + 20.
            IF l_count GE l_norecs.
              EXIT.
            ENDIF.
          ENDDO.
    *End of MOD-002
          ls_counter_datapakid = ls_counter_datapakid + 1.
        ENDIF.                        "IF S_COUNTER_DATAPAKID = 0
      ELSE.
        IF i_maxsize IS INITIAL.
          RAISE error_passed_to_mess_handler.
        ENDIF.
        IF g_start IS INITIAL.
          g_start = 1.
        ELSE.
          g_start  = g_end + 1.
        ENDIF.
        g_end = g_start + i_maxsize - 1.
    Population of E_T_DATA based on Data records size
        APPEND LINES OF gt_out_data FROM g_start TO g_end TO e_t_data.
        DELETE e_t_data WHERE zfldnm NOT IN gr_zfldnm.
        IF e_t_data[] IS INITIAL.
          RAISE no_more_data.
        ENDIF.
        ls_counter_datapakid = ls_counter_datapakid + 1.
      ENDIF.
    ENDFUNCTION.
    Thanks & regards,
    Sreekanth
    +91 9740091981

    Hello Sreekanth,
    See this blog [Generic Extraction via Function Module|/people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module]
    Also see this
    [Line Item Level Data Extraction for Financial Accounting and Controlling|https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/a7f2f294-0501-0010-11bb-80e0d67c3e4a]
    Thanks
    Chandran

  • How to use Logical database in function module?

    I will create a function module in HR.
    but how to use Logical database  in function module ?  Logical database PNP always show screen.in function (RFC) code , it is a matter.

    You cannot attach the LDB to the main program of the function group.
    - So you may [SUBMIT|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=submit&adv=false&sortby=cm_rnd_rankvalue] a report which use the LDB and get back the data (export/import), by default in the syntax of SUBMIT the selection-screen will not be displayed
    - Use [LDB_PROCESS|https://www.sdn.sap.com/irj/sdn/advancedsearch?query=ldb_process&cat=sdn_all], fill a structured table for selection, and get data back in another table
    - Use [HR function modules to read Infotypes|https://www.sdn.sap.com/irj/sdn/advancedsearch?cat=sdn_all&query=hrfunctionmodulestoread+Infotypes&adv=false&sortby=cm_rnd_rankvalue].
    Regards

  • Can we call a function module in ADHOC query

    Hi
    Can we call a function module in ADHOC query if yes how.
    Also we ned to know how to call a function module in SAP query.
    An early responce is appreciated.
    Thanks and best regards
    Rajeev

    Okay as far as I understand your aim is:
    To fill a field in the output list with a value that is based on the current line information and calculated by a function module
    So go to SQ02 and create an additional field in the InfoSet.
    You can refer in the coding to the technical names you can see in the left tree window like P0000-PERNR.
    More information is avaiable in the Help part look for additional field in SQ02.
    Regards,
    Michael

  • Function Modules - Urgent

    Hi,
    I need to create a Function Module where this FM should send a document as attachment to the internet mail id , example [email protected]
    Please help me out.
    Thanks,
    Pavan.

    Hi,
    Will a prog. be fine for sending a mail to xternal mail id??
    Mail with attachments: SO_NEW_DOCUMENT_ATT_SEND_API1
    Mail without attachments: SO_NEW_DOCUMENT_SEND_API1
    For Understanding the Function Module
    SO_OBJECT_Send:
    http://www.thespot4sap.com/articles/SAP_Mail_Understanding_SO_Object_Send.asp
    Try this:
    REPORT  zsendemail                    .
    PARAMETERS: psubject(40) type c default  'Testing',
                p_email(40)   type c default '[email protected]'.
    data:   it_packing_list like sopcklsti1 occurs 0 with header line,
            it_contents like solisti1 occurs 0 with header line,
            it_receivers like somlreci1 occurs 0 with header line,
            it_attachment like solisti1 occurs 0 with header line,
            gd_cnt type i,
            gd_sent_all(1) type c,
            gd_doc_data like sodocchgi1,
            gd_error type sy-subrc.
    data:   it_message type standard table of SOLISTI1 initial size 0
                    with header line.
    *START-OF-SELECTION.
    START-OF-SELECTION.
    Perform populate_message_table.
    *Send email message, although is not sent from SAP until mail send
    *program has been executed(rsconn01)
    PERFORM send_email_message.
    *Instructs mail send program for SAPCONNECT to send email(rsconn01)
    perform initiate_mail_execute_program.
    *&      Form  POPULATE_MESSAGE_TABLE
    *       Adds text to email text table
    form populate_message_table.
      Append 'Line1' to it_message.
      Append 'Line2' to it_message.
      Append 'Line3' to it_message.
      Append 'Test- 1' to it_message.
    endform.                    " POPULATE_MESSAGE_TABLE
    *&      Form  SEND_EMAIL_MESSAGE
    *       Send email message
    form send_email_message.
    * Fill the document data.
      gd_doc_data-doc_size = 1.
    * Populate the subject/generic message attributes
      gd_doc_data-obj_langu = sy-langu.
      gd_doc_data-obj_name  = 'SAPRPT'.
      gd_doc_data-obj_descr = psubject.
      gd_doc_data-sensitivty = 'F'.
    * Describe the body of the message
    * Information about structure of data tables
      clear it_packing_list.
      refresh it_packing_list.
      it_packing_list-transf_bin = space.
      it_packing_list-head_start = 1.
      it_packing_list-head_num = 0.
      it_packing_list-body_start = 1.
      describe table it_message lines it_packing_list-body_num.
      it_packing_list-doc_type = 'RAW'.
      append it_packing_list.
    * Add the recipients email address
      clear it_receivers.
      refresh it_receivers.
      it_receivers-receiver = p_email.
      it_receivers-rec_type = 'U'.
      append it_receivers.
    * Call the FM to post the message to SAPMAIL
      call function 'SO_NEW_DOCUMENT_ATT_SEND_API1'
           exporting
                document_data              = gd_doc_data
                put_in_outbox              = 'X'
           importing
                sent_to_all                = gd_sent_all
           tables
                packing_list               = it_packing_list
                contents_txt               = it_message
                receivers                  = it_receivers
           exceptions
                too_many_receivers         = 1
                document_not_sent          = 2
                document_type_not_exist    = 3
                operation_no_authorization = 4
                parameter_error            = 5
                x_error                    = 6
                enqueue_error              = 7
                others                     = 8.
    * Store function module return code
      gd_error = sy-subrc.
    * Get it_receivers return code
      loop at it_receivers.
      endloop.
    endform.                    " SEND_EMAIL_MESSAGE
    *&      Form  INITIATE_MAIL_EXECUTE_PROGRAM
    *       Instructs mail send program for SAPCONNECT to send email.
    form initiate_mail_execute_program.
      wait up to 2 seconds.
      if gd_error eq 0.
          submit rsconn01 with mode = 'INT'
                        with output = 'X'
                        and return.
      endif.
    endform.                    " INITIATE_MAIL_EXECUTE_PROGRAM
    Regards,
    Anjali

Maybe you are looking for

  • Employee picture not shown in ESS

    Can someone please help us? We use HR 46C. It is not possible anymore from a certain patch level to use a file store in archivelink, therefore we have configured an HTTP content Server. This works fine, we can upload pictures without any problem. Whe

  • Itunes freezes - strange error message - Determining gapless playback info

    I recently tried to suscribe to a new podcast and the accidently stopped the downlaod before it was finished. Itunes then locked up and i could not get out of the podcast listing. I closed itunes using ctrl-alt-del and started started again. this tim

  • Career in SAP SD

    Hi, I am thinking of persuing SAP SD. Kindly help me to know it prospect, as you have already done SAP SD. I am B.Sc (Computer Science) and I have yrs exp in banking (Customer Servive, Operation and Quality Audits). Will it be good for me to go for S

  • How to run a program in background and how to check the output

    I have to run my program as background job... it has a selection screen...... and i need to check the output after its complete.

  • If I install OS X Lion will I need to upgrade my apps?

    If I install OS X Lion will I need to upgrade my applications? (ie. iPhoto, iMovie, Pages,ect.)