Copy data between planning area with function module

Hi gurus!
I'm involved in a consumer products project
In my multiplaning area i copy "catalog code" from act to fct after a preliminary selection in a authorization layout..
Due to increase performance I'm in need to convert the FOX which copies data from actual plan area to fct plan area after the authorization check, into a formula exit...
This fox works fine but as you can imagine it takes a lot of time to execute cause it has to read every catalog code form the transactional data...
here follows gross summary of the code.
this FOX copies ACT catalog code into FCT catolg
code by CALQUARTER  according to Catalog code
authorization stored in AUTH version
DATA PER TYPE 0CALQUARTER.
DATA ENDPER TYPE 0CALQUARTER.
DATA KEYF TYPE KEYFIG_NAME
PER = VARV(variable)
ENDPER = TMVL(per,4).
catalog code is present in the level selection
with no filter
AUTH is the version used for set up the
authorization in data copy (no quarte info is needed)
IF {KEYF,AUTH,#,PLAN1}>0.
PLAN1 I the FCT plan area, PLAN2 is the Act plan area
DO.
{KEYF,FCT,PER,PLAN1}={KEYF,ACT,PER,PLAN2}.
IF PER = ENDPER.EXIT.ENDIF.
PER=TMVL(PER,1).
ENDDO.
ENDIF.
I've found many example in the forum but nothing which refers to different planning areas data copy with exit.
I'll be gratefull to any of you who can help me to compile this function module.
Best regards
M91

Hi Rakesh,
You can use COPY/Version Management Function to do this.
Path: Demand Planning > Environment >Copy/ Version Management
The system takes into account only those periodicities that are common to both planning areas.
For example, if the data is saved in months in the source planning area (PA1) but in months and weeks in the target planning area (PA2)
the system copies to months in the target planning area and then Disaggregates the data to the storage buckets in accordance with the Time-based Disaggregation.
hope this wil help to understand the basic concept.
Kapil

Similar Messages

  • Copying data between two tables with different structures

    I have two tables. second table has three extra fields at the end. How can I copy data from first table to the other? I tried the following but it does not seem to work:
    INSERT INTO second_table ((select * from first_table),'text','text',5)
    Please help. Thanks

    INSERT INTO second_table SELECT col1, col2, col3, .., 'text', 'text', 5 FROM first_table;
    Cheers!
    r@m@

  • Generic Data Source with Function Module data mismatch in BI

    Hi All,
    I'm using Generic Data Source with Function Module, When I execute the Function Module (Which I have Created), I'm getting 16000 records and when run extractor(in RSA3) im getting different no.of records(infact they are more no.).
    when I run the InfoPackage in BI im Getting more no. of records than what i got executing the function module..
    and single record is divided into 2 records in BI side(not all the records), how can it be possible???
    is there anything Im missing to explain you my issue???
    if understood please help me out.
    Thanks n Regards,
    ravi.

    the datasource frame work starts the function module several times.
    1. the initialization
    2. the serval times, until you "raise no_more_data".
    check you coding: have you refreshed necessary internal tables.
    Sven

  • Generic Data Source with Function Module data mismatch

    Hi All,
    I'm using Generic Data Source with Function Module, When I execute the Function Module (Which I have Created), I'm getting 16000 records and when run extractor(in RSA3) im getting different no.of records(infact they are more no.).
    when I run the InfoPackage  in BI im Getting more no. of records than what i got executing the function module..
    and single record is divided into 2 records in BI side(not all the records), how can it be possible???
    is there anything Im missing to explain you my issue???
    if understood please help me out.
    Thanks n Regards,
    ravi.

    HI rkiranbi,
    1. FIrst you excute function module according to your paramers, you will get some records. then goto tcode RSA3 --> excute
    Provide your Data source name and under setting we have options like Data records/calls, Display extractor calls and selections --> fields .
    in that options you have to increase the values. and then you have to pass paramers in RSA3 according to your function module
    selections in SE37. Now you will get equal values in both functin module selection and RSA3 Selection. if it fail means  you need to
    check coding logic in function module. 
    2. if your  are getting wrong values in BI System then check with
                  1. compare with PSA data and data target data (here you need to check with characterstic as well as keyfigures)
                  if you find any mistake you need change the coding in function module according to client requirement.
                  2. compare data with RSA3 and bi report data or data target data.
                                 check it properly above steps, you will get solution.
    thanks and regards,
    malli

  • How to copy a generic extractor with function module into a new system?

    Dear Gurus,
    i would like to know how i can copy a gneric datasource with function module from one system to the target system.
    Thank you
    Cheers

    Hi Anesh,
    thank you for replying.
    Since the Datasource will have a new new in the new system, i will create a new one.
    Create a generic datasource base on the table is not the problem.
    My problem is how could i copy the FM in the new system?
    If you can help me on that, it will be fine.
    Thanks

  • Data source Enhancement with Function Module

    Hi all!
    I have a requirement like I have to enhance my Generic Data source.
    Let me make it clear!
    I have 10 field in R/3 which I am able to get into extract structure using Generic Data Source on the corresponding Table.
    I have another field on my extract structure, say ZEXMFLD1 which is updated by a function module ZZ_FUNC_MODULE_SAMPLE.
    I came to know that Data source Enhancement can be done, but don't know how.
    Request your guidance in this. Can u please let me know how I can achieve this?
    Thanks,
    Sri

    Hi Sri,
    You can enhance generic datasources also.
    For that you have to use below function modules based on your datasource type.
    EXIT_SAPLRSAP_001  - Transactiona data
    EXIT_SAPLRSAP_002  - Master
    EXIT_SAPLRSAP_003  - text
    EXIT_SAPLRSAP_004  - Hier
    First check in CMOD(TCODE) whether component RSAP0001 is assigned to any project. If it is not assigned to any project(fresh system), assign it to a project by creating it.
    Ex. ZBW. If it is already assigned, go SE37.
    For transaction data go to function module EXIT_SAPLRSAP_001(Trans data) and start your logic.
    CASE i_datasource.
    WHEN 'your data source name'.
    call you Function module  -  CALL  'ZZ_FUNC_MODULE_SAMPLE'.
    pass the imported value from above FM to c_t_data.
    close case with ENDCASE.
    Let me know if you need more info.
    - Kalyan.

  • To update Employee Data with Function module

    Hi
    CRM employee master and HR employee master need to be mapped
    for the labor cost posting function to work.
    In BP transaction (Change in BP role : Employee),
    I could update "Personnel number" and "User Name"
    under Identification Tab
    now I need to do same job with Function module in report program.
    Anybody knows that what Function module should I use ?
    I tryed to do it with Function "CRMXIF_PARTNER_SAVE"
    but I only succesed to update imformations under Adress tab in BP transaction.
    thank you.

    Use FM BAPI_BUPA_CREATE_FROM_DATA.
    Rg,
    Harshit

  • Transfer variable values via ABAP betweenn planning areas

    Hello,
    I'm using an ABAP-coding (BPS How-To 'variables type user-exit) for transferring variable values between planning areas. It works fine for single-, multi- and interval-selection, but not for single hierarchie nodes.
    I don't want to transfer the values beneath the nodes but the node itself. Has anyone experience with that or changed the ABAP-Coding.
    Note, I'm using a variable type hierarchie as destination and get always a dump, when the ABAP is executed.
    Appreciate your help, thanks in advance...

    Hello,
    I am having the same problem. Can the function module Z_VARIABLE_GET_DETAIL from the "How to...BPS Variables of Type Exit" be modified to get the node value of a hierarchy node variable so it can be used as a global variable?
    Thanks, Linda

  • Copy data between cubes

    I need to copy data between two cubes (through a business rule). Can I do it using Partition/Replication? If so, does anyone have an example on how it is done? I'm currently using @XREF, but that does not transfer data for blocks that don't already exist in target database.
    I'm very new to this so a detailed description will help.
    Thanks for your help.

    Yes, partitions are great. I like to use replicated partitions because I can control the data, and deal with integrity issues etc. Your usage may vary.
    Basically, you go to your "Source" database, go to the partitions menu, and "Create New Partition". You then walk through each of the tabs in the partition menu
    Type Tab: Choose the type. Let's say a "replicated" partition.
    Connection Tab: Choose what databases will be connected with the partition
    Areas Tab: I like to check the "Use Text Editor" to just type out the formulas. Also check the "Show Cell Count" to have some confidence your formulas are working as planned. Here you define what data moves from source to target. For example I might setup the following
    Source:
    ("Actuals Data"),
    @LEVMBRS("Province",0),
    @GENMBRS("Company",2)
    Target:
    ("Actuals Data"),
    @LEVMBRS("Province",0),
    @GENMBRS("Company",2)
    If the names don't match, you can adjust that in the advanced properties or mapping properties. (If you have multiple slices of data - use the advanced mapping).
    Now validate and save

  • Transfering Forecast between planning areas - /SAPAPO/TSCOPY

    Hi,
    I want to pull Forecast data from a DP planning area with the unit of measue ZUM. In my target I have another Planning area with the unit of measue EA.
    When I use the tcode /SAPAPO/TSCOPY the data is copied successfully, however the quantity is not converted correctly.
    Depending of the product the conversion rules should be:
    12 ZUM = 1000 EA.
    Does anybody knows how can I setup the conversion correctly?
    Thanks,
    Leonardo

    Leo,
    A couple of points:
    1). The data in the PA is ALWAYS stored in the UoM defined.
    2). In DP the concept fo swithcing UoM doesnt exist as this is maintained in the product master. The data in DP is CVC dependent.
    3). I would suggest the follwoing:
    Take down the data from PA1 to a cube. From the cube load the PA2 while using a start routine/function in the update rules to switch the UoM along with a conversion factor to be read from the respective material master.
    Hope this helps.
    Cheers!
    Abhi
    Edited by: abhishek sharma on Apr 8, 2010 9:08 AM

  • Unable to copy data in planning

    Hi Gurus,
    I am unable to copy data using "copy data" in planning web application.
    getting an error "MSG_COPY_DATA_OPTIONS_FAILED: An error occurred while running the specified calc script. Check the log for details."
    here are the steps I checked:
    I checked whether planning and essbase are in sync.
    The DBA team says that there was no spikes in memory.
    when I take small data set it see data in target but the status in Job Console says processing for the past 45 min.
    I was copying only one month of data.
    please help.

    I see you must of read the two Oracle Support articles by what you wrote in your post.
    Have you checked the essbase app log? also it sometimes help to restart the planning web app when it happens.
    Also have a read of Re: Where is the calc script created when running the 'Copy Data' function ?
    Cheers
    John
    http://john-goodwin.blogspot.com/

  • 3 generic data sources or only one function module

    Hi all,
    I have 3 custom tables
    1. ZCOUNTRY (giving the link between code entity and country)
    1. ZCURR (giving the link between code entity and currency)
    1. ZYTPE (giving the link between code entity and type entity)
    I shall  fill an info object which has as fields code entity, country,currency and type entity.
    I have 2 solutions i suppose:
    1. Create 3 generic data sources based on the 3 tables.
    2. Create a generic data source by using the function module.The function module will populate an extract extracture from data from these 3 tables.
    What is the best solution?What is the advantage of the chosen solution?
    Thks a lot.

    Hi,
    Generic Extractors are based on View/Table or Fn Module or Infoset Query i.e all the extractors created via RSO2. The extractors you create for the customers would generally be generic extractors only. SAP has some other extractors like your LIS, LO Cockpit which are based on different extraction method.
    Generic extractors are of 3 types:
    1. Based on table/view
    2. Based on Infoset Query
    3. Based on Function module
    The first 2 are straight forward extraction where you would either use a standard SAP or custom table/view or Infoset query to extract data.
    However if you have to get data from more than 1 table and also incorporate some logic then you would use a fn module extractor. It is like a program where you would code using ABAP and have all your logic incorporated.
    Check this blog for more info on fn module extractor:
    /people/siegfried.szameitat/blog/2005/09/29/generic-extraction-via-function-module
    Raj

  • What are the function modules used in CRM_ORDER_STATUS

    Hi,
    what are the function modules used in CRM_ORDER_STATUS(BADI) IN THIS METHOD AFTER_CHANGE...

    Hi,
    http://scn.sap.com/thread/3202739
    AFTER_CHANGE
    ABAP ABAP Code
    Follow-Up Action After Status Change
    BEFORE_CHANGE
    ABAP ABAP Code
    Checks for Status Changeability
    Sample code to set date on status change ------
    INCLUDE crm_direct.
       DATA : ls_status       TYPE crmt_status_wrk.
       DATA : lv_process_type TYPE crmt_process_type.
       DATA : lit_appointment TYPE crmt_appointment_wrkt.
       DATA : wa_appointment  TYPE crmt_appointment_wrk.
       DATA : ls_appoint      TYPE crmt_appointment_com.
       DATA : lt_appoint      TYPE  crmt_appointment_comt.
       DATA : ls_input_field  TYPE crmt_input_field.
       DATA : lt_input_field  TYPE crmt_input_field_tab.
       DATA : ls_fieldnames   TYPE crmt_input_field_names.
       DATA : lt_fieldnames   TYPE crmt_input_field_names_tab.
       DATA : lt_exception    TYPE crmt_exception_t.
       DATA : lv_timestamp    TYPE sc_tstfro.
       DATA : lt_header_guid  TYPE crmt_object_guid_tab.
       DATA : lt_req_objects  TYPE crmt_object_name_tab.
       ls_status = is_status_wrk.
    *Get process type
       CALL FUNCTION 'CRM_INTLAY_GET_PROCESS_TYPE'
         EXPORTING
           iv_orderadm_h_guid = ls_status-guid
         IMPORTING
           ev_process_type    = lv_process_type.
    * Check process type
       IF lv_process_type = 'ZZZ'.
         INSERT ls_status-guid INTO TABLE lt_header_guid.
         INSERT gc_object_name-appointment INTO TABLE lt_req_objects.
    **Get appoinment data
         CALL FUNCTION 'CRM_ORDER_READ'
           EXPORTING
             it_header_guid            = lt_header_guid
             iv_mode                     = gc_mode-display
             it_requested_objects   = lt_req_objects
           IMPORTING
             et_appointment       = lit_appointment
           EXCEPTIONS
             document_not_found   = 1
             error_occurred       = 2
             document_locked      = 3
             no_change_authority  = 4
             no_display_authority = 5
             no_change_allowed    = 6
             OTHERS               = 7.
         IF sy-subrc NE 0.
           EXIT.
         ENDIF.
    *read item level data
         READ TABLE lit_appointment INTO wa_appointment WITH KEY ref_kind = 'B'.
         IF sy-subrc = 0.
    *      *Time-stamp set to as per current date and time.
           CONVERT DATE sy-datum TIME sy-uzeit INTO TIME STAMP lv_timestamp
             TIME ZONE sy-zonlo.
    *Fill appoinment structure
           ls_appoint-ref_guid = wa_appointment-ref_guid."appoinment gid
           ls_appoint-ref_kind = 'B'."Item
           ls_appoint-ref_handle  = '0000000000'.
           ls_appoint-appt_type = 'ZSERV_CLOSE'."c_appt_type .
           ls_appoint-timestamp_from = lv_timestamp.
           ls_appoint-timezone_from   = 'GMTUK'."time zone
           ls_appoint-mode = ''.
           ls_appoint-rule_name   = 'TODAY'.
           INSERT ls_appoint INTO TABLE lt_appoint.
           ls_input_field-ref_guid = wa_appointment-ref_guid.
           ls_input_field-ref_kind = 'B'.
           ls_input_field-objectname = 'APPOINTMENT'.
           ls_input_field-logical_key = 'ZSTATUS_NEW'.
    *Fill input fields
           ls_fieldnames-fieldname = 'TIMESTAMP_FROM'.
           INSERT ls_fieldnames INTO TABLE ls_input_field-field_names.
           INSERT ls_input_field INTO TABLE lt_input_field.
           CLEAR lt_fieldnames[].CLEAR ls_fieldnames. CLEAR ls_input_field.
    *To update date
           CALL FUNCTION 'CRM_APPT_MAINTAIN_MULTI_OW'
             EXPORTING
               iv_ref_guid        = wa_appointment-ref_guid
               iv_ref_kind        = 'B'
               it_appointment_com = lt_appoint
             CHANGING
               ct_input_fields    = lt_input_field
             EXCEPTIONS
               OTHERS             = 1.
         ENDIF.
       ENDIF.
    Standard BADI Order_Save will take care to save into database.
    Regards,
    Sumeet

  • What are the function modules used in interactive ALV and parameters?

    what are the function modules used in interactive ALV and parameters?

    hi sunil
    check these links,
    About ALV:
    http://www.geocities.com/mpioud/Abap_programs.html
    ALV Group Heading
    http://www.sap-img.com/fu037.htm
    and few more,
    ALV
    1. Please give me general info on ALV.
    http://www.sapfans.com/forums/viewtopic.php?t=58286
    http://www.sapfans.com/forums/viewtopic.php?t=76490
    http://www.sapfans.com/forums/viewtopic.php?t=20591
    http://www.sapfans.com/forums/viewtopic.php?t=66305 - this one discusses which way should you use - ABAP Objects calls or simple function modules.
    2. How do I program double click in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=11601
    http://www.sapfans.com/forums/viewtopic.php?t=23010
    3. How do I add subtotals (I have problem to add them)...
    http://www.sapfans.com/forums/viewtopic.php?t=20386
    http://www.sapfans.com/forums/viewtopic.php?t=85191
    http://www.sapfans.com/forums/viewtopic.php?t=88401
    http://www.sapfans.com/forums/viewtopic.php?t=17335
    4. How to add list heading like top-of-page in ABAP lists?
    http://www.sapfans.com/forums/viewtopic.php?t=58775
    http://www.sapfans.com/forums/viewtopic.php?t=60550
    http://www.sapfans.com/forums/viewtopic.php?t=16629
    5. How to print page number / total number of pages X/XX in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=29597 (no direct solution)
    6. ALV printing problems. The favourite is: The first page shows the number of records selected but I don't need this.
    http://www.sapfans.com/forums/viewtopic.php?t=64320
    http://www.sapfans.com/forums/viewtopic.php?t=44477
    7. How can I set the cell color in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=52107
    8. How do I print a logo/graphics in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=81149
    http://www.sapfans.com/forums/viewtopic.php?t=35498
    http://www.sapfans.com/forums/viewtopic.php?t=5013
    9. How do I create and use input-enabled fields in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=84933
    http://www.sapfans.com/forums/viewtopic.php?t=69878
    10. How can I use ALV for reports that are going to be run in background?
    http://www.sapfans.com/forums/viewtopic.php?t=83243
    http://www.sapfans.com/forums/viewtopic.php?t=19224
    11. How can I display an icon in ALV? (Common requirement is traffic light icon).
    http://www.sapfans.com/forums/viewtopic.php?t=79424
    http://www.sapfans.com/forums/viewtopic.php?t=24512
    12. How can I display a checkbox in ALV?
    http://www.sapfans.com/forums/viewtopic.php?t=88376
    http://www.sapfans.com/forums/viewtopic.php?t=40968
    http://www.sapfans.com/forums/viewtopic.php?t=6919
    also run the folowing code and see
    check this sample code.you will be well versed with all the events of a interactive alv report.mark points if useful.
    *& Report ZALV4_INTERACTIVE *
    *& interactive alvs *
    REPORT ZALV4_INTERACTIVE NO STANDARD PAGE HEADING
    MESSAGE-ID ZMSG
    LINE-COUNT 37(3)
    LINE-SIZE 134.
    TYPE-POOLS : SLIS.
    TABLES DECLARATION ********************
    TABLES : VBRK, " BILLING MASTERS TABLE
    VBRP. " BILLING ITEM TABLE
    TYPES DECLARATION ********************
    TYPES : BEGIN OF TY_VBRK, " types for billing masters table
    VBELN TYPE VBRK-VBELN, " billing document
    WAERK TYPE VBRK-WAERK, " document currency
    VKORG TYPE VBRK-VKORG, " sales organization
    FKDAT TYPE VBRK-FKDAT, " billing date
    BUKRS TYPE VBRK-BUKRS, " company code
    BUTXT TYPE T001-BUTXT, " company name
    NETWR TYPE VBRK-NETWR, " net currency value
    LINE_COLOR(4) TYPE C,
    END OF TY_VBRK.
    TYPES : BEGIN OF TY_VBRP, " types for billing document item data
    POSNR TYPE VBRP-POSNR, " billing item
    FKIMG TYPE VBRP-FKIMG, " actual invoiced quantitty
    VRKME TYPE VBRP-VRKME, " sales unit
    NETWR TYPE VBRP-NETWR, " net currency value
    MATNR TYPE VBRP-MATNR, " material number
    ARKTX TYPE VBRP-ARKTX, " short text for sales order item
    END OF TY_VBRP.
    FIELD CATALOG ********************
    DATA : WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
    WA_FIELDCAT1 TYPE SLIS_FIELDCAT_ALV.
    LAYOUT DECLARATION ********************
    DATA : WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
    WA_LAYOUT1 TYPE SLIS_LAYOUT_ALV.
    EVENTS DECLARATION ********************
    DATA : TY_EVENTS TYPE SLIS_ALV_EVENT,
    IT_EVENTS TYPE SLIS_T_EVENT.
    PF STATUS ********************
    DATA : PF_STATUS TYPE SLIS_FORMNAME VALUE 'SET_PF_STATUS'.
    USER COMMAND ********************
    DATA : USER_COMMAND TYPE SLIS_FORMNAME VALUE 'SET_USER_COMMAND',
    R_UCOMM LIKE SY-UCOMM.
    INTERNAL TABLES ********************
    DATA : IT_VBRK TYPE TABLE OF TY_VBRK, "internal table for billing master
    IT_VBRP TYPE TABLE OF TY_VBRP, "internal table for billing item
    *internal table for field catalog
    IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
    IT_FIELDCAT1 TYPE SLIS_T_FIELDCAT_ALV.
    WORK AREA ********************
    DATA : WA_VBRK LIKE LINE OF IT_VBRK, "work area for billing master
    WA_VBRP LIKE LINE OF IT_VBRP. "work area for billing item
    VARIABLE DECLARATION ********************
    DATA : V_DATE TYPE SY-DATUM, " variable to store date values
    V_VBELN TYPE VBRK-VBELN, " variable for billing document
    V_FKDAT TYPE VBRK-FKDAT, " variable for billing date
    V_FLAG(1). " variable for flag
    SELECTION SCREEN ********************
    SELECT-OPTIONS : S_VBELN FOR VBRK-VBELN , " Billing document
    S_FKDAT FOR VBRK-FKDAT, " Billing date
    S_MATNR FOR VBRP-MATNR. " Material number
    PARAMETERS : R1 RADIOBUTTON GROUP G1, "whole item details
    R2 RADIOBUTTON GROUP G1. "selected item details
    INITIALIZATION ********************
    INITIALIZATION.
    V_FLAG = 'X'.
    V_DATE = SY-DATUM - 20.
    S_FKDAT-SIGN = 'I'.
    S_FKDAT-OPTION = 'EQ'.
    S_FKDAT-LOW = V_DATE.
    S_FKDAT-HIGH = SY-DATUM.
    APPEND S_FKDAT.
    SELECTION SCREEN VALIDATION ********************
    AT SELECTION-SCREEN.
    PERFORM CONVERSION. " performs data conversion for input
    PERFORM VBELN_VALIDATE. " validating the billing document
    PERFORM FKDAT_VALIDATE. " validating the billing date
    START OF SELECTION ********************
    START-OF-SELECTION.
    SET TITLEBAR 'AAAA'.
    PERFORM VBRK_POPULATE. " populating the billing master detais
    PERFORM FIELDCATALOG. " designing the field catalog
    PERFORM EVENTS. " performing the events for top of page
    PERFORM DISP_BASICLIST." displaying the basic list
    *& Form VBELN_VALIDATE
    text validating the billing document
    --> p1 text
    <-- p2 text
    FORM VBELN_VALIDATE .
    IF S_VBELN IS INITIAL.
    MESSAGE E000 WITH 'Make entries in all required fields'.
    ELSE.
    SELECT SINGLE VBELN
    FROM VBRK
    INTO V_VBELN
    WHERE VBELN IN S_VBELN.
    IF SY-SUBRC <> 0.
    MESSAGE I000 WITH 'BILLING DOCUMENT DOESNT EXIST'.
    ENDIF.
    ENDIF.
    ENDFORM. " VBELN_VALIDATE
    *& Form FKDAT_VALIDATE
    text validating the billing date
    --> p1 text
    <-- p2 text
    FORM FKDAT_VALIDATE .
    SELECT SINGLE FKDAT
    FROM VBRK
    INTO V_FKDAT
    WHERE FKDAT IN S_FKDAT.
    IF SY-SUBRC <> 0.
    MESSAGE I000 WITH 'BILLING DATE DOESNT EXIST'.
    ENDIF.
    ENDFORM. " FKDAT_VALIDATE
    *& Form VBRK_POPULATE
    text populating the billing master details
    --> p1 text
    <-- p2 text
    FORM VBRK_POPULATE .
    DATA : LD_COLOR(1) TYPE C.
    LD_COLOR = 5.
    SELECT VBRK~VBELN
    VBRK~WAERK
    VBRK~VKORG
    VBRK~FKDAT
    VBRK~BUKRS
    VBRK~NETWR
    T001~BUTXT
    FROM VBRK INNER JOIN T001
    ON VBRKBUKRS = T001BUKRS
    INTO CORRESPONDING FIELDS OF TABLE IT_VBRK
    WHERE VBRK~VBELN IN S_VBELN AND
    VBRK~FKDAT IN S_FKDAT.
    LOOP AT IT_VBRK INTO WA_VBRK.
    LD_COLOR = LD_COLOR + 1.
    IF LD_COLOR = 8.
    LD_COLOR = 1.
    ENDIF.
    CONCATENATE 'C' LD_COLOR '10' INTO WA_VBRK-LINE_COLOR.
    MODIFY IT_VBRK FROM WA_VBRK.
    ENDLOOP.
    ENDFORM. " VBRK_POPULATE
    *& Form CONVERSION
    text data conversion to take leading zeroes into account
    --> p1 text
    <-- p2 text
    FORM CONVERSION .
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
    INPUT = S_VBELN
    IMPORTING
    OUTPUT = S_VBELN.
    ENDFORM. " CONVERSION
    *& Form DISP_BASICLIST
    text displaying the basic list
    --> p1 text
    <-- p2 text
    FORM DISP_BASICLIST .
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    I_BYPASSING_BUFFER =
    I_BUFFER_ACTIVE = ' '
    I_CALLBACK_PROGRAM = SY-REPID
    I_CALLBACK_PF_STATUS_SET = PF_STATUS
    I_CALLBACK_USER_COMMAND = USER_COMMAND
    I_STRUCTURE_NAME =
    IS_LAYOUT = WA_LAYOUT
    IT_FIELDCAT = IT_FIELDCAT
    IT_EXCLUDING =
    IT_SPECIAL_GROUPS =
    IT_SORT =
    IT_FILTER =
    IS_SEL_HIDE =
    I_DEFAULT = 'X'
    I_SAVE = 'X'
    IS_VARIANT =
    IT_EVENTS = IT_EVENTS
    IT_EVENT_EXIT =
    IS_PRINT =
    IS_REPREP_ID =
    I_SCREEN_START_COLUMN = 0
    I_SCREEN_START_LINE = 0
    I_SCREEN_END_COLUMN = 0
    I_SCREEN_END_LINE = 0
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    TABLES
    T_OUTTAB = IT_VBRK
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    ENDFORM. " DISP_BASICLIST
    *& Form FIELDCATALOG
    text designing the field catalog
    --> p1 text
    <-- p2 text
    FORM FIELDCATALOG .
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'VBELN'.
    WA_FIELDCAT-SELTEXT_L = 'BILLING DOCUMENT'.
    WA_FIELDCAT-COL_POS = 1.
    WA_FIELDCAT-EMPHASIZE = 'C610'.
    WA_FIELDCAT-KEY = 'X'.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'WAERK'.
    WA_FIELDCAT-SELTEXT_L = 'DOCUMENT CURRENCY'.
    WA_FIELDCAT-COL_POS = 2.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'VKORG'.
    WA_FIELDCAT-SELTEXT_L = 'SALES ORGANIZATION'.
    WA_FIELDCAT-EMPHASIZE = 'C610'.
    WA_FIELDCAT-COL_POS = 3.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'FKDAT'.
    WA_FIELDCAT-SELTEXT_L = 'BILLING DATE'.
    WA_FIELDCAT-COL_POS = 4.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'BUKRS'.
    WA_FIELDCAT-SELTEXT_L = 'COMPANY CODE'.
    WA_FIELDCAT-COL_POS = 5.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'BUTXT'.
    WA_FIELDCAT-SELTEXT_L = 'COMPANY NAME'.
    WA_FIELDCAT-COL_POS = 6.
    WA_FIELDCAT-OUTPUTLEN = 25.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_FIELDCAT-TABNAME = 'IT_VBRK'.
    WA_FIELDCAT-FIELDNAME = 'NETWR'.
    WA_FIELDCAT-SELTEXT_L = 'NET CURRENCY VALUE'.
    WA_FIELDCAT-COL_POS = 7.
    WA_FIELDCAT-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT TO IT_FIELDCAT.
    CLEAR WA_FIELDCAT.
    WA_LAYOUT-ZEBRA = 'X'.
    WA_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.
    ENDFORM. " FIELDCATALOG
    *& Form SET_PF_STATUS
    text set the pf status
    FORM SET_PF_STATUS USING EXTAB TYPE SLIS_T_EXTAB.
    SET PF-STATUS 'Z50658_PFSTATUS' EXCLUDING EXTAB.
    ENDFORM. "SET_PF_STATUS
    *& Form SET_USER_COMMAND
    text set the user command
    FORM SET_USER_COMMAND USING R_UCOMM
    RS_SELFIELD TYPE SLIS_SELFIELD.
    CASE R_UCOMM.
    WHEN 'CLICK'.
    IF R1 = 'X'.
    IF NOT IT_VBRK IS INITIAL.
    SELECT POSNR
    FKIMG
    VRKME
    NETWR
    MATNR
    ARKTX
    FROM VBRP
    INTO CORRESPONDING FIELDS OF TABLE IT_VBRP
    FOR ALL ENTRIES IN IT_VBRK
    WHERE VBELN = IT_VBRK-VBELN.
    IF SY-SUBRC <> 0.
    MESSAGE I000 WITH ' NO BILLING DETAILS FOUND'.
    ELSE.
    IF V_FLAG = 'X'.
    PERFORM DET_FIELDCATALOG.
    V_FLAG = ''.
    ENDIF.
    PERFORM DET_LISTDISPLAY.
    ENDIF.
    ENDIF.
    ENDIF.
    IF R2 = 'X'.
    READ TABLE IT_VBRK INTO WA_VBRK INDEX RS_SELFIELD-TABINDEX.
    IF SY-SUBRC = 0.
    SELECT SINGLE POSNR
    FKIMG
    VRKME
    NETWR
    MATNR
    ARKTX
    FROM VBRP
    INTO CORRESPONDING FIELDS OF WA_VBRP
    WHERE VBELN = WA_VBRK-VBELN.
    ENDIF.
    APPEND WA_VBRP TO IT_VBRP.
    ENDIF.
    IF V_FLAG = 'X'.
    PERFORM DET_FIELDCATALOG. "designing the field catalog for items
    V_FLAG = ''.
    ENDIF.
    PERFORM DET_LISTDISPLAY. "displaying the secondary list
    WHEN 'BACK'.
    LEAVE TO SCREEN 0.
    WHEN 'UP'.
    LEAVE TO SCREEN 0.
    WHEN 'CANCEL'.
    CALL TRANSACTION 'SE38'.
    ENDCASE.
    ENDFORM. "SET_USER_COMMAND
    *& Form DET_FIELDCATALOG
    text designing the field catalog for item details
    --> p1 text
    <-- p2 text
    FORM DET_FIELDCATALOG .
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'POSNR'.
    WA_FIELDCAT1-SELTEXT_L = 'BILLING ITEM'.
    WA_FIELDCAT1-COL_POS = 1.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'FKIMG'.
    WA_FIELDCAT1-SELTEXT_L = 'INVOICE QUANTITY'.
    WA_FIELDCAT1-COL_POS = 2.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'VRKME'.
    WA_FIELDCAT1-SELTEXT_L = 'SALES UNIT'.
    WA_FIELDCAT1-COL_POS = 3.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'NETWR'.
    WA_FIELDCAT1-SELTEXT_L = 'NET CURRENCY VALUE'.
    WA_FIELDCAT1-COL_POS = 4.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'MATNR'.
    WA_FIELDCAT1-SELTEXT_L = 'MATERIAL NUMBER'.
    WA_FIELDCAT1-COL_POS = 5.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_FIELDCAT1-TABNAME = 'IT_VBRP'.
    WA_FIELDCAT1-FIELDNAME = 'ARKTX'.
    WA_FIELDCAT1-SELTEXT_L = 'SALES ORDER ITEM'.
    WA_FIELDCAT1-COL_POS = 6.
    WA_FIELDCAT1-OUTPUTLEN = 20.
    APPEND WA_FIELDCAT1 TO IT_FIELDCAT1.
    CLEAR WA_FIELDCAT1.
    WA_LAYOUT1-ZEBRA = 'X'.
    ENDFORM. " DET_FIELDCATALOG
    *& Form DET_LISTDISPLAY
    text displaying the secondary list
    --> p1 text
    <-- p2 text
    FORM DET_LISTDISPLAY .
    CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
    EXPORTING
    I_INTERFACE_CHECK = ' '
    I_BYPASSING_BUFFER =
    I_BUFFER_ACTIVE = ' '
    I_CALLBACK_PROGRAM = SY-REPID
    I_CALLBACK_PF_STATUS_SET = ' '
    I_CALLBACK_USER_COMMAND = ' '
    I_STRUCTURE_NAME =
    IS_LAYOUT = WA_LAYOUT1
    IT_FIELDCAT = IT_FIELDCAT1
    IT_EXCLUDING =
    IT_SPECIAL_GROUPS =
    IT_SORT =
    IT_FILTER =
    IS_SEL_HIDE =
    I_DEFAULT = 'X'
    I_SAVE = ' '
    IS_VARIANT =
    IT_EVENTS = IT_EVENTS
    IT_EVENT_EXIT =
    IS_PRINT =
    IS_REPREP_ID =
    I_SCREEN_START_COLUMN = 0
    I_SCREEN_START_LINE = 0
    I_SCREEN_END_COLUMN = 0
    I_SCREEN_END_LINE = 0
    IMPORTING
    E_EXIT_CAUSED_BY_CALLER =
    ES_EXIT_CAUSED_BY_USER =
    TABLES
    T_OUTTAB = IT_VBRP
    EXCEPTIONS
    PROGRAM_ERROR = 1
    OTHERS = 2
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    CLEAR IT_VBRP[].
    ENDFORM. " DET_LISTDISPLAY
    *& Form EVENTS
    text
    --> p1 text
    <-- p2 text
    FORM EVENTS .
    CLEAR TY_EVENTS.
    TY_EVENTS-NAME = SLIS_EV_TOP_OF_PAGE.
    TY_EVENTS-FORM = 'TOP_OF_PAGE'.
    APPEND TY_EVENTS TO IT_EVENTS.
    ENDFORM. " EVENTS
    *& Form TOP_OF_PAGE
    text
    FORM TOP_OF_PAGE.
    SKIP.
    ULINE.
    WRITE :/2 ' DATE :', SY-DATUM,
    45 'INTELLIGROUP ASIA PVT LTD',
    110 'TIME :', SY-UZEIT.
    WRITE : /3 'USER :', SY-UNAME,
    45 'TITLE :', SY-TITLE,
    110 'PAGE :', SY-PAGNO.
    ULINE.
    SKIP.
    ENDFORM. "TOP_OF_PAGE
    Cheers
    navjot
    Reward with points if it is helpful
    Message was edited by:
            navjot sharma

  • Copy data between Apps filtered by  workstatus

    Hello all gurus,
    BPC 7.5 NW
    I am copying data between apps. I want to do it with abap code because I use BADI.
    I dont want to copy all data, only data that have been filtered by WorkStatus. I cant use DESTINATION_APP in Script Logic because I need to filter
    Structure app is the same. Origin app is APP_A and destination app is APP_B.
    I only copy data if Workstatus is 'Approved'
    App: APP_A                 App: APP_B
    Dim1 WS
    Dim2 WS
    DIm3 WS
    Dim4
    Dim5
    If workstatus(DIM1, DIM2, DIM3) = "Approved" then
            Copy Dim1,..,5 belongs to APP_A to APP_B
    else
                    Nothing
    end if
    Example:    2014,Actual,Account1,E1toN,Act1toN   copy to  2014,Actual,Account1,E1toN,Act1toN (same rows, same structure)
    Note: Act1toN= act1, act2, act3,...actN
    Then, my filter is
    SETAPP = WB
    APP_A = BHN
    Worstatus table--> /1CPMB/LKWSWBBHN
    Select statuscode from /1CPMB/LKWSWBBHN where DIM1=2104, DIM2=Actual,Dim3=Accoun1
    if statuscode='5' then  // 5 is Approved (statid) in UJW_STATCODE
         copy data  2014,Actual,Account1,E1toN,Act1toN belong APP_A  copy to  2014,Actual,Account1,E1toN,Act1toN belong APP_B(same rows, same estructure)
    end if
    if you need more information dont hesitate to ask
    thanks
    Gustavo

    The main How-To page: Enterprise Performance Management (EPM) How-to Guides - Business Process Expert - SCN Wiki
    Please read BADI related How-to for BPC NW 7 and 7.5 (BADI's for BPC 7 can be used in 7.5).
    Try this: How To Custom BADI for Rounding Off Values in SAP BUSINESSOBJECTS Planning and Consolidation, Version for SAP NetWeaver
    Also read badi sample in help.
    In order to write data to another cube you have to use write_back_int with the appropriate application selected.
    B.R. Vadim
    P.S. Read also here: Useful ABAP code in BPC 7.X NW version
    Message was edited by: Vadim Kalinin - P.S. Added

Maybe you are looking for

  • 21700 while calling java stored procedure in 9i

    I create a java stored procedure that takes a varray of a rowtype. When I call that procedure, I get an ora-21700. If I remove the varray from the parameter list, I can call the procedure okay. My goal is to create a generic java procedure that can t

  • New to photoshop, looking for advice on creating a stencil design, can anyone explain how to do this

    Heya, So I'm hoping to get back into photoshop, my knowledge at the moment is pritty minimal, but i'm going to start learning how to use it again. I'm new to this forum and don't intend to come on here often for advice but i hope that someone would b

  • BPS Currency Translation with rate from previous year

    Dear All, I am trying to use the BPS currency translation function. However, I would like to use an exchange rate from the previous fiscal year, in order to reveal currency effects. I would appreciate any help, hopefully regarding ways to mend the st

  • Make a PDF with a Mac, NOT using Mac PDF maker

    I am suffering from blurry text when making a PDF in Mac OS 10.6 (using "Save as PDF" in the Mac printing dialogue). The software company has confirmed the problem. They suggested using CutePDF to make a PDF because it does a better job. CutePDF is W

  • Printing Excel File programmatically

    Hi, Can any body help me in printing an excel file with java I tried executing the below code. DocFlavor format = new DocFlavor("application/octet-stream", "java.io.FileInputStream"); PrintRequestAttributeSet aset = new HashPrintRequestAttributeSet()