Upgrade Reporting Programs

Dear All ,
We are upgrading our system from 4.7 to 6.0 .
I want to find out all the Custom objects which would get effected during the upgrade .
That are related :
a) Obsolete Function Module
b) Obsolete ABAP  Statements
c) Classes and etc .
Is some one can help me list all the reports which could help me to findout all the list of objects which would be getting effected during upgrade . .
Thanks & Regards
Aryan

Hi,
During Upgrade From 4.7 to ECC 6.0  
you have to go step by step 
But during Upgrade problems  there may be problems where  Programs  which are non unicode 
and  Function modules  which are obselete  .
Programs can be find out using table tvdir  where you can pass Value as unicode Blank and execute Z* or y*  Customize programs .
IF you done changes in standard program then those  will get blocked in spau 
you have to clear them  accordingly  during that Phase of upgrade .
if there are changes in data dictionary then that will be done in SPDD
UCCheck transaction code will also help you  .
if need more info can search on SDN  will get all help 
Regards
Deepak.

Similar Messages

  • REPORT/PROGRAM statement missing, or program type is INCLUDE error upgrade.

    Hi Experts,
    I have done the recording for FK05 and created functionmodule for the same. But when I use that function module in my custom program or if I try directly execute the FM, I am getting dump like syntax error. So I did syntax check and tried to activate, I am getting "REPORT/PROGRAM statement missing, or program type is INCLUDE error upgrade" error.
    Please help me soon to resolve this issue.
    Thanks in advance.
    Shreyansh

    Hi
    Goto main function group include name attributes tab and double click.
    once the include is opened, try to activate it. if shows errors then fix.
    regards
    Shiva

  • Help needed in report programming

    Hi All
    I am processing some data on first screen of a report transaction and an output is displayed on second screen. My requirement is that when I press back, I have to come to SAP initial screen.
    I have tried all options with 'LEAVE'. Problem is that control doesnt come even once in report, it goes into some standard code so I am unable to make changes..
    Kindly help.
    Thanks
    Dinesh
    <LOCKED BY MODERATOR - USE APPROPRIATE TITLES>
    <LOCKED BY MODERATOR - URGENT, PLEASE HELP OR SIMILAR ARE FORBIDDEN>
    Edited by: Alvaro Tejada Galindo on Aug 18, 2008 5:17 PM

    Hi,
    Since it is a report program. U have to set PF status in ur output page (either ALV or any other output format).
    In GUI status, triger the function code for BACK.
    Then, inside the event AT USER-COMMAND, code LEAVE PROGRAM for the BACK function.
    If it is an ALV output, the PF-status and User-command event should be called in the ALV function module.
    Regards,
    Prem

  • What is difference between report programming and dialog programming?

    hi,
    what is difference between report programming and dialog programming? plz provide some example code
    bye

    ABAP programming
    Basically reports are used to read database and represent the results in lists.
    Reports are collections of processing blocks that the system calls depending on events.
    We can use reports to evaluate data from database tables.
    Reports are stand alone programs and controlled by events.
    A report itself never creates events
    steps in report:
    Processing the selection screen
    Reading the database
    Evaluating the data and creating lists
    Outputting a list.
    1st u write simple logics, after that u can enhance the code as step by step.
    http://venus.imp.mx/hilario/Libros/TeachYrslfAbap4/index.htm
    http://help.sap.com/saphelp_47x200/helpdata/en/d1/802cfc454211d189710000e8322d00/frameset.htm
    http://www.sapdev.co.uk/reporting/reportinghome.htm
    Dialog Programming
    Structure of a Dialog Program
    A dialog program consists of the following basic components:
    Screens (dynpros)
    Each dialog in an SAP system is controlled by dynpros. A dynpro (DYnamic PROgram) consists of a screen and its flow logic and controls exactly one dialog step. The flow logic determines which processing takes place before displaying the screen (PBO-Process Before Output) and after receiving the entries the user made on the screen (PAI-Process After Input).
    The screen layout fixed in the Screen Painter determines the positions of input/output fields, text fields, and graphical elements such as radio buttons and checkboxes. In addition, the Menu Painter allows to store menus, icons, pushbuttons, and function keys in one or more GUI statuses. Dynpros and GUI statuses refer to the ABAP/4 program that control the sequence of the dynpros and GUI statuses at runtime.
    ABAP/4 module pool
    Each dynpro refers to exactly one ABAP/4 dialog program. Such a dialog program is also called a module pool, since it consists of interactive modules. The flow logic of a dynpro contains calls of modules from the corresponding module pool. Interactive modules called at the PBO event are used to prepare the screen template in accordance to the context, for example by setting field contents or by suppressing fields from the display that are not needed. Interactive modules called at the PAI event are used to check the user input and to trigger appropriate dialog steps, such as the update task.
    All dynpros to be called from within one transaction refer to a common module pool. The dynpros of a module pool are numbered. By default, the system stores for each dynpro the dynpro to be displayed next. This dynpro sequence or chain can be linear as well as cyclic. From within a dynpro chain, you can even call another dynpro chain and, after processing it, return to the original chain.
    Check this link for basics.
    http://sap.mis.cmich.edu/sap-abap/abap09/index.htm
    Check this link for Dialog Programming/Table Control
    http://www.planetsap.com/Tips_and_Tricks.htm#dialog
    Check this SAP Help for Dialog Program doc.
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/content.htm
    Check this SAP Help link for Subscreens.
    http://help.sap.com/saphelp_nw70/helpdata/en/9f/dbabfe35c111d1829f0000e829fbfe/content.htm
    Check this link for subscreen demo program.
    http://abapcode.blogspot.com/2007/05/demo-program-to-create-subscreen-in.html
    Also check this link too.
    http://abapcode.blogspot.com/2007/06/dialog-programming-faq.html
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/frameset.htm
    http://sap.mis.cmich.edu/sap-abap/abap09/sld004.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/52/670ba2439b11d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/52/670c17439b11d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/52/670c17439b11d1896f0000e8322d00/frameset.htm
    http://help.sap.com/saphelp_nw04/helpdata/en/9f/db9ccf35c111d1829f0000e829fbfe/frameset.htm
    http://abapprogramming.blogspot.com/

  • Help with Upgrade report in FI

    Hey All Gurus,
    Im in a thick soup here. I am trying to do something like this -
    if you see the selection screen i have rep and super rep, when a user enters a rep value --- it should use the same value to pull all open items for the super rep as well, since they are essentially the same. please help! this one needs to be done fast. i am pasting the code so that it will be easier ...
    thanks a million!
    *& Report  ZFDOFW04_NEW
    REPORT ZFDOFW04_NEW MESSAGE-ID FR
                         LINE-SIZE 132
                         LINE-COUNT 60.
    *==================================================================
    Program: ZFDOFW03 -      Aged Trial Balance Report
             This produces an Accounts Receivable Past Due Aging Report
             in a more simplified/condensed format than the
             SAP supplied aging report program - RFDOPR10.
             This program is a modified copy of RFDOFW00, - a SAP
             Future-Due Report.
             This was a 'rush' job - program probably should be
             rewritten someday not using logical databases as that
             maybe why this runs so slowly!
    Original:  Feb 1997.
    MAINTENANCE HISTORY:
    NES071797   Copied from ZFDOFW03.  Adding parameter for saeles rep.
    JDEDERER - changed header text so it is differnet from ZFDORW03. 9/23
    *TEXT SYMBOLS :
    001 Open items per
    002 O p e n
    003 D u e  o n
    004    cc   ba     in total
    005  until
    006 Days until
    007 Days over
    008 Days
    009 over
    011 valid until........
    012 Insurance limit.....
    016 F u t u r e
    017 + days
    018 D u e
    020 Last dunn.notice...
    021 Dunning level....
    030   S U M M A R Y  S H E E T
    031  =====================
    050 Name           Page
    051 Burton Snowboard
    SELECTION TEXTS:
    SUMMEN   Output totals only
    TAGE1    Due date I until
    TAGE2    Due date II until
    TAGE3    Due date III until
    TAGE4    Due date IV until
    TABLES: T001, KNA1, KNB1, KNB5, BSID, BSEGA, RFPDO1, KNVP,
             T014,                     "credit control areas              JAM
             KNVK,                     "cust master - contact partner     JAM
             T014T,  "Credit control areas names
             BKPF,   "TONY ISSUE 4743
             TVKO,   "TONY ISSUE 4743
             KNKK.                     "cust master - credit mgmt         JAM
    TYPES: BEGIN OF TOT_TYPE,                                  "DEVK939546
              BUKRS LIKE LFB1-BUKRS,                            "DEVK939546
              GSBER LIKE BSIK-GSBER,                            "DEVK939546
              KKBER LIKE BSID-KKBER,
              RAST1 TYPE P,                                     "DEVK939546
              RAST2 TYPE P,                                     "DEVK939546
              RAST3 TYPE P,                                     "DEVK939546
              RAST4 TYPE P,                                     "DEVK939546
              RAST5 TYPE P,                                     "DEVK939546
              RAST6 TYPE P,                                     "DEVK939546
              RAST7 TYPE P,                                     "DEVK939546
            END OF TOT_TYPE,                                    "DEVK939546
            TOT_TAB TYPE TOT_TYPE OCCURS 0.                     "DEVK939546
    CONSTANTS:
             C_FALSE    TYPE I VALUE 0,                                  "JAM
             C_TRUE     TYPE I VALUE 1.
    DATA: BEGIN OF GTAB OCCURS 1000,
              SUPER(10) TYPE C,                                         "TONYC
              REP(10) TYPE C,                                           "TONYC
              FILKD(10),        "tonyc show buying groups
              LAND1 LIKE KNA1-LAND1,
              GSBER LIKE BSIK-GSBER,
              REGIO LIKE KNA1-REGIO,
              NAME1 LIKE KNA1-NAME1,
              NAME2 LIKE KNA1-NAME2,
              ORT01  LIKE KNA1-ORT01,
              TELF1      LIKE KNVK-TELF1,       "telephone number         JAM
              CONT_NAME1 LIKE KNVK-NAME1,       "contact name             JAM
              NAMEV      LIKE KNVK-NAMEV,       "contact name             JAM
              KUNNR LIKE KNA1-KUNNR,                                   "TONYC
              BUKRS LIKE LFB1-BUKRS,                                   "TONYC
              KKBER LIKE BSID-KKBER,     "tonyc issue #2500
              ZTERM LIKE KNB1-ZTERM,     "tonyc issue #2500
              KLIMK_TXT(22)   TYPE C,           "credit limit             JAM
              WAERS      LIKE T014-WAERS,       "currency                 JAM
              SORT_GSB,                                               "TONYC
              RAST1 TYPE P,
              RAST2 TYPE P,
              RAST3 TYPE P,
              RAST4 TYPE P,
              RAST5 TYPE P,
              RAST6 TYPE P,
              RAST7 TYPE P,
              T_IND,
           END OF GTAB.
    DATA HOLD_NAME(40).
    DATA  HOLD_BUKRS LIKE T001-BUKRS.                                 "tonyc
    DATA  GOOD_SUPER_REP.                                             "tonyc
    DATA: HOLD_REP LIKE KNA1-KUNNR,                                   "tonyc
           SUPER_NAME LIKE KNA1-NAME1,                                 "tonyc
           REP_NAME LIKE KNA1-NAME1.                                   "tonyc
    DATA  NAME_LENGTH(2) TYPE C.                                      "tonyc
    DATA  BACKSLASH(3) VALUE ' / '.                                   "tonyc
    DATA  REPS_INFO(70) TYPE C.                                       "tonyc
    DATA  REPORT_TYPE(12) TYPE C.
    DATA:   C_CREDIT_ABTNR LIKE KNVK-ABTNR.    "dept 003 = credit
    DATA  Z_HOLD_LIMIT(22) TYPE N.  "tonyc issue#2216
    DATA  Z_DESCRIPTION(18).   "tonyc issue#2216
    DATA  WRITE_TOTAL.
    DATA  HOLD_KLIMK LIKE KNKK-KLIMK.
    DATA  HOLD_KLIMK2(22) TYPE C.
    DATA  HOLD-CTLPC LIKE KNKK-CTLPC.
    DATA  HOLD-CTLPC-TEXT LIKE T691T-RTEXT.
    DATA  HOLD_ZTERM LIKE KNVV-ZTERM.
    DATA  TOTAL_RAST7 TYPE P.
    DATA  TOTAL_RAST2 TYPE P.
    DATA  TOTAL_RAST3 TYPE P.
    DATA  TOTAL_RAST4 TYPE P.
    DATA  TOTAL_RAST5 TYPE P.
    DATA  TOTAL_RAST6 TYPE P.
    DATA  TOTAL_RAST1 TYPE P.
    DATA  HOLD_BUKRS2 LIKE T001-BUKRS.
    DATA  HOLD_KKBER LIKE BSID-KKBER.
    DATA  HOLD_KKBER_DESC LIKE T014T-KKBTX.
    DATA  HOLD_KKBER_DESC2 LIKE T014T-KKBTX.
    DATA  HOLD_KUNNR2 LIKE KNA1-KUNNR.
    DATA  L_FIRST_DAY_OF_FISCAL LIKE SY-DATUM. "tonyc issue #3047
    DATA: STAB TYPE TOT_TAB WITH HEADER LINE,                  "DEVK939546
           RTOT TYPE TOT_TAB WITH HEADER LINE,                  "DEVK939546
           STOT TYPE TOT_TAB WITH HEADER LINE,                  "DEVK939546
           OP,
           MAXMANDT LIKE DD_STIDA,
           MAXMANST TYPE P,
        SUMKLIMB TYPE P,
           SUMVLIBB TYPE P,
           VERZUG TYPE P,
           OBAD TYPE P,
           BLOCK_CNT TYPE P,
           INTENS,
           ONEBYTE(1) TYPE C,
           TAGE1A LIKE RFPDO1-ALLGFAEL,
           TAGE2A LIKE RFPDO1-ALLGFAEL,
           TAGE3A LIKE RFPDO1-ALLGFAEL,
            HOLD_KUNNR  LIKE KNA1-KUNNR,                          "tonyc
            HOLD_SUPER  LIKE KNA1-KUNNR,                          "tonyc
            HOLD_REP2  LIKE KNA1-KUNNR,                          "tonyc
            SUPER_REP   LIKE KNA1-KUNNR,                          "tonyc
           TEMP_TELF1      LIKE KNA1-TELF1,                              "JAM
           IT_T014         LIKE T014 OCCURS 0 WITH HEADER LINE,          "JAM
           G_KLIMK_TXT     LIKE GTAB-KLIMK_TXT,                          "JAM
           G_WAERS         LIKE GTAB-WAERS,                              "JAM
           G_CONT_NAME(50) TYPE C.                                       "JA
    DATA  FILL_REP_INFO.
       BC     SUNILP      05/14/2007
    DATA: BEGIN OF ITAB_VBRP OCCURS 0.
             INCLUDE STRUCTURE VBRP.
    DATA:  END OF ITAB_VBRP.
    DATA: T_PERC TYPE F,
           SUM_NETWR LIKE VBRP-NETWR.
    *DATA: GTAB_LINES LIKE GTAB OCCURS 0 WITH HEADER LINE.
    DATA: BEGIN OF GTAB_LINES OCCURS 0.
             INCLUDE STRUCTURE GTAB.
    DATA:  IND(1),
            OBAD TYPE P.
    DATA:  END OF GTAB_LINES.
    DATA: BEGIN OF ITAB_VBRP1 OCCURS 0,
           VBELN LIKE VBRP-VBELN,
           NETWR LIKE VBRP-NETWR,
           ZZMREP LIKE VBRP-ZZMREP,       "Super Rep
           ZZLREP LIKE VBRP-ZZLREP,       "Rep
           PERC TYPE F,
           END OF ITAB_VBRP1.
       EC     SUNILP      05/14/2007
    BEGIN_OF_BLOCK 2.
    PARAMETERS: REGIO  LIKE KNA1-REGIO.
    PARAMETERS: CONSOL AS CHECKBOX.                      "TONYC
    PARAMETERS: P_KKBER AS CHECKBOX,                      "TONYC
                 P_CONV AS CHECKBOX.  "tonyc issue #3047
    PARAMETERS: SUMMEN LIKE RFPDO1-ALLGSUMM,
                 TAGE1 LIKE RFPDO1-ALLGFAEL DEFAULT '30',
                 TAGE2 LIKE RFPDO1-ALLGFAEL DEFAULT '60',
                 TAGE3 LIKE RFPDO1-ALLGFAEL DEFAULT '90',
                 TAGE4 LIKE RFPDO1-ALLGFAEL DEFAULT '120'.
    END_OF_BLOCK 2.
    BEGIN_OF_BLOCK 3.
    SELECT-OPTIONS:   P_SUPREP FOR KNVP-KUNNR,   "Super REP      "DEVK939546
                       P_REP FOR KNVP-KUNNR,   "SALES REP         "DEVK939546
                       P_VKORG FOR TVKO-VKORG,  "TONYC ISSUE 4743
                       P_LOTKZ FOR BKPF-LOTKZ.  "TONYC ISSUE 4743
    END_OF_BLOCK 3.
    INITIALIZATION.                                                     "JAM
       PERFORM LOAD_T014.                                                "JAM
         refresh dd_augdt.
         clear dd_augdt.
         dd_augdt-option = 'EQ'.
         dd_augdt-sign   = 'I'.
         dd_augdt-low    = ' '.
        append dd_augdt.
    AT SELECTION-SCREEN.
       IF CONSOL = 'X'.
         IF NOT P_SUPREP[] IS INITIAL.                          "DEVK939546
           MESSAGE E999 WITH 'Consolidated report not allowed w/ Super Rep'.
         ENDIF.
       ENDIF.
    CHECK IF THE REP INFO IS ADDED OR NOT - VS
       IF NOT P_SUPREP IS INITIAL OR"TONY ISSUE 4743
          NOT P_REP IS INITIAL."TONY ISSUE 4743
         FILL_REP_INFO = 'X'."TONY ISSUE 4743
       ENDIF."TONY ISSUE 4743
    START-OF-SELECTION.
    get_frame_title 2.
    add function module to track usage   JD  10/13/98 *****
       CALL FUNCTION 'Z_RUN_LOG'
         EXCEPTIONS
           OTHERS = 1.
    *IF NOT P_SUPREP IS INITIAL AND NOT P_REP IS INITIAL.
       P_SUPREP = ' '.
    *ENDIF.
    GET KNA1 FIELDS LAND1 REGIO KUNNR NAME1 NAME2 ORT01 TELF1.          "JAM
    new-page.
    skip.
       TEMP_TELF1 = KNA1-TELF1.
       MAXMANDT = '19000101'.
       MAXMANST = 0.
       SUMVLIBB = 0.
       PERFORM GET_CUST_CONTACT.                                         "JAM
    Check sales rep-                           NES071797
    Get any valid record and exit.
    IF NOT p_suprep[] IS INITIAL. "DEVK939546  "TONY ISSUE 4743 start
       good_super_rep = ' '.
       SELECT kunn2 INTO super_rep FROM knvp UP TO 1 ROWS
         WHERE
           kunnr = kna1-kunnr AND
           parvw = 'ZS' AND
           kunn2 IN p_suprep.
         EXIT.
       ENDSELECT.
       IF sy-subrc = 0.
         good_super_rep = 'X'.
         gtab-super = super_rep.
         super_rep = ' '.
       ENDIF.
       CHECK good_super_rep = 'X'.
       SELECT kunn2 INTO gtab-rep FROM knvp UP TO 1 ROWS
       WHERE
         kunnr = kna1-kunnr AND
         parvw = 'ZR' AND
         kunn2 IN p_rep.
         EXIT.
       ENDSELECT.
       CHECK sy-subrc = 0.
    ELSEIF NOT p_rep[] IS INITIAL.  "DEVK939546
       SELECT kunn2 INTO gtab-rep FROM knvp UP TO 1 ROWS
         WHERE
           kunnr = kna1-kunnr AND
           parvw = 'ZR' AND
           kunn2 IN p_rep.
         EXIT.
       ENDSELECT.
       CHECK sy-subrc = 0.
    ENDIF.                      "TONY ISSUE 4743 end
    GET KNB1 FIELDS BUKRS VLIBB ZTERM.  "tonyc #2500
       GTAB-BUKRS = KNB1-BUKRS.
    GTAB-ZTERM = KNB1-ZTERM.
       SUMVLIBB = SUMVLIBB + KNB1-VLIBB.
    GET KNB5.
       IF KNB5-MADAT > MAXMANDT.
         MAXMANDT = KNB5-MADAT.
       ENDIF.
       IF KNB5-MAHNS > MAXMANST.
         MAXMANST = KNB5-MAHNS.
       ENDIF.
    SUMKLIMB = SUMKLIMB + KLIMB.
    GET BSID.
       CHECK BSID-BSTAT = SPACE.
    field was intended for Business Area, changed to use Currency
       GTAB-GSBER = BSID-WAERS.
       IF P_KKBER = 'X'.                 "TONYC ISSUE #2500
         IF BSID-KKBER = ' '.
           GTAB-KKBER = BSID-BUKRS.
         ELSE.
           GTAB-KKBER       = BSID-KKBER.  "TONYC ISSUE #2500
         ENDIF.
       ENDIF.                            "TONYC ISSUE #2500
       SELECT SINGLE * FROM BKPF  "TONY ISSUE 4743
          WHERE BUKRS =  BSID-BUKRS "TONY ISSUE 4743
            AND BELNR = BSID-BELNR "TONY ISSUE 4743
            AND GJAHR = BSID-GJAHR. "TONY ISSUE 4743
      BC      SUNILP      05/14/2007
       IF BKPF-XREF2_HD IS NOT INITIAL.
         CHECK BKPF-XREF2_HD IN P_SUPREP. "TONY ISSUE 4743
       ELSE.
         IF P_REP[] IS INITIAL.
           REFRESH: ITAB_VBRP, ITAB_VBRP1.
           IF NOT BKPF-XBLNR IS INITIAL.
             SELECT * FROM VBRP INTO ITAB_VBRP WHERE VBELN = BKPF-XBLNR.
               APPEND ITAB_VBRP. CLEAR ITAB_VBRP.
             ENDSELECT.
            CHECK ITAB_VBRP[] IS NOT INITIAL.
             CLEAR: SUM_NETWR.
             LOOP AT ITAB_VBRP.
               CHECK ITAB_VBRP-ZZMREP IN P_SUPREP.
               CHECK ITAB_VBRP-ZZLREP IN P_REP.
               MOVE-CORRESPONDING ITAB_VBRP TO ITAB_VBRP1.
               COLLECT: ITAB_VBRP1.
               SUM_NETWR = SUM_NETWR + ITAB_VBRP-NETWR.
               CLEAR ITAB_VBRP.
             ENDLOOP.
            CHECK ITAB_VBRP1[] IS NOT INITIAL.
             LOOP AT ITAB_VBRP1.
               CLEAR: T_PERC.
               T_PERC = ( ITAB_VBRP1-NETWR / SUM_NETWR ).
               ITAB_VBRP1-PERC = T_PERC.
               MODIFY ITAB_VBRP1 INDEX SY-TABIX TRANSPORTING PERC.
             ENDLOOP.
           ENDIF.
         ENDIF.
       ENDIF.
      EC      SUNILP      05/14/2007
       IF FILL_REP_INFO = 'X'.
         GTAB-SUPER = BKPF-XREF2_HD. "TONY ISSUE 4743   "MOVE THE CONTENTS OF XREF2_HD TO GTAB INTERNAL TABLE - VS
       ENDIF.
      BC      SUNILP      05/14/2007
       IF BKPF-XREF1_HD IS NOT INITIAL.
         CHECK BKPF-XREF1_HD IN P_REP. "TONY ISSUE 4743  " ELSE MOVE THE CONTENTS OF - VS
       ELSE.
         REFRESH: ITAB_VBRP, ITAB_VBRP1.
         IF NOT BKPF-XBLNR IS INITIAL.
           SELECT * FROM VBRP INTO ITAB_VBRP WHERE VBELN = BKPF-XBLNR.
             APPEND ITAB_VBRP. CLEAR ITAB_VBRP.
           ENDSELECT.
            CHECK ITAB_VBRP[] IS NOT INITIAL.
           CLEAR: SUM_NETWR.
           LOOP AT ITAB_VBRP.
             CHECK ITAB_VBRP-ZZMREP IN P_SUPREP.
             CHECK ITAB_VBRP-ZZLREP IN P_REP.
             MOVE-CORRESPONDING ITAB_VBRP TO ITAB_VBRP1.
             COLLECT: ITAB_VBRP1.
             SUM_NETWR = SUM_NETWR + ITAB_VBRP-NETWR.
             CLEAR ITAB_VBRP.
           ENDLOOP.
            CHECK ITAB_VBRP1[] IS NOT INITIAL.
           LOOP AT ITAB_VBRP1.
             CLEAR: T_PERC.
             T_PERC = ( ITAB_VBRP1-NETWR / SUM_NETWR ).
             ITAB_VBRP1-PERC = T_PERC.
             MODIFY ITAB_VBRP1 INDEX SY-TABIX TRANSPORTING PERC.
           ENDLOOP.
         ENDIF.
       ENDIF.
      EC      SUNILP      05/14/2007
       IF FILL_REP_INFO = 'X'.
         GTAB-REP = BKPF-XREF1_HD. "TONY ISSUE 4743
       ENDIF.
       CHECK BKPF-LOTKZ    IN P_LOTKZ. "TONY ISSUE 4743
       CHECK BKPF-BRNCH    IN P_VKORG. "TONY ISSUE 4743
       SELECT SINGLE FILKD INTO GTAB-FILKD FROM BSEG
          WHERE BUKRS =  BSID-BUKRS
            AND BELNR = BSID-BELNR
            AND GJAHR = BSID-GJAHR
            AND BUZEI = BSID-BUZEI.
    gtab-gsber = bsid-gsber.
    get rep info for each bsid record
    IF NOT P_SUPREP IS INITIAL.                                  "tonyc
        SELECT KUNNR FROM VBPA INTO HOLD_REP UP TO 1 ROWS         "tonyc
              WHERE VBELN = BSID-VBELN                            "tonyc
              AND PARVW = 'ZR'.                                   "tonyc
        ENDSELECT.                                                "tonyc
        IF NOT P_REP IS INITIAL.                                  "tonyc
          CHECK HOLD_REP = P_REP.                                 "tonyc
        ENDIF.                                                    "tonyc
        GTAB-REP = HOLD_REP.                                      "tonyc
        HOLD_REP = ' '.                                           "tonyc
    ENDIF.                                                       "tonyc
       PERFORM GET_KNKK_INFO.                                            "JAM
       GTAB-KLIMK_TXT = G_KLIMK_TXT.
       GTAB-WAERS     = G_WAERS.
       GTAB-LAND1 = KNA1-LAND1.
       GTAB-REGIO = KNA1-REGIO.
       GTAB-KUNNR = KNA1-KUNNR.
       GTAB-NAME1 = KNA1-NAME1.
       GTAB-NAME2 = KNA1-NAME2.
       GTAB-ORT01 = KNA1-ORT01.
    *if there is no phone number for the contact, pull the phone
    *number from the sold-to
       IF KNVK-TELF1 = ' '.
         GTAB-TELF1      = TEMP_TELF1.
       ELSE.
         GTAB-TELF1      = KNVK-TELF1.                                 "JAM
       ENDIF.
       GTAB-CONT_NAME1 = KNVK-NAME1.
       GTAB-NAMEV      = KNVK-NAMEV.
    verzug = bsega-netdt - dd_stida.
       VERZUG = DD_STIDA - BSEGA-NETDT.     "days past due calculation
       OP = 'X'.
       GTAB-RAST2 = GTAB-RAST3 = GTAB-RAST4 = 0.
       GTAB-RAST5 = GTAB-RAST6 = OBAD = GTAB-RAST7 = 0.
       IF VERZUG LE 0.                      "future due
         GTAB-RAST1 = BSEGA-WRSHB.
       ELSE.
         IF VERZUG LE TAGE1.                "past due 1 to tage1 days
           GTAB-RAST1 = BSEGA-WRSHB.
           GTAB-RAST2 = BSEGA-WRSHB.
           OBAD       = BSEGA-WRSHB.
         ELSE.
           IF VERZUG LE TAGE2.              "past due tage1 to tage2 days
             GTAB-RAST1 = BSEGA-WRSHB.
             GTAB-RAST3 = BSEGA-WRSHB.
             OBAD       = BSEGA-WRSHB.
           ELSE.
             IF VERZUG LE TAGE3.            "past due tage2 to tage3 days
               GTAB-RAST1 = BSEGA-WRSHB.
               GTAB-RAST4 = BSEGA-WRSHB.
               OBAD       = BSEGA-WRSHB.
             ELSE.
               IF VERZUG LE TAGE4.          "past due tage3 to tage4 days
                 GTAB-RAST1 = BSEGA-WRSHB.
                 GTAB-RAST5 = BSEGA-WRSHB.
                 OBAD       = BSEGA-WRSHB.
               ELSE.
                 IF VERZUG GT TAGE4.        "past due > tage4 days
                   GTAB-RAST1 = BSEGA-WRSHB.
                   GTAB-RAST6 = BSEGA-WRSHB.
                   OBAD       = BSEGA-WRSHB.
                 ENDIF.
               ENDIF.
             ENDIF.
           ENDIF.
         ENDIF.
       ENDIF.
       GTAB-RAST7 = GTAB-RAST1 - OBAD.
    stab = gtab.
       MOVE-CORRESPONDING GTAB TO STAB.
      BC     SUNILP       05/15/2007
       IF ITAB_VBRP1[] IS NOT INITIAL.
         GTAB-T_IND = 'X'.
         LOOP AT ITAB_VBRP1.
           MOVE-CORRESPONDING GTAB TO GTAB_LINES.
           GTAB_LINES-SORT_GSB =  '1'.
           GTAB_LINES-SUPER = ITAB_VBRP1-ZZMREP.
           GTAB_LINES-REP = ITAB_VBRP1-ZZLREP.
           GTAB_LINES-RAST1 = GTAB_LINES-RAST1 * ITAB_VBRP1-PERC.
           GTAB_LINES-RAST2 = GTAB_LINES-RAST2 * ITAB_VBRP1-PERC.
           GTAB_LINES-RAST3 = GTAB_LINES-RAST3 * ITAB_VBRP1-PERC.
           GTAB_LINES-RAST4 = GTAB_LINES-RAST4 * ITAB_VBRP1-PERC.
           GTAB_LINES-RAST5 = GTAB_LINES-RAST5 * ITAB_VBRP1-PERC.
           GTAB_LINES-RAST6 = GTAB_LINES-RAST6 * ITAB_VBRP1-PERC.
           GTAB_LINES-RAST7 = GTAB_LINES-RAST7 * ITAB_VBRP1-PERC.
      GTAB_LINES-OBAD  = GTAB_LINES-OBAD  * ITAB_VBRP1-PERC.
           COLLECT: GTAB_LINES.
         ENDLOOP.
       ELSE.
         MOVE-CORRESPONDING GTAB TO GTAB_LINES.
         GTAB_LINES-T_IND =  'X'.
         GTAB_LINES-SORT_GSB =  '1'.
         IF GTAB_LINES-SUPER IN P_SUPREP OR GTAB_LINES-REP IN P_REP.
           COLLECT: GTAB_LINES.
         ENDIF.
       ENDIF.
      EC     SUNILP       05/15/2007
    gtab-sort_gsb = stab-sort_gsb = '0'.
    collect: gtab, stab.
    gtab-gsber = stab-gsber = '****'.
       GTAB-SORT_GSB =  '1'.
       IF REGIO = SPACE OR REGIO = GTAB-REGIO.
         IF GTAB_LINES-SUPER IN P_SUPREP OR GTAB_LINES-REP IN P_REP.
           COLLECT: GTAB, STAB.
         ENDIF.
       ENDIF.
    END-OF-SELECTION.
       TAGE1A = TAGE1 + 1.
       TAGE2A = TAGE2 + 1.
       TAGE3A = TAGE3 + 1.
       IF  SUMMEN = ' '.
       sort gtab by bukrs land1 regio kunnr gsber sort_gsb.
      sort gtab by bukrs land1 regio name1 kunnr gsber sort_gsb.      "JAM
         IF CONSOL = 'X'.
           SORT GTAB BY LAND1 REGIO NAME1 KUNNR BUKRS KKBER GSBER SORT_GSB.
           "TONYC
           REPORT_TYPE = 'consolidated'.
         ELSEIF NOT P_SUPREP[] IS INITIAL.                      "DEVK939546
           SORT GTAB
             BY SUPER REP NAME1 BUKRS KKBER LAND1 REGIO NAME1 GSBER SORT_GSB.
      BC   SUNILP   05/15/2007
           SORT GTAB_LINES
             BY SUPER REP NAME1 BUKRS KKBER LAND1 REGIO NAME1 GSBER SORT_GSB.
      EC   SUNILP   05/15/2007
           REPORT_TYPE = 'super rep'.
           CLEAR STAB.   "tonyc 03/06/2004
           REFRESH STAB. "tonyc 03/06/2004
         ELSEIF NOT P_REP[] IS INITIAL.                         "DEVK939546
           SORT GTAB                                            "DEVK939546
             BY REP NAME1 BUKRS KKBER LAND1 REGIO NAME1 GSBER SORT_GSB.
                                                                "DEVK939546
      BC   SUNILP   05/15/2007
           SORT GTAB_LINES
             BY REP NAME1 BUKRS KKBER LAND1 REGIO NAME1 GSBER SORT_GSB.
      EC   SUNILP   05/15/2007
           REPORT_TYPE = 'rep'.                                 "DEVK939546
           CLEAR STAB.   "tonyc 03/06/2004
           REFRESH STAB. "tonyc 03/06/2004
         ELSE.
           SORT GTAB BY BUKRS KKBER LAND1 REGIO NAME1 KUNNR GSBER SORT_GSB.
      BC   SUNILP   05/15/2007
           SORT GTAB_LINES BY BUKRS KKBER LAND1 REGIO NAME1 KUNNR GSBER SORT_GSB.
      EC   SUNILP   05/15/2007
           REPORT_TYPE = 'regular'.
         ENDIF.
      BC   SUNILP   05/15/2007
         DELETE ADJACENT DUPLICATES FROM GTAB COMPARING BUKRS NAME1.
         LOOP AT GTAB_LINES.
           IF P_REP[] IS INITIAL.
             IF GTAB_LINES-SUPER NOT IN P_SUPREP.
               DELETE GTAB_LINES.
             ENDIF.
           ELSE.
             IF GTAB_LINES-SUPER NOT IN P_SUPREP OR GTAB_LINES-REP NOT IN P_REP.
               DELETE GTAB_LINES.
             ENDIF.
           ENDIF.
         ENDLOOP.
         LOOP AT GTAB.
           READ TABLE GTAB_LINES WITH KEY BUKRS = GTAB-BUKRS
                                          NAME1 = GTAB-NAME1.
           IF SY-SUBRC NE '0'.
             DELETE GTAB.
           ENDIF.
         ENDLOOP.
      EC   SUNILP   05/15/2007
         LOOP AT GTAB.
           MOVE GTAB-BUKRS TO T001-BUKRS. READ TABLE T001.
           RESERVE 5 LINES.
           CASE REPORT_TYPE.
             WHEN 'regular'.
               IF HOLD_BUKRS <> GTAB-BUKRS.
                 IF SY-TABIX > 1.                                   "TONYC
                   NEW-PAGE. SKIP.                                 "TONYC
                 ENDIF.                                             "TONYC
               ENDIF.
               PERFORM WRITE_CUST_INFO.                               "TONYC
               PERFORM WRITE_DETAIL.
             hold_bukrs = gtab-bukrs.                               "tonyc
             WHEN 'consolidated'.
               IF HOLD_KUNNR <> GTAB-KUNNR.                           "TONYC
                 PERFORM WRITE_CUST_INFO.                           "TONYC
               ENDIF.                                                 "TONYC
               HOLD_KUNNR = GTAB-KUNNR.                               "TONYC
               PERFORM WRITE_DETAIL.
             WHEN 'super rep'.
              IF GTAB-T_IND NE 'X'.
       BC     SUNILP     05/22/2007
                READ TABLE GTAB_LINES WITH KEY BUKRS = GTAB-BUKRS
                                               NAME1 = GTAB-NAME1.
       EC     SUNILP     05/22/2007
                IF ( HOLD_SUPER <> GTAB_LINES-SUPER ) OR
                   ( HOLD_REP2 <> GTAB_LINES-REP ).
                  NEW-PAGE.
                  PERFORM GET_AND_WRITE_SUPERINFO.
                ENDIF.
                HOLD_REP2 = GTAB_LINES-REP.
                HOLD_SUPER = GTAB_LINES-SUPER.
                IF HOLD_KUNNR <> GTAB-KUNNR.                           "TONYC
                  WRITE :/.                                           "TONYC
                  ULINE.                                              "TONYC
                  PERFORM WRITE_CUST_INFO.                            "TONYC
                ENDIF.                                                 "TONYC
                HOLD_KUNNR = GTAB-KUNNR.                               "TONYC
                PERFORM WRITE_DETAIL.                                  "TONYC
                AT END OF REP.                                 "DEVK939546
                  SKIP.                                        "DEVK939546
                  RESERVE 7 LINES.                             "DEVK939546
                  FORMAT COLOR COL_TOTAL INTENSIFIED.          "DEVK939546
                  WRITE: / 'Summary for Rep:',                 "DEVK939546
                            GTAB-REP, '/', REP_NAME, 132 ONEBYTE."DEVK939546
                  PERFORM WRITE_TOTS TABLES RTOT.              "DEVK939546
                  REFRESH RTOT.                                "DEVK939546
                ENDAT.                                         "DEVK939546
                AT END OF SUPER.                               "DEVK939546
                  CLEAR STAB.   "tonyc 03/06/2004
                  REFRESH STAB. "tonyc 03/06/2004
                  NEW-PAGE. SKIP.                              "DEVK939546
                  FORMAT COLOR COL_TOTAL INTENSIFIED.          "DEVK939546
                  WRITE: / 'Summary for Super Rep:',           "DEVK939546
                         GTAB-SUPER, '/', SUPER_NAME, 132 ONEBYTE."DEVK939546
                  PERFORM WRITE_TOTS TABLES STOT.              "DEVK939546
                  REFRESH STOT.                                "DEVK939546
                ENDAT.                                         "DEVK939546
              ELSE.
               LOOP AT GTAB_LINES WHERE BUKRS = GTAB-BUKRS
                                    AND NAME1 = GTAB-NAME1.
                 IF ( HOLD_SUPER <> GTAB_LINES-SUPER ) OR
                    ( HOLD_REP2 <> GTAB_LINES-REP ).
                   NEW-PAGE.
                   PERFORM GET_AND_WRITE_SUPERINFO.
                 ENDIF.
                 HOLD_REP2 = GTAB_LINES-REP.
                 HOLD_SUPER = GTAB_LINES-SUPER.
                 IF HOLD_KUNNR <> GTAB_LINES-KUNNR.
                   WRITE :/.
                   ULINE.
                   PERFORM WRITE_CUST_INFO.
                 ENDIF.
                 HOLD_KUNNR = GTAB_LINES-KUNNR.
                 PERFORM WRITE_DETAIL.
                 AT END OF REP.
                   SKIP.
                   RESERVE 7 LINES.
                   FORMAT COLOR COL_TOTAL INTENSIFIED.
                   WRITE: / 'Summary for Rep:',
                             GTAB_LINES-REP, '/', REP_NAME, 132 ONEBYTE.
                   PERFORM WRITE_TOTS TABLES RTOT.
                   REFRESH RTOT.
                 ENDAT.
                 AT END OF SUPER.
                   CLEAR STAB.   "tonyc 03/06/2004
                   REFRESH STAB. "tonyc 03/06/2004
                   NEW-PAGE. SKIP.
                   FORMAT COLOR COL_TOTAL INTENSIFIED.
                   WRITE: / 'Summary for Super Rep:',
                          GTAB_LINES-SUPER, '/', SUPER_NAME, 132 ONEBYTE.
                   PERFORM WRITE_TOTS TABLES STOT.
                   REFRESH STOT.
                 ENDAT.
               ENDLOOP.
              ENDIF.
             WHEN 'rep'.                                        "DEVK939546
               LOOP AT GTAB_LINES WHERE BUKRS = GTAB-BUKRS
                                    AND NAME1 = GTAB-NAME1.
                 IF HOLD_REP2 <> GTAB_LINES-REP.                "DEVK939546
                   NEW-PAGE.                                    "DEVK939546
                   PERFORM GET_AND_WRITE_REPINFO.               "DEVK939546
                 ENDIF.                                         "DEVK939546
                 HOLD_REP2 = GTAB_LINES-REP.                    "DEVK939546
                 IF HOLD_KUNNR <> GTAB_LINES-KUNNR.             "DEVK939546
                   WRITE :/.                                    "DEVK939546
                   ULINE.                                       "DEVK939546
                   PERFORM WRITE_CUST_INFO.                     "DEVK939546
                 ENDIF.                                         "DEVK939546
                 HOLD_KUNNR = GTAB_LINES-KUNNR.                 "DEVK939546
                 PERFORM WRITE_DETAIL.                          "DEVK939546
                 AT END OF REP.                                 "DEVK939546
                   SKIP.                                        "DEVK939546
                   RESERVE 7 LINES.                             "DEVK939546
                   FORMAT COLOR COL_TOTAL INTENSIFIED.          "DEVK939546
                   WRITE: / 'Summary for Rep:',                 "DEVK939546
                             GTAB_LINES-REP, '/', REP_NAME, 132 ONEBYTE."DEVK939546
                   PERFORM WRITE_TOTS TABLES RTOT.              "DEVK939546
                   REFRESH RTOT.                                "DEVK939546
                 ENDAT.                                         "DEVK939546
               ENDLOOP.
           ENDCASE.
         ENDLOOP.
       ENDIF.
       OP = ' '.
       REFRESH GTAB.
       IF NOT REPORT_TYPE = 'super rep'.
         ULINE.
       ENDIF.
       SKIP 1.
       IF  SUMMEN = ' '.  "if 'output totals only' bypass new-page
         NEW-PAGE. SKIP.
       ENDIF.
       WRITE: /25 TEXT-030, 132 ONEBYTE, /25 TEXT-031, 132 ONEBYTE.
       PERFORM WRITE_TOTS TABLES STAB.                          "DEVK939546
    TOP-OF-PAGE.
       INTENS = SPACE.
       FORMAT COLOR COL_HEADING INTENSIFIED ON.
       WRITE: / SY-VLINE, 1 TEXT-001, DD_STIDA, 75 TEXT-051, 132 SY-VLINE.
       ULINE.
       WRITE: / SY-VLINE, 13 SY-VLINE, 30 SY-VLINE,
                    47 SY-VLINE, 58 TEXT-003, 81 SY-VLINE,
              92 TEXT-003, 115 SY-VLINE, 118  TEXT-003, 132 SY-VLINE,
              / SY-VLINE, 02 TEXT-004, 13 SY-VLINE, TEXT-002,
                    30 SY-VLINE, 32 TEXT-018, 47 SY-VLINE,
                  50 '1', 54 TEXT-040, 57 TAGE1, 64 SY-VLINE,   " 65 tage2,
                  67 TAGE1A, 72 TEXT-040, 75 TAGE2,
                81 SY-VLINE, 83 TAGE2A, 89 TEXT-040, 91 TAGE3, 98 SY-VLINE,
               101 TAGE3A, 107 TEXT-040, 110 TAGE4, 115 SY-VLINE,
                                   117 TAGE4, 123  TEXT-017, 132 SY-VLINE.
       ULINE.
       SKIP 1.
       SUMMARY.
       FORMAT COLOR COL_HEADING INTENSIFIED OFF.
          FORM write_tots                                               *
    -->  PTAB                                                          *
    FORM WRITE_TOTS TABLES PTAB TYPE TOT_TAB.                  "DEVK939546
       CLEAR INTENS.                                            "DEVK939546
       FORMAT COLOR COL_HEADING INTENSIFIED OFF.                "DEVK939546
       IF P_CONV = 'X'. "tonyc issue #3047 begin
         WRITE /4 TEXT-101.
         WRITE: /4 TEXT-102,
                50 TEXT-100.
       ENDIF.           "tonyc issue #3047 end
       ULINE.                                                   "DEVK939546
       SORT PTAB BY BUKRS GSBER.                                "DEVK939546
       LOOP AT PTAB.                                            "DEVK939546
         IF SY-TABIX > 1.
           WRITE_TOTAL = 'X'.
         ENDIF.
         MOVE PTAB-BUKRS TO T001-BUKRS. READ TABLE T001.        "DEVK939546
         MOVE PTAB-GSBER TO T001-WAERS.                         "DEVK939546
         IF P_CONV = 'X'. "tonyc issue #3047 begin
           PERFORM CONVERT_VALUES USING STAB-RAST1
                                        STAB-GSBER.
           PERFORM CONVERT_VALUES USING STAB-RAST2
                                        STAB-GSBER.
           PERFORM CONVERT_VALUES USING STAB-RAST3
                                        STAB-GSBER.
           PERFORM CONVERT_VALUES USING STAB-RAST4
                                        STAB-GSBER.
           PERFORM CONVERT_VALUES USING STAB-RAST5
                                        STAB-GSBER.
           PERFORM CONVERT_VALUES USING STAB-RAST6
                                        STAB-GSBER.
           PERFORM CONVERT_VALUES USING STAB-RAST7
                                        STAB-GSBER.
         ENDIF.  "TOnyc issue #3047 end
         MOVE-CORRESPONDING PTAB TO STAB.
         COLLECT STAB.
         IF P_KKBER = 'X'.        "TONYC ISSUE #2500
           CLEAR HOLD_KKBER_DESC2.
           SELECT SINGLE KKBTX INTO HOLD_KKBER_DESC2 FROM T014T
              WHERE KKBER = STAB-KKBER AND
                    SPRAS = 'E'.
           IF SY-SUBRC <> '0'.
             HOLD_KKBER_DESC2 = 'Undetermined'.
           ENDIF.
           FORMAT COLOR OFF.
           WRITE: / SY-VLINE.
           FORMAT COLOR COL_HEADING INTENSIFIED OFF.
           WRITE: 6 STAB-GSBER, HOLD_KKBER_DESC2, SY-VLINE.
           ULINE.
           FORMAT COLOR OFF.
           WRITE: / SY-VLINE.
           FORMAT COLOR COL_HEADING INTENSIFIED OFF.
           IF P_CONV = 'X'. "tonyc issue #3047 begin
             T001-WAERS = 'USD'.
           ENDIF.           "tonyc issue #3047 end
           WRITE: 13 STAB-RAST1 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) STAB-RAST7 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) STAB-RAST2 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) STAB-RAST3 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) STAB-RAST4 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) STAB-RAST5 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) STAB-RAST6 NO-ZERO CURRENCY T001-WAERS, SY-VLINE.
           HOLD_BUKRS2 = STAB-BUKRS.      "TONYC ISSUE #2500
           ULINE.
           FORMAT COLOR OFF.
           TOTAL_RAST1 = STAB-RAST1 + TOTAL_RAST1.
           TOTAL_RAST2 = STAB-RAST2 + TOTAL_RAST2.
           TOTAL_RAST3 = STAB-RAST3 + TOTAL_RAST3.
           TOTAL_RAST4 = STAB-RAST4 + TOTAL_RAST4.
           TOTAL_RAST5 = STAB-RAST5 + TOTAL_RAST5.
           TOTAL_RAST6 = STAB-RAST6 + TOTAL_RAST6.
           TOTAL_RAST7 = STAB-RAST7 + TOTAL_RAST7.
         ELSE.
           FORMAT COLOR COL_NORMAL INTENSIFIED OFF.             "DEVK939546
           IF INTENS = SPACE.                                   "DEVK939546
             FORMAT COLOR COL_NORMAL INTENSIFIED OFF.           "DEVK939546
             INTENS = 'X'.                                      "DEVK939546
           ELSE.                                                "DEVK939546
             FORMAT COLOR COL_NORMAL INTENSIFIED ON.            "DEVK939546
             INTENS = SPACE.                                    "DEVK939546
           ENDIF.                                               "DEVK939546
           WRITE: / SY-VLINE, PTAB-BUKRS, PTAB-GSBER, SY-VLINE, "DEVK939546
            (14) PTAB-RAST1 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
            (14) PTAB-RAST7 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
            (14) PTAB-RAST2 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
            (14) PTAB-RAST3 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
            (14) PTAB-RAST4 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
            (14) PTAB-RAST5 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,"DEVK939546
            (14) PTAB-RAST6 NO-ZERO CURRENCY T001-WAERS, SY-VLINE."DEVK939546
           TOTAL_RAST1 = STAB-RAST1 + TOTAL_RAST1.
           TOTAL_RAST2 = STAB-RAST2 + TOTAL_RAST2.
           TOTAL_RAST3 = STAB-RAST3 + TOTAL_RAST3.
           TOTAL_RAST4 = STAB-RAST4 + TOTAL_RAST4.
           TOTAL_RAST5 = STAB-RAST5 + TOTAL_RAST5.
           TOTAL_RAST6 = STAB-RAST6 + TOTAL_RAST6.
           TOTAL_RAST7 = STAB-RAST7 + TOTAL_RAST7.
         ENDIF.
       ENDLOOP.                                                 "DEVK939546
       ULINE.                                                   "DEVK939546
       IF P_KKBER = 'X'.        "TONYC ISSUE #2500
         IF P_CONV = 'X'.  "tonyc issue #3047 begin
           FORMAT COLOR OFF.
           FORMAT COLOR COL_HEADING INTENSIFIED OFF.
           WRITE: SY-VLINE,
                6 'TOTAL                                   ', SY-VLINE.
           ULINE.
           FORMAT COLOR OFF.
           WRITE: / SY-VLINE.
           FORMAT COLOR COL_HEADING INTENSIFIED OFF.
           WRITE: 13 TOTAL_RAST1 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) TOTAL_RAST7 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) TOTAL_RAST2 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) TOTAL_RAST3 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) TOTAL_RAST4 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) TOTAL_RAST5 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) TOTAL_RAST6 NO-ZERO CURRENCY T001-WAERS, SY-VLINE.
           ULINE.
         ENDIF. "tonyc issue #3047 end
       ELSE.
         IF P_CONV = 'X'.
           FORMAT COLOR OFF.
           FORMAT COLOR COL_HEADING INTENSIFIED OFF.
           WRITE: SY-VLINE,
                6 'TOTAL                                   ', SY-VLINE.
           ULINE.
           FORMAT COLOR OFF.
           WRITE: / SY-VLINE.
           FORMAT COLOR COL_HEADING INTENSIFIED OFF.
           WRITE: 13 TOTAL_RAST1 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) TOTAL_RAST7 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) TOTAL_RAST2 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) TOTAL_RAST3 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) TOTAL_RAST4 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) TOTAL_RAST5 NO-ZERO CURRENCY T001-WAERS, SY-VLINE,
           (14) TOTAL_RAST6 NO-ZERO CURRENCY T001-WAERS, SY-VLINE.
           ULINE.
         ENDIF.
       ENDIF.
       SKIP 1.                                                  "DEVK939546
    ENDFORM.                                                   "DEVK939546
    *&      Form  GET_KNKK_INFO
          text
    -->  p1        text
    <--  p2        text
    FORM GET_KNKK_INFO.
       CLEAR: G_WAERS,
              G_KLIMK_TXT,
              KNKK-KLIMK.
    get credit control area (KKBER) for comp code (BUKRS)
       SELECT SINGLE KLIMK
              INTO   KNKK-KLIMK
              FROM   KNKK
              WHERE  KUNNR = KNA1-KUNNR  AND
                     KKBER = T001-KKBER.
       IF SY-SUBRC = 0.
      get currency for cred ctrl area
         CLEAR IT_T014.
         READ TABLE IT_T014 WITH KEY KKBER = T001-KKBER BINARY SEARCH.
         G_WAERS = IT_T014-WAERS.
         WRITE KNKK-KLIMK TO G_KLIMK_TXT CURRENCY G_WAERS.
       ENDIF.
    ENDFORM.                    " GET_KNKK_INFO
    *&      Form  SELECT_KNKK
          text
         -->P_KKBER       Credit Limit Controlling Area

    This is a FI Aging report.

  • Problem WIth Variant in a report program

    I have a z report program with couple of variants , the problem is the varaints display onlt name of the variant and description when the varaint button is pressed.
    The changed by , date etc details are not getting displayed.
    Thanks
    Arun

    Hi Arun,
    You will not get those data directly from the program execution screen. If you want to get those details, please check table VARID for that variant or program.
    Regards,
    Sourav

  • Can we create purchase order through report programming?

    hi experts.....
    can we create purchase order through report programming?If yes plz give me the thread details?

    Hi,
    Use this code in a program by using a BAPI function module
    Anothe rway is using classical/ALV report using call transaction from a report for changing the PO
    loop at i_header.
        header-ref_1         = i_header-legacy.
        headerx-ref_1        = c_x.
        header-doc_type      = i_header-bsart.
        headerx-doc_type     = c_x.
        header-comp_code     = i_header-bukrs.
        headerx-comp_code    = c_x.
        header-purch_org     = i_header-ekorg.
        headerx-purch_org    = c_x.
        header-pur_group     = i_header-ekgrp.
        headerx-pur_group    = c_x.
        header-vendor        = i_header-lifnr.
        headerx-vendor       = c_x.
        concatenate i_header-bedat+4(4)
                    i_header-bedat+0(2)
                    i_header-bedat+2(2)
                    into header-doc_date.
        headerx-doc_date     = c_x.
        header-created_by    = i_header-ernam.
        headerx-created_by   = c_x.
        header-currency      = i_header-waers.
        headerx-currency     = c_x.
        concatenate i_header-kdatb+4(4)
                    i_header-kdatb+0(2)
                    i_header-kdatb+2(2)
                    into header-vper_start.
        headerx-vper_start   = c_x.
        loop at i_items where legacy = i_header-legacy.
          item-po_item            =  i_items-ebelp.
          itemx-po_item           =  i_items-ebelp.
          itemx-po_itemx          =  c_x.
          if i_header-bsart = 'NB'.
            item-material            =  i_items-ematn.
            itemx-material           =  c_x.
            schedule-quantity        =  i_items-menge * 1000.
            schedulex-quantity       =  c_x.
          else.
            item-short_text          = i_items-ematn.
            itemx-short_text         = c_x.
            item-matl_group          = '1000'.
            itemx-matl_group         = c_x.
            schedule-quantity        =  '1'.
            schedulex-quantity       =  c_x.
          endif.
          item-plant               =  i_items-werks.
          itemx-plant              =  c_x.
          schedule-po_item         = i_items-ebelp.
          schedule-sched_line      = '1'.
          schedulex-po_item        = i_items-ebelp.
          schedulex-sched_line     = '1'.
          schedulex-po_itemx       = c_x.
          schedulex-sched_linex    = c_x.
          concatenate  i_items-eildt+0(2)
                       i_items-eildt+2(2)
                       i_items-eildt+4(4)
                       into schedule-delivery_date.
          schedulex-delivery_date  =  c_x.
          item-price_unit          =  i_items-peinh * 100.
          itemx-price_unit         =  c_x.
          item-tax_code            =  i_items-mwskz.
          itemx-tax_code           =  c_x.
          item-shipping            =  i_items-evers.
          itemx-shipping           =  c_x.
          account-po_item          = i_items-ebelp.
          accountx-po_item         = i_items-ebelp.
          accountx-po_itemx        = c_x.
          if i_header-bsart = 'FO'.
            item-pckg_no  = sy-tabix.
            itemx-pckg_no = 'X'.
            limits-pckg_no        = sy-tabix.
            limits-limit          = i_items-overalllimit.
            limits-exp_value      = i_items-expectedoverall.
            posrvaccessvalues-pckg_no    = sy-tabix.
            posrvaccessvalues-line_no    = '0'.
            posrvaccessvalues-serno_line = '00'.
            posrvaccessvalues-percentage = '100.0'.
            posrvaccessvalues-serial_no  = '01'.
            account-serial_no     = '1'.
            accountx-serial_no    = '1'.
            accountx-serial_nox   = c_x.
            account-quantity  = '1'.
            accountx-quantity = c_x.
            call function 'CONVERSION_EXIT_ALPHA_INPUT'
              exporting
                input  = i_items-kostl
              importing
                output = account-costcenter.
            accountx-costcenter   = c_x.
            call function 'CONVERSION_EXIT_ALPHA_INPUT'
              exporting
                input  = i_items-sakto
              importing
                output = account-gl_account.
            accountx-gl_account   = c_x.
            item-acctasscat       = i_items-knttp.
            itemx-acctasscat      = c_x.
            item-item_cat         = i_items-epstp.
            itemx-item_cat        = c_x.
          endif.
          append:item,itemx,schedule,schedulex,account,accountx,limits,posrvaccessvalues.
          clear :item,itemx,schedule,schedulex,account,accountx,limits,posrvaccessvalues.
        endloop.
        call function 'BAPI_PO_CREATE1'
          exporting
            poheader                     = header
            poheaderx                    = headerx
    *   POADDRVENDOR                 =
    *   TESTRUN                      =
    *   MEMORY_UNCOMPLETE            =
    *   MEMORY_COMPLETE              =
    *   POEXPIMPHEADER               =
    *   POEXPIMPHEADERX              =
    *   VERSIONS                     =
    *   NO_MESSAGING                 =
    *   NO_MESSAGE_REQ               =
    *   NO_AUTHORITY                 =
    *   NO_PRICE_FROM_PO             =
            importing
            exppurchaseorder             = ponumber
    *   EXPHEADER                    =
    *   EXPPOEXPIMPHEADER            =
            tables
            return                       = return
            poitem                       = item
            poitemx                      = itemx
    *   POADDRDELIVERY               =
            poschedule                   = schedule
            poschedulex                  = schedulex
            poaccount                    = account
    *   POACCOUNTPROFITSEGMENT       =
            poaccountx                   = accountx
    *   POCONDHEADER                 =
    *   POCONDHEADERX                =
    *   POCOND                       =
    *   POCONDX                      =
            polimits                     = limits
    *   POCONTRACTLIMITS             =
    *   POSERVICES                   =
       posrvaccessvalues            = posrvaccessvalues.
    *   POSERVICESTEXT               =
    *   EXTENSIONIN                  =
    *   EXTENSIONOUT                 =
    *   POEXPIMPITEM                 =
    *   POEXPIMPITEMX                =
    *   POTEXTHEADER                 =
    *   POTEXTITEM                   =
    *   ALLVERSIONS                  =
    *   POPARTNER                    =
        if ponumber eq space.
          loop at return where type = 'E'.
            clear buffer.
            move-corresponding return to e_return.
            concatenate i_header-legacy e_return into buffer.
            transfer buffer to p2_file.
          endloop.
          move-corresponding i_header to i_eheader.
          transfer i_eheader to p3_file.
          loop at i_items where legacy = i_header-legacy.
            move-corresponding i_items to i_eitems.
            transfer i_eitems to p4_file.
          endloop.
        else.
          commit work and wait.
        endif.
        clear:ponumber,header,headerx,item,itemx,account,accountx,limits,return,schedule,schedulex,posrvaccessvalues.
        refresh:item,itemx,account,accountx,limits,return,schedule,schedulex,posrvaccessvalues.
      endloop.
      close dataset p2_file.
      close dataset p3_file.
      close dataset p4_file.
    Regards
    Krishna

  • Calling a ALV Report program via a Remote Function module.

    H All,
         The thing which I am looking out for is ,to know a technique to acheive this,
      To start with,
    For the transaction MB51-(Material Document List),which is a Report Program "RM07DOCS",I also observed that this uses a ALV to display the output.
    Now what I actually require is another extra field (from MARA table )  along with the standard output that is displayed from this report.
    Also this needs to be passed to a different UI system(build using VC ).
    So I have a RFC eg DisplayList(),where in I need to exeucte this report program ,get the output what it gives ,add my additional information what I want to and pass it as a export parameter,
    So this is the structure which I can visualise,
    FUNCTION ZFUN_MB51TXN.
    I would get all the import parameters here ,from who ever is calling my fun module,
    *Call the report program,pass the input  parameters required
    *get the output from this report program
    *send the output to the caller through export parameters
    ENDFUNCTION.
    So Here I need to know ,Can this be achieved something using Submit report or anything,Any guidelines to move further would be really of great help!

    Hi All,
    It would really be great if you can explain with the reference to the same report program,the same selection screen elemetns or something.
    Thanks,
    Archies!

  • How to generage pop up screen on selection screen of report program?

    Hi Guys,
            I am having a requirement to generate the <b>pop up screen on the selection screen</b> of the report program.
           Suggest me the best one with model program

    Hi Chakradhar,
                             Refer this code :
    SELECTION-SCREEN BEGIN OF BLOCK BL2 WITH FRAME TITLE TEXT-456.
    PARAMETERS PO RADIOBUTTON GROUP RADI USER-COMMAND R.
    SELECTION-SCREEN END OF BLOCK BL2.
    AT SELECTION-SCREEN OUTPUT.
    CALL SCREEN 100.
    when user will click on this radio button , a pop up screen will appear dynamically.
    Reward points if helpful.
    Regards,
    Hemant

  • Create a url from a report program

    Hi All,
    Could anyone please suggest me how do i generate a url from a report program. I need to use this generated url then, as a link in an excel sheet.
    Thanks in advance,
    Warm Regards,
    Preethi.

    Hi Preethi,
    REPORT  ZAZUURL                                 .
    DATA: BEGIN OF URL_TABLE OCCURS 10,
    L(25),
    END OF URL_TABLE.
    URL_TABLE-L = 'http://www.lycos.com'.APPEND URL_TABLE.
    URL_TABLE-L = 'http://www.hotbot.com'.APPEND URL_TABLE.
    URL_TABLE-L = 'http://www.sap.com'.APPEND URL_TABLE.
    LOOP AT URL_TABLE.
      SKIP. FORMAT INTENSIFIED OFF.
      WRITE: / 'Single click on '.
      FORMAT HOTSPOT ON.FORMAT INTENSIFIED ON.
      WRITE: URL_TABLE. HIDE URL_TABLE.
      FORMAT HOTSPOT OFF.FORMAT INTENSIFIED OFF.
      WRITE: 'to go to', URL_TABLE.
    ENDLOOP.
    CLEAR URL_TABLE.
    AT LINE-SELECTION.
    IF NOT URL_TABLE IS INITIAL.
      CALL FUNCTION 'WS_EXECUTE'
           EXPORTING
                program = 'C:\Program Files\Internet Explorer\IEXPLORE.EXE'
                commandline     = URL_TABLE
                INFORM         = ''
              EXCEPTIONS
                PROG_NOT_FOUND = 1.
      IF SY-SUBRC <> 0.
         WRITE:/ 'Cannot find program to open Internet'.
      ENDIF.
    ENDIF.
    <b>Regards,
    Azhar</b>

  • How to find Transaction code from Report/program name ?

    Dear all,
    How to find Transaction code if i know Report/program name ?

    Hi,
    In se 38 when u open ur program,in the application toolbar u have a button beside the where-used list button as display object list.on clicking this button,a window will be opened at the left most corner for repository browser,in this u can find any tranasctions,fileds,screens,dictionary structures defined for the program.
    if any transaction is created for the program u can find it under the transaction folder.
    revert back for further queries.
    Regards,
    Sravanthi

  • SAP Query - Report program generation

    Hello all,
    Now I'm developing SAP queries through Tr-cd:SQ01.
    As you know, every time (re)defining queries, we have to (re)generate the selection screen report programs, containing the input parameter for output format along with other input parameters.
    The problems are:
    1.
    I CAN select other layout formats on the selection screen in one system(Dev System) when I define the output format as "SAP List Viewer" in Tr-cd:SQ01 and generate the report program  (,while I CANNOT select other layout formats on another system, QA System.)
    2.
    When selecting other formats than "SAP List Viewer"
    in Tr-cd:SQ01, so difference between these two systems, that is, I can select all formats options on the selection screen.
    3.
    After redefining the formats as "SAP List Viewer" on the QA System, We CANNOT select other layout formats again while I remain to be able to select all options on the DEV system.
    I think the report program generation function in QA system operates normally, while there is somthing wrong with DEV system.
    Do you have any idea about this phenomenon?

    Hello Thomas, I appreciate your quick response and apologize for my late reply.
    After recieving your sugestion I continued process of trial & error only to find that the setting to generate the report program had been changed to old one for some reason.
    You can change the setting in the following way:
    Tr-cd:SQ02
    Settings -> Global Settings
    Check (or Uncheck) the box of "Always use the old report structure."

  • Getting the variant name when the report program is run in background

    Hi All,
    How to get the variant name for the report program when run in background? My requirement is to create an email attachement with the name 'variant.XLS', where variant = selection screen variant, when the report program is run in background. The system field SY-SLSET holds the variant name only when run online.
    Any pointers to this will be highly appreciated.
    Thanks and regards,
    Nilesh.

    Hello Nilesh,
    Please find the algo:
    1. Call the FM: GET_JOB_RUNTIME_INFO to get the background job details.
    2. Select data from TBTCP using these details:
    DATA:
    FP_EVENTID   TYPE BTCEVENTID
    FP_EVTPARM   TYPE BTCEVTPARM
    FP_ACTIVE    TYPE BTCXPGFLAG
    FP_JOBCNT    TYPE BTCJOBCNT
    FP_JOBNM     TYPE BTCJOB
    FP_STEPCNT   TYPE BTCSTEPCNT.
      CALL FUNCTION 'GET_JOB_RUNTIME_INFO'
        IMPORTING
          EVENTID                 = FP_EVENTID
          EVENTPARM               = FP_EVTPARM
          EXTERNAL_PROGRAM_ACTIVE = FP_ACTIVE
          JOBCOUNT                = FP_JOBCNT
          JOBNAME                 = FP_JOBNM
          STEPCOUNT               = FP_STEPCNT
        EXCEPTIONS
          NO_RUNTIME_INFO         = 1
          OTHERS                  = 2.
      IF SY-SUBRC <> 0.
    *   Error calling FM: GET_JOB_RUNTIME_INFO
      ENDIF.
    DATA: FP_VARIANT TYPE BTCVARIANT.
      SELECT JOBNAME JOBCOUNT STEPCOUNT VARIANT
      FROM   TBTCP
      INTO TABLE L_IT_TBTCP
      WHERE  JOBNAME   = FP_JOBNM
      AND    JOBCOUNT  = FP_JOBCNT
      AND    STEPCOUNT = FP_STEPCNT.
      IF SY-SUBRC = 0.
        SORT L_IT_TBTCP BY JOBNM JOBCNT STEPCNT.
        READ TABLE L_IT_TBTCP INTO L_WA_TBTCP INDEX 1.
        IF SY-SUBRC = 0.
          FP_VARIANT = L_WA_TBTCP-VARIANT.
        ENDIF.
      ENDIF.
    Hope this helps.
    BR,
    Suhas

  • Few questions on Report programming

    Hi guys,
    I have few questions on report programming.
    1. What is the purpose of the statement REPORT zxxx. Even if i gave a name other than my report name i don't find any difference in syntax check/Functionality.
    2. What is the purpose of list headings in report program? This option will come along with the text elements and selection texts.
    3. What is the purpose of logical data base. Even if it is efficient why don't we use it frequently in our reports? Is there any limitations?
    All usefull answers will be rewarded as usuall:-)
    Thanks,
    Vinod.

    1. As u told that you dint get any syntax errors even after changing the Report Name,there are chances of getting Runtime errors.
    2. The usage of List Headings is when you create a list in a program, you can also create your own list and column headings.
    Refer this link for further info.
    http://help.sap.com/saphelp_nw70/helpdata/en/e3/960a05eb0711d194d100a0c94260a5/content.htm
    3. The Limitation of LDB  is the usage of GET statements which act similar to SELECT - ENDSELECT And also if you dont choose the proper LDB,a  single LDB may contain data retrieval from so many tables ,that it would make the entire process very slow and it is very hard to find LDBs for other modules than HR.
    Only in HR module the data is organized in such a way thatusing LDBs would be much simpler.
    Reward points if useful.

  • A report program

    hello,
    i hav created report program ....in which i hav printing data in two colums(sections)
    of a page....im printing first 'first column'...n then 'second one' ( i.e. im printing left side of page and then right side of page )  n  i hav declaired <b>line-count 60</b> ...while printing on left side if page ends due to line-count is set.....im not able to print on right of that page because page is set to next page( and it start printing from next page on right side as it is changed)...i want know that .... is it posiible to come back to previous page while printing in report program .....(as i hav mentioned problem ).....i want to know the code for that if possible....
    Regards,
    Gajanan Galande

    You can print first the right and then the left, using the BACK or  SKIP TO LINE <n>.  BACK can be used with or without RESERVE.   Also don't forget about POSITION <n> to set the output column.
    BACK returns to the first line of the current page after TOP-OF-PAGE
    You will have to monitor the number lines you print because once you overflow, you cannot BACK to a prior page.
    I hope this helps. 
    Look up in the ABAP help for examples of using these.
    Bob
    (Points are appreciated)

Maybe you are looking for

  • IPhoto Import on New Mac-Insanity

    -- Just upgraded to a new 27" 2.7ghz iMac from a '06 iMac. Manually imported the iPhoto Library package using target disk mode on the old guy. Simply dragged the icon into the new library. album. Every single photo was imported at least a minimum of

  • Adobe RoboHelp 8 is released! TCS2, too

    I've been using RoboHelp since 1992 and this is huge. Not only is Adobe RoboHelp 8 released, but the entire Adobe Technical Communication Suite 2 (now with Adobe Photoshop!) The Trial for individual releases as well as the entire TCS 2 suite is ready

  • Final Cut Pro keeps quitting on me!!

    As I'm trying to import an audio track from a CD into Final Cut, the program 'unexpectedly quits'. How do I import music for Final Cut to stopping shutting down on me?!?

  • Subject lin in e-mail

    Is it possible to add a subject line when using e-mail notification in a click box in Captivate2? I am not using it as a quizzz only as a notification that the user has completed the session. Thanks

  • Focused slow on Windows 7

    Hello, some of the users of Focused are experiencing lags when typing. The lag grows as the length of the text increases. I verified the same behavior on Windows 7 32 bits (Adobe Air 1.5.3.9130) It is a simple application, working correctly on win xp