BCS prgram UCBATCH00

There is a program UCBATCH00 to upload tha data in T Cube using flexible upload. Yaar it gets teh statistical report when i am executing in foreground but it does not give the statistical report in spool.
When i am executing in background then i need statistical report to analyse the data later on.
Actually i was using UCBATCH00 ptogram to upload the data using flex. upload. Later on came to know there is one more program available UCBATCH01 which can be schedule and execute.
I am using a program UCBATCH01 to upload data from file(Application server) using flexible upload. When i am trying to execute this file in foreground then it gives me audit report.
When i am scheduling the UCBATCH01 in background the it gives a message in SM37 'Task executed accounding to user restriction' and 'Completed'. But there is no audit report in spool.
As this program directly upload the data in Transaction cude using flex. upload so i want audit report as well to check the status of data later on.
feel free to answer
Jimmr

Although it has been a while since I used these programs, it is my recollection that if the task is configured for a log to be saved, the task log may be viewed iin the monitor by right clicking on the task and choosing last log. Is that not the case for you?

Similar Messages

  • UCBATCH00 and UCBATCH01 execute task

    Hi All,
    I have to upload my consolidation data in SEM BCS using a task. WE have two program UCBATCH00 to execute a task. When i use this program in foreground then it gives me statistical report about uploaded data. When ever i execute the same program in background then it does not create any report in spool.
    I have to schedule this program in background and need a statistical report in spool for do the analysis later on.
    There is another program UCBATCH01 (Schedule and Execute Task). Even though this program does not create any report in spool when i schedule in background.
    I need to execute my task in background and need a statistical report in spool to analyse later on.
    Thanks in advance.
    Regards
    Praff

    Hi Sayed,
    My apologies. I have a similar query on the Bangladesh slabwise query you posted earlier. If you could, please kindly share with me how do you configure for Bangladesh WHT requirements.
    If you could, please reply to the message that you posted earlier on the query for Bangladesh WHT with your solution.
    Hope to hear from you soon as I am also encountering a similar requirement from my client for Bangladesh too.
    Thanks!
    Cheers,
    Orange

  • BCS - UCBATCH01 does not work

    Hi Guys,
    we are trying to use UCBATCH01 to schedule the execution of a BCS task but the corresponding Flex Upload seems to be NOT executed (there are no data ...) and we receve the following message: UCS0014 Task executed according to user restrictions. In SM37 the corresponding job ends as "Completed" ...
    Any idea? Did somebody experienced such a problem? We are running on BW 3.1C and SEM 3.5
    Thanks in advance to everybody
    GFV

    Hi Gianfranco,
    I saw in forum that you were working on UCBATCH01 program. So thought could be you can help me out.
    Actually i was using UCBATCH00 ptogram to upload the data using flex. upload. Later on came to know there is one more program available UCBATCH01 which can be schedule and execute.
    I am using a program UCBATCH01 to upload data from file(Application server) using flexible upload. When i am trying to execute this file in foreground then it gives me audit report.
    When i am scheduling the UCBATCH01 in background the it gives a message in SM37 'Task executed accounding to user restriction' and 'Completed'. But there is no audit report in spool.
    As this program directly upload the data in Transaction cude using flex. upload so i want audit report as well to check the status of data later on.
    Thanks in advance.
    Regards
    Pankaj

  • BW BCS cube(0bcs_vc10 ) Report huge performance issue

    Hi Masters,
    I am working out for a solution for BW report developed in 0bcs_vc10 virtual cube.
    Some of the querys is taking more 15 to 20 minutes to execute the report.
    This is huge performance issue. We are using BW 3.5, and report devloped in bex and published thru portal. Any one faced similar problem please advise how you tackle this issue. Please give the detail analysis approach how you resolved this issue.
    Current service pack we are using is
    SAP_BW 350 0016 SAPKW35016
    FINBASIS 300 0012 SAPK-30012INFINBASIS
    BI_CONT 353 0008 SAPKIBIFP8
    SEM-BW 400 0012 SAPKGS4012
    Best of Luck
    Chris
    BW BCS cube(0bcs_vc10 ) Report huge performance issue

    Ravi,
    I already did that, it is not helping me much for the performance. Reports are taking 15 t0 20 minutes. I wanted any body in this forum have the same issue how
    they resolved it.
    Regards,
    Chris

  • Can not Delete Data in SEM-BCS

    Dear Expert,
    I do the following steps :
    1. Created Consolidation groups in workbench ( I was not assigned it to anywhere)
    2. Save.
    3. Deleted Consol group above.
    4. WHen i tried to save, There are errors that said "The data model contains inconsistencies. These have to be cleaned up before you proceed." . And then i click button "Full Display" but the result said : "Data is Consistent. SYnchronzation not neccessary".
    How do i delete data in workbench? because i cannot delete master data that i created in workbench.
    Please advice.
    Thanks in advance.

    Hi,
    Actually, yes, you may delete master data in BW and then syncronize them with BCS.
    The name of the infoobject containing master data for cons group you may see in your data basis, on the tab strip showing roles assignment (swithing on the tech names).
    Execute RSA1 t-code. Find in infoobjects, the IO for cons groups, delete its master data.
    SE38 t-code, program name = UGMDSYNC. Choose the cons group IO; set source = your BW system name; set target = local. Execute syncronization.
    After that the data for cons group in BW and BCS will be equivalent.
    Best regards,
    Eugene

  • Multiple Fiscal Year Variant in the same client in SEM-BCS...

    I have already looked at some earlier threads relating to this but didn't get a convincing answer to what I would like to know.
    We have had a working SEM-BCS system with fiscal year variant K4. There was no need for defining leading fiscal year variant and none was defined. SAP, by default takes, K4 as the leading fiscal year variant.
    Now there is a requirement for going on a different fiscal year variant for which we have created another databasis (there were a few other reasons besides these) with the same InfoObjects that we used earlier but with different fixed parameters, one of which is fisc year variant V9. Soon, we started experiencing bizarre dumps in the configuration which ultimately convinced me to define a leading fiscal year variant. I was reluctant to do so because there is a lot of old data (which will become 'historical' from new data basis point of view) from the working system on K4 that would still need to be reported on even when we have new BCS solution in the new fiscal year variant V9. That is not going away. There is a need to keep the old data for reporting (hence the rationale for a different data basis among a few others).
    Since earlier Master Data was configured in the old fisc year variant K4, now I have defined the leading fiscal year variant as V9 so that MDF can appropriately identify the period dependency.
    I would like to know if any of you have had an unexpected behavior from the system going forward. Does the system dump out when you try to read the old data (from earlier K4).
    I have tried to explain the dilemma as clearly and succinctly as possible but if you need more clarifications, please do let me know.
    I would really appreciate your help in this.

    Is your requirement is that K4 to be changed to Z5.
    The best way you can do it is in the transformation. Instead of directmapping,
    Write a code like this in the trransformation to the cube
    If SOURCE FIELD - 0FISCVAR eq 'k4'.
    SOURCE FIELD - 0FISCVAR = 'Z5'.
    I dont think we can change th data in the query being displayed. we can change the keyfigure values in query by frmulas etc...
    but for a characteristic, i think we will be able to restrict bt not change the value.
    to obtain the requirement, w have to get the data change before query designer that is in the cube leve.
    Hope this helps,
    Sri...

  • Unable to provide input value to InfoObject in SEM-BCS

    Hello BI Experts,
    I have created an infoobject 'ABC' in BI and have flagged 'With Master Data' and 'With Text'.  This infoobject has an navigational attribute 'XYZ'(XYZ also has 'With Master Data' and 'With Text').
    When I go to T.Code UCWB(BCS Workbench), I could able to see the infoobject 'ABC' and when I try to create master data for 'ABC', I do not see the input field for 'XYZ'.  I want to input values in Infoobject 'XYZ' through this screen(SEM-BCS) and not through BI(right-click on infoobject 'Maintain Master Data).  Please let me know, if I am missing anything.

    Hi Shekar
    I find the ICD setup very 'picky'! If you get one thing wrong, it doesn't work. I have detailed below the steps I usually advise people to tek. Check your setup and see if this helps.
    1. Define Plan Type, Compensation Category = Others.
    2. Define Plan. Link to Plan Type. Plan Usage = May not be in program. On Not in program Tab - define sequence, currency, enrollment rate (per pay period?), activity reference period (Monthly). Your settings may need to be different. On Plan details tab, enter plan years.
    3. Plan enrollment requirements. On the general tab, plan sub tab, make sure the method = EXPLICIT. this allows the user to enter an input value for the ICD. THIS MAY WELL BE THE SOURCE OF YOUR PROBLEM!
    Make sure the CERTIFICATION region is UNTICKED. This can also cause ICDs not to work.
    ALLOWS UNRESTRICTED ENROLLMENT must be TICKED. Otherwise there is no eligibility to the ICD.
    On the rates subregion, make sure the run strt date is set to ENTERABLE.
    4. standard Rates form. Make sure the ACTIVITY TYPE and TAX TYPE are entered. Select the ELEMENT and the INPUT VALUE and TICK the ELEMENT AND INPUT VALUE REQUIRED field.
    On the processing Information tab - TICK ASSIGN ON ENROLMENT, DISPLAY ON ENROLLMENT and PROCESS EACH PAY PERIOD. Enter PER PAY PERIOD AMOUNT in VALUE PASSED TO PAYROLL and OTHER in COMPENSATION CATEGORY.
    Let me know if this works!
    Regards
    Tim

  • BCS Release Request Short dump

    Hello,
    I'm trying to release my costumizing request, that contains the SEM-BCS configuration, although i'm getting a short-dump.
    The description is as follows:
    Short text
        Access via 'NULL' object reference not possible.
    What happened?
        Error in the ABAP Application Program
        The current ABAP program "CL_UG_MD_TR_METHOD_EXPORT=====CP" had to be
         terminated because it has
        come across a statement that unfortunately cannot be executed.
    Error analysis
        You attempted to use a 'NULL' object reference (points to 'nothing')
        access a component (variable: " ").
        An object reference must point to an object (an instance of a class)
        before it can be used to access components.
        Either the reference was never set or it was set to 'NULL' using the
        CLEAR statement.
    How to correct the error
        If the error occures in a non-modified SAP program, you may be able to
        find an interim solution in an SAP Note.
        If you have access to SAP Notes, carry out a search with the following
        keywords:
        "OBJECTS_OBJREF_NOT_ASSIGNED" " "
        "CL_UG_MD_TR_METHOD_EXPORT=====CP" or "CL_UG_MD_TR_METHOD_EXPORT=====CM003"
        "UGMD_EXTRACT_SID_2"
    Information on where terminated
        Termination occurred in the ABAP program "CL_UG_MD_TR_METHOD_EXPORT=====CP" -
         in "UGMD_EXTRACT_SID_2".
        The main program was "RDDM0001 ".
        In the source code you have the termination point in line 62
        of the (Include) program "CL_UG_MD_TR_METHOD_EXPORT=====CM003".
    Source Code Extract
    Line  SourceCde
       32   FIELD-SYMBOLS <lt_table> TYPE INDEX TABLE.
       33   FIELD-SYMBOLS <ld_fsid> TYPE ug_sid.
       34   FIELD-SYMBOLS <ld_vsid> TYPE ug_sid.
       35 *  FIELD-SYMBOLS <lt_target> TYPE ANY TABLE.
       36
       37   ASSIGN io_itab->rd_wa->* TO <ls_wa>.
       38   IF i_value_sid IS NOT INITIAL.
       39     ASSIGN COMPONENT i_value_sid
       40            OF STRUCTURE <ls_wa>
       41            TO <ld_vsid>.
       42     CHECK sy-subrc = 0.
       43   ELSE.
       44     CREATE DATA lr_sid.
       45     ASSIGN lr_sid->* TO <ld_vsid>.
       46     CLEAR <ld_vsid>.
       47   ENDIF.
       48
       49   IF NOT i_fieldname_sid IS INITIAL.                  "Start hah160603.1
       50     ASSIGN COMPONENT i_fieldname_sid
       51            OF STRUCTURE <ls_wa>
       52            TO <ld_fsid>.
       53     CHECK sy-subrc = 0.
       54   ELSE.
       55     CALL METHOD ugmd_get_fieldname_to_table
       56       EXPORTING
       57         i_tabname = i_datainfo-tabname
       58       IMPORTING
       59         e_fieldname = ld_fieldname.
       60     lo_fieldname = cl_ug_md_fieldname=>if_ug_md_fieldname~get_instance(
       61       ld_fieldname ).
       62  >>>>>     ld_fieldname_sid_fix = lo_fieldname->ds_data-sid.
       63     ASSIGN ld_fieldname_sid_fix TO <ld_fsid>.
       64   ENDIF.                                                "End hah160603.1
       65
    Contents of system fields
    Name     Val.
    SY-SUBRC 0
    SY-INDEX 1
    SY-TABIX 0
    SY-DBCNT 0
    SY-FDPOS 0
    SY-LSIND 1
    SY-PAGNO 0
    SY-LINNO 1
    SY-COLNO 1
    SY-PFKEY TDR_FULL
    SY-UCOMM REFR
    SY-TITLE Transport organizer: ordens
    SY-MSGTY I
    SY-MSGID FINB_TR
    SY-MSGNO 009
    SY-MSGV1 &
    SY-MSGV2 &
    SY-MSGV3
    SY-MSGV4
    SY-MODNO 0
    SY-DATUM 20080904
    SY-UZEIT 200112
    SY-XPROG SAPLSYST
    SY-XFORM SYSTEM_HOOK_OPEN_DATASET
    If someone have gone trough a similar experience, or have any tip of how to solve this issue, i'd apreciate a comment.
    Will award points for valuable help.
    Thank you

    Hi Ricardo,
    You tried to transport the BCS' configuration, right?
    If in the request was the full set of settings from the start of the project, the it will definitely fail.
    There are some restrictions in BCS transport. See, for example the OSS Note #627924 - 'Restrictions with transport in BW-based SEM-BCS'. It particularly says:
    "For the initial system setup, and after substantial changes in the data model, you should transport the Customizing by means of manually created transport requests. We advise you not to use the automatic recording of all Customizing settings during the first implementation phase in the development system and not to use this request for the structure of the test and productive systems.
    During the transport of a new consolidation area, the following settings should be transported in the following sequence:
    1. Data basis
    2. Consolidation area
    3. Special versions
    After the import of the data basis and the consolidation area, these settings should be checked in the target system. In particular, the RFC destination, the InfoCubes and ODS objects, as well as the InfoObjects. Note that RFC destinations, InfoCubes, ODS objects, virtual cubes and InfoObjects cannot be transported from the consolidation workbench with the transport functions. For instance, you have to transport and activate the InfoCubes and InfoObjects using the BW."
    I usually transport the BCS setting in a little transport requests in this order:
    - all BW objects and settings
    - data basis (with source DB)
    - cons area
    - special versions
    - versions
    - master data
    ...etc.
    Hope this helps.

  • Can we use BCS component  in ECC 6.0, without installing BI 7.0?

    We have a unique situation. We have planned to migrate from 4.6B to ECC 6.0. We have FI- LC and we want to move to SEM-BCS 6.0 in ECC 6.0, without installing separate BI (netweaver 2004s) instance. Is that possible? If possible, will there be any performance issues?  If we use BCS in ECC 6.0, does it eliminate the job of FS data extraction to BW-SEM?
    Do we need a separate BI system, which can also include SEM-BCS? What are the advantages?
    We look forward for advice.

    We found that without installing BI 7.0, BCS component (with its own internal BI) is working in ECC 6.0. In earlier ECC 5.0 or R/3, such facility was not available.
    My question is that "Is it good to use SEM-BCS with in ECC 6.0" or  "Is it better to have separate BI instance, which can include BCS" .  Either answer has to be supported with points. Appreciate any assistance.

  • A better way to initialize imported taskflows and BCs with current user

    Hello.
    I'm currently developing a composite application containing one main application and a number of subapplications (modules) packed in adflibs.
    Main application has a side menu and a dynamic region, showing taskflows (on fragments) from adflibs.
    Main application is configured with adf security and it has current login and queries his ID. I would like main application to tell modules current user ID rather than each module to find out current user on their own.
    So there is currentUserID input parameter required in each imported taskflow. And my question is what is a better way to process this ID in the modules?
    What I have previously done is:
    I've created a custom BC classes layer, VOImpl and VORowImpl have getIdUser() method. This method reads currentUserID parameter from pageFlowScope where the taskflow is storing the parameter.
    Top-level View Objects have :IdUser query parameter and corresponding bind variable. This bind variable has value="source.getIdUser()", calling the method from custom VO class.
    This way works fine but here and there I read that it is a bad practice to access pageFlowScope from BCs.
    I could agree with this in case someone could share a better way.
    So what is a good practice?
    Thanks.
    ADF/JDev 11.1.2.3 - 12

    Why don't you use adf security for this? Read Oracle ADF: Security for Everyone which give you an overview and sample on how to implement this.
    Timo

  • Issue in periodic budget transfer in FM BCS

    Hi All,
    We have implement FM BCS na dfacing issue in periodic budget transfers. Below is a example..
    Uploaded Budget for A fund center and AA commitment item for all months of a FY 2012
    Jan   = 150
    Feb   =100
    Mar  =100
    Ap =100
    May  =300
    Jun  =200
    July = 200
    Aug =200
    Sep =200
    Oct =100
    Nov =100
    Dec = 100
    Now the total current budget for FY 2012 is 1850 eur
    Now I want to transfer budget from this fund center "A" and commitment item "AA" to some other fund center and commitment item. I am using distribution key as "0" lets say for feb 2012. I am able to transfer more than EUR 100 where as in FEB month I have only EUR 100 and I should not be able to transfer more than this. We are working on Annual Budgets.
    Please suggest on the same.
    Regards

    Hi,
    Budget control in BCS is working on annual/multi-annual basis, i.e. there will be no control on monthly basis even if you enter your budget period by period. If you want to implement monthly control, you might use FM object 'Budget period' which is available as from 6.04 release. If you are in earlier release you can make a workaround with some unused FM object, e.g. Funded Program. This issue has been discussed several times on SDN, so please search for available material.
    Regards,
    Eli

  • Problem connecting to external SQL table using BCS in SharePoint Foundation 2010

    Hi all,
    I am working on SharePoint Foundation 2010. I have a requirement wherein I need to connect to SQL in some other server.
    I used BCS to create external content type and then I created an external list. now when I try to view the list on browser it says "Login failed for the user NT AUTHORITY\ANONYMOUS LOGIN".
    I am using "User's Identity" for authentication with SQL.
    How can solve this issue. Please help.
    any help is greatly appreciated.
    Thanks.

    That sounds like you might not be using Kerberos and/or your Kerberos authentication isn't working to pass your credentials.
    As you may know there's a limitation with NTLM permissions that prevents something known as the 'double hop'. This is where a server (SharePoint for example) tries to request things on your behalf. With NTLM you can't do this at all, the alternative is to
    use Kerberos which can handle double hops. One thing to know about Kerberos, if it's not completely set up right then IIS and SharePoint will almost always revert to NTLM so it's easy to think you've enabled it only to discover it's failing and you're really
    using NTLM.
    This guide will take you through setting up Kerberos in painful detail, it's great:
    http://www.microsoft.com/en-us/download/details.aspx?id=23176

  • Trading Partner for open item document prior to BCS implementation

    Dear Experts,
    We have just introduced BCS in our company currently. One of the difficulties the user are facing is that the open item (many of them - thousand open item with different currencies and exhange rate) prior to the introduction of BCS does not contain Trading Partner. This ended up that the adjustment on the Trading Partner has to be done in BCS regularly. The amount in value of adjustment is not fixed - since there could be subsequent payment that will clear the open item.
    I understand that TP cannot be changed once posted. Have read a lot in the SAP portal and forum.
    Question: Based on your experience, it there a way that I can overcome this problem? Could SAP somehow allow TP to be assigned to open item document prior to implementation of BCS?
    I hope I can get some answer, otherwise, our user has to diligently continue to put the adjustment until all the open items are cleared.
    Thank you.
    Regards
    Fauzi

    hi,
    Check whether the document type you are using to post is allowed to enter the trading partner.
    To check use the TCODe OBA7  and select the relevent document type. then select the check box enter trading partner under control data.
    and also check the customer you assigned for that posting key 01 is got assigned trading partner in the master record or not(TCOD XD02/XD03).
    thanks.

  • Use of 0REFPER in multiprovider reporting with virtual provider in BCS

    Hi all,
    We're using the multiprovider reporting option in BCS 6.0 / BI7.
    As you may know the data in the 'closed periods' provider is populated with closed requests, which need not necessarily be for individual periods (this is different to BCS 4/BW3.5)
    As far as I understand from my discussion with the BI team, in the 'closed periods' provider each reference period is populated with ALL data for the year (so a January record appears in 0refper = 01,2008 and also 0refper = 02,2008, whereas a February record only appears in 0refper = 02,2008).
    Reporting on a specific reference period will provide data relevant to the hierarchies effective at that reference period.
    BUT when the virtual provider is taken in to account for March, surely the reference period is now 03,2008 - so how will the multiprovider choose any records from the 'closed periods' cube?
    What I'm not sure about is how the BI report should be structured in terms of 0REFPER selection to ensure that the relevant closed period data is selected alongside the virtual provider data.
    I haven't found anything in the help documentation, or the SDN forum - has anyone found a useful source of guidance from SAP?
    If not, has anyone got experence of this?
    (of course, points will be provided for all useful answers).

    Thanks Dan,
    I would caution about the use of 0refper for the multiprovider scenario.
    Have you used the multiprovider scenario? There is good documentation from SAP on how to set it up but nothing on how the queries/reports should be built. When BCS generates the multiprovider and virtual provider, it adds in 0refper (and the others)
    It is my understanding that the closed-period records are stored with cons group as opposed to those of the virtual infoprovider where cons group is only included for posting levels 02, 12, 22 and 30.
    + Thus if the organization/cons groups are changed, it could cause reporting issues unless the closed-period infoprovider is repopulated using the new or changed cons groups.+This was my understanding too, but the BI team are telling me it is NOT required in BCS 6 / BI7.
    I will investigate further an post my analysis back here.
    In the meantime if anyone else has experience of the multiprovider scenario reporting, espcially in BCS 6 / BI7. Then please do post your experiences here.

  • First Project - BCS

    ***INCLUDE LUCR_LSTF03 .
    *&       Form  display_detail_list
    FORM display_detail_list_subscreen.
      IF g_display_detail_again IS INITIAL.
        IF g_display_detail_next IS INITIAL.
    * Header text is displayed as dyn. document
          IF go_dydo IS INITIAL.
            CREATE OBJECT go_dydo.
          ELSE.
            FREE  go_dydo.
            CLEAR go_dydo.
            CREATE OBJECT go_dydo.
            PERFORM free_create_screen_objects.
          ENDIF.
        ELSE.
          IF NOT go_dydo->html_control IS INITIAL.
            CALL METHOD go_splitter_container->remove_control
              EXPORTING
                row    = 1
                column = 1.
          ENDIF.
        ENDIF.
      ENDIF.
    * Initialize document
      CALL METHOD go_dydo->initialize_document.
      IF  LINES( gt_header ) > 0.
    * Build and display detail-header
        PERFORM build_header TABLES gt_header
                             USING  go_dydo
                                    gs_header.
      ENDIF.
    * Merge header-document
      CALL METHOD go_dydo->merge_document.
    * set toolbar-added functions for detailed list
      REFRESH gt_toolbar.
      IF go_model->ds_tx_data_io_type-documents IS BOUND.       "mb210303
        PERFORM fill_tool_tab USING:
                     gt_toolbar gs_toolbar 'UCR_DUMMY'   '1',
                     gt_toolbar gs_toolbar 'UCR_ENTRIES' '2',
                     gt_toolbar gs_toolbar 'UCR_DUMMY'   '3',
                     gt_toolbar gs_toolbar 'UCR_PREV'    '4',
                     gt_toolbar gs_toolbar 'UCR_NEXT'    '5',
                     gt_toolbar gs_toolbar 'UCR_DUMMY'   '6'.
      ELSE.                                                   "mb210202 beg.
        PERFORM fill_tool_tab USING:
                     gt_toolbar gs_toolbar 'UCR_DUMMY'   '1',
                     gt_toolbar gs_toolbar 'UCR_PREV'    '2',
                     gt_toolbar gs_toolbar 'UCR_NEXT'    '3',
                     gt_toolbar gs_toolbar 'UCR_DUMMY'   '4'.
      ENDIF.                                                  "mb210202 end.
      SET HANDLER go_event_grid->handle_toolbar_comp   FOR go_grid.
    * Display header
      CALL METHOD go_dydo->display_document
        EXPORTING
          parent = go_container_head.
    * Set header-control visible with user set or
    * predefined height
      IF NOT go_splitter_container IS INITIAL.
        IF g_height IS INITIAL.
          g_height = 27.
        ENDIF.
        CALL METHOD go_splitter_container->set_row_height
          EXPORTING
            id     = 1
            height = g_height.
      ENDIF.
    * display detail-list
      CALL METHOD go_grid->set_table_for_first_display
        EXPORTING
          i_bypassing_buffer   = 'X'
          is_layout            = gs_layout_save
          it_toolbar_excluding = gt_exclude_toolbar
        CHANGING
          it_fieldcatalog      = gt_fieldcat_d
          it_outtab            = <gt_outtab_detail>.
      IF NOT g_display_detail_next IS INITIAL.
        CALL METHOD go_grid->refresh_table_display.
      ENDIF.
    * Set cursor on selected row if necesary
      IF NOT gt_row_id_detail IS INITIAL.
        CALL METHOD go_grid->set_selected_rows
          EXPORTING
            it_index_rows = gt_row_id_detail.
        REFRESH gt_row_id_detail.
      ENDIF.
      CLEAR: g_display_detail_next,
             g_display_detail_again.
    ENDFORM.                    " display_detail_list_subscreen
    *&      Form  display_main_list
    FORM display_main_list_subscreen. "using i_reporting_logic type uc_flg.
      CLEAR g_detail.
    * set toolbar-added functions
      REFRESH gt_toolbar.
      IF go_model->ds_tx_data_io_type IS NOT INITIAL.
        IF go_model->ds_tx_data_io_type-documents IS BOUND.     "mb210303
    *        and i_reporting_logic is initial.
          PERFORM fill_tool_tab USING:
                       gt_toolbar gs_toolbar 'UCR_DUMMY'   '1',
                       gt_toolbar gs_toolbar 'UCR_ENTRIES' '2',
                       gt_toolbar gs_toolbar 'UCR_DUMMY'   '3',
                       gt_toolbar gs_toolbar 'UCR_SEL_COND' '4',
                       gt_toolbar gs_toolbar 'UCR_DUMMY'   '5'.
        ELSE.
          PERFORM fill_tool_tab USING:
                       gt_toolbar gs_toolbar 'UCR_DUMMY'   '1',
                       gt_toolbar gs_toolbar 'UCR_SEL_COND' '2',
                       gt_toolbar gs_toolbar 'UCR_DUMMY'   '3'.
        ENDIF.                                                  "mb210303
        SET HANDLER go_event_grid->handle_toolbar_comp   FOR go_grid.
      ELSE    .
        PERFORM fill_tool_tab USING:
                     gt_toolbar gs_toolbar 'UCR_DUMMY'   '1',
                     gt_toolbar gs_toolbar 'UCR_SEL_COND' '2',
                     gt_toolbar gs_toolbar 'UCR_DUMMY'   '3'.
        SET HANDLER go_event_grid->handle_toolbar_comp   FOR go_grid.
      ENDIF.
    * Set header-control invisible while main-list is displayed
      IF NOT go_splitter_container IS INITIAL.
    * Header container can be set visible by user on main-screen
        CALL METHOD go_splitter_container->set_row_height
          EXPORTING
            id     = 1
            height = 0.
        IF NOT go_dydo IS INITIAL.
    * Display last header if user wants to set it visible
          CALL METHOD go_dydo->display_document
            EXPORTING
              parent = go_container_head.
        ENDIF.
      ENDIF.
    * subscreen with main list simply is started once again
    * prepared with current user settings
      IF ( LINES( gt_fieldcat_save ) > 0 ) AND
         NOT g_display_main_again IS INITIAL.
        REFRESH gt_fieldcat.
        gt_fieldcat[] = gt_fieldcat_save[].
    *    clear g_display_main_again.
    * is necessary, because current_frontend_fieldcat must be set
        CALL METHOD go_grid->set_table_for_first_display
          EXPORTING
            i_bypassing_buffer   = 'X'
            i_save               = g_save
            is_layout            = gs_layout
            is_variant           = gs_variant
            it_special_groups    = gt_sgrp                      "mb110403
            it_toolbar_excluding = gt_exclude_toolbar
          CHANGING
            it_fieldcatalog      = gt_fieldcat
            it_outtab            = <gt_outtab>.
    * set current fieldcat
        CALL METHOD go_grid->set_frontend_fieldcatalog
          EXPORTING
            it_fieldcatalog = gt_fieldcat.
    * now reset other current layout-infos if necessary
        PERFORM set_current_layout USING go_grid
                                         gt_filter_save
                                         gt_sort_save
                                         gs_layout_save.
    * display current main-list
        CALL METHOD go_grid->refresh_table_display.
        REFRESH: gt_fieldcat_save, gt_filter_save, gt_sort_save.
        CLEAR  : gs_layout_save.
      ELSE.
    * Show ALV
        CALL METHOD go_grid->set_table_for_first_display
          EXPORTING
            i_bypassing_buffer   = 'X'
            i_save               = g_save
            is_layout            = gs_layout
            is_variant           = gs_variant
            it_special_groups    = gt_sgrp                      "mb110403
            it_toolbar_excluding = gt_exclude_toolbar
          CHANGING
            it_sort              = gt_sort
            it_fieldcatalog      = gt_fieldcat
            it_outtab            = <gt_outtab>.
        CLEAR g_display_detail_again.
        g_display_main_again = 'X'.
      ENDIF.
    * Set cursor on selected row if necesary
      IF NOT gt_row_id IS INITIAL.
        CALL METHOD go_grid->set_selected_rows
          EXPORTING
            it_index_rows = gt_row_id.
      ENDIF.
    ENDFORM.                    " display_main_list_subscreen
    *&      Form  display_message
    FORM display_message USING lo_grid_object TYPE REF TO cl_gui_alv_grid
                               lf_refresh_msg_table TYPE c.
      DATA: l_lines       TYPE i,
            ls_layout     TYPE lvc_s_layo.
    * header_main is not used by Worbench
      IF g_subscreen IS INITIAL.
        PERFORM header_main.
      ENDIF.
      g_no_data = 'X'.
    * if first data selection results no data gt_parameter_save must be
    * filled  from lt_parameter to take care of further user changed
    * parameters from list screen
      DESCRIBE TABLE gt_parameter_save LINES l_lines.
      IF l_lines =  0.
        gt_parameter_save[] = gt_parameter[].
      ENDIF.
      PERFORM no_data_selected IN PROGRAM (gc_progname)
                                USING      gt_fieldcat_mess
                                           gs_fieldcat_mess
                                           gt_message
                                           gs_message
                                           text-101
                                           text-102
                                           'TEXT'
                                           'LT_MESSAGE'
                                           lf_refresh_msg_table   " 'X'
                                           space.      "  'C610'. no color, accessibility
    *** Start of Comment By Ramesh Babu N,IBM - C1DK900725 ***
    * Set header-control invisible while main-list is displayed
    *  IF NOT go_splitter_container IS INITIAL.
    *    CALL METHOD go_splitter_container->set_row_height
    *      EXPORTING
    *        id     = 1
    *        height = 0.
    *    CALL METHOD go_splitter_container->set_row_sash
    *      EXPORTING
    *        id    = 1
    *        type  = cl_gui_splitter_container=>type_sashvisible
    *        value = cl_gui_splitter_container=>false.
    *  ENDIF.
    *** End of Comment By Ramesh Babu N,IBM - C1DK900725  ***
    * display messages
    *  ls_layout-no_toolbar = 'X'.
      CALL METHOD lo_grid_object->set_table_for_first_display
        EXPORTING
          i_bypassing_buffer   = 'X'
          it_toolbar_excluding = gt_exclude_toolbar_mess
          is_layout            = ls_layout
        CHANGING
          it_fieldcatalog      = gt_fieldcat_mess
          it_outtab            = gt_message.
    *** Start of Comment By Ramesh Babu N,IBM - C1DK900725 ***
    * Event-Handler for docking-container
    *  IF go_event_dock IS INITIAL.
    *    CREATE OBJECT go_event_dock.
    *  ENDIF.
    *** End of Comment By Ramesh Babu N,IBM - C1DK900725  ***
      IF go_parameter IS INITIAL.
        CALL METHOD cl_uc_parameter=>get_instance
          IMPORTING
            eo_instance = go_parameter.
      ENDIF.
    *** Start of Comment By Ramesh Babu N,IBM - C1DK900725 ***
    *  SET HANDLER go_event_dock->handle_new_parameters FOR go_parameter.
    *** End of Comment By Ramesh Babu N,IBM - C1DK900725  ***
    ENDFORM.                    " display_message
    *&      Form  sub_download_data
    * Used for downloading BCS data to a TAB delimited file in Custom task *
    *      <--ct_data  HASHED TABLE
    FORM f_download_data  USING     ct_task     TYPE uc_task
                                    ct_sel      TYPE uc0_ts_sel
                                    gt_param    TYPE ucm_ts_parameter
                          CHANGING  ct_message  TYPE uc0_t_message
                                    ct_data     TYPE HASHED TABLE..
    * SUBROUTINE DESCRIPION: Used for downloading BCS data to file in Custome Task
    *           DEVELOPER: Ramesh Babu Nalla , IBM
    *       CREATION DATE: 2007-10-11
    *          DER NUMBER: None
    * TRANSPORT NUMBER(S): C1DK900725
    * REVISION HISTORY-----------------------------------------------------*
    *       REVISION NO: C1DK900725      REFERENCE NO:  None
    *         DEVELOPER: Ramesh Babu N,IBM       DATE:  2007-10-11
    *       DESCRIPTION: Copied from SAP FM UCR_LST_LOGIC *
      CONSTANTS : c_task01 TYPE uc_task VALUE 'T2700',
                  c_task02 TYPE uc_task VALUE 'T2490'.
      TYPES:  BEGIN OF ty_download,
    **            /bic/zcs_comp   TYPE char08,      " Unilever-Company
    **            /bic/zcs_item   TYPE char10,      " Unilever-Item
    **            /1fb/move_type  TYPE char03,      " Unilever-Movement type
    **            /bic/zcs_pcom   TYPE char08,      " Unilever-Partner Company
    **            /bic/zcs_invc   TYPE char08,      " Unilever-Investee Company
    **            /bic/zcs_cang   TYPE char03,      " Unilever-Cost Analysis Group
    **            /bic/zcs_ad     TYPE char08,      " Unilever-Aquisitions/Disposals
    **            /bic/zcs_cd     TYPE char08,      " Unilever-Continued/Discontinued Ops.
    **            /bic/zcs_prgp   TYPE char08,      " Unilever-Product Category
                /bic/zfb_comp   TYPE char08,      " Unilever-Company
                /bic/zfb_item   TYPE char10,      " Unilever-Item
                /bic/zfb_move   TYPE char03,      " Unilever-Movement type
                /bic/zfb_pcom   TYPE char08,      " Unilever-Partner Company
                /bic/zfb_invc   TYPE char08,      " Unilever-Investee Company
                /bic/zfb_cang   TYPE char03,      " Unilever-Cost Analysis Group
                /bic/zfb_ad     TYPE char08,      " Unilever-Aquisitions/Disposals
                /bic/zfb_cd     TYPE char08,      " Unilever-Continued/Discontinued Ops.
                /bic/zfb_prgp   TYPE char08,      " Unilever-Product Category
                /1fb/cs_trn_lc  TYPE string,      " Unilever-Period value in Local currency
                /1fb/cs_trn_qty TYPE string,     " Unilever-Periodic quantity
                unit            type string,
              END OF ty_download.
    * flag
      DATA flg_chk TYPE c.
      DATA: lr_s_data_out TYPE REF TO data,
            lr_t_data_out TYPE REF TO data,
            l_outtype     TYPE field_type VALUE 'UCR_SX_TX_DATA_LST',
            lr            TYPE REF TO data,
            lo_conv       TYPE REF TO lcl_convert_output,
            lt_char       TYPE lcl_convert_output=>th_comp,
            ls_comp       TYPE lcl_convert_output=>s_comp,
            lr_s_data     TYPE REF TO data,
            lr_t_data     TYPE REF TO data,
            l_filename    TYPE string,
            l_action      TYPE i,
            l_path        TYPE string,
            l_seperator   TYPE char01 VALUE 'X',
            l_fullpath    TYPE string,
            l_mmyy        TYPE string,
            lr_sel_data   TYPE REF TO data,
            lr_t_val      TYPE REF TO data,
            lr_t_final    TYPE REF TO data,
            lr_val        TYPE REF TO data,
            ls_download   TYPE REF TO data,
            lt_download   TYPE REF TO data,
            ls_sel        TYPE REF TO data,
            ls_msg        TYPE uc0_s_message.
    ** SOC by Dpak-------------------------------------------------------------------------------------------
    ** Changed by Deepak N Jain, IBM on 16/11/2006 as the corresponding field name assigned by Ramesh from
    ** the structure <LS_DATA_OUT> are not matching. This is because of the new cube from whch the Financial
    ** data is coming now. The new cube is ZFBCS_T1 which has replaced the old cube ZCS_T1.
    ** Hence, Short Dump on Execution.
    **  DATA: l_comp        TYPE string VALUE '/BIC/ZCS_COMP',  " Unilever-Company
    **        l_cgcomp      TYPE string VALUE '/1FB/SEM_CGCOMP'," Unilever-Consolidation Group
    **        l_pcomp       TYPE string VALUE '/BIC/ZCS_PCOM',  " Unilever-Partner Company
    **        l_doct        TYPE string VALUE '/BIC/ZCS_DOCT',  " Unilever-Document type
    **        l_plevel      TYPE string VALUE 'CS_PLEVEL',      " Unilever-Posting Level
    **        l_tc          TYPE string VALUE '/1FB/CS_TRN_TC', " Unilever-Period value in Transaction currency
    **        l_qty         TYPE string VALUE '/1FB/CS_TRN_QTY'," Unilever-Periodic quantity
    **        l_trn_lc      TYPE string VALUE '/1FB/CS_TRN_LC', " Unilever-Period value in Local currency
    **        l_bu          TYPE string VALUE '/BIC/ZCS_PROF',  " Unilever-Business Unit/Cost Centre
    **        l_low         TYPE string VALUE 'LOW'.
      DATA: l_comp        TYPE string VALUE '/BIC/ZFB_COMP',  " Unilever-Company
            l_cgcomp      TYPE string VALUE '/BIC/ZFB_CG1',   " Unilever-Consolidation Group
            l_pcomp       TYPE string VALUE '/BIC/ZFB_PCOM',  " Unilever-Partner Company
            l_doct        TYPE string VALUE '/BIC/ZFB_DOCT',  " Unilever-Document type
            l_invc        TYPE string VALUE '/BIC/ZFB_INVC',  " Unilever-Investee Company
            l_plevel      TYPE string VALUE 'CS_PLEVEL',      " Unilever-Posting Level
            l_tc          TYPE string VALUE '/1FB/CS_TRN_TC', " Unilever-Period value in Transaction currency
            l_qty         TYPE string VALUE '/1FB/CS_TRN_QTY'," Unilever-Periodic quantity
            l_trn_lc      TYPE string VALUE '/1FB/CS_TRN_LC', " Unilever-Period value in Local currency
            l_bu          TYPE string VALUE '/BIC/ZCS_PROF',  " Unilever-Business Unit/Cost Centre
            l_low         TYPE string VALUE 'LOW',
            l_unit        TYPE string  VALUE 'UNIT'.
    ** EOC by Dpak-----------------------------------------------------------------------------------------------
    ** future use **
    **  FISCVARNT TYPE L0002FISCVARNT,
    **  FISCPERIOD TYPE L0002FISCPERIOD,
    **  /BIC/ZFB_VERS TYPE L0002/BIC/ZFB_VERS,
    **  /BIC/ZFB_CG1 TYPE L0002/BIC/ZFB_CG1,
    **  /BIC/ZFB_COMP TYPE L0002/BIC/ZFB_COMP,
    **  /1FB/CS_CHART TYPE L0002/1FB/CS_CHART,
    **  /BIC/ZFB_MOVE TYPE L0002/BIC/ZFB_MOVE,
    **  /BIC/ZFB_PCOM TYPE L0002/BIC/ZFB_PCOM,
    **  ACQ_YEAR TYPE L0002ACQ_YEAR,
    **  ACQ_PER TYPE L0002ACQ_PER,
    **  /BIC/ZFB_INVC TYPE L0002/BIC/ZFB_INVC,
    **  /BIC/ZFB_ALCO TYPE L0002/BIC/ZFB_ALCO,
    **  CS_PLEVEL TYPE L0002CS_PLEVEL,
    **  /BIC/ZFB_DOCT TYPE L0002/BIC/ZFB_DOCT,
    **  BCS_CTFLG TYPE L0002BCS_CTFLG,
    **  UNIT TYPE L0002UNIT,
    **  /1FB/CURKEY_TC TYPE L0002/1FB/CURKEY_TC,
    **  /1FB/CURKEY_LC TYPE L0002/1FB/CURKEY_LC,
    **  /1FB/CURKEY_GC TYPE L0002/1FB/CURKEY_GC,
    **  /BIC/ZFB_PRGP TYPE L0002/BIC/ZFB_PRGP,
    **  /BIC/ZFB_COUN TYPE L0002/BIC/ZFB_COUN,
    **  /BIC/ZFB_CANG TYPE L0002/BIC/ZFB_CANG,
    **  /1FB/FUNC_AREA TYPE L0002/1FB/FUNC_AREA,
    **  /BIC/ZFB_CT TYPE L0002/BIC/ZFB_CT,
    **  /BIC/ZFB_CD TYPE L0002/BIC/ZFB_CD,
    **  /BIC/ZFB_AD TYPE L0002/BIC/ZFB_AD,
    **  /BIC/ZFB_FR01 TYPE L0002/BIC/ZFB_FR01,
    **  /BIC/ZFB_FR02 TYPE L0002/BIC/ZFB_FR02,
    **  FISCYEAR TYPE L0002FISCYEAR,
    **  /BIC/ZFB_ITEM TYPE L0002/BIC/ZFB_ITEM,
    ** future use **
      FIELD-SYMBOLS: <lt_data_out> TYPE STANDARD TABLE,
                     <ls_data_out> TYPE ANY,
                     <ls_data>     TYPE ANY,
                     <ls_data_cop> TYPE ANY,
                     <lt_data_std> TYPE STANDARD TABLE,
                     <ls_data_std> TYPE ANY,
                     <ls_download>  TYPE ANY,
                     <lt_download> TYPE STANDARD TABLE,
                     <comp>        TYPE ANY,
                     <cgcomp>      TYPE ANY,
                     <pcomp>       TYPE ANY,
                     <doct>        TYPE ANY,
                     <plevel>      TYPE ANY,
                     <tc>          TYPE ANY,
                     <invc>        TYPE ANY,
                     <qty>         TYPE ANY,
                     <unit>        TYPE ANY,
                     <trn_lc>      TYPE ANY,
                     <comp1>       TYPE ANY,
                     <cgcomp1>     TYPE ANY,
                     <pcomp1>      TYPE ANY,
                     <doct1>       TYPE ANY,
                     <plevel1>     TYPE ANY,
                     <tc1>         TYPE ANY,
                     <invc1>       TYPE ANY,
                     <qty1>        TYPE ANY,
                     <trn_lc1>     TYPE ANY,
                     <unit1>       TYPE ANY,
                     <bu>          TYPE ANY,
                     <bu1>         TYPE ANY,
                     <low>         TYPE ANY,
                     <l_year>      TYPE ANY ,
                     <l_period>    TYPE ANY ,
                     <l_mmyy>      TYPE ANY,
                     <ls_sel_data> TYPE ANY,
                     <ls_val>      TYPE zbcs_check_val,
                     <lt_t_val>    TYPE STANDARD TABLE,
                     <lt_t_final>  TYPE STANDARD TABLE.
    **************** Begin Of Addtion - ASIF MAQBOOL ******************
      Data: BEGIN OF l_s_tab,
            values TYPE C LENGTH 400,
           end OF l_s_tab,
          gs_param LIKE LINE OF gt_param,
          l_temp_store LIKE gt_param.
      Field-SYMBOLS: <gt_param> TYPE ANY TABLE,
                     <final_gt> TYPE any ,
                     <gs_fieldname> TYPE any,
                     <gs_value> TYPE any.
      Data: l_t_tab TYPE TABLE OF string INITIAL SIZE 0,
           str TYPE string,
           str1 TYPE string.
    **************** End Of Addtion - ASIF MAQBOOL ******************
    * create Line-structure of data table
      CREATE DATA lr_s_data LIKE LINE OF ct_data.
      ASSIGN lr_s_data->* TO <ls_data_std>.
    ** create cumulation table
      CREATE DATA lr_t_data LIKE STANDARD TABLE OF <ls_data_std>.
      ASSIGN lr_t_data->* TO <lt_data_std>.
      LOOP AT ct_data INTO <ls_data_std>.
        COLLECT <ls_data_std> INTO <lt_data_std>.
      ENDLOOP.
      FREE ct_data.
    * get reference for outtab / create outtab
      CALL METHOD go_model->create_data_reference
        EXPORTING
          io_tx_data_io_type = go_model->ds_tx_data_io_type-totals
          i_type             = l_outtype "'UCR_SX_TX_DATA_LST'
        IMPORTING
          er_data            = lr_s_data_out.
      ASSIGN lr_s_data_out->* TO <ls_data_out>.
      ASSIGN lr_s_data_out->* TO <ls_data_cop>.
      CREATE DATA lr_t_data_out LIKE STANDARD TABLE OF <ls_data_out>.
      ASSIGN lr_t_data_out->* TO <lt_data_out>.
      CREATE DATA lr LIKE LINE OF <lt_data_std>.
      ASSIGN lr->* TO <ls_data>.
      CALL METHOD lcl_convert_output=>get_instance
        EXPORTING
          io_model    = go_model
          it_char     = lt_char
        IMPORTING
          eo_instance = lo_conv
        CHANGING
          cs_data     = <ls_data>.
      ASSIGN: l_comp   TO <comp>,
              l_cgcomp TO <cgcomp>,
              l_pcomp  TO <pcomp>,
              l_invc   TO <invc>,
              l_doct   TO <doct>,
              l_plevel TO <plevel>,
              l_tc     TO <tc>,
              l_qty    TO <qty>,
              l_trn_lc TO <trn_lc>,
              l_bu     TO <bu>,
              l_mmyy   TO <l_mmyy>,
              l_low    TO <low>,
              l_unit   TO <unit>.
      LOOP AT <lt_data_std> INTO <ls_data>.    "  loop
        CALL METHOD lo_conv->convert_output.      "end of "wis240605
    *     fill outtab
        ASSIGN COMPONENT if_uc_model=>gc_type_comp_s_char
        OF STRUCTURE <ls_data> TO <ls_data_cop>.
        MOVE-CORRESPONDING <ls_data_cop> TO <ls_data_out>.
        ASSIGN COMPONENT if_uc_model=>gc_type_comp_s_kfig
        OF STRUCTURE <ls_data> TO <ls_data_cop>.
        MOVE-CORRESPONDING <ls_data_cop> TO <ls_data_out>.
        IF ct_task = c_task01 OR ct_task = space . "'it can be T2700 or blank
    *****  aggregate the transactionaldata for given Rules  *****
          ASSIGN COMPONENT : <comp>   OF STRUCTURE <ls_data_out> TO <comp1>,
                             <cgcomp> OF STRUCTURE <ls_data_out> TO <cgcomp1>,
                             <pcomp>  OF STRUCTURE <ls_data_out> TO <pcomp1>,
                             <doct>   OF STRUCTURE <ls_data_out> TO <doct1>,
                             <invc>   OF STRUCTURE <ls_data_out> TO <invc1>, "added by Asif M.
                             <plevel> OF STRUCTURE <ls_data_out> TO <plevel1>,
                             <tc>     OF STRUCTURE <ls_data_out> TO <tc1>,
                             <qty>    OF STRUCTURE <ls_data_out> TO <qty1>,
                             <trn_lc> OF STRUCTURE <ls_data_out> TO <trn_lc1>.
    **** 1st Rule ****
    * dont include records where '/1FB/CS_TRN_QTY' and '/1FB/CS_TRN_LC' are blank
          IF <trn_lc1> = 0 AND <qty1> = 0.
            CONTINUE.
          ENDIF.
    **** 2nd Rule ****
    * delete the Posting levels if it is > 1 and clear to blank  CS_PLEVEL
          CHECK <plevel1> LE 1.
          CLEAR <plevel1>.
    **** 3rd Rule ****
    * replace the Unilever Company with CG without prefix G and compare with Partner comp for deletion
    * /BIC/ZCS_COMP with   /1FB/SEM_CGCOMP and check with /BIC/ZCS_PCOM
          IF ct_task <> space.
    ***  code added by Ramesh for the removal GBRNCH  records while downloading the file.
    **** code for removal of GBRNCH records only - Hardcode - sample code
    *        IF <cgcomp1> <> 'GBRNCH'.   " to avoid BRNCH records
    ** replace Company with CG without prefix G when task name is not blank
    *          <comp1> = <cgcomp1>+1.
    *        ELSE.
    *          CONTINUE.
    *        ENDIF.
    **** code for removal of GBRNCH records only - Hardcode - sample code
    ***  the assumption here,is consider only records with Legal entity as numeric excepting the first character
            IF <cgcomp1>+1 CN sy-abcde.   " to avoid BRNCH records
    * replace Company with CG without prefix G when task name is not blank
              <comp1> = <cgcomp1>+1.
            ELSE.
              CONTINUE.
            ENDIF.
          ENDIF.
    * removing leading zero's as SAP sometimes adding them to <pcomp1>.
    *      CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'
    *        EXPORTING
    *          input  = <pcomp1>
    *        IMPORTING
    *          output = <pcomp1>.
          PERFORM f_alpha_conversion USING <comp1>
                                          CHANGING <comp1>.
          PERFORM f_alpha_conversion USING <pcomp1>
                                     CHANGING <pcomp1>.
          " removing leading zero's from Investee Unit company - Added By Asif Maqbool, IBM/Unilever, 25/01/2008.
          PERFORM f_alpha_conversion USING <invc1>
                                     CHANGING <invc1>.
          CHECK <comp1> <> <pcomp1>.
    **** 4rth Rule ****
    * initialise Document type & PV TC to blank   /BIC/ZCS_DOCT & /1FB/CS_TRN_TC
          CLEAR: <doct1>,<tc1>.
        ENDIF.
        COLLECT: <ls_data_out> INTO <lt_data_out>.
      ENDLOOP.          " end loop
      IF <lt_data_out> IS INITIAL.
        PERFORM f_build_msgs USING 'UCM0'
                                   'W'
                                   '053'
                                   text-102
                                   space "ct_task
                                   space
                                   space
                          CHANGING ct_message.
        RETURN.
        MESSAGE e208(00) WITH text-102.
        EXIT.
      ENDIF.
    * perform various steps based on task name
      CASE ct_task.
        WHEN c_task01 OR space.              " 'T2700' or blank
    * download the data into a tab delimited file
    ****             start of Task 0001              ****
    * create Line-structure of download table
          CREATE DATA ls_download TYPE ty_download.
          ASSIGN ls_download->* TO <ls_download>.
    ** create Download data internal table for task T2700
          CREATE DATA lt_download LIKE STANDARD TABLE OF <ls_download>.
          ASSIGN lt_download->* TO <lt_download>.
          LOOP AT <lt_data_out> INTO <ls_data_out>.
            MOVE-CORRESPONDING <ls_data_out> TO <ls_download>.
            ASSIGN COMPONENT <trn_lc> OF STRUCTURE <ls_download> TO <trn_lc1>.
    *** 6th Rule **********************
            " Check for values, if present remove decimals, if not present clear it of (blank).
            UNASSIGN <qty1>.
            ASSIGN COMPONENT <qty> of STRUCTURE <ls_download> to <qty1>.
            ASSIGN COMPONENT <unit> of STRUCTURE <ls_download> to <unit1>.
            if <unit1> = '' OR <unit1> <> '%'.
              REPLACE ALL OCCURRENCES OF '.' in <qty1> WITH '' RESPECTING CASE.
              <qty1> = ''.
            endif.
            if <unit1> <> '' And <qty1> <> ''.
              <unit1> = ''. " We dont need unit downloaded.
              REPLACE ALL OCCURRENCES OF '.' in <qty1> WITH '' RESPECTING CASE.
              <qty1> = <qty1>+0(2).
            endif.
    **** 5th Rule ****
    * Move the Negative sign to front
            PERFORM f_put_sign_in_front CHANGING <trn_lc1>.
            INSERT <ls_download>  INTO TABLE <lt_download>.
          ENDLOOP.
    * move the aggregated data to final table for display
          FREE ct_data.
          ct_data = <lt_data_out>.
          CLEAR: l_path,l_filename,l_fullpath,l_action.
          CALL FUNCTION 'GUI_FILE_SAVE_DIALOG'
           EXPORTING
             window_title            = 'Download aggregated BCS data to Tab Delimited file'
             default_extension       = 'txt'
    *   DEFAULT_FILE_NAME       = dynamic file name as like ALE settings
             file_filter             = 'Text files (*.txt)'
           IMPORTING
             filename                = l_filename
             path                    = l_path
             fullpath                = l_fullpath
             user_action             = l_action .
          CALL METHOD cl_gui_cfw=>flush.
          " *************************** START OF CHANGE - ASIF MAQBOOL ************************
          IF l_action = 0 OR l_action = 1.
            ASSIGN gt_param TO <gt_param>.
            APPEND '100' to l_t_tab.
            READ TABLE gt_param INDEX 6 INTO gs_param.
            ASSIGN COMPONENT 2 OF STRUCTURE gs_param to <gs_value>.
            APPEND <gs_value> to l_t_tab.
            Clear gs_param.
            READ TABLE gt_param INDEX 4 INTO gs_param.
            ASSIGN COMPONENT 2 OF STRUCTURE gs_param to <gs_value>.
            APPEND <gs_value> to l_t_tab.
    *        LOOP AT <gt_param> INTO gs_param.
    *          ASSIGN COMPONENT 1 OF STRUCTURE gs_param to <gs_fieldname>.
    *          CASE <gs_fieldname>.
    *             WHEN '/BIC/ZFB_VERS'.
    *              APPEND '100' to l_t_tab.
    *             WHEN 'FISCPERIOD'.
    *                ASSIGN COMPONENT 2 OF STRUCTURE gs_param to <gs_value>.
    *                APPEND <gs_value> to l_t_tab.
    *             WHEN 'FISCYEAR'.
    *                ASSIGN COMPONENT 2 OF STRUCTURE gs_param to <gs_value>.
    *                APPEND <gs_value> to l_t_tab.
    *              WHEN OTHERS.
    *                ENDCASE.
    *        ENDLOOP.
            CONCATENATE LINES OF l_t_tab INTO str1 SEPARATED BY cl_abap_char_utilities=>horizontal_tab.
            CLEAR l_t_tab.
            INSERT str1 INTO TABLE l_t_tab.
            ASSIGN l_t_tab TO <final_gt>.
            "  To Start by adding the Header Data.
            CALL METHOD cl_gui_frontend_services=>gui_download
              EXPORTING
                filename              = l_fullpath
                write_field_separator = l_seperator "SPACE
              CHANGING
                data_tab              = <final_gt>
              EXCEPTIONS
                file_write_error      = 1.
            " Now append the Data after the header data insertion.
            CALL METHOD cl_gui_frontend_services=>gui_download
              EXPORTING
                filename                = l_fullpath
                write_field_separator   = l_seperator "SPACE
                append                  = 'X'
              CHANGING
                data_tab                = <lt_download>
              EXCEPTIONS
                file_write_error        = 1
                no_batch                = 2
                gui_refuse_filetransfer = 3
                invalid_type            = 4
                no_authority            = 5
                unknown_error           = 6
                header_not_allowed      = 7
                separator_not_allowed   = 8
                filesize_not_allowed    = 9
                header_too_long         = 10
                dp_error_create         = 11
                dp_error_send           = 12
                dp_error_write          = 13
                unknown_dp_error        = 14
                access_denied           = 15
                dp_out_of_memory        = 16
                disk_full               = 17
                dp_timeout              = 18
                file_not_found          = 19
                dataprovider_exception  = 20
                control_flush_error     = 21
                not_supported_by_gui    = 22
                error_no_gui            = 23
                OTHERS                  = 24.
            " *************************** END OF CHANGE - ASIF MAQBOOL ************************
            IF sy-subrc <> 0.
    *          MESSA

    Hi,
    I am also from same project.
    We are facing a problem with this code.
    How can I increase the length of the field obtained by this method.
    CALL METHOD go_model->create_data_reference
        EXPORTING
          io_tx_data_io_type = go_model->ds_tx_data_io_type-totals
          i_type             = l_outtype "'UCR_SX_TX_DATA_LST'
        IMPORTING
          er_data            = lr_s_data_out.
    ASSIGN lr_s_data_out->* TO <ls_data_out>.
    We are getting data overflow error when we try to move some large value to one of the field in <ls_data_out>.
    we can avoid this if the field length is increased.
    Waiting for your reply.
    Regards
    Madhu G S

Maybe you are looking for

  • Problems with HP Laserjet

    The HP Laserjet dosn't print correctly. Often when i print more pages only the even pages come out (not the 3rd, 5th, and 7th page)... Or the printing dosn't start. There is actually no pattern in which the errors occur. Are there any suggestions?

  • Apple script for QT

    In FCP you can scrub though a video in the viewer by 1 second intervals by holding shift + arrow key (left=back, right=forward). I really like this shortcut. Anyone have any script for QT to make it do the same thing? Apple should add it on the next

  • CUA and E-Recruiting

    Has anyone used E-Recruiting with CUA?  Or does it need to be left out of our landscape for CUA? The issue is when an external candidate attempts to register thru E-Recruitment, we receive an error mesage that you are not authorized to create a user.

  • Converting cmyk to rgb

    I have about 200 .psd files with a customized CMYK profile (used for press) that I have covert to Adobe RGB (1998).   Amazon recommends this for Look Inside, because CMYK fails when they OCR the PDFs. The only way I know to do this is one .psd at a t

  • My iPod is formatted for Mac and can not get Windows iTunes to recognize it. How do I format it for Windows?

    I need serious help! I can not seem to restore my iPod to Windows as it is in MAC format. The windows computer "dings" when plugged in, but is not recognized in iTunes or computer. I have no problem when it is plugged into my MAC!!! PLEASE HELP, this