Export rate stepz to ABAP

Hi Expert,
I have a rate(ZGAS_Bill_DSC) with rate steps with lot of
If
Else
EndIF
How can I  export  to one ABAP code behind all steps in one file ?
I think I’ll have a better overview.
Regards,
Tierno

QT does not support the export of the sound from mpeg-1 and mpeg-2 files.QT Mpeg Limitations
This freeware, however, will export both sound and video from mpeg-1 as is (mpeg-2 requires the Apple Playback component). Mpeg StreamClip
Mpeg-1 is usually 41.100, I believe. You may need to set it to that via the MIDI settings. Others have reported problems hearing sound in QT with the 48000 setting. That, however, is a separate issue from the lack of sound in mpeg exports from QT.

Similar Messages

  • Unable to open the export file during Import ABAP phase on tar(System copy)

    Hi Experts,
    We are encountering the following error during Import ABAP phase on target system as we are performing system copy on target system as part of hardware migration(Data center migration).
    Scenario:
    Sourrce system -  BI- ABAP(7.01), Win 2003 x64 unicode,Oracle 10.2.0.4
    Target system - BI-ABAP(7.01), Win 2008 R2 unicode, Oracle 11.2.0.1
    Actually on source system the data has been generated using migration monitor by using table splitting option and transferred on target system thru ftp option.
    During Import process while selecting the Database installation type we have selected the installation method as "Standard systemcopy/Migration(load based)" and not checked the option "Start Migration montior Manually".
    As far as my concern this error has nothing to do with this selection.please correct me If i am wrong.
    T:\usr\sap\BWS\SYS\exe\uc\NTAMD64\R3load.exe: START OF LOG: 20110428082000
    T:\usr\sap\BWS\SYS\exe\uc\NTAMD64\R3load.exe: sccsid @(#) $Id: //bas/701_REL/src/R3ld/R3load/R3ldmain.c#5 $ SAP
    T:\usr\sap\BWS\SYS\exe\uc\NTAMD64\R3load.exe: version R7.01/V1.4 [UNICODE]
    Compiled Feb 24 2009 23:41:07
    T:\usr\sap\BWS\SYS\exe\uc\NTAMD64\R3load.exe -dbcodepage 4103 -i test_MIGKEY.cmd -l test_MIGKEY.log -K
    DbSl Trace: ORA-1403 when accessing table SAPUSER
    (DB) INFO: connected to DB
    (DB) INFO: DbSlControl(DBSL_CMD_NLS_CHARACTERSET_GET): UTF8
    (TFH) ERROR: Unable to open
    10.207.3.59\d$\ftproot\import_sap\BWS\ABAP\DATA\ARFCSDATA.TOC
    (TFH) ERROR: OS error message: Invalid argument
    T:\usr\sap\BWS\SYS\exe\uc\NTAMD64\R3load.exe: job finished with 1 error(s)
    T:\usr\sap\BWS\SYS\exe\uc\NTAMD64\R3load.exe: END OF LOG: 20110428082003
    Kindly revert with resolutions and suggestions and any hint to the oss notes as we haven't found anything specific to this error.
    Regrds,
    Dheeraj

    \\10.207.3.59\d$\ftproot\import_sap\BWS\ABAP\DATA\ARFCSDATA.TOC
    Please check if above said file located under specified path where SAPINST searvhing for it ie at
    10.207.3.59\d$\ftproot\import_sap\BWS\ABAP\DATA. if this file dont exist them it may be the case that your export is not proper.
    Also check if user from which you have started this SAPINST is able to access
    10.207.3.59\d$\ftproot\import_sap\BWS\ABAP\DATA.
    Thanks..
    Mohit

  • Unable to perform Calculations on Excel exported from Web Dynpro ABAP

    Hi Gurus,
    I have a custom functionality "Export to Excel" internal table data on my web dynpro application. I dint go with standard ALV feature because it doesnot give flexibility to add colours to excel sheet and add multiple tabs and so i had to write XML ABAP coding in the web dynpro application to achieve this. While passing the internal table data into cells, i created cells with string data type and hence all the fields in the excel are now in char type. Users are unable to perform any calculations because of this issue, i tried to format the cells but it doesnot work. Please help me.
    Regards,
    Pravs.

    Hi,
    Just do the following in excel before downloading and check whether it works.
    Tools->Options->International tab.
    In that mention decimal separator as ,(comma).
    Thousand separator as .(dot).
    Uncheck use system separators.

  • Deployment : Exporting and importing a ABAP code to other SAP Server

    Hello Expert,
    I am very new to SAP ABAP. My query is , If we write a code in user exit on one SAP server and if we need to deploy the same on other SAP server who are not tightly coupled with each other , How should we do??
    Is there any way to export and import the code?? How do we deliver the code if anyone wants that code? Is there any way to deliver the code other than manual copy and paste??
    Any idea??
    Thanks,
    Prashant

    Hi,
    Check this.May be this can help you.
    http://www.sap-basis-abap.com/sapac008.htm
    http://www.sap-press.de/forum/gp/themaID-5/zeige-12302/thread
    Message was edited by: Jayanthi Jayaraman

  • Export/import of an  ABAP query

    hi
    i wana export a query from one client to another. then change it and again import the new one.
    Please guide me 4 that. As i wil b exporting from production, matter is sensitive. so please provide me the detailed description.
    thx in advance. will appreciate the help
    -Prashant

    the tread says "In SQ02 transaction click on environment and then click on transport. Here you can download the query (along with infoset) to your desktop and then upload to your destination system."
    but there isn't a export - import radio button...
    there is another way?
    V.

  • Aperture 3.02 Export Rate

    Wow! Where do I begin with this? Exporting images from Aperture is so excruciatingly slow, it is really impeding my work flow. Exporting an image to jpeg at 50% takes approximately 4:45 if done in a batch. If done individually, it takes 3:45.
    I tried a lower resolution (1024 X 1024), the export time is still 3:45. As I'm working on a project, I have 23 images to export. I calculated it would take over 86 minutes to export them to my desktop. My gosh, this is utterly frustrating. I used to be able to export images out of Aperture 2 in a rush to get things done.
    Does anyone know any fixes to this? It seems to have worsen over time. This is the first Apple application that has caused me to question if they're losing their touch.
    By the way, uploading images via the Aperture Facebook Uploader is even worse. I've given up on that. Uploading an album with about 24 images takes over 90 minutes. And clearly, exporting them first doesn't help, since Aperture's export function is clearly not helpful. Getting images to print for customers and clients has turned into a lengthy process.
    Anyone else is having this trouble and if so, what have you done to handle it?

    AN UPDATE: I've spent the past hour or so exporting in 50% of original (jpeg). My original estimate of 3 minutes and 45 seconds per photo did not take into consideration other processes running on my machine. So, apparently the export function slows down even further when MobileMe is synchronizing or when Time Machine is backing up. So it seems that almost one hour into my export, only 11 of 23 images actually exported.
    This is incredulous. Definitely to first Apple application that I feel actually decreased my productivity. I surely hope they fix this soon.

  • Webdynpro abap ALV export to excel with images problem

    Hello experts,
    I'm having problems with standard excel export functionality in webdynpro abap ALV.
    In my table i have images taken from content server (employee photos) linked with URL to a table_cell Image, when i export the table to excel using standard function the images is showed as a broken picture with the following text:
    "The linked image cannot displayed. The file may have been moved, or deleted. Verify that the link points to the correct file and location."
    I'm running on sap basis 7.02 SP13 and implemented the notes 1975765 and 1985288 but not resolved this issue.
    Do you have any ideas?
    Thank you.

    Hi Jorge,
    Are you able to download the ICONs from alv table? try to use some icon source '~Icon/Add' and check out if you can download it to excel successfully.
    FYR:
    Regards,
    Rama

  • Need ABAP OOPs

    hi all
    I'm new for ABAP OOPS, I want to know about abap oops concept. Can you any one explain about that i want simple example.
    with regards.
    Muthukumar.K

    Hi Muthu,
    Please check out transaction ABAPDOCU. It contains multiple examples on ABAP Objects. Also, browse this site for more examples on ABAP Objects. I also have included a sample report that I did using ABAP Objects. Please check it out. Hope it helps...
    P.S. Please award points if it helps...
    *==================================================================
    * Program Name : ZFR_FOREX_REV_ACCTG
    * Author       : Aris Hidalgo
    * Date Created : August 3, 2006
    * Description  : Show the exchange rate for a given range of 7 years
    *==================================================================
    REPORT zfr_forex_rev_acctg
           NO STANDARD PAGE HEADING
           LINE-SIZE 500
           LINE-COUNT 0
           MESSAGE-ID zz.
    * Data dictionary table/s                     *
    TABLES: bsis,
            bsas,
            tcurr,
            t001.
    * Global Structure/s                          *
    TYPES: BEGIN OF t_bsis_bsas,
            hkont    TYPE bsis-hkont,   "General ledger account
            year_dum TYPE bsis-gjahr,
            belnr    TYPE bsis-belnr,   "Accounting document number
            bldat    TYPE bsis-bldat,   "Document date in document
            waers    TYPE bsis-waers,   "Currency Key
            dmbtr    TYPE bsis-dmbtr,   "Amount in local currency
            wrbtr    TYPE bsis-wrbtr,   "Amount in document currency
            shkzg    TYPE bsis-shkzg,   "Debit/credit indicator
            zuonr    TYPE bsis-zuonr,   "Assignment number
            gjahr    TYPE bsis-gjahr,   "Fiscal year
            blart    TYPE bsis-blart,   "Document type
           END OF t_bsis_bsas.
    TYPES: BEGIN OF t_summary,
            hkont    TYPE bsis-hkont,
            year_dum TYPE bsis-gjahr,
            waers    TYPE bsis-waers,
            rate     TYPE tcurr-ukurs,
            wrbtr    TYPE bsis-wrbtr,
            dmbtr    TYPE bsis-dmbtr,
            gl_bal   TYPE bsis-wrbtr,
            unrealized TYPE bsis-wrbtr,
           END OF t_summary.
    TYPES: BEGIN OF t_exch,
            year      TYPE bsis-gjahr,
            rate      TYPE bapi1093_1-rate_type,
            from_curr TYPE bapi1093_1-from_curr,
            exch_rate TYPE bapi1093_0-exch_rate_v,
           END OF t_exch.
    * Global Data                                 *
    DATA: gv_hkont TYPE bsis-hkont,
          it_bsis_bsas TYPE STANDARD TABLE OF t_bsis_bsas,
          it_exch      TYPE SORTED   TABLE OF t_exch WITH UNIQUE
                                         KEY year rate from_curr,
          it_summary   TYPE STANDARD TABLE OF t_summary,
          wa_summary   LIKE LINE OF it_summary,
          wa_exch      LIKE LINE OF it_exch,
          t_rate_type  TYPE bapi1093_1-rate_type  VALUE 'ME',
          t_from_curr  TYPE bapi1093_1-from_curr,
          t_to_curr    TYPE bapi1093_1-to_currncy VALUE 'USD',
          t_date       TYPE bapi1093_2-trans_date,
          t_date_out   TYPE bapi1093_2-trans_date,
          t_exch_rate  TYPE bapi1093_0,
          t_message    TYPE bapireturn1.
    FIELD-SYMBOLS: <fs_asof>      TYPE bsis-gjahr,
                   <fs_bsis_bsas> LIKE LINE OF it_bsis_bsas.
    * Selection screen                             *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_bukrs TYPE t001-bukrs OBLIGATORY,
                p_asof  TYPE bsis-budat OBLIGATORY,
                p_year  TYPE bsis-gjahr OBLIGATORY.
    SELECT-OPTIONS: s_hkont FOR bsis-hkont NO INTERVALS OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b1.
    */ CLASS DEFINITIONS
    *       CLASS lcl_main DEFINITION
    CLASS lcl_main DEFINITION.
      PUBLIC SECTION.
        METHODS: get_data,
                 get_diff,
                 display_subheader,
                 display_rate
                    IMPORTING
                       rate TYPE tcurr-ukurs
                       pos  TYPE i,
                 display_header,
                 top_of_page,
                 get_rate_and_show
                    EXPORTING
                       ex_bsis_bsas LIKE it_bsis_bsas
                       ex_exch      LIKE it_exch,
                 conversion
                    IMPORTING
                       year      TYPE bsis-gjahr
                       rate_type TYPE bapi1093_1-rate_type
                       from_curr TYPE bapi1093_1-from_curr
                       to_curr   TYPE bapi1093_1-to_currncy
                    EXPORTING
                       exch_rate TYPE bapi1093_0
                       t_date    TYPE bapi1093_2-trans_date.
        EVENTS: no_data EXPORTING value(hkont) TYPE bsis-hkont.
      PRIVATE SECTION.
        TYPES: BEGIN OF t_waers,
                waers TYPE bsis-waers,
               END OF t_waers.
        TYPES: BEGIN OF t_local,
                year      TYPE bsis-gjahr,
                rate      TYPE tcurr-ukurs,
               END OF t_local.
        DATA: it_waers     TYPE SORTED TABLE OF t_waers WITH UNIQUE
                                KEY waers,
              it_local     TYPE SORTED TABLE OF t_local WITH UNIQUE
                                KEY year,
              wa_waers     LIKE LINE OF it_waers,
              wa_local     LIKE LINE OF it_local,
              lv_counter   TYPE i,
              lv_asof      TYPE bsis-gjahr,
              lv_year      TYPE bsis-gjahr,
              lv_check     TYPE i,
              lv_7years    TYPE i,
              lv_date      TYPE pc226-endda,
              lv_pos       TYPE i,
              lv_pos2      TYPE i,
              lv_vline     TYPE i,
              lv_rate      TYPE p DECIMALS 5,
              lv_givendate TYPE syst-datum.
    ENDCLASS.
    *       CLASS lcl_summary DEFINITION
    CLASS lcl_summary DEFINITION INHERITING FROM lcl_main.
      PUBLIC SECTION.
        METHODS: display_summary_header,
                 display_summary
                    IMPORTING
                       im_bsis_bsas LIKE it_bsis_bsas
                       im_exch      LIKE it_exch.
    ENDCLASS.
    *       CLASS lcl_handler DEFINITION
    CLASS lcl_handler DEFINITION.
      PUBLIC SECTION.
        METHODS handle_event FOR EVENT no_data OF lcl_main
        IMPORTING hkont.
    ENDCLASS.
    */ CLASS IMPLEMENTATIONS
    *       CLASS lcl_main IMPLEMENTATION
    CLASS lcl_main IMPLEMENTATION.
    * METHOD get_data                              *
      METHOD get_data.
        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
    *     PERCENTAGE       = 0
           text             = 'Getting data. Please wait...'
    *   get records from BSIS
        SELECT hkont zuonr gjahr belnr waers bldat blart dmbtr wrbtr shkzg
        FROM bsis
        INTO  CORRESPONDING FIELDS OF TABLE it_bsis_bsas
        WHERE bukrs = p_bukrs
          AND hkont IN s_hkont
          AND budat <= p_asof.
    *   get records from BSAS
        SELECT hkont zuonr gjahr belnr waers bldat blart dmbtr wrbtr shkzg
        FROM bsas
        APPENDING CORRESPONDING FIELDS OF TABLE it_bsis_bsas
        WHERE bukrs = p_bukrs
          AND hkont IN s_hkont
          AND budat <= p_asof
          AND augdt > p_asof.
    *   if itab has no records, raise event
        IF it_bsis_bsas[] IS INITIAL.
          RAISE EVENT no_data EXPORTING hkont = s_hkont-low.
        ENDIF.
      ENDMETHOD.
    * METHOD get_diff                              *
      METHOD get_diff.
        DATA: lv_sub7 TYPE i.
        lv_asof = p_year + 6.
        IF lv_asof > p_asof+0(4).
          lv_asof = p_asof+0(4).
        ENDIF.
        lv_year = p_year.
    *   determine how many years will be displayed
        lv_counter = lv_asof - lv_year.
        ADD 1 TO lv_counter.
        lv_sub7   = lv_asof - 6.
        lv_7years = lv_asof - lv_sub7.
        ADD 1 TO lv_7years.
      ENDMETHOD.
    * METHOD display_subheader                     *
      METHOD display_subheader.
        DATA: lv_date(10)  TYPE c,
              lv_gdatu     TYPE tcurr-gdatu,
              lv_flag(1)   TYPE c,
              lv_pos_dum   TYPE i.
        FIELD-SYMBOLS: <fs_bsis_bsas> LIKE LINE OF it_bsis_bsas.
    *   pre-defined length of uline and vline depending on the
    *   number of years to be displayed
        CASE lv_counter.
          WHEN 1.
            lv_pos   = 24.
            lv_pos2  = 37.
            lv_vline = 126.
          WHEN 2.
            lv_pos   = 45.
            lv_pos2  = 58.
            lv_vline = 147.
          WHEN 3.
            lv_pos   = 66.
            lv_pos2  = 79.
            lv_vline = 168.
          WHEN 4.
            lv_pos   = 87.
            lv_pos2  = 100.
            lv_vline = 189.
          WHEN 5.
            lv_pos   = 108.
            lv_pos2  = 121.
            lv_vline = 210.
          WHEN 6.
            lv_pos   = 128.
            lv_pos2  = 141.
            lv_vline = 230.
          WHEN 7.
            lv_pos   = 148.
            lv_pos2  = 161.
            lv_vline = 250.
        ENDCASE.
    *  get currency
        IF NOT lv_check = 1.
          LOOP AT it_bsis_bsas ASSIGNING <fs_bsis_bsas>.
            MOVE <fs_bsis_bsas>-waers TO wa_waers.
            INSERT wa_waers INTO TABLE it_waers.
            <fs_bsis_bsas>-year_dum = <fs_bsis_bsas>-bldat+0(4).
          ENDLOOP.
        ENDIF.
        ASSIGN lv_asof TO <fs_asof>.
        IF NOT lv_check = 1.
          SORT it_bsis_bsas BY hkont year_dum belnr bldat waers dmbtr wrbtr.
          IF <fs_bsis_bsas> IS ASSIGNED.
            UNASSIGN <fs_bsis_bsas>.
            READ TABLE it_bsis_bsas INDEX 1 ASSIGNING <fs_bsis_bsas>.
            IF sy-subrc = 0 AND <fs_bsis_bsas> IS ASSIGNED.
              gv_hkont = <fs_bsis_bsas>-hkont.
            ENDIF.
          ENDIF.
        ENDIF.
    *   write sub-header
        DESCRIBE TABLE it_waers LINES sy-tfill.
        LOOP AT it_waers INTO wa_waers.
          IF sy-tfill = 1 AND wa_waers-waers = 'PHP'.
            lv_flag = 1 .
          ENDIF.
          IF NOT lv_flag = 1.
            IF lv_check IS INITIAL.
              WRITE: AT /103 sy-uline(lv_pos),
                     AT /103 sy-vline.
            ENDIF.
    *       write the years in the sub-header
            IF NOT lv_check = 1.
              lv_pos_dum = 110.
              FORMAT COLOR COL_HEADING.
              DO lv_counter TIMES.
                IF sy-index = 6.
                  WRITE: AT lv_pos_dum(14) <fs_asof> RIGHT-JUSTIFIED.
                ELSEIF sy-index = 7.
                  WRITE: AT lv_pos_dum(13) <fs_asof> RIGHT-JUSTIFIED.
                ELSE.
                  WRITE: AT lv_pos_dum(15) <fs_asof> RIGHT-JUSTIFIED.
                ENDIF.
                ADD 21 TO lv_pos_dum.
                SUBTRACT 1 FROM <fs_asof>.
              ENDDO.
              WRITE sy-vline.
              FORMAT COLOR OFF.
            ENDIF.
            IF sy-tabix = 1 AND wa_waers-waers = 'PHP'.
              WRITE: AT /90 sy-uline(lv_pos2).
            ENDIF.
            IF wa_waers-waers <> 'PHP'.
              IF lv_check IS INITIAL.
                WRITE: AT /90 sy-uline(lv_pos2).
                WRITE: AT /90 sy-vline.
              ELSE.
                WRITE: AT /90 sy-vline.
              ENDIF.
            ENDIF.
            FORMAT COLOR COL_NORMAL.
            IF NOT wa_waers-waers = 'PHP'.
             WRITE: AT 91(10) wa_waers-waers CENTERED.   "write the currency
            ENDIF.
          ENDIF.
          lv_asof = p_year + 6.
          IF lv_asof > p_asof+0(4).
            lv_asof = p_asof+0(4).
          ENDIF.
    *     get exchange rate from PHP to USD
          IF lv_check IS INITIAL.
            t_from_curr = 'PHP'.
            DO lv_counter TIMES.
    *         use BAPI to get exchange rate
              CALL METHOD me->conversion EXPORTING
                                           year      = <fs_asof>
                                           rate_type = t_rate_type
                                           from_curr = t_from_curr
                                           to_curr   = t_to_curr
                                          IMPORTING
                                           exch_rate = t_exch_rate
                                           t_date    = t_date_out.
    *         if no exchange rate was fetched, get directly from TCURR
    *         using given date
              IF t_exch_rate-exch_rate_v IS INITIAL.
                WRITE t_date_out TO lv_date USING EDIT MASK '__/__/____'.
                CALL FUNCTION 'CONVERSION_EXIT_INVDT_INPUT'
                     EXPORTING
                          input  = lv_date
                     IMPORTING
                          output = lv_date.
                SELECT SINGLE ukurs FROM tcurr
                INTO t_exch_rate-exch_rate_v
                WHERE kurst = 'ME'
                  AND fcurr = 'PHP'
                  AND tcurr = 'USD'
                  AND gdatu = lv_date.
              ENDIF.
              IF NOT t_exch_rate-exch_rate_v IS INITIAL.
                t_exch_rate-exch_rate_v = abs( t_exch_rate-exch_rate_v ).
                wa_local-year = <fs_asof>.
                wa_local-rate = t_exch_rate-exch_rate_v.
                INSERT wa_local INTO TABLE it_local.
              ENDIF.
              SUBTRACT 1 FROM <fs_asof>.
              CLEAR: t_exch_rate, wa_local, t_date_out, lv_date.
            ENDDO.
          ENDIF.
          lv_pos = 106.
    *     get exchange rate from itab to USD
          CLEAR: t_exch_rate, lv_gdatu.
          t_from_curr = wa_waers-waers.
          lv_asof = p_year + 6.
          IF lv_asof > p_asof+0(4).
            lv_asof = p_asof+0(4).
          ENDIF.
          DO lv_counter TIMES.
            IF t_from_curr = 'USD'.
              READ TABLE it_local WITH KEY year = <fs_asof>
                                           INTO wa_local TRANSPORTING rate.
              lv_rate = wa_local-rate.
            ELSEIF t_from_curr = 'PHP'.
              READ TABLE it_local WITH KEY year = <fs_asof>
                                           INTO wa_local TRANSPORTING rate.
              lv_rate = wa_local-rate.
            ELSE.
    *         use BAPI to get exchange rate for currencies that is
    *         not 'PHP' and 'USD'
              CALL METHOD me->conversion EXPORTING
                                          year      = <fs_asof>
                                          rate_type = t_rate_type
                                          from_curr = t_from_curr
                                          to_curr   = t_to_curr
                                         IMPORTING
                                          exch_rate = t_exch_rate
                                          t_date    = t_date_out.
    *         if no exchange rate was fetched, get directly from TCURR
    *         using given date
              IF t_exch_rate-exch_rate_v IS INITIAL.
                WRITE t_date_out TO lv_date USING EDIT MASK '__/__/____'.
                CALL FUNCTION 'CONVERSION_EXIT_INVDT_INPUT'
                     EXPORTING
                          input  = lv_date
                     IMPORTING
                          output = lv_date.
                SELECT SINGLE ukurs FROM tcurr
                INTO t_exch_rate-exch_rate_v
                WHERE kurst = 'ME'
                  AND fcurr = wa_waers-waers
                  AND tcurr = 'USD'
                  AND gdatu = lv_date.
              ENDIF.
              IF NOT t_exch_rate-exch_rate_v IS INITIAL.
                READ TABLE it_local WITH KEY year = <fs_asof>
                                            INTO wa_local TRANSPORTING rate.
                IF sy-subrc = 0.
                  IF t_exch_rate-exch_rate_v <> wa_local-rate.
                    lv_rate = 1 / t_exch_rate-exch_rate_v * wa_local-rate.
                  ELSE.
                    lv_rate = t_exch_rate-exch_rate_v.
                  ENDIF.
                ENDIF.
              ENDIF.
            ENDIF.
            IF NOT lv_rate IS INITIAL.
              lv_rate = abs( lv_rate ).
              wa_exch-year      = <fs_asof>.
              wa_exch-rate      = t_rate_type.
              wa_exch-from_curr = t_from_curr.
              wa_exch-exch_rate = lv_rate.
              INSERT wa_exch INTO TABLE it_exch.
              IF NOT lv_flag = 1.
                IF NOT wa_waers-waers = 'PHP'.
                  CALL METHOD me->display_rate
                     EXPORTING
                        rate = wa_exch-exch_rate
                        pos  = lv_pos.
                  CLEAR wa_exch.
                ENDIF.
              ENDIF.
            ENDIF.
            ADD 21 TO lv_pos.
            SUBTRACT 1 FROM <fs_asof>.
            CLEAR: t_exch_rate, wa_local, t_date_out,
                   lv_date,lv_rate.
          ENDDO.
          IF NOT lv_flag = 1.
            WRITE: AT lv_vline sy-vline.
          ENDIF.
          FORMAT COLOR OFF.
          lv_asof = p_year + 6.
          IF lv_asof > p_asof+0(4).
            lv_asof = p_asof+0(4).
          ENDIF.
          lv_check = 1.
          CLEAR lv_flag.
        ENDLOOP.
      ENDMETHOD.
    * METHOD display_rate                          *
      METHOD display_rate.
        WRITE: AT pos(15) rate RIGHT-JUSTIFIED.
      ENDMETHOD.
    * METHOD display_header                        *
      METHOD display_header.
        CLEAR lv_pos.
        lv_asof = p_year + 6.
        IF lv_asof > p_asof+0(4).
          lv_asof = p_asof+0(4).
        ENDIF.
        CLEAR lv_pos2.
        CASE lv_counter.
          WHEN 1.
            lv_pos2 = 126.
          WHEN 2.
            lv_pos2 = 147.
          WHEN 3.
            lv_pos2 = 168.
          WHEN 4.
            lv_pos2 = 189.
          WHEN 5.
            lv_pos2 = 210.
          WHEN 6.
            lv_pos2 = 230.
          WHEN 7.
            lv_pos2 = 250.
        ENDCASE.
        lv_pos = 110.
        FORMAT COLOR COL_HEADING.
        WRITE: /   sy-uline(lv_pos2),
               /   sy-vline,
             (18) 'Allocation'         CENTERED,
             (04) 'DT'                 CENTERED,
             (11) 'Doc. No.'           CENTERED,
             (11) 'Doc. Date'          LEFT-JUSTIFIED,
             (06) 'Cur.'               LEFT-JUSTIFIED,
             (20) 'Transaction Curr.'  CENTERED,
             (20) 'Local Curr. (PHP)'  CENTERED.
        DO lv_counter TIMES.
          WRITE: AT lv_pos(14) <fs_asof> RIGHT-JUSTIFIED.
          SUBTRACT 1 FROM <fs_asof>.
          ADD 21 TO lv_pos.
        ENDDO.
        WRITE: AT lv_pos2 sy-vline,
               /  sy-uline(lv_pos2).
        FORMAT COLOR OFF.
      ENDMETHOD.
    * METHOD top_of_page                           *
      METHOD top_of_page.
        DATA: text1         TYPE string,
              text2         TYPE string,
              lv_asof       TYPE bsis-budat,
              lv_pageno(03) TYPE n,
              lv_date(10)   TYPE c.
    *   get company code description
        SELECT SINGLE butxt FROM t001
        INTO t001-butxt
        WHERE bukrs = p_bukrs.
        WRITE: / t001-butxt,
               / sy-title.
    *   write account code(HKONT)
        CONCATENATE: gv_hkont '/' p_bukrs
                     INTO text1.
        CONCATENATE: 'Account:' text1
                     INTO text2
                     SEPARATED BY space.
        WRITE: / text2.
        CLEAR: text1, text2.
    *   write as of date
        WRITE p_asof TO lv_date USING EDIT MASK '__/__/____'.
        CONCATENATE: 'As of' lv_date
                       INTO text1
                       SEPARATED BY space.
        WRITE: / text1.
        CLEAR: text1, lv_date.
    *   from year to as of year
        lv_asof = p_asof+0(4).
        CONCATENATE: 'Year:' p_year 'to' lv_asof
                     INTO text1
                     SEPARATED BY space.
        WRITE: / text1.
        CLEAR text1.
    *   page number
        lv_pageno = sy-pagno.
        CONCATENATE: 'Page No:' lv_pageno
                     INTO text1
                     SEPARATED BY space.
        WRITE: / text1.
        CLEAR text1.
        SKIP 2.
      ENDMETHOD.
    * METHOD get_rate_and_show                     *
      METHOD get_rate_and_show.
        CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
         EXPORTING
    *       PERCENTAGE       = 0
           text             = 'Combining data.Please wait... '
        DATA: lv_amount(15)    TYPE p DECIMALS 2,
              lv_color(1)      TYPE n VALUE 1,
              lv_index1(15)    TYPE p DECIMALS 2,
              lv_index2(15)    TYPE p DECIMALS 2,
              lv_index3(15)    TYPE p DECIMALS 2,
              lv_index4(15)    TYPE p DECIMALS 2,
              lv_index5(15)    TYPE p DECIMALS 2,
              lv_index6(15)    TYPE p DECIMALS 2,
              lv_index7(15)    TYPE p DECIMALS 2,
              lv_total1(15)    TYPE p DECIMALS 2,
              lv_total2(15)    TYPE p DECIMALS 2,
              lv_total3(15)    TYPE p DECIMALS 2,
              lv_total4(15)    TYPE p DECIMALS 2,
              lv_total5(15)    TYPE p DECIMALS 2,
              lv_total6(15)    TYPE p DECIMALS 2,
              lv_total7(15)    TYPE p DECIMALS 2,
              lv_dmbtr(15)     TYPE p DECIMALS 2,
              lv_dmbtr_tot(15) TYPE p DECIMALS 2,
              lv_old           TYPE bsis-hkont,
              lv_new           TYPE bsis-hkont.
        lv_asof = p_year + 6.
        IF lv_asof > p_asof+0(4).
          lv_asof = p_asof+0(4).
        ENDIF.
        CLEAR lv_check.
        ADD 1 TO lv_check.
        SORT it_bsis_bsas BY hkont year_dum belnr bldat waers dmbtr wrbtr.
    *   write details
        LOOP AT it_bsis_bsas ASSIGNING <fs_bsis_bsas>.
          IF lv_color = 1.
            lv_color = 2.
          ELSE.
            lv_color = 1.
          ENDIF.
    *     if <fs_bsis_bsas>-shkzg = 'H', multiply WRBTR and
    *     DMBTR by -1
          IF <fs_bsis_bsas>-shkzg = 'H'.
            <fs_bsis_bsas>-wrbtr = <fs_bsis_bsas>-wrbtr * -1.
            <fs_bsis_bsas>-dmbtr = <fs_bsis_bsas>-dmbtr * -1.
          ENDIF.
    *     for every new account no.(HKONT), create a new page
          lv_new = <fs_bsis_bsas>-hkont.
          gv_hkont = <fs_bsis_bsas>-hkont.
          IF lv_new <> lv_old AND NOT lv_old IS INITIAL.
            NEW-PAGE.
            CALL METHOD me->display_subheader.
            CALL METHOD me->display_header.
          ENDIF.
          lv_old = lv_new.
    *     write details
          FORMAT INTENSIFIED OFF COLOR = lv_color.
          WRITE: /   sy-vline,
                (18) <fs_bsis_bsas>-zuonr   CENTERED,
                (04) <fs_bsis_bsas>-blart   CENTERED,
                (10) <fs_bsis_bsas>-belnr   CENTERED,
                (10) <fs_bsis_bsas>-bldat   RIGHT-JUSTIFIED,
                (05) <fs_bsis_bsas>-waers   RIGHT-JUSTIFIED,
                (20) <fs_bsis_bsas>-wrbtr   RIGHT-JUSTIFIED,
                (20) <fs_bsis_bsas>-dmbtr   RIGHT-JUSTIFIED.
          ADD <fs_bsis_bsas>-dmbtr TO: lv_dmbtr, lv_dmbtr_tot.
    *     write the converted amount for a given year
          WHILE lv_check <= lv_counter.
            IF <fs_asof> >= <fs_bsis_bsas>-bldat+0(4).
              t_from_curr = <fs_bsis_bsas>-waers.
              READ TABLE it_exch WITH KEY year      = <fs_asof>
                                          rate      = t_rate_type
                                          from_curr = t_from_curr
                                        INTO wa_exch TRANSPORTING exch_rate.
              IF sy-subrc = 0.
                IF <fs_bsis_bsas>-waers = 'PHP'.
                  lv_amount = 1 / wa_exch-exch_rate * wa_exch-exch_rate.
                  lv_amount = <fs_bsis_bsas>-wrbtr * lv_amount.
                ELSE.
                  lv_amount = <fs_bsis_bsas>-wrbtr * wa_exch-exch_rate.
                ENDIF.
                WRITE: (20) lv_amount RIGHT-JUSTIFIED.
                CASE sy-index.
                  WHEN 1.
                    ADD lv_amount TO lv_index1.
                    ADD lv_amount TO lv_total1.
                  WHEN 2.
                    ADD lv_amount TO lv_index2.
                    ADD lv_amount TO lv_total2.
                  WHEN 3.
                    ADD lv_amount TO lv_index3.
                    ADD lv_amount TO lv_total3.
                  WHEN 4.
                    ADD lv_amount TO lv_index4.
                    ADD lv_amount TO lv_total4.
                  WHEN 5.
                    ADD lv_amount TO lv_index5.
                    ADD lv_amount TO lv_total5.
                  WHEN 6.
                    ADD lv_amount TO lv_index6.
                    ADD lv_amount TO lv_total6.
                  WHEN 7.
                    ADD lv_amount TO lv_index7.
                    ADD lv_amount TO lv_total7.
                ENDCASE.
              ENDIF.
            ENDIF.
            CLEAR: lv_amount, wa_exch.
            SUBTRACT 1 FROM <fs_asof>.
            ADD 1 TO lv_check.
          ENDWHILE.
          WRITE AT lv_pos2 sy-vline.
    *     write sub-total for every year for the same account code(HKONT)
          AT END OF year_dum.
            FORMAT COLOR COL_TOTAL.
            WRITE: / sy-vline,
                   <fs_bsis_bsas>-year_dum,
                   'Sub-total:'.
            IF NOT lv_dmbtr IS INITIAL.
              WRITE: AT 76(20) lv_dmbtr RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_index1 IS INITIAL.
              WRITE: (20) lv_index1     RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_index2 IS INITIAL.
              WRITE (20) lv_index2      RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_index3 IS INITIAL.
              WRITE (20) lv_index3      RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_index4 IS INITIAL.
              WRITE (20) lv_index4      RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_index5 IS INITIAL.
              WRITE (20) lv_index5      RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_index6 IS INITIAL.
              WRITE: (20) lv_index6     RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_index7 IS INITIAL.
              WRITE: (20) lv_index7      RIGHT-JUSTIFIED.
            ENDIF.
            WRITE: AT lv_pos2 sy-vline.
            FORMAT COLOR OFF.
            CLEAR: lv_index1, lv_index2, lv_index3,
                   lv_index4, lv_index5, lv_index6,
                   lv_index7, lv_dmbtr.
          ENDAT.
    *     write total for a given account code(HKONT)
          AT END OF hkont.
            FORMAT COLOR COL_TOTAL INTENSIFIED.
            WRITE: / sy-vline,
                     'Total', <fs_bsis_bsas>-hkont, 'GI'.
            IF NOT lv_dmbtr_tot IS INITIAL.
              WRITE: AT 76(20) lv_dmbtr_tot RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_total1 IS INITIAL.
              WRITE: (20) lv_total1         RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_total2 IS INITIAL.
              WRITE (20) lv_total2          RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_total3 IS INITIAL.
              WRITE (20) lv_total3          RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_total4 IS INITIAL.
              WRITE (20) lv_total4          RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_total5 IS INITIAL.
              WRITE (20) lv_total5          RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_total6 IS INITIAL.
              WRITE: (20) lv_total6         RIGHT-JUSTIFIED.
            ENDIF.
            IF NOT lv_total7 IS INITIAL.
              WRITE: (20) lv_total7         RIGHT-JUSTIFIED.
            ENDIF.
            WRITE: AT lv_pos2 sy-vline.
            FORMAT COLOR OFF.
            CLEAR: lv_total1, lv_total2, lv_total3,
                   lv_total4, lv_total5, lv_total6,
                   lv_total7, lv_dmbtr_tot.
            WRITE: / sy-uline(lv_pos2).
          ENDAT.
          lv_asof = p_year + 6.
          IF lv_asof > p_asof+0(4).
            lv_asof = p_asof+0(4).
          ENDIF.
          CLEAR lv_check.
          ADD 1 TO lv_check.
          FORMAT COLOR OFF.
        ENDLOOP.
        SKIP 5.
        ex_bsis_bsas[] = it_bsis_bsas[].
        ex_exch[]      = it_exch[].
      ENDMETHOD.
    * METHOD conversion                            *
      METHOD conversion.
        IF year = p_asof+0(4).
    *     get last date of a given month and year
          CALL FUNCTION 'LAST_DAY_OF_MONTHS'
           EXPORTING
             day_in                  = p_asof
           IMPORTING
             last_day_of_month       = lv_givendate
    *     EXCEPTIONS
    *       DAY_IN_NO_DATE          = 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.
        ELSE.
    *   get last date of a given year
          CALL FUNCTION 'HR_E_GET_FISC_YEAR_DATES'
            EXPORTING
              fisc_year         = year
          IMPORTING
    *      FISC_FECINI       =
             fisc_fecfin       = lv_date
    *    EXCEPTIONS
    *      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.
        ENDIF.
        IF lv_date IS INITIAL.
          t_date = lv_givendate.
          CLEAR lv_givendate.
        ELSE.
          t_date = lv_date.
          CLEAR lv_date.
        ENDIF.
    *   get exchange rate from a given currency to US dollars
        CALL FUNCTION 'BAPI_EXCHANGERATE_GETDETAIL'
          EXPORTING
            rate_type        = rate_type
            from_curr        = from_curr
            to_currncy       = to_curr
            date             = t_date
          IMPORTING
            exch_rate        = t_exch_rate
    *      RETURN           =
      ENDMETHOD.
    ENDCLASS.
    *       CLASS lcl_summary IMPLEMENTATION
    CLASS lcl_summary IMPLEMENTATION.
    * METHOD display_summary                       *
      METHOD display_summary.
        TYPES: BEGIN OF t_total,
                hkont      TYPE bsis-hkont,
                waers      TYPE bsis-waers,
                wrbtr      TYPE bsis-wrbtr,
                dmbtr      TYPE bsis-dmbtr,
                gl_bal     TYPE bsis-wrbtr,
                unrealized TYPE bsis-wrbtr,
               END OF t_total.
        DATA: lv_balance        TYPE bsis-wrbtr,
              lv_date(10)       TYPE c,
              lv_color(1)       TYPE n VALUE '1',
              lv_wrbtr          TYPE bsis-wrbtr,
              lv_dmbtr          TYPE bsis-dmbtr,
              lv_gl_bal         TYPE bsis-wrbtr,
              lv_unrealized     TYPE bsis-wrbtr,
              lv_old_year       TYPE bsis-gjahr,
              lv_new_year       TYPE bsis-gjahr,
              lv_flag(1)        TYPE n,
              lt_bsis_bsas_dum  TYPE STANDARD TABLE OF t_bsis_bsas,
              lt_total          TYPE STANDARD TABLE OF t_total,
              wa_total          LIKE LINE OF lt_total.
        FIELD-SYMBOLS: <fs_dum> LIKE LINE OF lt_bsis_bsas_dum.
        it_bsis_bsas[] = im_bsis_bsas[].
        it_exch[]      = im_exch[].
        CLEAR wa_exch.
        SORT it_bsis_bsas BY hkont year_dum DESCENDING waers.
        lt_bsis_bsas_dum[] = it_bsis_bsas[].
        LOOP AT it_bsis_bsas ASSIGNING <fs_bsis_bsas>.
          AT NEW hkont.
            MOVE <fs_bsis_bsas>-hkont TO wa_summary-hkont.
          ENDAT.
          AT NEW year_dum.
            MOVE <fs_bsis_bsas>-year_dum TO wa_summary-year_dum.
          ENDAT.
          AT NEW waers.
            MOVE <fs_bsis_bsas>-waers TO wa_summary-waers.
            t_from_curr = wa_summary-waers.
            READ TABLE it_exch WITH KEY year      = wa_summary-year_dum
                                        rate      = t_rate_type
                                        from_curr = t_from_curr
                                        INTO wa_exch TRANSPORTING exch_rate.
            IF sy-subrc = 0.
              MOVE wa_exch-exch_rate TO wa_summary-rate.
            ELSE.
              CALL METHOD me->conversion
                 EXPORTING
                    year      = wa_summary-year_dum
                    rate_type = t_rate_type
                    from_curr = t_from_curr
                    to_curr   = t_to_curr
                 IMPORTING
                    exch_rate = t_exch_rate
                    t_date    = t_date_out.
              IF t_exch_rate-exch_rate_v IS INITIAL.
                WRITE t_date_out TO lv_date USING EDIT MASK '__/__/____'.
                CALL FUNCTION 'CONVERSION_EXIT_INVDT_INPUT'
                     EXPORTING
                          input  = lv_date
                     IMPORTING
                          output = lv_date.
                SELECT SINGLE ukurs FROM tcurr
                INTO t_exch_rate-exch_rate_v
                WHERE kurst = 'ME'
                  AND fcurr = 'PHP'
                  AND tcurr = 'USD'
                  AND gdatu = lv_date.
              ENDIF.
              IF NOT t_exch_rate-exch_rate_v IS INITIAL.
                t_exch_rate-exch_rate_v = abs( t_exch_rate-exch_rate_v ).
                MOVE t_exch_rate-exch_rate_v TO wa_summary-rate.
              ENDIF.
            ENDIF.
          ENDAT.
          LOOP AT lt_bsis_bsas_dum ASSIGNING <fs_dum>
             WHERE hkont    = wa_summary-hkont
               AND year_dum = wa_summary-year_dum
               AND waers    = wa_summary-waers.
            ADD <fs_dum>-wrbtr TO wa_summary-wrbtr.
            ADD <fs_dum>-dmbtr TO wa_summary-dmbtr.
            IF NOT wa_exch-exch_rate IS INITIAL.
              IF <fs_dum>-waers = 'PHP'.
                lv_balance = 1 / wa_exch-exch_rate * wa_exch-exch_rate.
                lv_balance = <fs_dum>-wrbtr * lv_balance.
                ADD lv_balance TO wa_summary-gl_bal.
              ELSE.
                lv_balance = <fs_dum>-wrbtr * wa_exch-exch_rate.
                ADD lv_balance TO wa_summary-gl_bal.
              ENDIF.
            ENDIF.
            CLEAR lv_balance.
            DELETE lt_bsis_bsas_dum.
          ENDLOOP.
          DELETE it_bsis_bsas WHERE hkont    = wa_summary-hkont
                                AND year_dum = wa_summary-year_dum
                                AND waers    = wa_summary-waers.
          wa_summary-unrealized = wa_summary-dmbtr - wa_summary-gl_bal.
          APPEND wa_summary TO it_summary.
          CLEAR wa_summary.
        ENDLOOP.
        IF NOT it_summary[] IS INITIAL.
          CALL METHOD me->display_summary_header.
          CLEAR wa_summary.
          SORT it_summary BY hkont year_dum DESCENDING waers.
    */     WRITE SUMMARY
          LOOP AT it_summary INTO wa_summary.
            IF lv_color = 1.
              lv_color = 2.
            ELSE.
              lv_color = 1.
            ENDIF.
            MOVE: wa_summary-hkont     TO wa_total-hkont,
                  wa_summary-waers     TO wa_total-waers.
            READ TABLE lt_total WITH KEY hkont = wa_summary-hkont
                                         waers = wa_summary-waers
                                         INTO wa_total.
            IF sy-subrc = 0.
              ADD: wa_summary-wrbtr      TO wa_total-wrbtr,
                   wa_summary-dmbtr      TO wa_total-dmbtr,
                   wa_summary-gl_bal     TO wa_total-gl_bal,
                   wa_summary-unrealized TO wa_total-unrealized.
              MODIFY lt_total FROM wa_total TRANSPORTING
               wrbtr dmbtr gl_bal unrealized
                  WHERE hkont = wa_summary-hkont
                    AND waers = wa_summary-waers.
              CLEAR wa_total.
              lv_flag = 1.
            ELSE.
              ADD: wa_summary-wrbtr      TO wa_total-wrbtr,
                   wa_summary-dmbtr      TO wa_total-dmbtr,
                   wa_summary-gl_bal     TO wa_total-gl_bal,
                   wa_summary-unrealized TO wa_total-unrealized.
            ENDIF.
    *       write sub-total for every end of a year
            lv_new_year = wa_summary-year_dum.
            IF lv_new_year <> lv_old_year AND NOT lv_old_year IS INITIAL.
              FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
              WRITE: /    sy-vline,
                     (42) 'Subtotal',
                     (18) lv_wrbtr      RIGHT-JUSTIFIED,
                     (18) lv_dmbtr      RIGHT-JUSTIFIED,
                     (18) lv_gl_bal     RIGHT-JUSTIFIED,
                     (18) lv_unrealized RIGHT-JUSTIFIED,
                          sy-vline.
              FORMAT COLOR OFF.
              CLEAR: lv_wrbtr, lv_dmbtr, lv_gl_bal, lv_unrealized.
            ENDIF.
            lv_old_year = lv_new_year.
            ADD: wa_summary-wrbtr      TO lv_wrbtr,
                 wa_summary-dmbtr      TO lv_dmbtr,
                 wa_summary-gl_bal     TO lv_gl_bal,
                 wa_summary-unrealized TO lv_unrealized.
            FORMAT INTENSIFIED OFF COLOR = lv_color.
            WRITE: /    sy-vline,
                   (15) wa_summary-hkont,
                   (04) wa_summary-year_dum,
                   (05) wa_summary-waers,
                   (15) wa_summary-rate,
                   (18) wa_summary-wrbtr,
                   (18) wa_summary-dmbtr,
                   (18) wa_summary-gl_bal,
                   (18) wa_summary-unrealized,
                        sy-vline.
            FORMAT COLOR OFF.
            IF NOT lv_flag = 1.
              APPEND wa_total TO lt_total.
              CLEAR wa_total.
            ENDIF.
            AT END OF hkont.
    *         write the last sub-total
              FORMAT COLOR COL_TOTAL INTENSIFIED OFF.
              WRITE: /    sy-vline,
                     (37) 'Subtotal', wa_summary-year_dum,
                     (18) lv_wrbtr      RIGHT-JUSTIFIED,
                     (18) lv_dmbtr      RIGHT-JUSTIFIED,
                     (18) lv_gl_bal     RIGHT-JUSTIFIED,
                     (18) lv_unrealized RIGHT-JUSTIFIED,
                          sy-vline.
              FORMAT COLOR OFF.
              CLEAR: lv_wrbtr, lv_dmbtr, lv_gl_bal, lv_unrealized.
    *         write the total for a given account code(HKONT)
              FORMAT COLOR COL_TOTAL INTENSIFIED ON.
              LOOP AT lt_total INTO wa_total
                 WHERE hkont = wa_summary-hkont.
                WRITE: /    sy-vline.
                IF sy-tabix = 1.
                  WRITE: (25) 'Total', wa_summary-hkont.
                ENDIF.
                IF sy-tabix = 1.
                  WRITE: (05) wa_total-waers,
                         (18) wa_total-wrbtr,
                         (18) wa_total-dmbtr,
                         (18) wa_total-gl_bal,
                         (18) wa_total-unrealized,
                              sy-vline.
                ELSE.
                  WRITE: AT 40(05) wa_total-waers,
                              (18) wa_total-wrbtr,
                              (18) wa_total-dmbtr,
                              (18) wa_total-gl_bal,
                              (18) wa_total-unrealized,
                                   sy-vline.
                ENDIF.
              ENDLOOP.
              FORMAT COLOR OFF.
            ENDAT.
            CLEAR lv_flag.
          ENDLOOP.
          WRITE: / sy-uline(122).
        ENDIF.
      ENDMETHOD.
    * METHOD display_summary                       *
      METHOD display_summary_header.
        FORMAT COLOR COL_HEADING.
        WRITE: /    sy-uline(122),
               /    sy-vline,
               (15) 'GL Account'  CENTERED,
               (04) 'Year'        CENTERED,
               (05) 'Curr.'       CENTERED,
               (15) 'Rate'        CENTERED,
               (18) 'Trans. Curr' CENTERED,
               (18) 'Local Curr.' CENTERED,
               (18) 'GL Balance'  CENTERED,
               (18) 'Unrealized'  CENTERED,
                     sy-vline,
               /     sy-uline(122).
        FORMAT COLOR OFF.
      ENDMETHOD.
    ENDCLASS.
    *       CLASS lcl_handler IMPLEMENTATION
    CLASS lcl_handler IMPLEMENTATION.
      METHOD handle_event.
        MESSAGE i008 WITH 'No data found for account no:' hkont.
        LEAVE LIST-PROCESSING.
      ENDMETHOD.
    ENDCLASS.
    * TOP-OF-PAGE                                  *
    TOP-OF-PAGE.
      DATA: o_top TYPE REF TO lcl_main.
      CREATE OBJECT o_top.
      CALL METHOD o_top->top_of_page.
    * START-OF-SELECTION                           *
    START-OF-SELECTION.
      DATA: o_main           TYPE REF TO lcl_main,
            o_handler        TYPE REF TO lcl_handler,
            o_summary        TYPE REF TO lcl_summary,
            it_bsis_bsas_dum TYPE STANDARD TABLE OF t_bsis_bsas,
            it_exch_dum      LIKE it_exch.
      CREATE OBJECT: o_main, o_handler, o_summary.
      SET HANDLER o_handler->handle_event FOR ALL INSTANCES.
      CALL METHOD o_main->get_data.
      CALL METHOD o_main->get_diff.
      CALL METHOD o_main->display_subheader.
      CALL METHOD o_main->display_header.
      CALL METHOD o_main->get_rate_and_show
         IMPORTING
            ex_bsis_bsas = it_bsis_bsas_dum
            ex_exch      = it_exch_dum.
      CALL METHOD o_summary->display_summary
         EXPORTING
            im_bsis_bsas = it_bsis_bsas_dum
            im_exch      = it_exch_dum.

  • Discoverer export takes a lot of time

    HI All,
    "DB Version is Oracle 11g r2" and "OracleBI Discoverer Viewer Version 10.1.2.48.18" . We are trying to export the data to our local machines which takes infinite time. And finally we end up running the sql query in toad and save-to-excel.
    I have tried to check in oracle documentation and googled also.. but did not find much info on this,. Please suggest.
    Regards
    KK

    Hi ,
    I am trying with both.
    Also , i have chcked it from directly logging into the server through VNC to rule out network gaps. But its taking almost infinite time before it errors out.
    Though i have raised an SR with oracle , they are not very helpful here as its an unsupported version. Can you suggest some parameter to improve upon the export rate.
    I would use csv/xls which ever comes faster.
    A check has been done with viewer only. I would try to check with desktop edition as well and update.
    Thanks for the idea :D
    Regards
    KK

  • Is there a way to fix the exchange rate of PO item condition type ?

    Hello all,
    We have an agreed selling price in RMB from the supplier and the export rate(RMB to USD) is given by them according to delivery date. But we pay in USD.   Thus PO header is USD and using M rate but  PO price condition type in PO item  is RMB -> then convert to USD and sum up into gross price.  We want to control the way RMB is converted to USD in the item level.
    e.g.  PO order currency is USD, PO header exchange rate is a fixed rate input by user
            (hedge rate USD -> Local company currency)
    PO item 1      agreed PO price is 100 RMB -> PO item condition's rate is 100 RMB per pc  
                         -> export rate RMB to USD fixed at 8 -> 100 / 8  USD
    PO item 2      agreed PO price is 200 RMB  -> PO item condition's rate is  200 RMB per pc
                          at export rate -> 200 / 8  USD
    Total PO  value in USD =  300 RMB / 8      (we don't want it to convert 300 RMB using M rate)
    Appreciate if anyone has a solution for this similar case.

    KiltedTim wrote:
    The only way to do so and preserve your warranty is a replacement from Apple. US$199 without AppleCare+, US$49 with. If it doesn't affect the functionality, though, they may not give you that option.
    It's not that big of a deal. I'm just seeing if anyone knows how to bend it back straight from experience or imagination.

  • ABAP- JAVA : How to unzip a zip file sent by ABAP

    Hello,
    We are using JCO to exchange the XML strings (File Sizes can range upto couple of MBs) between ABAP and JAVA. We were earlier using a STRING parameter for XML data exchange. This approach was resulting in huge performance overheads. As per our initial performance investigations, we have identified that time taken for XML exchange using JCO is the major bottlenecks.
    Currently we are evaluating Zip - Exchange - Unzip mechanism for XML exchange.
    We now try to ZIP the export content using following ABAP code:
          TRY.
              CALL METHOD cl_abap_gzip=>compress_text
                EXPORTING
                  text_in  = lv_xmlstring
                IMPORTING
                  gzip_out = ev_xmlstring.
    This returns an XSTRING (zipped) which is lesser in size as compared to the earlier xml STRING.For zipping the XML String this code works fine. But on java end on using the following code (for unzipping):
    public static String unzipStringFromBytes( byte[] bytes ) throws IOException
        ByteArrayInputStream bis = new ByteArrayInputStream(bytes);
        BufferedInputStream bufis = new BufferedInputStream(new InflaterInputStream(bis));
        ByteArrayOutputStream bos = new ByteArrayOutputStream();
        byte[] buf = new byte[1024];
        int len;
        while( (len = bufis.read(buf)) > 0 )
          bos.write(buf, 0, len);
        String retval = bos.toString();
        bis.close();
        bufis.close();
        bos.close();
        return retval;
    We get the following error:
    java.util.zip.DataFormatException: unknown compression method
         at java.util.zip.Inflater.inflateBytes(Native Method)
         at java.util.zip.Inflater.inflate(Inflater.java:215)
    Please share java code snippet which we can use in our program to retrieve our initial XML string.
    Best Regards,
    Aayush

    Hi,
    i took a sequence '0123456789' and gziped it with your ABAP code snipped.
    Result is in HEX:
    '33 30 34 32 36 31 35 33 B7 B0 04 00'
    Than i took an good old gzip executable and gzipped a text file with the same sequence in compression mode 6(default of ABAP Method).
    Result in HEX:
    '1F 8B 08 08 BA B1 D1 45 00 0B 31 2E 74 78 74 00'
    '33 30 34 32 36 31 35 33 B7 B0 04 00 C6 C7 84 A6'   <-- quiet similar with ABAP gzip data
    '0A 00 00 00'
    It seems that some gzip headers and trailers are missing from ABAP Processor's output, i don't know why, maybe it will help you to fake the file headers's to your data section: http://www.gzip.org/zlib/rfc-gzip.html
    Other topic is your Exception: java.util.zip.Inflater.inflate(Inflater.java:215)
    Inflater is used for ZLIB compressed files, try to pass your InputStream to an Object of [java.util.zip.GZIPInputStream] like:
    http://www.galileocomputing.de/openbook/javainsel6/javainsel_12_010.htm [Listing 12.29]
    Let me know if it works and have fun.....

  • ABAP / Java stack refresh

    Does anyone have documentation on how to do a refresh for an ABAP / Java system?  I've done a system copy to create a new system with SAVLIB/RSTLIB by:
    Export the SDM
    Saved ABAP Database
    Saved Java Database
    Run the system copy with RSTLIB option on the target system, but when I did this, the system didn't already exist on the target side.
    But if I have a development system (say abc) and want to refresh it with production (xyz), how would I do this with the addition of a java stack? 
    We have documentation and have done this plenty with just an ABAP stack, but not so with an ABAP/JAVA stack.
    I would think if I tried to use the system copy method mentioned above it would error because the target system (abc) already exists.
    Can anyone clarify for me?  Thank you.
    ~TJ

    Hi TJ.
    Looks like your question is not specific for SAP on System i. Most likely you get more answers when you ask it in an platform independent forum. I would suggest the SAP NetWeaver Application Server forum.
    But I think it would be very interesting for many of us here in this forum to let us know if there is a easy way to accomplish the refresh.
    Best regrads,
    Jan

  • Shiiping/Export mapping problem in SAP B1

    Hi all:
    My present client(SE) has a case of transaction where in for the case of Export they based on Sales Order they directly use to create A/R Invoice
    (Commercial) after which they send this Commercial Invoice to Exporter(agent) who further book the space and time of actual delivery from the ship yard. After confirmation of time and the export rate he used to send his Bill to us(SE) back so that we(SE) can send the material/goods at the shipyard at actual time and date of delivery.
    But while creating Commercial A/R Invoice my stock is getting reduced but in actual case it is not.
    Also while going to make an excise invoice for the same base documents SAP B1  gives error as"base document is already closed". So I acnt prepare Excise Invoice also.
    Kindly give me the soution of this mess.
    Regards
    Khushwant Singh Sansowa
    India(Mumbai)

    Hello Khushwant Singh,
    It is important to understand the Sales Order > Delivery > Invoice process in Business One.
    Though most business use the 3 step process of SO > Del > Invoice, the delivery can be an optional step in Business One.  You could create an Invoice directly from a Sales Order and SBO creates all necessary Journal entries in the Invoice transaction and closes the Sales Order.. and thats why in your case when you are creating the Invoice (commercial) from Sales Order the Sales Order gets closed and the Stock is Reduced.
    You will need determine what data is required to printed in the Commercial Invoice and at what stage you want to realise Revenue.  Based on this you can use one of the following two options:
    option 1: Customize the Sales Order template (PLD) and use it as a Commercial Invoice, Create the delivery and Excise Invoice
    option 2: Create a A/R Reserve Invoice
    option 3: Create a Draft delivery / draft Invoice and use it as a Commercial Invoice
    If you need further help on this please let me know.  Also provide me details of how you want to handle the whole process.
    Regards
    Suda

  • Why does InDesign CS4 crash when exporting to PDF?

    I have a 72 page document and when I export to PDF, it gets to the end and crashes. I can export to pdf in 10 page chunks successfully, but with 30 or more pages it crashes. Could it be temporary file or memory problem. Appreciate any help as I am new to InDesign and need to get this document to print soon.

    This may be of no help to KodiKodi, but it may be of assistance to someone else trying to export large files to PDF.
    I was attempting to export a large CS4 document (800 pages, 200 MB) on a G5 iMac (2.5 GB RAM), to a 3GB single-page PDF file. The export worked in one go.
    Then, for a particular reason, I placed the entire PDF back into a new InDesign document which turned into a 800-page, 400 MB file, double the original size even though it was really the same file but in a different format. I exported that single-page InDesign file to PDF using the spread format, but it wouldn't export in one pass. Wouldn't do it two passes either. I noticed as the export progressed it got slower and slower. The export started at the rate of about 1 page every two seconds, but by about the 400 page mark was down to 1 page every 10 seconds or longer, but would never come to anything.
    So, I tried exporting as 100 page chunks (2-99, 100-199 ...). Took about 2 minutes for the first 100 pages, but I noticed the export rate was slowing down. The second hundred pages took significantly longer than 2 minutes. I found I could get back the export speed if I closed the file after the first hundred, and reopened it (even though it was 400 MB, it would open in a few seconds), and then export the second hundred pages; and so on all through the file.
    For some reason, closing the InDesign file must reset memory allocation or something like that, with the result that exporting to PDF retains it's normal speed.

  • Wht doe memory id means abap memory?

    hi
    can any one eloborate me on teh bleow code wht does it means and from where the value of wa_quantiy coming from memory id????
    import wa_quantity ( a internal table) in to wa_quantity( internal table) from memory id 'wa_quantity'.
    regards
    Arora

    Nishanth,
    To put it in simple: "When ever we need to pass values from one session memory to another session memory we use IMPORT and EXPORT parameters."
    By doing this we import value to ABAP memory and Exporting the same from ABAP memory in other sesion. In short ABAP memory is global. Session memory is local .
    Example : Suppose wa_quantity is an internal table in one program (say Zprog1) and you are want to use it in another program (say Zprog2) so this internal table will not be available for this program.
    What we need to do.
    Export wa_quantity from wa_quantity to memory id MID1.
    here - Export <same name you need to use in p1> from <name of itab in prg1> to <unique id>
    In program 2 : you need to
    IMPORT wa_quantity from wa_quantity  from meory id MID1.
    You need to have same internal table structure in both programs.
    All the very best to you.
    - Mohan.

Maybe you are looking for