ABAP report columns

Hi,
My ABAP report columns appear on two rows instead of one. I would like to keep the columns in one row with a horizontal scroll bar.
How do I achieve that?
Thanks,
~Mark

Hi,
Please check your report attributes
report  ytest message-id yatt
        no standard page heading
        line-size 170
        line-count 65.

Similar Messages

  • Serious Performance Problems in ABAP Reports

    Hi All,
    We are developing ABAP reports for SAP IS-U/CCS Modules and facing Performance issues.Whole scenario is given below.Please suggest some solution.
    1. Total No. Of Business Partners = 1500000
    2. Reports Selection Criteria are of two types:
         a) GSBER(Business Area) - Selection for atleast 200000 Business Partners
         b) Cokey(Division)     - Selection for around 1000 to 50000 Business Partners
    3. For implementing our reports logic we have to access several tables all of which are very large.They are :
         Table Name     No. of records (Appx)          
         DBERCHV               20000000
         DBERCHZ1              20000000
         DBERDLB               20000000
         DFKKKO                20000000
         DFKKOP                20000000
         EANLH                  4000000
         ERCH                  10000000
         ERCHC                 10000000
         ETTIFN                30000000
         EVER                   1500000
         FKKVKP                 1500000
         TECOKT                     500     
         TGSBT                       12
    4. Due to large no. of records we are facing problems at two levels:
         a) OpenSQL Statement is taking too much time for data selection
         b) Since large no. of records are selected Corresponding loops and data processing also takes much time
    5. We have tried almost all ABAP Performance optimization techniques such as using Index, SQL optimization techniques,Read Table Optimization, Loop Statement Optimization etc. but there is not much improvement.
    6. For example one of our Reports "R15" takes around 1500 seconds for 1000 Business Partners.
    Its Code is attached below:
    <b>a) ZISU_SCHL_LTR15_BAPI - Program which schedules actual R15 report in background</b>
    *& Report  ZISU_SCHL_LTR15_BAPI                                        *
    *& Developed By : Piyusha Kirwai                                       *
    *& Date         : 02/12/2005                                           *
    *& Purpose      : To Schedule the LT R 15 prog in background and store
    *& the File for Manual R-15 into server.
    REPORT  ZISU_SCHL_LTR15_BAPI  NO STANDARD PAGE HEADING.
    TABLES ZEVERFKKVKP.
    DATA:  DYFIELDS LIKE DYNPREAD OCCURS 0 WITH HEADER LINE.
    DATA: IT_TAB TYPE FILETABLE,
          GD_SUBRC TYPE I.
    DATA: LV_GSBER TYPE TGSBT-GSBER.
    RANGES R_COKEY FOR ZEVERFKKVKP-COKEY.
    DATA: BEGIN OF GT_TECOKT OCCURS 100,
            COKEY TYPE TECOKT-COKEY,
            LTEXT TYPE TECOKT-LTEXT,
          END   OF GT_TECOKT,
          BEGIN OF GT_TE422 OCCURS 100,
            TERMSCHL TYPE TE422-TERMSCHL,
            TERMTEXT TYPE TE422-TERMTEXT,
          END   OF GT_TE422.
    DATA: BEGIN OF GWA_MANUAL_DATA,
            COL_1(5)        TYPE C,
            COL_2(10)       TYPE C,
            COL_3(40)       TYPE C,
            COL_4(40)       TYPE C,
            COL_5(10)       TYPE C,
            COL_6(19)       TYPE C,
            COL_7(19)       TYPE C,
            COL_8(19)       TYPE C,
            COL_9(19)       TYPE C,
            COL_10(19)      TYPE C,
            COL_11(19)      TYPE C,
            COL_12(10)      TYPE C,
            COL_13(19)      TYPE C,
            COL_14(19)      TYPE C,
            COL_15(19)      TYPE C,
            COL_16(19)      TYPE C,
            COL_17(19)      TYPE C,
            COL_18(19)      TYPE C,
          END   OF GWA_MANUAL_DATA,
          GT_MANUAL_DATA LIKE GWA_MANUAL_DATA OCCURS 0,
          GT_INTERN_DATA TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
    *&-----FOR UPLOADING FILE TO SERVER------------------------------------*
    DATA: LV_SERVER_FILE_PREFIX(60) TYPE C.
    DATA: LV_SERVER_DATAFILE_NAME(60) TYPE C.
    DATA: LV_SERVER_ERRFILE_NAME(60) TYPE C.
    DATA: ENDT LIKE SY-UZEIT,
          ENDD LIKE SY-DATUM,
          JOBCOUNT TYPE TBTCJOB-JOBCOUNT.
    SELECTION-SCREEN BEGIN OF BLOCK 001 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS: SO_GSBER FOR ZEVERFKKVKP-GSBER OBLIGATORY,
                    SO_COKEY FOR ZEVERFKKVKP-COKEY OBLIGATORY,
                    SO_MRU   FOR ZEVERFKKVKP-ABLEINH.
    PARAMETERS:     P_BMNTH(7) TYPE C OBLIGATORY.
    SELECT-OPTIONS: SO_GPART FOR ZEVERFKKVKP-GPART.
    SELECTION-SCREEN END  OF BLOCK 001.
    SELECTION-SCREEN BEGIN OF BLOCK 002 WITH FRAME TITLE TEXT-003.
    PARAMETERS:  P_COMPUT RADIOBUTTON GROUP R15,
                 P_INCLUD RADIOBUTTON GROUP R15,
                 P_FILE  TYPE  RLGRAP-FILENAME MODIF ID ACT.
    SELECTION-SCREEN END   OF BLOCK 002.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 2(83) TEXT-004.
    SELECTION-SCREEN END   OF LINE.
    *SELECTION-SCREEN BEGIN OF LINE.
    *  SELECTION-SCREEN COMMENT 8(40) TEXT-005.
    *SELECTION-SCREEN END   OF LINE.
    SELECTION-SCREEN BEGIN OF BLOCK 003 WITH FRAME TITLE TEXT-002.
    PARAMETERS   P_SCHL TYPE C AS CHECKBOX.
    PARAMETERS : P_IMMED RADIOBUTTON GROUP SCH ,
                 P_DT_TM  RADIOBUTTON GROUP SCH,
                 P_DATE TYPE SY-DATUM MODIF ID SHL,
                 P_TIME TYPE SY-UZEIT MODIF ID SHL.
    SELECTION-SCREEN END   OF BLOCK 003.
    AT SELECTION-SCREEN.
    AT SELECTION-SCREEN ON SO_GSBER.
      IF NOT SO_GSBER-LOW IS INITIAL.
        SELECT SINGLE GSBER FROM TGSBT INTO LV_GSBER
          WHERE GSBER = SO_GSBER-LOW.
        IF SY-SUBRC <> 0.
          MESSAGE E007(ZISU).
        ENDIF.
      ENDIF.
      IF NOT SO_GSBER-HIGH IS INITIAL .
        SELECT SINGLE GSBER FROM TGSBT INTO LV_GSBER
          WHERE GSBER = SO_GSBER-HIGH.
        IF SY-SUBRC <> 0.
          MESSAGE E007(ZISU).
        ENDIF.
      ENDIF.
    AT SELECTION-SCREEN ON P_BMNTH.
    **check the validity of Billing month format and for valid billing month
      IF P_BMNTH CO '0123456789/'.
        IF P_BMNTH CP '++++/++'.
          IF P_BMNTH+5(2) > 12.
            MESSAGE E002(ZISU) WITH 'from'.
          ENDIF.
    ** current year is less than year entered
          IF SY-DATUM(4) < P_BMNTH(4).
            MESSAGE E003(ZISU) WITH 'from'.
          ELSEIF SY-DATUM(4) = P_BMNTH(4).
    ** month in future
            IF SY-DATUM+4(2) < P_BMNTH+5(2).
              MESSAGE E004(ZISU) WITH 'from'.
            ENDIF.
          ENDIF.
        ELSE.
          MESSAGE E001(ZISU) WITH 'from'.
        ENDIF.
      ELSE.
    **  entry have some invalid char
        MESSAGE E010(ZISU).
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR SO_COKEY-LOW.
    **for geting the CO account assigment key of the entered Business area
      CLEAR: DYFIELDS[], DYFIELDS.
      PERFORM DIVISON_DATA_GET CHANGING SO_COKEY-LOW.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR SO_COKEY-HIGH.
    **for geting the CO account assigment key of the entered Business area
      CLEAR: DYFIELDS[], DYFIELDS.
      PERFORM DIVISON_DATA_GET CHANGING SO_COKEY-HIGH.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR SO_MRU-LOW.
      CLEAR: DYFIELDS[], DYFIELDS.
      PERFORM MRU_DATA_GET CHANGING SO_MRU-LOW.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR SO_MRU-HIGH.
      CLEAR: DYFIELDS[], DYFIELDS.
      PERFORM MRU_DATA_GET CHANGING SO_MRU-HIGH.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
      REFRESH: IT_TAB.
    **Opens File Open Dialog Box for selecting input file.
      CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
        EXPORTING
          WINDOW_TITLE     = 'Select File'
          DEFAULT_FILENAME = '*.xls'
          MULTISELECTION   = ' '
        CHANGING
          FILE_TABLE       = IT_TAB
          RC               = GD_SUBRC.
      LOOP AT IT_TAB INTO P_FILE.
    *    so_fpath-sign = 'I'.
    *    so_fpath-option = 'EQ'.
    *    append so_fpath.
      ENDLOOP.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF SCREEN-GROUP1 = 'ACT'.
          IF P_INCLUD = ' '.
            SCREEN-INPUT = '0'.
          ELSE.
            SCREEN-INPUT = '1'.
          ENDIF.
        ENDIF.
        IF SCREEN-GROUP1 = 'SHL'.
          IF P_DT_TM = 'X'.
            SCREEN-INPUT = '1'.
          ELSE.
            SCREEN-INPUT = '0'.
          ENDIF.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    INITIALIZATION.
      P_DATE = SY-DATUM.
      P_TIME = SY-UZEIT + 180.
    START-OF-SELECTION.
      IF P_INCLUD = 'X' AND P_FILE IS INITIAL.
        MESSAGE 'Enter the Manual R-15 File' TYPE 'E'.
      ENDIF.
    *  IF P_INCLUD = 'X'.
    *    PERFORM UPLOAD_EXCEL_FILE.
    *    CONCATENATE 'R15' SY-DATUM '-' SY-UZEIT INTO LV_SERVER_FILE_PREFIX.
    *    CONCATENATE LV_SERVER_FILE_PREFIX '-' 'LT.TMP' INTO
    *    LV_SERVER_DATAFILE_NAME.
    *    OPEN DATASET LV_SERVER_DATAFILE_NAME
    *      FOR OUTPUT
    *      IN TEXT MODE
    *      ENCODING DEFAULT.
    *    LOOP AT GT_MANUAL_DATA INTO GWA_MANUAL_DATA.
    *      IF ( GWA_MANUAL_DATA-COL_6 CN '0123456789 '
    *      AND GWA_MANUAL_DATA-COL_7 CN '0123456789 '
    *      AND GWA_MANUAL_DATA-COL_8 CN '0123456789 '
    *      AND GWA_MANUAL_DATA-COL_9 CN '0123456789 '
    *      AND GWA_MANUAL_DATA-COL_10 CN '0123456789 '
    *      AND GWA_MANUAL_DATA-COL_11 CN '0123456789 '
    *      AND GWA_MANUAL_DATA-COL_13 CN '0123456789 '
    *      AND GWA_MANUAL_DATA-COL_14 CN '0123456789 '
    *      AND GWA_MANUAL_DATA-COL_15 CN '0123456789 '
    *      AND GWA_MANUAL_DATA-COL_16 CN '0123456789 '
    *      AND GWA_MANUAL_DATA-COL_17 CN '0123456789 '
    *      AND GWA_MANUAL_DATA-COL_18 CN '0123456789 ' ).
    *        MESSAGE 'Character Data in Numerical Field' TYPE 'E'.
    *      ENDIF.
    *      TRANSFER GWA_MANUAL_DATA TO LV_SERVER_DATAFILE_NAME.
    *    ENDLOOP.
    *    CLOSE DATASET LV_SERVER_DATAFILE_NAME.
    *  ENDIF.  "  P_INCLUD = 'X'.
      IF P_SCHL = 'X'.
        IF P_IMMED = 'X'.
          CALL FUNCTION 'C14B_ADD_TIME'
            EXPORTING
              I_STARTTIME = SY-UZEIT
              I_STARTDATE = SY-DATUM
              I_ADDTIME   = '000010'
            IMPORTING
              E_ENDTIME   = ENDT
              E_ENDDATE   = ENDD.
        ELSEIF P_DT_TM = 'X'.
          ENDD = P_DATE.
          ENDT = P_TIME.
        ENDIF.
        CALL FUNCTION 'JOB_OPEN'
          EXPORTING
    *     DELANFREP              = ' '
    *     JOBGROUP               = ' '
            JOBNAME                = 'R15JOB'
    *      SDLSTRTDT              = ENDD
    *      SDLSTRTTM              = ENDT
    *     JOBCLASS               =
         IMPORTING
           JOBCOUNT               = JOBCOUNT
    *   CHANGING
    *     RET                    =
    *   EXCEPTIONS
    *     CANT_CREATE_JOB        = 1
    *     INVALID_JOB_DATA       = 2
    *     JOBNAME_MISSING        = 3
    *     OTHERS                 = 4
        IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        IF P_INCLUD = 'X'.
          PERFORM UPLOAD_EXCEL_FILE.
         CONCATENATE 'R15' SY-DATUM '-' SY-UZEIT INTO LV_SERVER_FILE_PREFIX.
          CONCATENATE LV_SERVER_FILE_PREFIX '-' JOBCOUNT 'LT.TMP' INTO
          LV_SERVER_DATAFILE_NAME.
          CONDENSE LV_SERVER_DATAFILE_NAME.
          OPEN DATASET LV_SERVER_DATAFILE_NAME
            FOR OUTPUT
            IN TEXT MODE
            ENCODING DEFAULT.
          IF SY-SUBRC NE 0.
            MESSAGE 'Error in Creating File on Server' TYPE 'E'.
          ENDIF.
          LOOP AT GT_MANUAL_DATA INTO GWA_MANUAL_DATA.
            IF ( GWA_MANUAL_DATA-COL_6 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_7 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_8 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_9 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_10 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_11 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_13 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_14 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_15 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_16 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_17 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_18 CN '0123456789 ' ).
              MESSAGE 'Character Data in Numerical Field' TYPE 'E'.
            ENDIF.
            TRANSFER GWA_MANUAL_DATA TO LV_SERVER_DATAFILE_NAME.
          ENDLOOP.
          CLOSE DATASET LV_SERVER_DATAFILE_NAME.
          IF SY-SUBRC NE 0.
            MESSAGE 'Error in Creating File on Server' TYPE 'E'.
          ENDIF.
        ENDIF.  "  P_INCLUD = 'X'.
        SUBMIT ZISU_LTR15_TUNE
          WITH SO_GSBER IN SO_GSBER
          WITH SO_COKEY IN SO_COKEY
          WITH SO_MRU   IN SO_MRU
          WITH SO_GPART IN SO_GPART
          WITH P_BMNTH  =  P_BMNTH
          WITH P_COMPUT = P_COMPUT
          WITH P_INCLUD = P_INCLUD
          WITH P_FILE   = LV_SERVER_DATAFILE_NAME
          USER SY-UNAME VIA JOB 'R15JOB' NUMBER JOBCOUNT AND RETURN.
        CALL FUNCTION 'JOB_CLOSE'
          EXPORTING
    *   AT_OPMODE                         = ' '
    *   AT_OPMODE_PERIODIC                = ' '
    *   CALENDAR_ID                       = ' '
    *   EVENT_ID                          = ' '
    *   EVENT_PARAM                       = ' '
    *   EVENT_PERIODIC                    = ' '
            JOBCOUNT                          = JOBCOUNT
            JOBNAME                           = 'R15JOB'
    *   LASTSTRTDT                        = NO_DATE
    *   LASTSTRTTM                        = NO_TIME
    *   PRDDAYS                           = 0
    *   PRDHOURS                          = 0
    *   PRDMINS                           = 0
    *   PRDMONTHS                         = 0
    *   PRDWEEKS                          = 0
    *   PREDJOB_CHECKSTAT                 = ' '
    *   PRED_JOBCOUNT                     = ' '
    *   PRED_JOBNAME                      = ' '
            SDLSTRTDT                         = ENDD
            SDLSTRTTM                         = ENDT
    *   STARTDATE_RESTRICTION             = BTC_PROCESS_ALWAYS
            STRTIMMED                         = P_IMMED
    *   TARGETSYSTEM                      = ' '
    *   START_ON_WORKDAY_NOT_BEFORE       = SY-DATUM
    *   START_ON_WORKDAY_NR               = 0
    *   WORKDAY_COUNT_DIRECTION           = 0
    *   RECIPIENT_OBJ                     =
    *   TARGETSERVER                      = ' '
    *   DONT_RELEASE                      = ' '
    *   TARGETGROUP                       = ' '
    *   DIRECT_START                      =
    * IMPORTING
    *   JOB_WAS_RELEASED                  =
    * CHANGING
    *   RET                               =
    * EXCEPTIONS
    *   CANT_START_IMMEDIATE              = 1
    *   INVALID_STARTDATE                 = 2
    *   JOBNAME_MISSING                   = 3
    *   JOB_CLOSE_FAILED                  = 4
    *   JOB_NOSTEPS                       = 5
    *   JOB_NOTEX                         = 6
    *   LOCK_FAILED                       = 7
    *   INVALID_TARGET                    = 8
    *   OTHERS                            = 9
        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.  " IF NOT TO RUN IN BACKGROUND
        IF P_INCLUD = 'X'.
          PERFORM UPLOAD_EXCEL_FILE.
         CONCATENATE 'R15' SY-DATUM '-' SY-UZEIT INTO LV_SERVER_FILE_PREFIX.
          CONCATENATE LV_SERVER_FILE_PREFIX '-' 'LT.TMP' INTO
          LV_SERVER_DATAFILE_NAME.
          CONDENSE LV_SERVER_DATAFILE_NAME.
          OPEN DATASET LV_SERVER_DATAFILE_NAME
            FOR OUTPUT
            IN TEXT MODE
            ENCODING DEFAULT.
          IF SY-SUBRC NE 0.
            MESSAGE 'Error in Creating File on Server' TYPE 'E'.
          ENDIF.
          LOOP AT GT_MANUAL_DATA INTO GWA_MANUAL_DATA.
            IF ( GWA_MANUAL_DATA-COL_6 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_7 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_8 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_9 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_10 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_11 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_13 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_14 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_15 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_16 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_17 CN '0123456789 '
            AND GWA_MANUAL_DATA-COL_18 CN '0123456789 ' ).
              MESSAGE 'Character Data in Numerical Field' TYPE 'E'.
            ENDIF.
            TRANSFER GWA_MANUAL_DATA TO LV_SERVER_DATAFILE_NAME.
          ENDLOOP.
          CLOSE DATASET LV_SERVER_DATAFILE_NAME.
          IF SY-SUBRC NE 0.
            MESSAGE 'Error in Creating File on Server' TYPE 'E'.
          ENDIF.
        ENDIF.  "  P_INCLUD = 'X'.
        IF NOT SY-BATCH IS INITIAL.
          SUBMIT ZISU_LTR15_TUNE
            WITH SO_GSBER IN SO_GSBER
            WITH SO_COKEY IN SO_COKEY
            WITH SO_MRU   IN SO_MRU
            WITH SO_GPART IN SO_GPART
            WITH P_BMNTH  =  P_BMNTH
            WITH P_COMPUT = P_COMPUT
            WITH P_INCLUD = P_INCLUD
            WITH P_FILE   = LV_SERVER_DATAFILE_NAME
            TO SAP-SPOOL WITHOUT SPOOL DYNPRO.
        ELSE.
          SUBMIT ZISU_LTR15_TUNE
            WITH SO_GSBER IN SO_GSBER
            WITH SO_COKEY IN SO_COKEY
            WITH SO_MRU   IN SO_MRU
            WITH SO_GPART IN SO_GPART
            WITH P_BMNTH  =  P_BMNTH
            WITH P_COMPUT = P_COMPUT
            WITH P_INCLUD = P_INCLUD
            WITH P_FILE   = LV_SERVER_DATAFILE_NAME.
        ENDIF.
      ENDIF.
    *&      Form  divison_data_get
    *       text
    *      <--P_SO_COKEY_LOW  text
    FORM DIVISON_DATA_GET  CHANGING P_SO_COKEY_LOW.
    **to get the search help for division
      DATA : LV_LINES TYPE SY-TFILL,
            LT_RETURN_TAB LIKE DDSHRETVAL OCCURS 0, " with header line.
            LWA_RETURN_TAB LIKE DDSHRETVAL.
      DATA: LV_COKEY TYPE ZEVERFKKVKP-COKEY.
    **according to the Business area entered]
    *  break csebdev1.
      REFRESH R_COKEY[].
      DESCRIBE TABLE SO_GSBER LINES LV_LINES.
    **  when user has neither pressed the enter key nor selected the values
    **using search help
      IF LV_LINES = 0.
    *  loop at so_gsber.
        CLEAR R_COKEY.
    *    if so_gsber-high is initial.
    *    break csebdev1.
        DYFIELDS-FIELDNAME = 'SO_GSBER-LOW'.
        APPEND DYFIELDS.
        CALL FUNCTION 'DYNP_VALUES_READ'
          EXPORTING
            DYNAME     = SY-CPROG
            DYNUMB     = SY-DYNNR
          TABLES
            DYNPFIELDS = DYFIELDS.
    *      r_cokey-sign = 'I'.
    *      r_cokey-option = 'CP'.
    *r_cokey-low = so_gsber-low+0(2).
        CONCATENATE DYFIELDS-FIELDVALUE+0(2) '*' INTO R_COKEY-LOW.
    *    elseif not so_gsber-high is initial.
        DYFIELDS-FIELDNAME = 'SO_GSBER-HIGH'.
        APPEND DYFIELDS.
        CALL FUNCTION 'DYNP_VALUES_READ'
          EXPORTING
            DYNAME     = SY-CPROG
            DYNUMB     = SY-DYNNR
          TABLES
            DYNPFIELDS = DYFIELDS.
        IF NOT DYFIELDS-FIELDVALUE IS INITIAL.
          CONCATENATE DYFIELDS-FIELDVALUE+0(2) '99999999' INTO R_COKEY-HIGH.
        ENDIF.
    *    endif.
        IF NOT R_COKEY-HIGH IS INITIAL.
          R_COKEY-SIGN = 'I'.
          R_COKEY-OPTION = 'BT'.
        ELSEIF R_COKEY-HIGH IS INITIAL.
          R_COKEY-SIGN = 'I'.
          R_COKEY-OPTION = 'CP'.
        ENDIF.
        APPEND R_COKEY.
      ENDIF.
    *  endloop.
    *  APPEND DYFIELDS.
      IF LV_LINES > 0.
    *    break-point.
        IF NOT SO_GSBER[] IS INITIAL.
          LOOP AT SO_GSBER.
    *        r_cokey-sign = 'I'.
    *        r_cokey-option = 'CP'.
    *r_cokey-low = so_gsber-low+0(2).
            CONCATENATE SO_GSBER-LOW+0(2) '*' INTO R_COKEY-LOW.
            IF NOT SO_GSBER-HIGH IS INITIAL.
              CONCATENATE SO_GSBER-HIGH+0(2) '99999999' INTO R_COKEY-HIGH.
            ENDIF.
            IF NOT R_COKEY-HIGH IS INITIAL.
              R_COKEY-SIGN = 'I'.
              R_COKEY-OPTION = 'BT'.
            ELSEIF R_COKEY-HIGH IS INITIAL.
              R_COKEY-SIGN = 'I'.
              R_COKEY-OPTION = 'CP'.
            ENDIF.
            APPEND R_COKEY TO R_COKEY.
          ENDLOOP.
        ENDIF.
      ENDIF.
      IF NOT R_COKEY[] IS INITIAL.
    * break csebdev1.
        REFRESH GT_TECOKT[].
        SELECT COKEY LTEXT
        FROM TECOKT
        INTO TABLE GT_TECOKT
        WHERE COKEY IN R_COKEY AND SPRAS = 'EN'.
    *    %_HINTS ORACLE '("TECOKT","TECOKT~1")'.
      ENDIF.
    **now call the search help
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
    *   DDIC_STRUCTURE         = ' '
          RETFIELD               = 'COKEY'
    *   PVALKEY                = ' '
    *   DYNPPROG               = ' '
    *   DYNPNR                 = ' '
    *   DYNPROFIELD            = ' '
    *   STEPL                  = 0
         WINDOW_TITLE           = 'Division'
         VALUE                  = DYFIELDS-FIELDVALUE
         VALUE_ORG              = 'S'
    *   MULTIPLE_CHOICE        = ' '
    *   DISPLAY                = ' '
    *   CALLBACK_PROGRAM       = ' '
    *   CALLBACK_FORM          = ' '
    *   MARK_TAB               =
    * IMPORTING
    *   USER_RESET             =
        TABLES
          VALUE_TAB              = GT_TECOKT
    *   FIELD_TAB              =
         RETURN_TAB             = LT_RETURN_TAB
    *   DYNPFLD_MAPPING        =
    * EXCEPTIONS
    *   PARAMETER_ERROR        = 1
    *   NO_VALUES_FOUND        = 2
    *   OTHERS                 = 3
      IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      READ TABLE LT_RETURN_TAB INTO LWA_RETURN_TAB INDEX 1.
      LV_COKEY = LWA_RETURN_TAB-FIELDVAL.
    *break csebdev1.
    ENDFORM.                    " divison_data_get
    *&      Form  upload_excel_file
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM UPLOAD_EXCEL_FILE .
      DATA: LV_INDEX TYPE I.
      FIELD-SYMBOLS <VAL> TYPE ANY.
      CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
        EXPORTING
          FILENAME                = P_FILE
          I_BEGIN_COL             = 1
          I_BEGIN_ROW             = 8
          I_END_COL               = 18
          I_END_ROW               = 94
        TABLES
          INTERN                  = GT_INTERN_DATA
        EXCEPTIONS
          INCONSISTENT_PARAMETERS = 1
          UPLOAD_OLE              = 2
          OTHERS                  = 3.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
              WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      IF NOT GT_INTERN_DATA[] IS INITIAL.
        SORT GT_INTERN_DATA BY ROW COL.
        LOOP AT GT_INTERN_DATA.
          MOVE GT_INTERN_DATA-COL TO LV_INDEX.
          ASSIGN COMPONENT LV_INDEX OF STRUCTURE GWA_MANUAL_DATA TO <VAL>.
          MOVE GT_INTERN_DATA-VALUE TO <VAL>.
          AT END OF ROW.
            APPEND GWA_MANUAL_DATA TO GT_MANUAL_DATA.
            CLEAR GWA_MANUAL_DATA.
          ENDAT.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " upload_excel_file
    *&      Form  MRU_DATA_GET
    *       text
    *      <--P_SO_MRU_LOW  text
    FORM MRU_DATA_GET  CHANGING LV_MRU.
    **to get the search help for Group
      DATA : LV_LINES TYPE SY-TFILL,
            LT_RETURN_TAB LIKE DDSHRETVAL OCCURS 0,
            LWA_RETURN_TAB LIKE DDSHRETVAL.
    *        lv_mru_p(3) type c.
      RANGES  R_MRU FOR EANLH-ABLEINH.
    **according to the Business area entered
    **  break csebdev1.
      REFRESH R_MRU[].
      DESCRIBE TABLE SO_GSBER LINES LV_LINES.
    **  when user has neither pressed the enter key nor selected the values
    **using search help
      IF LV_LINES = 0.
        CLEAR R_MRU[].
        DYFIELDS-FIELDNAME = 'SO_GSBER-LOW'.
        APPEND DYFIELDS.
        CALL FUNCTION 'DYNP_VALUES_READ'
          EXPORTING
            DYNAME     = SY-CPROG
            DYNUMB     = SY-DYNNR
          TABLES
            DYNPFIELDS = DYFIELDS.
        CONCATENATE DYFIELDS-FIELDVALUE+0(2) '*' INTO R_MRU-LOW.
        DYFIELDS-FIELDNAME = 'SO_GSBER-HIGH'.
        APPEND DYFIELDS.
        CALL FUNCTION 'DYNP_VALUES_READ'
          EXPORTING
            DYNAME     = SY-CPROG
            DYNUMB     = SY-DYNNR
          TABLES
            DYNPFIELDS = DYFIELDS.
        IF NOT DYFIELDS-FIELDVALUE IS INITIAL.
          CONCATENATE DYFIELDS-FIELDVALUE+0(2) '99999999' INTO R_MRU-HIGH.
        ENDIF.
        IF NOT R_MRU-HIGH IS INITIAL.
          R_MRU-SIGN   = 'I'.
          R_MRU-OPTION = 'BT'.
        ELSEIF R_MRU-HIGH IS INITIAL.
          R_MRU-SIGN   = 'I'.
          R_MRU-OPTION = 'CP'.
        ENDIF.
        APPEND R_MRU.
      ENDIF. " end lv_lines =0
      IF LV_LINES > 0.
        IF NOT SO_GSBER[] IS INITIAL.
          LOOP AT SO_GSBER.
            CONCATENATE SO_GSBER-LOW+0(2) '*' INTO R_MRU-LOW.
            IF NOT SO_GSBER-HIGH IS INITIAL.
              CONCATENATE SO_GSBER-HIGH+0(2) '99999999' INTO R_MRU-HIGH.
            ENDIF.
            IF R_MRU-HIGH IS INITIAL.
              R_MRU-SIGN   = 'I'.
              R_MRU-OPTION = 'CP'.
            ELSEIF NOT R_MRU-HIGH IS INITIAL.
              R_MRU-SIGN   = 'I'.
              R_MRU-OPTION = 'BT'.
            ENDIF.
            APPEND R_MRU.
          ENDLOOP.
        ENDIF. " end so_GSBER[]
      ENDIF. " end lv_lines > 0
      IF NOT R_MRU[] IS INITIAL.
    * break csebdev1.
        REFRESH GT_TE422[].
        SELECT TERMSCHL TERMTEXT FROM TE422 INTO CORRESPONDING FIELDS OF
    TABLE GT_TE422 WHERE TERMSCHL IN R_MRU .
      ENDIF.
    **now call the search help
      CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
        EXPORTING
    *   DDIC_STRUCTURE         = ' '
          RETFIELD               = 'TERMSCHL'
    *   PVALKEY                = ' '
    *   DYNPPROG               = ' '
    *   DYNPNR                 = ' '
    *   DYNPROFIELD            = ' '
    *   STEPL                  = 0
         WINDOW_TITLE           = 'Group'
         VALUE                  = DYFIELDS-FIELDVALUE
         VALUE_ORG              = 'S'
    *   MULTIPLE_CHOICE        = ' '
    *   DISPLAY                = ' '
    *   CALLBACK_PROGRAM       = ' '
    *   CALLBACK_FORM          = ' '
    *   MARK_TAB               =
    * IMPORTING
    *   USER_RESET             =
        TABLES
          VALUE_TAB              = GT_TE422
    *   FIELD_TAB              =
         RETURN_TAB             = LT_RETURN_TAB
    *   DYNPFLD_MAPPING        =
    * EXCEPTIONS
    *   PARAMETER_ERROR        = 1
    *   NO_VALUES_FOUND        = 2
    *   OTHERS                 = 3
      IF SY-SUBRC <> 0.
    * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
    *         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      READ TABLE LT_RETURN_TAB INTO LWA_RETURN_TAB INDEX 1.
      LV_MRU = LWA_RETURN_TAB-FIELDVAL.
    ENDFORM.                    " MRU_DATA_GET
    <b>b) ZISU_LTR15_TUNE - Actual R15 report</b>
    *& Report  ZISU_LTR15_TUNE                                             *
    REPORT  ZISU_LTR15_TUNE NO STANDARD PAGE HEADING  MESSAGE-ID ZISU
    LINE-SIZE 250 LINE-COUNT 65.
    **Tables
    TABLES :  EVER,
              FKKVKP,
              EANLH.
    SELECTION-SCREEN BEGIN OF BLOCK SELECTION
                              WITH FRAME TITLE TEXT-001 . "no intervals.
    SELECT-OPTIONS: SO_GSBER FOR EVER-GSBER OBLIGATORY,
                    SO_COKEY FOR EVER-COKEY,
                    SO_MRU   FOR EANLH-ABLEINH.
    PARAMETERS:     P_BMNTH(7) TYPE C OBLIGATORY.
    PARAMETERS:     P_CONT TYPE EVER-VERTRAG.
    SELECT-OPTIONS: SO_GPART FOR FKKVKP-GPART.
    SELECTION-SCREEN END OF BLOCK SELECTION.
    SELECTION-SCREEN BEGIN OF BLOCK PROCESS WITH FRAME.
    PARAMETERS:     P_COMPUT RADIOBUTTON GROUP R15.
    PARAMETERS:     P_INCLUD RADIOBUTTON GROUP R15,
                    P_FILE(60) TYPE C.
    SELECTION-SCREEN END OF BLOCK PROCESS.
    *              Start of Type declaration
    TYPES: BEGIN OF ST_TB024 ,
            IND_SECTOR TYPE TB024-IND_SECTOR,
            TEXTLONG TYPE TB024-TEXTLONG,
          END   OF ST_TB024,
          BEGIN OF ST_TECOKT,
            COKEY TYPE TECOKT-COKEY,
            LTEXT TYPE TECOKT-LTEXT,
          END   OF ST_TECOKT,
          BEGIN OF ST_TGSBT,
            GSBER   TYPE TGSBT-GSBER,
            GTEXT   TYPE TGSBT-GTEXT,
          END   OF ST_TGSBT,
          BEGIN OF ST_TE422,
            TERMSCHL  TYPE TE422-TERMSCHL,
            TERMTEXT  TYPE TE422-TERMTEXT,
          END   OF ST_TE422.
    *              Start of data declaration
    DATA: IT_TAB TYPE FILETABLE,
          GD_SUBRC TYPE I.
    DATA : GT_TB024 TYPE STANDARD TABLE OF ST_TB024 WITH HEADER LINE
             INITIAL SIZE 0,
           GT_TECOKT TYPE STANDARD TABLE OF ST_TECOKT
             WITH HEADER LINE,
          GT_TGSBT TYPE SORTED TABLE OF ST_TGSBT
          WITH UNIQUE KEY GSBER WITH HEADER LINE,
          GT_TE422 TYPE TABLE OF ST_TE422 WITH HEADER LINE INITIAL SIZE 0,
          BEGIN OF GWA_EVER,
            VKONT    TYPE EVER-VKONTO,
            ANLAGE   TYPE EVER-ANLAGE,
            ABRSPERR TYPE EVER-ABRSPERR,
          END   OF GWA_EVER,
          GT_EVER LIKE TABLE OF GWA_EVER INITIAL SIZE 0,
          BEGIN OF GWA_EANLH,
          ANLAGE     TYPE EANLH-ANLAGE,
          BRANCHE    TYPE EANLH-BRANCHE,
          END   OF GWA_EANLH,
          GT_EANLH LIKE TABLE OF GWA_EANLH INITIAL SIZE 0,
          BEGIN OF GWA_FKKVKP,
            VKONT   TYPE FKKVKP-VKONT,
            KTOKL   TYPE FKKVKP-KTOKL,
          END   OF GWA_FKKVKP,
          GT_FKKVKP LIKE TABLE OF GWA_FKKVKP INITIAL SIZE 0,
          BEGIN OF GWA_EVER_EANLH_FKKVKP,
            VKONT   TYPE FKKVKP-VKONT,
            ANLAGE   TYPE EVER-ANLAGE,
            ABRSPERR TYPE EVER-ABRSPERR,
            BRANCHE  TYPE EANLH-BRANCHE,
            KTOKL    TYPE FKKVKP-KTOKL,
          END OF GWA_EVER_EANLH_FKKVKP,
          GT_EVER_EANLH_FKKVKP LIKE TABLE OF GWA_EVER_EANLH_FKKVKP
            INITIAL SIZE 0,
          GT_EVER_EANLH_FKKVKP_INACT LIKE STANDARD TABLE OF
            GWA_EVER_EANLH_FKKVKP INITIAL SIZE 0,
          BEGIN OF GWA_ERCH,
            BELNR      TYPE ERCH-BELNR,
            VKONT      TYPE ERCH-VKONT,
          END OF GWA_ERCH,
          GT_ERCH LIKE TABLE OF GWA_ERCH INITIAL SIZE 0,
          BEGIN OF GWA_PRINTDOC,
            OPBEL    TYPE ERDK-OPBEL,
            GPART    TYPE ERDK-PARTNER,
            VKONT    TYPE ERDK-VKONT,
            BUDAT    TYPE ERDK-BUDAT,
            FAEDN    TYPE ERDK-FAEDN,
          END   OF GWA_PRINTDOC,
          GT_PRINTDOC LIKE TABLE OF GWA_PRINTDOC INITIAL SIZE 0,
          BEGIN OF GWA_DBERCHZ1,
            BELNR      TYPE DBERCHZ1-BELNR,
            EIN01      TYPE DBERCHZ1-EIN01,
            V_ABRMENGE TYPE DBERCHZ1-V_ABRMENGE,
          END OF GWA_DBERCHZ1,
          GT_DBERCHZ1 LIKE TABLE OF GWA_DBERCHZ1 INITIAL SIZE 0,
          BEGIN OF GWA_ERCHC,
            BELNR     TYPE ERCHC-BELNR,
            OPBEL     TYPE ERCHC-OPBEL,
            BUDAT     TYPE ERCHC-BUDAT,
          END   OF GWA_ERCHC,
          GT_ERCHC LIKE TABLE OF GWA_ERCHC INITIAL SIZE 0,
    * arrears for inactive consumers.
          BEGIN OF GWA_DFKKOP_INACTIVE_ARR,
              OPBEL       TYPE DFKKOP-OPBEL,
              VKONT       TYPE DFKKOP-VKONT,
              BETRH       TYPE DFKKOP-BETRH,
          END OF GWA_DFKKOP_INACTIVE_ARR,
          GT_DFKKOP_INACTIVE_ARR LIKE TABLE OF GWA_DFKKOP_INACTIVE_ARR
            INITIAL SIZE 0,
          BEGIN OF GWA_ETTIFN,
            ANLAGE    TYPE ETTIFN-ANLAGE,
            OPERAND   TYPE ETTIFN-OPERAND,
            WERT1     TYPE ETTIFN-WERT1,
          END OF GWA_ETTIFN,
          GT_ETTIFN LIKE SORTED TABLE OF GWA_ETTIFN
            WITH NON-UNIQUE KEY ANLAGE OPERAND INITIAL SIZE 0,
          BEGIN OF GWA_DBERDLB,
            PRINTDOC     TYPE DBERDLB-PRINTDOC,
            BILLDOC      TYPE DBERDLB-BILLDOC,
            BILLDOCLINE  TYPE DBERDLB-BILLDOCLINE,
            NETTOBTR     TYPE DBERDLB-NETTOBTR,
          END OF GWA_DBERDLB,
          GT_DBERDLB LIKE TABLE OF GWA_DBERDLB INITIAL SIZE 0,
          BEGIN OF GWA_DBERCHZ1_BILL,
            BELNR       TYPE DBERCHZ1-BELNR,
            BELZEILE    TYPE DBERCHZ1-BELZEILE,
            TVORG       TYPE DBERCHZ1-TVORG,
          END   OF GWA_DBERCHZ1_BILL,
          GT_DBERCHZ1_BILL LIKE TABLE OF GWA_DBERCHZ1_BILL INITIAL SIZE 0,
          BEGIN OF GWA_BILLDOC,
            PRINTDOC TYPE ERDK-OPBEL,
            BILLDOC TYPE DBERDLB-BILLDOC,
          END OF GWA_BILLDOC,
          GT_BILLDOC LIKE TABLE OF GWA_BILLDOC INITIAL SIZE 0,
          BEGIN OF GWA_DBERCHV,
            BELNR    TYPE DBERCHV-BELNR,
            OPERAND  TYPE DBERCHV-OPERAND,
            EZ_ABRMENGE TYPE DBERCHV-EZ_ABRMENGE,
            ABLESGR  TYPE DBERCHV-ABLESGR,
            ABLESGRV TYPE DBERCHV-ABLESGRV,
          END OF GWA_DBERCHV,
          GT_DBERCHV LIKE TABLE OF GWA_DBERCHV INITIAL SIZE 0,
          BEGIN OF GWA_DFKKOP_ARREAR,
            OPBEL     TYPE DFKKOP-OPBEL,
            VKONT     TYPE DFKKOP-VKONT,
            HVORG     TYPE DFKKOP-HVORG,
            TVORG     TYPE DFKKOP-TVORG,
            BUDAT     TYPE DFKKOP-BUDAT,
            BETRH     TYPE DFKKOP-BETRH,
            AUGDT     TYPE DFKKOP-AUGDT,
            XBLNR     TYPE DFKKOP-XBLNR,
          END OF GWA_DFKKOP_ARREAR,
          GT_DFKKOP_ARREAR LIKE TABLE OF GWA_DFKKOP_ARREAR INITIAL SIZE 0,
          BEGIN OF GWA_MASTER_DATA,
            SLNO(4)      TYPE C,
            IND_SECTOR   TYPE TB024-IND_SECTOR,
            TEXTLONG     TYPE TB024-TEXTLONG,
            AC_CODE      TYPE TFK033D-FUN01,
          END   OF GWA_MASTER_DATA,
          GT_MASTER_DATA LIKE TABLE OF GWA_MASTER_DATA INITIAL SIZE 0,
    **      internal table for final prepared data
          BEGIN OF GWA_FINAL_DATA,
              SLNO(4) TYPE C,
              IND_SECTOR      TYPE TB024-IND_SECTOR, " for testing
              INDUSTRY        TYPE TB024-TEXTLONG,
              AC_CODE         TYPE TFK033D-FUN01,
    *    *for urban partners
              UPARTNER        TYPE I , "(6) type n,
              UBAD_METER      TYPE I, "(4) type n,
              UINACTIVE       TYPE I,
              ULOAD(8)        TYPE P DECIMALS 2,
              UUNITS(8)       TYPE P DECIMALS 2,
              UDEMANDS(8)     TYPE P DECIMALS 2,
              UARREARS(8)     TYPE P DECIMALS 2, "FKKMAKO-Msalm,
              UINACT_ARR(8)   TYPE P DECIMALS 2,
              BLANK(10)       TYPE C,
    *    *for rural partners
              RPARTNER        TYPE I , "(6) type n,
              RBAD_METER      TYPE I , "(4) type n,
              RINACTIVE       TYPE I,
              RLOAD(8)        TYPE P DECIMALS 2,
              RUNITS(8)       TYPE P DECIMALS 2,
              RDEMANDS(8)     TYPE P DECIMALS 2,
              RARREARS(8)     TYPE P DECIMALS 2,
              RINACT_ARR(8)   TYPE P DECIMALS 2,
          END OF GWA_FINAL_DATA,
          GT_FINAL_DATA LIKE TABLE OF GWA_FINAL_DATA INITIAL SIZE 0,
          BEGIN OF GWA_MANUAL_DATA,
            COL_1(5)        TYPE C,
            COL_2(10)       TYPE C,
            COL_3(40)       TYPE C,
            COL_4(40)       TYPE C,
            COL_5(10)       TYPE C,
            COL_6(19)       TYPE C,
            COL_7(19)       TYPE C,
            COL_8(19)       TYPE C,
            COL_9(19)       TYPE C,
            COL_10(19)      TYPE C,
            COL_11(19)      TYPE C,
            COL_12(10)      TYPE C,
            COL_13(19)      TYPE C,
            COL_14(19)      TYPE C,
            COL_15(19)      TYPE C,
            COL_16(19)      TYPE C,
            COL_17(19)      TYPE C,
            COL_18(19)      TYPE C,
          END   OF GWA_MANUAL_DATA,
          GT_MANUAL_DATA LIKE TABLE OF GWA_MANUAL_DATA INITIAL SIZE 0.
    ** Variables for grand total of all heads.
    DATA : GV_T_UPART        TYPE I,
           GV_T_RPART        TYPE I,
           GV_T_RINACTIVE    TYPE I,
           GV_T_UINACTIVE    TYPE I,
           GV_UDEF_MTR       TYPE I,
           GV_RDEF_MTR       TYPE I,
           GV_UCON_LOAD(16)  TYPE P DECIMALS 2,
           GV_RCON_LOAD(16)  TYPE P DECIMALS 2,
           GV_UUNITS(16)     TYPE P DECIMALS 2,
           GV_RUNITS(16)     TYPE P DECIMALS 2,
           GV_UDEMAND(16)    TYPE P DECIMALS 2,
           GV_RDEMAND(16)    TYPE P DECIMALS 2,
           GV_UARREAR(16)    TYPE P DECIMALS 2,
           GV_RARREAR(16)    TYPE P DECIMALS 2,
           GV_UINACT_ARR(16) TYPE P DECIMALS 2,
           GV_RINACT_ARR(16) TYPE P DECIMALS 2,
           GV_U_SD_DMD(16)       TYPE P DECIMALS 2,
           GV_R_SD_DMD(16)       TYPE P DECIMALS 2,
           GV_U_SD_ARR(16)       TYPE P DECIMALS 2,
           GV_R_SD_ARR(16)       TYPE P DECIMALS 2,
           GV_UR_PART         TYPE I,
           GV_UR_DEF_MTR      TYPE I,
           GV_UR_CON_LOAD(16) TYPE P DECIMALS 2,
           GV_UR_UNITS(16)    TYPE P DECIMALS 2,
           GV_UR_DEMAND(16)   TYPE P DECIMALS 2,
           GV_UR_ARREARS(16)  TYPE P DECIMALS 2,
           GV_LOWDATE         TYPE SY-DATUM,
           GV_HIGHDATE        TYPE SY-DATUM,
           GV_YEAR   LIKE DBERCHV-EZ_ABRMENGE,
           GV_MONTH  LIKE DBERCHZ1-V_ABRMENGE,
           GV_MNTH_NAME TYPE T247-KTX.
    DATA:
    **total meter rent
          GV_UTOTMETERRENT TYPE P LENGTH 16 DECIMALS 2,
          GV_RTOTMETERRENT TYPE P LENGTH 16 DECIMALS 2,
    **for total surcharge
          GV_UTOTSURCHRG TYPE P LENGTH 16 DECIMALS 2, "dberdlb-nettobtr,
          GV_RTOTSURCHRG TYPE P LENGTH 16 DECIMALS 2, "dberdlb-nettobtr,
    **for total ED
          GV_UTOTED TYPE P LENGTH 16 DECIMALS 2, "dberdlb-nettobtr,
          GV_RTOTED TYPE P LENGTH 16 DECIMALS 2, "dberdlb-nettobtr,
    **for total ED Cess
          GV_UTOTEDCESS TYPE P LENGTH 16 DECIMALS 2, "dberdlb-nettobtr,
          GV_RTOTEDCESS TYPE P LENGTH 16 DECIMALS 2, "dberdlb-nettobtr,
    **for total other misc rev
          GV_UTOTMISCREV  TYPE P LENGTH 16 DECIMALS 2,
          GV_RTOTMISCREV TYPE P LENGTH 16 DECIMALS 2,
    **for total ED of Free agricultural pump
          GV_RTOTEDAGRI TYPE P LENGTH 16 DECIMALS 2,
          GV_UTOTEDAGRI TYPE P LENGTH 16 DECIMALS 2,
    **for ED cess of Free agriculture pump
          GV_RTOTCESSAGRI TYPE P LENGTH 16 DECIMALS 2,
          GV_UTOTCESSAGRI TYPE P LENGTH 16 DECIMALS 2,
    ***data for selection screen data validation
          GV_GSBER TYPE EVER-GSBER,
          GV_COKEY TYPE EVER-COKEY,
          DYFIELDS LIKE DYNPREAD OCCURS 0 WITH HEADER LINE,
          GT_INTERN_DATA TYPE ALSMEX_TABLINE OCCURS 0 WITH HEADER LINE.
    RANGES: R_COKEY FOR TECOKT-COKEY.
    AT SELECTION-SCREEN.
    AT SELECTION-SCREEN ON SO_GSBER.
      IF NOT SO_GSBER-LOW IS INITIAL.
        SELECT SINGLE GSBER FROM TGSBT INTO GT_TGSBT-GSBER WHERE
        GSBER = SO_GSBER-LOW.
        IF SY-SUBRC <> 0.
          MESSAGE E007.
        ENDIF.
      ENDIF.
      IF NOT SO_GSBER-HIGH IS INITIAL .
        SELECT SINGLE GSBER FROM TGSBT INTO GT_TGSBT-GSBER WHERE
        GSBER = SO_GSBER-HIGH.
        IF SY-SUBRC <> 0.
          MESSAGE E007.
        ENDIF.
      ENDIF.
    AT SELECTION-SCREEN ON P_BMNTH.
    **check the validity of Billing month format and for valid billing month
      IF P_BMNTH CO '0123456789/'.
        IF P_BMNTH CP '++++/++'.
          IF P_BMNTH+5(2) > 12.
            MESSAGE E002 WITH 'from'.
          ENDIF.
    ** current year is less than year entered
          IF SY-DATUM(4) < P_BMNTH(4).
            MESSAGE E003 WITH 'from'.
          ELSEIF SY-DATUM(4) = P_BMNTH(4).
    ** month in future
            IF SY-DATUM+4(2) < P_BMNTH+5(2).
              MESSAGE E004 WITH 'from'.
            ENDIF.
          ENDIF.
        ELSE.
          MESSAGE E001 WITH 'from'.
        ENDIF.
      ELSE.
    **  entry have some invalid char
        MESSAGE E010.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR SO_COKEY-LOW.
    **for geting the CO account assigment key of the entered Business area
      CLEAR: DYFIELDS[], DYFIELDS.
      PERFORM DIVISON_DATA_GET CHANGING SO_COKEY-LOW.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR SO_COKEY-HIGH.
      CLEAR: DYFIELDS[], DYFIELDS.
      PERFORM DIVISON_DATA_GET CHANGING SO_COKEY-HIGH.
    *AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
    *  REFRESH: IT_TAB.
    ***Opens File Open Dialog Box for selecting input file.
    *  CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
    *    EXPORTING
    *      WINDOW_TITLE     = 'Select File'
    *      DEFAULT_FILENAME = '*.xls'
    *      MULTISELECTION   = ' '
    *    CHANGING
    *      FILE_TABLE       = IT_TAB
    *      RC               = GD_SUBRC.
    *  LOOP AT IT_TAB INTO P_FILE.
    **    so_fpath-sign = 'I'.
    **    so_fpath-option = 'EQ'.
    **    append so_fpath.
    *  ENDLOOP.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF SCREEN-GROUP1 = 'ACT'.
          IF P_INCLUD = ' '.
            SCREEN-INPUT = '0'.
          ELSE.
            SCREEN-INPUT = '1'.
          ENDIF.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    *              End of Selection screen processing
    TOP-OF-PAGE.
      DATA : LV_TEXT(70) TYPE C.
      FORMAT INTENSIFIED OFF.
      WRITE:/50 'CHHATTISGARH STATE ELECTRICITY BOARD',
            /42 'R-15 REPORT FOR LT CONSUMERS FOR THE MONTH OF',
                 GV_MNTH_NAME NO-GAP,'-' NO-GAP, P_BMNTH(4) NO-GAP,
            180 'PAGE-NO. -', SY-PAGNO LEFT-JUSTIFIED.
      SKIP.
      WRITE:/2 'RAO', 15 ':'.
      LOOP AT GT_TGSBT WHERE GSBER IN SO_GSBER.
        IF STRLEN( LV_TEXT ) > 60.
          WRITE: 16 LV_TEXT, / ''.
          CLEAR LV_TEXT.
        ENDIF.
        CONCATENATE LV_TEXT GT_TGSBT-GSBER '-' GT_TGSBT-GTEXT
          INTO LV_TEXT SEPARATED BY SPACE.
      ENDLOOP.
      WRITE: 16 LV_TEXT.
      CLEAR LV_TEXT.
      WRITE: /2 'Division',15 ':'.
      LOOP AT GT_TECOKT.
        IF STRLEN( LV_TEXT ) > 60.
          WRITE: 16 LV_TEXT, /.
          CLEAR LV_TEXT.
        ENDIF.
        CONCATENATE LV_TEXT GT_TECOKT-COKEY '-' GT_TECOKT-LTEXT
          INTO LV_TEXT SEPARATED BY SPACE.
      ENDLOOP.
      WRITE: 16 LV_TEXT.
      CLEAR LV_TEXT.
      WRITE: /2 'Group',15 ':'.
      LOOP AT GT_TE422 .
        IF STRLEN( LV_TEXT ) > 60.
          WRITE: 16 LV_TEXT, /.
          CLEAR LV_TEXT.
        ENDIF.
        CONCATENATE LV_TEXT GT_TE422-TERMSCHL '-' GT_TE422-TERMTEXT
          INTO LV_TEXT SEPARATED BY SPACE.
      ENDLOOP.
      WRITE: 16 LV_TEXT.
      CLEAR LV_TEXT.
    **legends
    *  write :/ text-028, 15 ':',16 text-029.
    **now write the headings on every page
      SET LEFT SCROLL-BOUNDARY COLUMN 50.
      FORMAT COLOR 1 ON.
      WRITE :/1(244) SY-ULINE.
      WRITE :/1 SY-VLINE,6 SY-VLINE,50 SY-VLINE, 58 SY-VLINE, 59
                '<----------------------------------',
                'U R B A N   A R E A',
                '----------------------------------->'.
      WRITE : 151 SY-VLINE, 152
                  '<----------------------------------',
                  'R U R A L   A R E A',
                  '----------------------------------->',
              244 SY-VLINE.
      WRITE :/1 SY-VLINE,
              2 'Slno',
              6 SY-VLINE,
              7 'Revenue Category',
              50 SY-VLINE,
              51 'A/C',
              58 SY-VLINE,
              59 'Cons-',
              67 SY-VLINE,
              68 'Deff',
              75 SY-VLINE,
              76 'Conn',
              89 SY-VLINE,
              90 'Sold',
              108 SY-VLINE,
              109 'Demand',
              129 SY-VLINE,
              130 'Previous',
              151 SY-VLINE,
              152 'Cons-',
              160 SY-VLINE,
              161 'Deff',
              168 SY-VLINE,
              169 'Conn',
              182 SY-VLINE,
              183 'Sold',
              201 SY-VLINE,
              202 'Demand',
              222 SY-VLINE,
              223 'Previous',
              244 SY-VLINE.
      WRITE :/1 SY-VLINE,
              6 SY-VLINE,
              50 SY-VLINE,
              51 'Code',
              58 SY-VLINE,
              59 'umers',
              67 SY-VLINE,
              68 'mtrs',
              75 SY-VLINE,
              76 'Load-KW',
              89 SY-VLINE,
              90 'Units',
              108 SY-VLINE,
              129 SY-VLINE,
              130 'Arrear',
              151 SY-VLINE,
              152 'umers',
              160 SY-VLINE,
              161 'mtrs',
              168 SY-VLINE,
              169 'Load-KW',
              182 SY-VLINE,
              183 'Units',
              201 SY-VLINE,
              222 SY-VLINE,
              223 'Arrear',
              244 SY-VLINE.
      WRITE :/1(244) SY-ULINE.
      SET LEFT SCROLL-BOUNDARY COLUMN 59.
    *              Start of Data Selection
    START-OF-SELECTION.
      SELECT GSBER GTEXT INTO TABLE GT_TGSBT FROM TGSBT
        WHERE SPRAS = SY-LANGU.
      SELECT IND_SECTOR TEXTLONG INTO TABLE GT_TB024
        FROM TB024 WHERE SPRAS = SY-LANGU
                     AND ( ( IND_SECTOR >= '01' AND IND_SECTOR <= '55' )
                      OR ( IND_SECTOR = '57' OR IND_SECTOR = '58'
                      OR IND_SECTOR = '94' ) ).
      SELECT SINGLE KTX INTO GV_MNTH_NAME FROM T247
       WHERE MNR = P_BMNTH+5(2) AND SPRAS = SY-LANGU.
    ***master data selection
      PERFORM CONSUMER_DATA_SELECTION.
    *&--Get Meter Status Connected Load & MF for each installation
      PERFORM OPERAND_DATA_SELECTION.
    *&--Get the Demand corresponding to each Print documents selected
      PERFORM BILLING_DATA_SELECTION.
    *&--Get the arrears corresponding to each Print document selected
      PERFORM ARREAR_DATA_SELECTION.
    *&--To include Mannual R-15 into computerized R-15.
      IF P_INCLUD = 'X'.
        OPEN DATASET P_FILE FOR INPUT IN TEXT MODE ENCODING DEFAULT.
        DO.
          READ DATASET P_FILE INTO GWA_MANUAL_DATA.
          IF SY-SUBRC <> 0.
            EXIT.
          ELSE.
            APPEND GWA_MANUAL_DATA TO GT_MANUAL_DATA.
          ENDIF.
        ENDDO.
        CLOSE DATASET P_FILE.
        DELETE DATASET P_FILE.
      ENDIF.
    END-OF-SELECTION.
    *              End of data Selection
    *            Start of Data Processing
      PERFORM FINAL_TABLE_PREPARE.
      PERFORM FINAL_OUTPUT_PREPARE.
      PERFORM FINAL_OUTPUT_DISPLAY.
    *              End of Data Processing
      PERFORM FREE_MEMORY.
    *&      Form  master_data_selection
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM CONSUMER_DATA_SELECTION .
      DATA: LV_MAX_DAYS TYPE I,
            LV_LAST_DAY(2) TYPE C,
            LV_IMONTH TYPE I,
            LV_IYEAR TYPE I,
            LV_BMNTH TYPE ZERDK_ERCHC-V_ABRMENGE,
            LV_BYEAR TYPE ZERDK_ERCHC-EZ_ABRMENGE,
    *&----Temporary tables for global internal tables.
            LT_DBERCHZ1_TEMP LIKE TABLE OF GWA_DBERCHZ1,
            LWA_DBERCHZ1_TEMP LIKE GWA_DBERCHZ1,
            LT_ERCH LIKE TABLE OF GWA_ERCH,
            LWA_ERCH LIKE GWA_ERCH,
            LT_EVER LIKE TABLE OF GWA_EVER.
    *DATA: lt_ever_fkkvkp like gwa_ever_eanlh_fkkvkp occurs 0.
      LV_IMONTH = P_BMNTH+5(2).
      LV_IYEAR  = P_BMNTH(4).
      LV_BMNTH  = P_BMNTH+5(2).
      LV_BYEAR  = P_BMNTH(4).
      CALL FUNCTION 'RTP_US_API_MAX_DAYS_IN_MONTH'
        EXPORTING
          I_DATE_MONTH = LV_IMONTH
          I_DATE_YEAR  = LV_IYEAR
        IMPORTING
          E_MAX_DAYS   = LV_MAX_DAYS.
      LV_LAST_DAY = LV_MAX_DAYS.
      CONCATENATE P_BMNTH(4) P_BMNTH+5(2)  LV_LAST_DAY INTO GV_HIGHDATE.
      IF SO_GPART[] IS INITIAL.
        SELECT VKONTO ANLAGE ABRSPERR
        INTO TABLE GT_EVER
        FROM EVER
        WHERE GSBER IN SO_GSBER
          AND COKEY IN SO_COKEY
          AND   BUKRS = 'CSEB'
          AND   SPARTE = '01'
          AND   KOFIZ  = '02'.
    **get installation no from contract data and check biling class in eanlh
        IF GT_EVER[] IS INITIAL.
    MESSAGE 'No Business Partner exist for entered selection data' TYPE 'A'.
        ENDIF.
        IF NOT GT_EVER[] IS INITIAL.
          SELECT VKONT KTOKL INTO TABLE GT_FKKVKP
            FROM FKKVKP
            FOR ALL ENTRIES IN GT_EVER
            WHERE VKONT = GT_EVER-VKONT
            AND   GPART IN SO_GPART.
          IF GT_FKKVKP[] IS INITIAL.
         MESSAGE 'No Business Partner exist for entered Selection' TYPE 'A'.
          ENDIF.
        ENDIF.
      ELSE.
        SELECT VKONT KTOKL INTO TABLE GT_FKKVKP
          FROM FKKVKP
          WHERE GPART IN SO_GPART.
        IF NOT GT_FKKVKP[] IS INITIAL.
          SELECT VKONTO ANLAGE INTO TABLE GT_EVER
            FROM EVER
            FOR ALL ENTRIES IN GT_FKKVKP
            WHERE VKONTO  EQ GT_FKKVKP-VKONT
              AND GSBER   IN SO_GSBER
              AND COKEY   IN SO_COKEY
              AND BUKRS   EQ 'CSEB'
              AND SPARTE  EQ '01'
              AND KOFIZ   EQ '02'.
        ENDIF.
      ENDIF.
      IF GT_EVER[] IS INITIAL AND GT_FKKVKP[] IS INITIAL.
        MESSAGE 'No Business Partner exist for entered Selection' TYPE 'A'.
      ENDIF.
      SELECT ANLAGE BRANCHE INTO TABLE GT_EANLH
        FROM EANLH
        FOR ALL ENTRIES IN GT_EVER
        WHERE ANLAGE EQ GT_EVER-ANLAGE
        AND   ABLEINH IN SO_MRU
        AND   AKLASSE EQ'0002'
        AND   AB <= GV_HIGHDATE
        AND   BIS => GV_HIGHDATE.
      IF GT_EANLH[] IS INITIAL.
        MESSAGE 'No Business Partner exist for entered Selection' TYPE 'A'.
      ENDIF.
      SORT : GT_EVER BY VKONT ANLAGE,
             GT_FKKVKP BY VKONT,
             GT_EANLH BY ANLAGE.
      LOOP AT GT_EANLH INTO GWA_EANLH.
        READ TABLE GT_EVER INTO GWA_EVER WITH KEY ANLAGE = GWA_EANLH-ANLAGE.
        IF SY-SUBRC = 0.
          READ TABLE GT_FKKVKP INTO GWA_FKKVKP
            WITH KEY VKONT = GWA_EVER-VKONT.
          IF SY-SUBRC = 0.
            GWA_EVER_EANLH_FKKVKP-VKONT = GWA_EVER-VKONT.
            GWA_EVER_EANLH_FKKVKP-ANLAGE = GWA_EVER-ANLAGE.
            GWA_EVER_EANLH_FKKVKP-ABRSPERR = GWA_EVER-ABRSPERR.
            GWA_EVER_EANLH_FKKVKP-BRANCHE  = GWA_EANLH-BRANCHE.
            GWA_EVER_EANLH_FKKVKP-KTOKL    = GWA_FKKVKP-KTOKL.
            APPEND GWA_EVER_EANLH_FKKVKP TO GT_EVER_EANLH_FKKVKP.
            CLEAR GWA_EVER_EANLH_FKKVKP.
          ENDIF.
        ENDIF.
      ENDLOOP.
      IF GT_EVER_EANLH_FKKVKP[] IS INITIAL.
        MESSAGE 'No Business Partner exist for Selection Data' TYPE 'A'.
      ENDIF.
    *&----get all the billdocuments for the busines partner's contract
    *&----account
      SELECT BELNR VKONT INTO TABLE GT_ERCH
        FROM ERCH
        FOR ALL ENTRIES IN GT_EVER_EANLH_FKKVKP
        WHERE VKONT EQ GT_EVER_EANLH_FKKVKP-VKONT.
    *&----get the BILL MONTH & BILL YEAR FOR THE BILLDOCUMENTS.
      IF NOT GT_ERCH[] IS INITIAL.
        SELECT BELNR EIN01 V_ABRMENGE INTO TABLE GT_DBERCHZ1
          FROM DBERCHZ1
          FOR ALL ENTRIES IN GT_ERCH
          WHERE BELNR EQ GT_ERCH-BELNR
            AND AKLASSE = '0002'
            AND ( ( EIN01 = 'BILL_MNTH1'
            AND V_ABRMENGE = P_BMNTH+5(2) )
            OR ( EIN01 = 'BILL_YEAR1'
            AND V_ABRMENGE = P_BMNTH(4) ) ).
    *&---- GET THOSE BILL DOCUMENTS WHICH ARE FOR THE ENTERED BILL MONTH
        IF NOT GT_DBERCHZ1[] IS INITIAL.
          LOOP AT GT_DBERCHZ1 INTO GWA_DBERCHZ1 WHERE EIN01 = 'BILL_MNTH1'
                                              AND V_ABRMENGE = P_BMNTH+5(2).
            READ TABLE GT_DBERCHZ1 INTO LWA_DBERCHZ1_TEMP
            WITH KEY BELNR = GWA_DBERCHZ1-BELNR EIN01 = 'BILL_YEAR1'
            V_ABRMENGE = P_BMNTH(4).
            IF SY-SUBRC = 0.
              APPEND LWA_DBERCHZ1_TEMP TO LT_DBERCHZ1_TEMP.
              CLEAR: LWA_DBERCHZ1_TEMP.
            ENDIF.
          ENDLOOP.
          GT_DBERCHZ1[] = LT_DBERCHZ1_TEMP[].
        ENDIF.
      ENDIF.
    *&---NOW FIND THE PRINT DOCUMENTS FOR THE SELECTED BILLDOCUMENTS.
      IF NOT GT_DBERCHZ1[] IS INITIAL.
        SELECT BELNR OPBEL BUDAT FROM ERCHC
          INTO TABLE GT_ERCHC
          FOR ALL ENTRIES IN GT_DBERCHZ1
          WHERE BELNR = GT_DBERCHZ1-BELNR
            AND INTOPBEL EQ SPACE
            AND SIMULATED EQ SPACE
            AND INVOICED EQ 'X'.
      ENDIF.
      IF NOT GT_ERCHC[] IS INITIAL.
        LOOP AT GT_ERCHC INTO GWA_ERCHC.
          READ TABLE GT_ERCH INTO GWA_ERCH WITH KEY BELNR = GWA_ERCHC-BELNR.
          IF SY-SUBRC = 0.
            APPEND GWA_ERCH TO LT_ERCH.
            CLEAR GWA_ERCH.
          ENDIF.
          CLEAR GWA_ERCHC.
        ENDLOOP.
      ENDIF.
      GT_ERCH[] = LT_ERCH[].
      FREE: LT_ERCH, LT_DBERCHZ1_TEMP,LWA_DBERCHZ1_TEMP.
      LOOP AT GT_EVER_EANLH_FKKVKP INTO GWA_EVER_EANLH_FKKVKP.
    *  READ TABLE gt_erdk_erchc INTO gwa_erdk_erchc
    *  WITH KEY vkont = gwa_ever_eanlh_fkkvkp-vkont.
        READ TABLE GT_ERCH INTO GWA_ERCH
          WITH KEY VKONT = GWA_EVER_EANLH_FKKVKP-VKONT.
        IF SY-SUBRC <> 0.
          IF GWA_EVER_EANLH_FKKVKP-ABRSPERR = SPACE.
            GWA_EVER_EANLH_FKKVKP-ABRSPERR = '01'.
            MODIFY GT_EVER_EANLH_FKKVKP FROM GWA_EVER_EANLH_FKKVKP
              TRANSPORTING ABRSPERR.
            APPEND GWA_EVER_EANLH_FKKVKP TO GT_EVER_EANLH_FKKVKP_INACT.
          ENDIF.
        ELSE.
          IF GWA_EVER_EANLH_FKKVKP-ABRSPERR <> SPACE.
            GWA_EVER_EANLH_FKKVKP-ABRSPERR = SPACE.
            MODIFY GT_EVER_EANLH_FKKVKP FROM GWA_EVER_EANLH_FKKVKP
              TRANSPORTING ABRSPERR.
          ENDIF.
        ENDIF.
        CLEAR GWA_ERCH.
      ENDLOOP.
      REFRESH GT_TECOKT[].
      IF NOT SO_COKEY[] IS INITIAL.
        SELECT COKEY LTEXT INTO TABLE GT_TECOKT
        FROM TECOKT
        WHERE COKEY IN SO_COKEY
          AND SPRAS = SY-LANGU .
    *    %_HINTS ORACLE '("TECOKT","TECOKT~1")'.
      ENDIF.
      IF NOT SO_MRU[] IS INITIAL.
        SELECT TERMSCHL TERMTEXT INTO TABLE GT_TE422
          FROM TE422
          WHERE TERMSCHL IN SO_MRU.
      ENDIF.
    *FREE lt_ever_fkkvkp[].
    ENDFORM.                    " consumer_data_selection
    *&      Form  Operand_data_selection
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM OPERAND_DATA_SELECTION .
      DATA: LT_EVER_EANLH_FKKVKP_ACT LIKE TABLE OF GWA_EVER_EANLH_FKKVKP.
    *  SORT gt_ever_eanlh_fkkvkp BY vkont.
      CHECK NOT GT_EVER_EANLH_FKKVKP[] IS INITIAL.
    **now depending upon the billing month check the time slice date
    **the last date of the billing month or the range of billing month
    *should fall in between the time slice of the installation
    ** billing month to is space
    **now select operands for processed installation
      LT_EVER_EANLH_FKKVKP_ACT[] = GT_EVER_EANLH_FKKVKP[].
      DELETE LT_EVER_EANLH_FKKVKP_ACT WHERE ABRSPERR NE SPACE.
      IF NOT LT_EVER_EANLH_FKKVKP_ACT[] IS INITIAL.
        SELECT ANLAGE OPERAND WERT1
        FROM ETTIFN
        INTO TABLE GT_ETTIFN
        FOR ALL ENTRIES IN LT_EVER_EANLH_FKKVKP_ACT
        WHERE ANLAGE = LT_EVER_EANLH_FKKVKP_ACT-ANLAGE
          AND OPERAND IN ('MTR_STS','CONN_LOAD','LOAD_CODE','KWH_MF')
          AND ( AB <= GV_HIGHDATE AND BIS >= GV_HIGHDATE ).
    *    %_HINTS ORACLE '("ETTIFN","ETTIFN~003")'.
      ENDIF.
    ENDFORM.                    " Operand_data_selection
    *&      Form  billing_data_selection
    *&------------------------------

    Hi,
    Please do run time analysis as Rob correctly mentioned or do SQL trace(ST05) to find where the program is consuming more time.
    Lanka

  • Want to have own selection screen  in HR-ABAP report using LDB

    Hi experts,
            I am working on HR-ABAP report using LDB pnp and infotypes..But, here we get the built in selection criterion..but I want my own selection screen to be displayed..whats the solution for this??? Is it possible to create my own selection screen instead of default one..and how???
    Please help me..its very urgent..

    Hi,
    chk this out:
    Create Report Categories                                                                               
    In this step, you define the report categories and determine the layout
       of the standard selection screen for these report categories. You can 
       create report categories for programs or queries that are based on the
       PNP or PNPCE logical databases.                                                                               
    The definition of report categories is divided into two sections:                                                                               
    o   In the Change Report Category view, you define general attributes 
           such as sort order, input fields for date, and so on.                                                                               
    o   In the Change Selection Criteria view, you define which selection 
           fields of the logical database should be avaliable on the selection
           screen.                                                                               
    Example                                                                               
    You want to set up your system so that your employees can only start  
       evaluation reports for Payroll if they use a payroll area. Within a   
       payroll area, you should be able to select according to personnel     
       number. Additional selection criteria should not be possible and you  
       should not be allowed to enter a sort sequence.                       
    Standard settings                                                                               
    The standard system already contains report categories. You can find the 
    attributes of the report categories in the table.                                                                               
    Note the following five report categories in particular:                                                                               
    o   Report category ' ' is the SAP default report category for     
        programs that are based on the PNP logical database.                                                                               
    o   Report category PNPCE is the SAP default category for programs that  
        are based on the PNPCE logical database.                                                                               
    o   Report category '00000000' is the customer-specific default category 
        for programs that are based on the PNP logical database.                                                                               
    o   Report category '0PNPCE' is the customer-specific default category   
        for programs that are based on the PNPCE logical database.                                                                               
    o   Report category __X2001 is the default category for Queries  that    
        are based on an InfoSet of the PNP LDB.                                                                               
    o   Report category QUEPNPCE is the default category for queries that    
        are based on an InfoSet of the PNPCE LDB.                                                                               
    The default report categories are used when a report is called if    
        the report has not been assigned a report category.                  
    Parameters and Options for Report Categories of the LDB PNP and PNPCE  
    Parameters and Options in Screen Area General Data                     
       If you activate this parameter, you can only enter data on the data
       selection period if you use reports that have been assigned. The   
       same date entries are then used for the person selection as for the
       date selection.                                                                               
    o   Matchcode allowed                                                  
       If you activate this parameter, you have use of a Matchcode        
       pushbutton (search help) if you use reports that have been assigned.
       This pushbutton enables you to perform the person selection.                                                                               
    o   Sort allowed                                                       
       If you activate this parameter, you have use of a Sort pushbutton if
       you use report that have been assigned. This pushbutton enables you
       to define a sort order before you execute the report.                                                                               
    o   Organizational structure allowed                                   
       If you activate this parameter, you have use of an Org.Structure   
       pushbutton if you use reports that have been assigned. This        
       pushbutton enables you to perform the person selection.            
       Note:                                                              
       For more information about these options, see the online           
       documentation under this path:                                     
       SAP Library -> Human Resources -> Reporting in Human Resources     
       Management -> Standard HR Reports -> Report Selection Screen in    
       Human Resources Management.                                                                               
    Parameters and Options in Screen Areas Data Selection Period/Person    
    Selection Period/Payroll Area/Period/Year                                                                               
    o   Options for data selection period and person selection period (key 
        date and so on)                                                    
        Here you define which options for date and person selection are    
        available for reports that have been assigned.                                                                               
    o   Options for payroll area/period/year                               
        Here you define which options for selection using payroll          
        area/period/year are available for reports that have been assigned.                                                                               
    Parameters and Options in Screen Area Selection View                                                                               
    o   Type/Name                                                          
        This parameter enables you to use selection views to define report 
        categories. You use the selection view selected here to determine  
        which fields are available in the Dynamic Selectionsy.                                                                               
    Note:                                                              
        You create selection views for the PNP and PNPCE logical databases 
        in the Object Navigator (SE80):                                    
        1. Start the Object Navigator (SE80)                               
        2. Choose Workbench -> Edit Object.                                
        3. Choose the More... tab page and the Selection view on this tab  
        page.                                                              
        4. Choose Create.                                                  
        5. In the Create Selection View dialog box, choose the For any     
        tables option.                                                     
        6. In the Name of view field, enter a name for your selection view.
        7. In the Tables dialog box, enter the name of the table from which
        you want to use fields.                                            
        Note:                                                              
        When you enter the table name, observe the naming convention in    
        Personnel Administration:                                          
        Infotype number: nnnn -> table name: PAnnnn                        
        8. Choose Continue.                                                
        9. In the Functional groups area, define functional groups by      
        assigning a name and a number.                                     
        10. Assign fields from the selected tables to the functional groups
        by entering the number of the desired functional group in front of 
        each field.                                                        
        11. Save your entries.                                                                               
    For more information about adjusting the dynamic selections using 
    your own selection views, see the online documentation under the  
    following menu path:                                              
    SAP Library -> Human Resources -> Reporting in Human Resources    
    Management -> HR Standard Reports -> Report Selection Screen in   
    Human Resources Management -> Enhancing the Selection Screen -    
    Dynamic Selections.                                                                               
    If you do not want to offer dynamic selections, make the following
    settings:                                                                               
    -   LDB PNP: In the Selection view field, enter PNP_NO_FREE_SEL.  
    -   LDB PNPCE: Leave the Selection view field empty.                                                                               
    Parameters and Options in Screen Area Data Selection Period/Person   
    Selection Period/Payroll Area/Period/Year                                                                               
    o   Available input parameters, date or period entry (today, key date,
       all, and so on), and standard value.                             
       Using the Standard value option, you define which of the selected
       options is shown.                                                                               
    Parameters and Options in Screen Area CE Selection Fields                                                                               
    o   CE selection fields (external person ID, grouping reason, grouping
       value)                                                           
       Using the options in this area, you define whether the external  
       person Id, grouping reason, or grouping value are available on the
       selection screen.                                                
       Note:                                                            
       These parameters are only relevant for you if you implement      
       Concurrent Employment (see also note 517071).                                                                               
    Parameters and Options in Screen Area Selection view                                                                               
    o   Dynamic selections as dialog box                                  
        If this switch is set, you can call the dynamic selections as a   
        dialog box.                                                                               
    o   Dynamic selections active                                         
        If this switch is set, the dynamic selections of the logical      
        database are active at the start of the report.                                                                               
    Note that the following combinations are possible for the last two
        options mentioned:                                                                               
    Dyn.Sel. as dialog box/Dyn.Sel. active: inactive/inactive         
        Dyn.Sel. as dialog box/Dyn.Sel. active: inactive/active           
        Dyn.Sel. as dialog box/Dyn.Sel. active: active/inactive                                                                               
    Activities                                                                               
    1.  Choose Edit -> New entries.                                                                               
    2.  Enter an abbreviation and a long text for the report category.         
        The customer name range for report categories is 0-9.                                                                               
    3.  Select the For the PNPCE logical database checkbox, if you want to     
        create a report category for a program or for queries of the PNPCE     
        logical database.                                                                               
    4.  In the General Data screen area, choose the desired options.           
        If you want to use selection IDs, you must have first created and      
        grouped selection Ids. The IMG path to do this is given in the         
        parameter description section.                                                                               
    5.  In the Data selection period/person selection period or Selection      
        period screen area, choose the desired options.                                                                               
    6.  In the Selection view screen area, choose the desired options.                                                                               
    7.  In the CE selection fields screen area, choose the desired (only       
        possible for report categories of the LDB PNPCE).                                                                               
    8.  Save your entries.                                                                               
    9.  Choose the subactivity Permitted selection criteria.                                                                               
    10. Choose Edit -> New entries.                                                                               
    11. In the Select option field, use the input help to select each field    
        that should be available on the selection screen.                                                                               
    12. Select the checkbox in the 1.page column, if you want this selection   
        field to be available directly when you call the selection screen.                                                                               
    Further notes                                                                               
    13. If you want to copy entries, you still have to enter the selection     
        parameters again in the subsequent screen.                                                                               
    o   If you create the report category '000000000', a selection screen is   
        generated according to report category '00000000'for all reports for   
        which a report category has not explicitly been assigned.                                                                               
    Assign Report Categories                                                                               
    In this step, you assign a report category to your reports.                                                                               
    Example                                                                               
    You have created your own report, for example ZPCTEST1, and would like
        it to have the selection screen that corresponds to that of the       
        evaluation report for Payroll, which is assigned to report category   
        '__M00001'.                                                           
        Assign report category '__M00001' to the report.                                                                               
    Requirements                                                                               
    You must have defined the Report Categories.                                                                               
    Standard settings                                                                               
    SAP Standard Reports:                                                                               
    In the standard system, reports are assigned a report category. If you
        want to override these assignments, perform the activities described  
        here. If you want to assign report categories to standard reports using
        SE38, this represents a modification.                                                                               
    Customer-Specific Reports:                                                                               
    For reports you have developed yourself, you can either assign report 
        categories by performing the activities described here or directly in SE38.
    Recommendation                                                                               
    Only assign a report category if you have created your own reports or if  
    the selection screens in the standard system do not meet your             
    requirements.                                                                               
    Activities                                                                               
    1.  Choose Edit -> New entries.                                                                               
    2.  Perform the required assignment using the Program name and Report     
       category fields.                                                                               
    3.  Save your entries.                   
    reward if helpful
    regards,
    madhumitha

  • Pushbutton on the application bar on an abap report

    Hello All,
    I need to have a pushbutton (labelled Download) on the application bar on the abap report screen .
    This button should enable me to download the report contents in a file format (like excel).
    Please can you guys help me acheive this.How should the button with this functionality be placed in application bar?
    Thanks in advance for the kind help
    Swati

    Hi Swathi,
    In such case, as said above, create a new GUi status and then assign to the report using the below statement:
    AT PFnn.
    Effect
    This obsolete statement defines an event block whose event is triggered by the ABAP runtime environment during list display - provided the screen cursor is on a list line and a function is selected using the function code PFnn. Here nn stands for a number between 01 and 24. In the standard list status, these function codes are assigned to the function keys of the input device.
    Then what processing needs to be done when the user presses the button, will be written in the below control statement..
    AT USER-COMMAND
    Effect
    This statement defines an event block whose event is triggered by the ABAP runtime environment if, during the display of a screen list, a function with a self-defined function code was chosen.
    Note
    Self-defined function codes are all those that include character combinations, except for the following:
    The function codes "PICK" and "PFnn" ("nn"stands for 01 to 24) do not cause the event AT USER-COMMAND, but the events AT LINE-SELECTION and AT PFnn.
    All function codes that start with the character "%" are interpreted as system functions and do not cause the event AT USER-COMMAND. The system functions for lists are listed in the following table 1.
    The function codes in the following table 2, likewise, do not cause the event AT USER-COMMAND, but are handled by the list processor.
    Table 1
    Function code Function
    %CTX Call a context menu
    %EX Exit
    %PC Save to file
    %PRI Print
    %SC Search for ...
    %SC+ Find next
    %SL Search in office
    %ST Save to report tree
    Table 2
    Function code Function
    BACK Back
    P- Scroll to previous page
    P-- Scroll to first page
    P+ Scroll to next page
    P++ Scroll to last page
    PFILE name Store list lines in a text file named "abap.lst" in standard character representation in the standard directory of the application server. If a name is entered using name, this is converted to lowercase letters and used as the file name.
    PL- Scroll to first line of the page
    PL-n Scroll n lines back
    PL+ Scroll to last line of the page
    PL+n Scroll n lines up
    PNOP No effect
    PP- Scroll back one page
    PP-n Scroll n pages back
    PP+ Scroll one page forward
    PP+n Scroll n pages forwad
    PPn Scroll to beginning of page n
    PRI, PRINT Print
    PS-- Scroll to first column
    PS++ Scroll to last column
    PS- Scroll one column to the left
    PS-n Scroll n columns to the left
    PS+ Scroll one column to the right
    PS+n Scroll n columns to the right
    PSn Scroll to column n
    PZn Scroll to line n
    RW Cancel
    Example
    This program works with a self-defined GUI status MYLIST. The function that is linked there with the function code MY_SELECTION causes the event AT USER-COMMAND during list display and also creates details lists.
    REPORT demo_at_user_command.
    START-OF-SELECTION.
      SET PF-STATUS 'MYLIST'.
      WRITE 'List line'.
    AT USER-COMMAND.
      IF sy-lsind = 20.
        SET PF-STATUS 'MYLIST' EXCLUDING 'MY_SELECTION'.
      ENDIF.
      CASE sy-ucomm.
        WHEN 'MY_SELECTION'.
          WRITE: / 'You worked on list', sy-listi,
                 / 'You are on list', sy-lsind.
      ENDCASE.
    Regards
    Shiva

  • Abap report error while downloading to excel.

    Hello All,
    I have a abap report which displayes the output in frontend and I want to download it to the excel file.
    When i choose from menu bar the options like--
    LIST-> MOVE ->Save to PC File.  some of the negative values get merged into one single value.
    I have two different negative values say 115  10-  in one cell but when I download it to the excel file this value is dispalyed as          -11510         .    Also I ahve noticed that only the values with one negative sign are dispalyed wrongly.
    The values with -115 -10 are dispalyed correctly.
    Could anyone please let me know why this happens?
    Many Thanks,
    Komal.

    Hi Komal  ,
    I have two different negative values say 115 10- in one cell but when I download it to the excel file this value is dispalyed as -11510 . Also I ahve noticed that only the values with one negative sign are dispalyed wrongly.
    as  value 115 10- are in one cell in output  they will be saved as one  -11510 only  .
    But i don't understand  why you are saving  115 and 10- in one cell or one  column  if they are two different  value    .
    regards
    Deepak.
    Edited by: Deepak Dhamat on Aug 10, 2011 11:07 AM

  • Home-grown ABAP report sometimes hangs & sometimes finishes successfully

    Dear All,
    I am re-posting the below thread, which was previously posted on the : SAP on DB2 UDB for i5/OS (DB4) forum, maybe I will get a reply :
    We are implementing SAP ECC 6.0 (ABAP stack) on IBM System i (iSeries), i5/OS V5R4, Kernel patch level 173
    We have a home-grown ABAP report that sometimes finishes successfully and sometimes just hangs; i.e. through the OS/400 job monitoring, no change happens in the database records I/O counts.
    Below is the OS/400 job log, related to a case where the report did not complete successfully (actually the below is an excerpt from the beginning and the end of the OS/400 job log)
    I would highly appreciate any advise about the cause of this problem :
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 1
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    CPC2196 Completion 00 05/11/08 11:44:32.099024 QLICUSRL QSYS 0113 QXDAEDRS QSYS *STMT
    To module . . . . . . . . . : QXDAEDRS
    To procedure . . . . . . . : QxdaProcessCommandEDRS
    Statement . . . . . . . . . : 325
    Message . . . . : Library QGY added to library list.
    Cause . . . . . : If the ADDLIBLE command was used, QGY was added to the
    user library list. If the CHGSYSLIBL command was used, QGY was added to the
    system portion of the library list.
    CPC2198 Completion 00 05/11/08 11:44:32.099232 QLICHLLE QSYS 01A3 QXDAEDRS QSYS *STMT
    To module . . . . . . . . . : QXDAEDRS
    To procedure . . . . . . . : QxdaProcessCommandEDRS
    Statement . . . . . . . . . : 325
    Message . . . . : Current library changed to R3PRODATA.
    Cause . . . . . : The current library in the library list was changed to
    R3PRODATA.
    *NONE Information 05/11/08 11:44:32.214488 R3INLPGM R3PRO400 *STMT R3INLPGM R3PRO400 *STMT
    From module . . . . . . . . : O4TMKLIBI
    From procedure . . . . . . : prtjoblA
    Statement . . . . . . . . . : 15
    To module . . . . . . . . . : O4TMKLIBI
    To procedure . . . . . . . : prtjoblA
    Statement . . . . . . . . . : 15
    Message . . . . : R3PRO400/R3INLPGM: File Version: 7000, 173, 0, 0
    *NONE Information 05/11/08 11:44:32.214640 R3INLPGM R3PRO400 *STMT R3INLPGM R3PRO400 *STMT
    From module . . . . . . . . : O4TMKLIBI
    From procedure . . . . . . : prtjoblA
    Statement . . . . . . . . . : 15
    To module . . . . . . . . . : O4TMKLIBI
    To procedure . . . . . . . : prtjoblA
    Statement . . . . . . . . . : 15
    Message . . . . : R3PRO400/R3INLPGM: Product Version: 700, patch 173,
    changelist 0
    *NONE Information 05/11/08 11:44:32.214808 R3INLPGM R3PRO400 *STMT R3INLPGM R3PRO400 *STMT
    From module . . . . . . . . : O4TMKLIBI
    From procedure . . . . . . : prtjoblA
    Statement . . . . . . . . . : 15
    To module . . . . . . . . . : O4TMKLIBI
    To procedure . . . . . . . : prtjoblA
    Statement . . . . . . . . . : 15
    Message . . . . : R3PRO400/R3INLPGM: Platform: os400 for releases OS400 3 5,
    OS400 4 5, OS400 1 6
    *NONE Information 05/11/08 11:44:32.214904 R3INLPGM R3PRO400 *STMT R3INLPGM R3PRO400 *STMT
    From module . . . . . . . . : O4TMKLIBI
    From procedure . . . . . . : prtjoblA
    Statement . . . . . . . . . : 15
    To module . . . . . . . . . : O4TMKLIBI
    To procedure . . . . . . . : prtjoblA
    Statement . . . . . . . . . : 15
    Message . . . . : R3PRO400/R3INLPGM: Special Build Description: OPT (Aug 11
    2008, 08:14:03) (ASCII in PASE ASCII build)
    *NONE Information 05/11/08 11:44:32.230728 R3INLPGM R3PRO400 *STMT R3INLPGM R3PRO400 *STMT
    From module . . . . . . . . : O4TMKLIBI
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 2
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    From procedure . . . . . . : prtjoblA
    Statement . . . . . . . . . : 15
    To module . . . . . . . . . : O4TMKLIBI
    To procedure . . . . . . . : prtjoblA
    Statement . . . . . . . . . : 15
    Message . . . . : R3INLPGM: Connect from Client Protocol: 610
    *NONE Information 05/11/08 11:44:32.230840 R3INLPGM R3PRO400 *STMT R3INLPGM R3PRO400 *STMT
    From module . . . . . . . . : O4TMKLIBI
    From procedure . . . . . . : prtjoblA
    Statement . . . . . . . . . : 15
    To module . . . . . . . . . : O4TMKLIBI
    To procedure . . . . . . . : prtjoblA
    Statement . . . . . . . . . : 15
    Message . . . . : R3INLPGM: Remote Link: /usr/sap/PRO/SYS/exe/run/DBSLDB4RMT
    *NONE Information 05/11/08 11:44:32.268688 R3INLPGM R3PRO400 *STMT R3INLPGM R3PRO400 *STMT
    From module . . . . . . . . : O4TMKLIBI
    From procedure . . . . . . : prtjoblA
    Statement . . . . . . . . . : 15
    To module . . . . . . . . . : O4TMKLIBI
    To procedure . . . . . . . : prtjoblA
    Statement . . . . . . . . . : 15
    Message . . . . : R3INLPGM: Kernel Library: SAPPROUCN
    CPF9897 Completion 40 05/11/08 11:44:32.286120 QDBENCWT QSYS 0066 DBSLENCWT SAPPROUCN *STMT
    To module . . . . . . . . . : DBSLENCWT
    To procedure . . . . . . . : main
    Statement . . . . . . . . . : 14
    Message . . . . : CONCURRENT WRITE IS ENABLED.
    Cause . . . . . : No additional online help information is available.
    CPF9897 Completion 40 05/11/08 11:44:32.286136 QDBENCWT QSYS 0066 DBSLENCWT SAPPROUCN *STMT
    To module . . . . . . . . . : DBSLENCWT
    To procedure . . . . . . . : main
    Statement . . . . . . . . . : 14
    Message . . . . : CONCURRENT WRITE WILL BE ENABLED NEXT IPL.
    Cause . . . . . : No additional online help information is available.
    CPC2197 Completion 00 05/11/08 11:44:32.323144 QLICHLBL QSYS 013C QXDAEDRS QSYS *STMT
    To module . . . . . . . . . : QXDAEDRS
    To procedure . . . . . . . : QxdaProcessCommandEDRS
    Statement . . . . . . . . . : 325
    Message . . . . : Library SAPPROUCN removed from library list.
    Cause . . . . . : If the RMVLIBLE command was used, SAPPROUCN was removed
    from the user library list. If the CHGSYSLIBL command was used, SAPPROUCN
    was removed from the system portion of the library list.
    CPC2196 Completion 00 05/11/08 11:44:32.323368 QLICUSRL QSYS 0113 QXDAEDRS QSYS *STMT
    To module . . . . . . . . . : QXDAEDRS
    To procedure . . . . . . . : QxdaProcessCommandEDRS
    Statement . . . . . . . . . : 325
    Message . . . . : Library SAPPROUCN added to library list.
    Cause . . . . . : If the ADDLIBLE command was used, SAPPROUCN was added to
    the user library list. If the CHGSYSLIBL command was used, SAPPROUCN was
    added to the system portion of the library list.
    SAP4000 Information 00 05/11/08 11:44:32.336544 DBSLDB4RMT SAPPROUCN *STMT DBSLDB4RMT SAPPROUCN *STMT
    From module . . . . . . . . : O4SAPUCI_E
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 3
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    From procedure . . . . . . : O4_QMHSNDPM__FPCcN21iN21T4PUcR11O4_ERRC0100
    Statement . . . . . . . . . : 4
    To module . . . . . . . . . : DBSLDB4RMT
    To procedure . . . . . . . : CXXPEP__Fv
    Statement . . . . . . . . . : *N
    Message . . . . : Connect from workprocess w2 on MASAPPRO_PRO_00
    CPC2196 Completion 00 05/11/08 11:44:32.975448 QLICHLBL QSYS 013C CHGR3SYSLE SAPPROUCN *STMT
    To module . . . . . . . . . : CHGR3SYSLE
    To procedure . . . . . . . : CHGR3SYSLE
    Statement . . . . . . . . . : 13600
    Message . . . . : Library R3SYS added to library list.
    Cause . . . . . : If the ADDLIBLE command was used, R3SYS was added to the
    user library list. If the CHGSYSLIBL command was used, R3SYS was added to
    the system portion of the library list.
    SQL7917 Information 00 05/11/08 11:47:23.199272 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQOPEN
    From procedure . . . . . . : SNDINFOMSG
    Statement . . . . . . . . . : 24269
    To module . . . . . . . . . : QSQOPEN
    To procedure . . . . . . . : OPQRYDBM
    Statement . . . . . . . . . : 16590
    Message . . . . : Access plan not updated.
    Cause . . . . . : The query optimizer rebuilt the access plan for this
    statement, but the program could not be updated. Another job may be running
    the program. The program cannot be updated with the new access plan until a
    job can obtain an exclusive lock on the program. The exclusive lock cannot
    be obtained if another job is running the program, if the job does not have
    proper authority to the program, or if the program is currently being saved.
    The query will still run, but access plan rebuilds will continue to occur
    until the program is updated. Recovery . . . : See previous messages from
    the query optimizer to determine why the access plan has been rebuilt. To
    ensure that the program gets updated with the new access plan, run the
    program when no other active jobs are using it.
    CPF9898 Information 40 05/11/08 11:54:11.399680 QXDAUTIL QSYS *STMT QXDAEDRS QSYS *STMT
    From module . . . . . . . . : QXDATRACE
    From procedure . . . . . . : QxdaWriteJoblog__FPciT1R16QxdaTraceControl
    Statement . . . . . . . . . : 13
    To module . . . . . . . . . : QXDAEDRS
    To procedure . . . . . . . : QxdaConnectEDRSInternal__FPvPcT1PiT2T1R16clean
    upMutexes_tP19XDAGlobalDataStruct
    Statement . . . . . . . . . : 3266
    Message . . . . : Connection #2, Server Job: 303463/QUSER/QXDARECVR.
    Cause . . . . . : This message is used by application programs as a general
    escape message.
    CPF5009 Diagnostic 10 05/11/08 11:54:32.741480 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : CLEANUP
    Statement . . . . . . . . . : 22987
    Message . . . . : Duplicate record key in member RSEUINC.
    Cause . . . . . : The output or update operation to member number 1 record
    number 4942 format RSEUINC, for member RSEUINC file RSEUINC in library
    R3PRODATA, failed. Member number 1 record number 4941 format RSEUINC has the
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 4
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    same record key as member number 1 record number 4942 format RSEUINC. If
    the record number is zero, the duplicate record key occurred on an output
    operation. Recovery . . . : Change either record key so that the keys are
    unique. Then try your request again.
    CPF5034 Sender copy 30 05/11/08 11:54:32.741536 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 4942 record
    format FORMAT0001 member number 1 failed because of a duplicate key in a
    unique keyed member that is based on member RSEUINC file RSEUINC in library
    R3PRODATA, or in a based-on member of RSEUINC. The failure could also have
    been caused by an output or update operation done to another file by a
    trigger program associated with file RSEUINC in library R3PRODATA. Recovery
    . . . : See previously listed message CPF5009 to identify the file and
    record with the duplicate key and change the key value so that it is unique.
    Note that the file could be a file operated on by a trigger program. Then
    try your request again. Possible choices for replying to message . . . . . .
    . . . . . . . . . : C -- The request is canceled. I -- The request is
    ignored.
    CPF5034 Notify 30 05/11/08 11:54:32.741552 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : CLEANUP
    Statement . . . . . . . . . : 22987
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 4942 record
    format FORMAT0001 member number 1 failed because of a duplicate key in a
    unique keyed member that is based on member RSEUINC file RSEUINC in library
    R3PRODATA, or in a based-on member of RSEUINC. The failure could also have
    been caused by an output or update operation done to another file by a
    trigger program associated with file RSEUINC in library R3PRODATA. Recovery
    . . . : See previously listed message CPF5009 to identify the file and
    record with the duplicate key and change the key value so that it is unique.
    Note that the file could be a file operated on by a trigger program. Then
    try your request again. Possible choices for replying to message . . . . . .
    . . . . . . . . . : C -- The request is canceled. I -- The request is
    ignored.
    SQL0803 Diagnostic 30 05/11/08 11:54:32.748064 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQINS
    From procedure . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    Message . . . . : Duplicate key value specified.
    Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
    Unique index or unique constraint RSEUINC in R3PRODATA exists over one or
    more columns of table RSEUINC in R3PRODATA. The operation cannot be
    performed because one or more values would have produced a duplicate key in
    the unique index or constraint. Recovery . . . : Change the statement so
    that duplicate keys are not produced. For information on what rows contain
    the duplicate key values, look at the previously listed messages in the job
    log (DSPJOBLOG command) or press F10 (Display messages in job log) on this
    display.
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 5
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    SQL7917 Information 00 05/11/08 12:33:54.649416 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQOPEN
    From procedure . . . . . . : SNDINFOMSG
    Statement . . . . . . . . . : 24269
    To module . . . . . . . . . : QSQOPEN
    To procedure . . . . . . . : STORE_ACCPLN
    Statement . . . . . . . . . : 19339
    Message . . . . : Access plan not updated.
    Cause . . . . . : The query optimizer rebuilt the access plan for this
    statement, but the program could not be updated. Another job may be running
    the program. The program cannot be updated with the new access plan until a
    job can obtain an exclusive lock on the program. The exclusive lock cannot
    be obtained if another job is running the program, if the job does not have
    proper authority to the program, or if the program is currently being saved.
    The query will still run, but access plan rebuilds will continue to occur
    until the program is updated. Recovery . . . : See previous messages from
    the query optimizer to determine why the access plan has been rebuilt. To
    ensure that the program gets updated with the new access plan, run the
    program when no other active jobs are using it.
    SQL7917 Information 00 05/11/08 12:33:54.709808 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQOPEN
    From procedure . . . . . . : SNDINFOMSG
    Statement . . . . . . . . . : 24269
    To module . . . . . . . . . : QSQOPEN
    To procedure . . . . . . . : STORE_ACCPLN
    Statement . . . . . . . . . : 19339
    Message . . . . : Access plan not updated.
    Cause . . . . . : The query optimizer rebuilt the access plan for this
    statement, but the program could not be updated. Another job may be running
    the program. The program cannot be updated with the new access plan until a
    job can obtain an exclusive lock on the program. The exclusive lock cannot
    be obtained if another job is running the program, if the job does not have
    proper authority to the program, or if the program is currently being saved.
    The query will still run, but access plan rebuilds will continue to occur
    until the program is updated. Recovery . . . : See previous messages from
    the query optimizer to determine why the access plan has been rebuilt. To
    ensure that the program gets updated with the new access plan, run the
    program when no other active jobs are using it.
    SQL7917 Information 00 05/11/08 12:33:54.745288 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQOPEN
    From procedure . . . . . . : SNDINFOMSG
    Statement . . . . . . . . . : 24269
    To module . . . . . . . . . : QSQOPEN
    To procedure . . . . . . . : STORE_ACCPLN
    Statement . . . . . . . . . : 19339
    Message . . . . : Access plan not updated.
    Cause . . . . . : The query optimizer rebuilt the access plan for this
    statement, but the program could not be updated. Another job may be running
    the program. The program cannot be updated with the new access plan until a
    job can obtain an exclusive lock on the program. The exclusive lock cannot
    be obtained if another job is running the program, if the job does not have
    proper authority to the program, or if the program is currently being saved.
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 6
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    The query will still run, but access plan rebuilds will continue to occur
    until the program is updated. Recovery . . . : See previous messages from
    the query optimizer to determine why the access plan has been rebuilt. To
    ensure that the program gets updated with the new access plan, run the
    program when no other active jobs are using it.
    SQL7917 Information 00 05/11/08 12:34:28.245160 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQOPEN
    From procedure . . . . . . : SNDINFOMSG
    Statement . . . . . . . . . : 24269
    To module . . . . . . . . . : QSQOPEN
    To procedure . . . . . . . : OPQRYDBM
    Statement . . . . . . . . . : 16643
    Message . . . . : Access plan not updated.
    Cause . . . . . : The query optimizer rebuilt the access plan for this
    statement, but the program could not be updated. Another job may be running
    the program. The program cannot be updated with the new access plan until a
    job can obtain an exclusive lock on the program. The exclusive lock cannot
    be obtained if another job is running the program, if the job does not have
    proper authority to the program, or if the program is currently being saved.
    The query will still run, but access plan rebuilds will continue to occur
    until the program is updated. Recovery . . . : See previous messages from
    the query optimizer to determine why the access plan has been rebuilt. To
    ensure that the program gets updated with the new access plan, run the
    program when no other active jobs are using it.
    SQL7917 Information 00 05/11/08 12:49:06.875752 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQOPEN
    From procedure . . . . . . : SNDINFOMSG
    Statement . . . . . . . . . : 24269
    To module . . . . . . . . . : QSQOPEN
    To procedure . . . . . . . : STORE_ACCPLN
    Statement . . . . . . . . . : 19339
    Message . . . . : Access plan not updated.
    Cause . . . . . : The query optimizer rebuilt the access plan for this
    statement, but the program could not be updated. Another job may be running
    the program. The program cannot be updated with the new access plan until a
    job can obtain an exclusive lock on the program. The exclusive lock cannot
    be obtained if another job is running the program, if the job does not have
    proper authority to the program, or if the program is currently being saved.
    The query will still run, but access plan rebuilds will continue to occur
    until the program is updated. Recovery . . . : See previous messages from
    the query optimizer to determine why the access plan has been rebuilt. To
    ensure that the program gets updated with the new access plan, run the
    program when no other active jobs are using it.
    SQL7917 Information 00 05/11/08 12:49:06.935840 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQOPEN
    From procedure . . . . . . : SNDINFOMSG
    Statement . . . . . . . . . : 24269
    To module . . . . . . . . . : QSQOPEN
    To procedure . . . . . . . : STORE_ACCPLN
    Statement . . . . . . . . . : 19339
    Message . . . . : Access plan not updated.
    Cause . . . . . : The query optimizer rebuilt the access plan for this
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 7
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    statement, but the program could not be updated. Another job may be running
    the program. The program cannot be updated with the new access plan until a
    job can obtain an exclusive lock on the program. The exclusive lock cannot
    be obtained if another job is running the program, if the job does not have
    proper authority to the program, or if the program is currently being saved.
    The query will still run, but access plan rebuilds will continue to occur
    until the program is updated. Recovery . . . : See previous messages from
    the query optimizer to determine why the access plan has been rebuilt. To
    ensure that the program gets updated with the new access plan, run the
    program when no other active jobs are using it.
    SQL7917 Information 00 05/11/08 12:49:06.965560 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQOPEN
    From procedure . . . . . . : SNDINFOMSG
    Statement . . . . . . . . . : 24269
    To module . . . . . . . . . : QSQOPEN
    To procedure . . . . . . . : STORE_ACCPLN
    Statement . . . . . . . . . : 19339
    Message . . . . : Access plan not updated.
    Cause . . . . . : The query optimizer rebuilt the access plan for this
    statement, but the program could not be updated. Another job may be running
    the program. The program cannot be updated with the new access plan until a
    job can obtain an exclusive lock on the program. The exclusive lock cannot
    be obtained if another job is running the program, if the job does not have
    proper authority to the program, or if the program is currently being saved.
    The query will still run, but access plan rebuilds will continue to occur
    until the program is updated. Recovery . . . : See previous messages from
    the query optimizer to determine why the access plan has been rebuilt. To
    ensure that the program gets updated with the new access plan, run the
    program when no other active jobs are using it.
    CPF9898 Information 40 05/11/08 12:50:51.470216 QXDAUTIL QSYS *STMT QXDAEDRS QSYS *STMT
    From module . . . . . . . . : QXDATRACE
    From procedure . . . . . . : QxdaWriteJoblog__FPciT1R16QxdaTraceControl
    Statement . . . . . . . . . : 13
    To module . . . . . . . . . : QXDAEDRS
    To procedure . . . . . . . : QxdaConnectEDRSInternal__FPvPcT1PiT2T1R16clean
    upMutexes_tP19XDAGlobalDataStruct
    Statement . . . . . . . . . : 3266
    Message . . . . : Connection #2, Server Job: 303480/QUSER/QXDARECVR.
    Cause . . . . . : This message is used by application programs as a general
    escape message.
    SQL7917 Information 00 05/11/08 12:59:55.956784 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQOPEN
    From procedure . . . . . . : SNDINFOMSG
    Statement . . . . . . . . . : 24269
    To module . . . . . . . . . : QSQOPEN
    To procedure . . . . . . . : OPQRYDBM
    Statement . . . . . . . . . : 16590
    Message . . . . : Access plan not updated.
    Cause . . . . . : The query optimizer rebuilt the access plan for this
    statement, but the program could not be updated. Another job may be running
    the program. The program cannot be updated with the new access plan until a
    job can obtain an exclusive lock on the program. The exclusive lock cannot
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 8
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    be obtained if another job is running the program, if the job does not have
    proper authority to the program, or if the program is currently being saved.
    The query will still run, but access plan rebuilds will continue to occur
    until the program is updated. Recovery . . . : See previous messages from
    the query optimizer to determine why the access plan has been rebuilt. To
    ensure that the program gets updated with the new access plan, run the
    program when no other active jobs are using it.
    CPC2206 Completion 00 05/11/08 13:06:49.865608 QSYCHONR QSYS 0665 QLIINSRT QSYS 0453
    Message . . . . : Ownership of object SAPFGUTRBL in R3PRO02070 type *SQLPKG
    changed.
    Cause . . . . . : The ownership of object SAPFGUTRBL in library R3PRO02070
    type *SQLPKG has changed.
    CPC2206 Completion 00 05/11/08 13:06:50.312272 QSYCHONR QSYS 0665 QSQXPGM QSYS 0469
    Message . . . . : Ownership of object SAPFGUTRBL in R3PRO02070 type *SQLPKG
    changed.
    Cause . . . . . : The ownership of object SAPFGUTRBL in library R3PRO02070
    type *SQLPKG has changed.
    SQL0204 Diagnostic 30 05/11/08 13:06:51.011064 QSQPRCED QSYS *STMT QSQPRCED QSYS *STMT
    From module . . . . . . . . : QSQPRCED
    From procedure . . . . . . : SENDDIAG
    Statement . . . . . . . . . : 19346
    To module . . . . . . . . . : QSQPRCED
    To procedure . . . . . . . : QSQPRCED
    Statement . . . . . . . . . : 18435
    Message . . . . : T801WEI in R3PRO32060 type *SQLPKG not found.
    Cause . . . . . : T801WEI in R3PRO32060 type *SQLPKG was not found. If the
    member name is *ALL, the table is not partitioned. If this is an ALTER TABLE
    statement and the type is *N, a constraint or partition was not found. If
    this is not an ALTER TABLE statement and the type is *N, a function,
    procedure, trigger or sequence object was not found. If a function was not
    found, T801WEI is the service program that contains the function. The
    function will not be found unless the external name and usage name match
    exactly. Examine the job log for a message that gives more details on which
    function name is being searched for and the name that did not match.
    Recovery . . . : Change the name and try the request again. If the
    object is a node group, ensure that the DB2 Multisystem product is installed
    on your system and create a nodegroup with the CRTNODGRP CL command. If an
    external function was not found, be sure that the case of the EXTERNAL NAME
    on the CREATE FUNCTION statement exactly matches the case of the name
    exported by the service program.
    CPC2206 Completion 00 05/11/08 13:06:51.378408 QSYCHONR QSYS 0665 QLIINSRT QSYS 0453
    Message . . . . : Ownership of object T801WEI in R3PRO32060 type *SQLPKG
    changed.
    Cause . . . . . : The ownership of object T801WEI in library R3PRO32060 type
    *SQLPKG has changed.
    CPC2206 Completion 00 05/11/08 13:06:51.439824 QSYCHONR QSYS 0665 QSQXPGM QSYS 0469
    Message . . . . : Ownership of object T801WEI in R3PRO32060 type *SQLPKG
    changed.
    Cause . . . . . : The ownership of object T801WEI in library R3PRO32060 type
    *SQLPKG has changed.
    CPF5009 Diagnostic 10 05/11/08 13:06:51.708688 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 9
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    To procedure . . . . . . . : SQL_Insert
    Statement . . . . . . . . . : 10309
    Message . . . . : Duplicate record key in member T801W.
    Cause . . . . . : The output or update operation to member number 1 record
    number 0 format T801W, for member T801W file T801W in library R3PRODATA,
    failed. Member number 1 record number 751 format T801W has the same record
    key as member number 1 record number 0 format T801W. If the record number
    is zero, the duplicate record key occurred on an output operation. Recovery
    . . . : Change either record key so that the keys are unique. Then try
    your request again.
    CPF5034 Sender copy 30 05/11/08 13:06:51.708736 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 0 record
    format FORMAT0001 member number 1 failed because of a duplicate key in a
    unique keyed member that is based on member T801W file T801W in library
    R3PRODATA, or in a based-on member of T801W. The failure could also have
    been caused by an output or update operation done to another file by a
    trigger program associated with file T801W in library R3PRODATA. Recovery .
    . . : See previously listed message CPF5009 to identify the file and
    record with the duplicate key and change the key value so that it is unique.
    Note that the file could be a file operated on by a trigger program. Then
    try your request again. Possible choices for replying to message . . . . . .
    . . . . . . . . . : C -- The request is canceled. I -- The request is
    ignored.
    CPF5034 Notify 30 05/11/08 13:06:51.708776 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : SQL_Insert
    Statement . . . . . . . . . : 10309
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 0 record
    format FORMAT0001 member number 1 failed because of a duplicate key in a
    unique keyed member that is based on member T801W file T801W in library
    R3PRODATA, or in a based-on member of T801W. The failure could also have
    been caused by an output or update operation done to another file by a
    trigger program associated with file T801W in library R3PRODATA. Recovery .
    . . : See previously listed message CPF5009 to identify the file and
    record with the duplicate key and change the key value so that it is unique.
    Note that the file could be a file operated on by a trigger program. Then
    try your request again. Possible choices for replying to message . . . . . .
    . . . . . . . . . : C -- The request is canceled. I -- The request is
    ignored.
    SQL0803 Diagnostic 30 05/11/08 13:06:51.710352 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQINS
    From procedure . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    Message . . . . : Duplicate key value specified.
    Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
    Unique index or unique constraint T801W in R3PRODATA exists over one or more
    columns of table T801W in R3PRODATA. The operation cannot be performed
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 10
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    because one or more values would have produced a duplicate key in the unique
    index or constraint. Recovery . . . : Change the statement so that
    duplicate keys are not produced. For information on what rows contain the
    duplicate key values, look at the previously listed messages in the job log
    (DSPJOBLOG command) or press F10 (Display messages in job log) on this
    display.
    SQL0518 Diagnostic 30 05/11/08 13:06:51.732720 QSQROUTS QSYS *STMT QSQROUTS QSYS *STMT
    From module . . . . . . . . : QSQCLNUP
    From procedure . . . . . . : SQROUTE_CLEANUP
    Statement . . . . . . . . . : 3814
    To module . . . . . . . . . : QSQCLNUP
    To procedure . . . . . . . : SQROUTE_CLEANUP
    Statement . . . . . . . . . : 3814
    Message . . . . : Prepared statement RD0IAAAABA not found.
    Cause . . . . . : An EXECUTE statement referred to the statement RD0IAAAABA.
    RD0IAAAABA is not a valid prepared statement. The statement has one of the
    following conditions: -- The statement has never been prepared. -- The
    statement identifies a prepared SELECT or DECLARE PROCEDURE statement. --
    The statement was in error at prepare or bind time. -- The statement was
    prepared in another program or another call of this program and the program
    was created with CLOSQLCSR(*ENDPGM). -- The statement was prepared in
    another module or another call of this module and the module was created
    with CLOSQLCSR(*ENDMOD). -- The statement was prepared in another call of
    this program and programs which have run SQL statements have ended and the
    program was created with CLOSQLCSR(*ENDSQL). -- The statement was prepared
    in another call of this module and the activation group ended between calls.
    The module was created with CLOSQLCSR(*ENDACTGRP). -- The prepared statement
    was destroyed by a COMMIT or ROLLBACK statement. This only occurs when
    connected to a database other than DB2 UDB for iSeries. Recovery . . . :
    Do one of the following: -- If RD0IAAAABA identifies a prepared SELECT or
    DECLARE PROCEDURE statement, a different prepared statement must be named in
    the EXECUTE statement. -- If the statement had errors, correct the errors
    and either prepare the statement again or precompile the program again. --
    Make certain that RD0IAAAABA has been prepared in the same program or module
    call prior to using the EXECUTE statement or specify either
    CLOSQLCSR(ENDSQL), CLOSQLCSR(ENDJOB), or CLOSQLCSR(*ENDACTGRP) when
    precompiling the application. -- If the statement was deleted by a COMMIT or
    ROLLBACK, either specify PREPARE WITH HOLD or bind the program with the
    correct option to preserve prepared statements.
    CPF5009 Diagnostic 10 05/11/08 13:06:56.094184 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : SQL_Insert
    Statement . . . . . . . . . : 10309
    Message . . . . : Duplicate record key in member ATAB.
    Cause . . . . . : The output or update operation to member number 1 record
    number 644685 format ATAB, for member ATAB file ATAB in library R3PRODATA,
    failed. Member number 1 record number 635738 format ATAB has the same record
    key as member number 1 record number 644685 format ATAB. If the record
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 51
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    number is zero, the duplicate record key occurred on an output operation.
    Recovery . . . : Change either record key so that the keys are unique.
    Then try your request again.
    CPF5034 Sender copy 30 05/11/08 13:06:56.094240 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 644685
    record format FORMAT0001 member number 1 failed because of a duplicate key
    in a unique keyed member that is based on member ATAB file ATAB in library
    R3PRODATA, or in a based-on member of ATAB. The failure could also have been
    caused by an output or update operation done to another file by a trigger
    program associated with file ATAB in library R3PRODATA. Recovery . . . :
    See previously listed message CPF5009 to identify the file and record with
    the duplicate key and change the key value so that it is unique. Note that
    the file could be a file operated on by a trigger program. Then try your
    request again. Possible choices for replying to message . . . . . . . . . .
    . . . . . : C -- The request is canceled. I -- The request is ignored.
    CPF5034 Notify 30 05/11/08 13:06:56.094256 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : SQL_Insert
    Statement . . . . . . . . . : 10309
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 644685
    record format FORMAT0001 member number 1 failed because of a duplicate key
    in a unique keyed member that is based on member ATAB file ATAB in library
    R3PRODATA, or in a based-on member of ATAB. The failure could also have been
    caused by an output or update operation done to another file by a trigger
    program associated with file ATAB in library R3PRODATA. Recovery . . . :
    See previously listed message CPF5009 to identify the file and record with
    the duplicate key and change the key value so that it is unique. Note that
    the file could be a file operated on by a trigger program. Then try your
    request again. Possible choices for replying to message . . . . . . . . . .
    . . . . . : C -- The request is canceled. I -- The request is ignored.
    SQL0803 Diagnostic 30 05/11/08 13:06:56.094376 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQINS
    From procedure . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    Message . . . . : Duplicate key value specified.
    Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
    Unique index or unique constraint ATAB in R3PRODATA exists over one or more
    columns of table ATAB in R3PRODATA. The operation cannot be performed
    because one or more values would have produced a duplicate key in the unique
    index or constraint. Recovery . . . : Change the statement so that
    duplicate keys are not produced. For information on what rows contain the
    duplicate key values, look at the previously listed messages in the job log
    (DSPJOBLOG command) or press F10 (Display messages in job log) on this
    display.
    CPF5009 Diagnostic 10 05/11/08 13:06:56.096008 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : SQL_Insert
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 52
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    Statement . . . . . . . . . : 10309
    Message . . . . : Duplicate record key in member ATAB.
    Cause . . . . . : The output or update operation to member number 1 record
    number 644685 format ATAB, for member ATAB file ATAB in library R3PRODATA,
    failed. Member number 1 record number 635779 format ATAB has the same record
    key as member number 1 record number 644685 format ATAB. If the record
    number is zero, the duplicate record key occurred on an output operation.
    Recovery . . . : Change either record key so that the keys are unique.
    Then try your request again.
    CPF5034 Sender copy 30 05/11/08 13:06:56.096048 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 644685
    record format FORMAT0001 member number 1 failed because of a duplicate key
    in a unique keyed member that is based on member ATAB file ATAB in library
    R3PRODATA, or in a based-on member of ATAB. The failure could also have been
    caused by an output or update operation done to another file by a trigger
    program associated with file ATAB in library R3PRODATA. Recovery . . . :
    See previously listed message CPF5009 to identify the file and record with
    the duplicate key and change the key value so that it is unique. Note that
    the file could be a file operated on by a trigger program. Then try your
    request again. Possible choices for replying to message . . . . . . . . . .
    . . . . . : C -- The request is canceled. I -- The request is ignored.
    CPF5034 Notify 30 05/11/08 13:06:56.096080 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : SQL_Insert
    Statement . . . . . . . . . : 10309
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 644685
    record format FORMAT0001 member number 1 failed because of a duplicate key
    in a unique keyed member that is based on member ATAB file ATAB in library
    R3PRODATA, or in a based-on member of ATAB. The failure could also have been
    caused by an output or update operation done to another file by a trigger
    program associated with file ATAB in library R3PRODATA. Recovery . . . :
    See previously listed message CPF5009 to identify the file and record with
    the duplicate key and change the key value so that it is unique. Note that
    the file could be a file operated on by a trigger program. Then try your
    request again. Possible choices for replying to message . . . . . . . . . .
    . . . . . : C -- The request is canceled. I -- The request is ignored.
    SQL0803 Diagnostic 30 05/11/08 13:06:56.096208 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQINS
    From procedure . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    Message . . . . : Duplicate key value specified.
    Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
    Unique index or unique constraint ATAB in R3PRODATA exists over one or more
    columns of table ATAB in R3PRODATA. The operation cannot be performed
    because one or more values would have produced a duplicate key in the unique
    index or constraint. Recovery . . . : Change the statement so that
    duplicate keys are not produced. For information on what rows contain the
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 53
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    duplicate key values, look at the previously listed messages in the job log
    (DSPJOBLOG command) or press F10 (Display messages in job log) on this
    display.
    CPF5009 Diagnostic 10 05/11/08 13:06:56.098520 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : SQL_Insert
    Statement . . . . . . . . . : 10309
    Message . . . . : Duplicate record key in member ATAB.
    Cause . . . . . : The output or update operation to member number 1 record
    number 644685 format ATAB, for member ATAB file ATAB in library R3PRODATA,
    failed. Member number 1 record number 635819 format ATAB has the same record
    key as member number 1 record number 644685 format ATAB. If the record
    number is zero, the duplicate record key occurred on an output operation.
    Recovery . . . : Change either record key so that the keys are unique.
    Then try your request again.
    CPF5034 Sender copy 30 05/11/08 13:06:56.098552 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 644685
    record format FORMAT0001 member number 1 failed because of a duplicate key
    in a unique keyed member that is based on member ATAB file ATAB in library
    R3PRODATA, or in a based-on member of ATAB. The failure could also have been
    caused by an output or update operation done to another file by a trigger
    program associated with file ATAB in library R3PRODATA. Recovery . . . :
    See previously listed message CPF5009 to identify the file and record with
    the duplicate key and change the key value so that it is unique. Note that
    the file could be a file operated on by a trigger program. Then try your
    request again. Possible choices for replying to message . . . . . . . . . .
    . . . . . : C -- The request is canceled. I -- The request is ignored.
    CPF5034 Notify 30 05/11/08 13:06:56.098568 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : SQL_Insert
    Statement . . . . . . . . . : 10309
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 644685
    record format FORMAT0001 member number 1 failed because of a duplicate key
    in a unique keyed member that is based on member ATAB file ATAB in library
    R3PRODATA, or in a based-on member of ATAB. The failure could also have been
    caused by an output or update operation done to another file by a trigger
    program associated with file ATAB in library R3PRODATA. Recovery . . . :
    See previously listed message CPF5009 to identify the file and record with
    the duplicate key and change the key value so that it is unique. Note that
    the file could be a file operated on by a trigger program. Then try your
    request again. Possible choices for replying to message . . . . . . . . . .
    . . . . . : C -- The request is canceled. I -- The request is ignored.
    SQL0803 Diagnostic 30 05/11/08 13:06:56.098720 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQINS
    From procedure . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    Message . . . . : Duplicate key value specified.
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 54
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
    Unique index or unique constraint ATAB in R3PRODATA exists over one or more
    columns of table ATAB in R3PRODATA. The operation cannot be performed
    because one or more values would have produced a duplicate key in the unique
    index or constraint. Recovery . . . : Change the statement so that
    duplicate keys are not produced. For information on what rows contain the
    duplicate key values, look at the previously listed messages in the job log
    (DSPJOBLOG command) or press F10 (Display messages in job log) on this
    display.
    CPF5009 Diagnostic 10 05/11/08 13:06:56.101560 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : SQL_Insert
    Statement . . . . . . . . . : 10309
    Message . . . . : Duplicate record key in member ATAB.
    Cause . . . . . : The output or update operation to member number 1 record
    number 644685 format ATAB, for member ATAB file ATAB in library R3PRODATA,
    failed. Member number 1 record number 635865 format ATAB has the same record
    key as member number 1 record number 644685 format ATAB. If the record
    number is zero, the duplicate record key occurred on an output operation.
    Recovery . . . : Change either record key so that the keys are unique.
    Then try your request again.
    CPF5034 Sender copy 30 05/11/08 13:06:56.101592 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 644685
    record format FORMAT0001 member number 1 failed because of a duplicate key
    in a unique keyed member that is based on member ATAB file ATAB in library
    R3PRODATA, or in a based-on member of ATAB. The failure could also have been
    caused by an output or update operation done to another file by a trigger
    program associated with file ATAB in library R3PRODATA. Recovery . . . :
    See previously listed message CPF5009 to identify the file and record with
    the duplicate key and change the key value so that it is unique. Note that
    the file could be a file operated on by a trigger program. Then try your
    request again. Possible choices for replying to message . . . . . . . . . .
    . . . . . : C -- The request is canceled. I -- The request is ignored.
    CPF5034 Notify 30 05/11/08 13:06:56.101608 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : SQL_Insert
    Statement . . . . . . . . . : 10309
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 644685
    record format FORMAT0001 member number 1 failed because of a duplicate key
    in a unique keyed member that is based on member ATAB file ATAB in library
    R3PRODATA, or in a based-on member of ATAB. The failure could also have been
    caused by an output or update operation done to another file by a trigger
    program associated with file ATAB in library R3PRODATA. Recovery . . . :
    See previously listed message CPF5009 to identify the file and record with
    the duplicate key and change the key value so that it is unique. Note that
    the file could be a file operated on by a trigger program. Then try your
    request again. Possible choices for replying to message . . . . . . . . . .
    . . . . . : C -- The request is canceled. I -- The request is ignored.
    SQL0803 Diagnostic 30 05/11/08 13:06:56.101760 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQINS
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 55
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    From procedure . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    Message . . . . : Duplicate key value specified.
    Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
    Unique index or unique constraint ATAB in R3PRODATA exists over one or more
    columns of table ATAB in R3PRODATA. The operation cannot be performed
    because one or more values would have produced a duplicate key in the unique
    index or constraint. Recovery . . . : Change the statement so that
    duplicate keys are not produced. For information on what rows contain the
    duplicate key values, look at the previously listed messages in the job log
    (DSPJOBLOG command) or press F10 (Display messages in job log) on this
    display.
    CPF5009 Diagnostic 10 05/11/08 13:06:56.105864 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : SQL_Insert
    Statement . . . . . . . . . : 10309
    Message . . . . : Duplicate record key in member ATAB.
    Cause . . . . . : The output or update operation to member number 1 record
    number 644685 format ATAB, for member ATAB file ATAB in library R3PRODATA,
    failed. Member number 1 record number 635906 format ATAB has the same record
    key as member number 1 record number 644685 format ATAB. If the record
    number is zero, the duplicate record key occurred on an output operation.
    Recovery . . . : Change either record key so that the keys are unique.
    Then try your request again.
    CPF5034 Sender copy 30 05/11/08 13:06:56.105904 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 644685
    record format FORMAT0001 member number 1 failed because of a duplicate key
    in a unique keyed member that is based on member ATAB file ATAB in library
    R3PRODATA, or in a based-on member of ATAB. The failure could also have been
    caused by an output or update operation done to another file by a trigger
    program associated with file ATAB in library R3PRODATA. Recovery . . . :
    See previously listed message CPF5009 to identify the file and record with
    the duplicate key and change the key value so that it is unique. Note that
    the file could be a file operated on by a trigger program. Then try your
    request again. Possible choices for replying to message . . . . . . . . . .
    . . . . . : C -- The request is canceled. I -- The request is ignored.
    CPF5034 Notify 30 05/11/08 13:06:56.105920 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : SQL_Insert
    Statement . . . . . . . . . : 10309
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 644685
    record format FORMAT0001 member number 1 failed because of a duplicate key
    in a unique keyed member that is based on member ATAB file ATAB in library
    R3PRODATA, or in a based-on member of ATAB. The failure could also have been
    caused by an output or update operation done to another file by a trigger
    program associated with file ATAB in library R3PRODATA. Recovery . . . :
    See previously listed message CPF5009 to identify the file and record with
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 56
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    the duplicate key and change the key value so that it is unique. Note that
    the file could be a file operated on by a trigger program. Then try your
    request again. Possible choices for replying to message . . . . . . . . . .
    . . . . . : C -- The request is canceled. I -- The request is ignored.
    SQL0803 Diagnostic 30 05/11/08 13:06:56.106056 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQINS
    From procedure . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    Message . . . . : Duplicate key value specified.
    Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
    Unique index or unique constraint ATAB in R3PRODATA exists over one or more
    columns of table ATAB in R3PRODATA. The operation cannot be performed
    because one or more values would have produced a duplicate key in the unique
    index or constraint. Recovery . . . : Change the statement so that
    duplicate keys are not produced. For information on what rows contain the
    duplicate key values, look at the previously listed messages in the job log
    (DSPJOBLOG command) or press F10 (Display messages in job log) on this
    display.
    CPF5009 Diagnostic 10 05/11/08 13:06:56.107696 QDBSIGEX QSYS 0D60 QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : SQL_Insert
    Statement . . . . . . . . . : 10309
    Message . . . . : Duplicate record key in member ATAB.
    Cause . . . . . : The output or update operation to member number 1 record
    number 644685 format ATAB, for member ATAB file ATAB in library R3PRODATA,
    failed. Member number 1 record number 635948 format ATAB has the same record
    key as member number 1 record number 644685 format ATAB. If the record
    number is zero, the duplicate record key occurred on an output operation.
    Recovery . . . : Change either record key so that the keys are unique.
    Then try your request again.
    CPF5034 Sender copy 30 05/11/08 13:06:56.107736 QDBSIGEX QSYS 01EA QDBSIGEX QSYS 01EA
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 644685
    record format FORMAT0001 member number 1 failed because of a duplicate key
    in a unique keyed member that is based on member ATAB file ATAB in library
    R3PRODATA, or in a based-on member of ATAB. The failure could also have been
    caused by an output or update operation done to another file by a trigger
    program associated with file ATAB in library R3PRODATA. Recovery . . . :
    See previously listed message CPF5009 to identify the file and record with
    the duplicate key and change the key value so that it is unique. Note that
    the file could be a file operated on by a trigger program. Then try your
    request again. Possible choices for replying to message . . . . . . . . . .
    . . . . . : C -- The request is canceled. I -- The request is ignored.
    CPF5034 Notify 30 05/11/08 13:06:56.107752 QDBSIGEX QSYS 01EA QSQRUN3 QSYS *STMT
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : SQL_Insert
    Statement . . . . . . . . . : 10309
    Message . . . . : Duplicate key on access path.
    Cause . . . . . : An output or update operation on record number 644685
    5722SS1 V5R4M0 060210 Display Job Log MASAPPRO 05/11/08 14:49:22 Page 57
    Job name . . . . . . . . . . : WP02 User . . . . . . : PRO00 Number . . . . . . . . . . . : 303461
    Job description . . . . . . : R3_00 Library . . . . . : R3PRO400
    MSGID TYPE SEV DATE TIME FROM PGM LIBRARY INST TO PGM LIBRARY INST
    record format FORMAT0001 member number 1 failed because of a duplicate key
    in a unique keyed member that is based on member ATAB file ATAB in library
    R3PRODATA, or in a based-on member of ATAB. The failure could also have been
    caused by an output or update operation done to another file by a trigger
    program associated with file ATAB in library R3PRODATA. Recovery . . . :
    See previously listed message CPF5009 to identify the file and record with
    the duplicate key and change the key value so that it is unique. Note that
    the file could be a file operated on by a trigger program. Then try your
    request again. Possible choices for replying to message . . . . . . . . . .
    . . . . . : C -- The request is canceled. I -- The request is ignored.
    SQL0803 Diagnostic 30 05/11/08 13:06:56.107880 QSQRUN3 QSYS *STMT QSQRUN3 QSYS *STMT
    From module . . . . . . . . : QSQINS
    From procedure . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    To module . . . . . . . . . : QSQINS
    To procedure . . . . . . . : CLEANUP
    Statement . . . . . . . . . : 24031
    Message . . . . : Duplicate key value specified.
    Cause . . . . . : An INSERT, UPDATE or ALTER TABLE statement was issued.
    Unique index or unique constraint ATAB in R3PRODATA exists over one or more
    columns of table ATAB in R3PRODATA. The operation cannot be performed
    because one or more values would have produced a duplicate key in the unique
    index or constraint. Recovery . . . : Change the statement so that
    duplicate keys are not produced. For information on what rows contain the
    duplicate key values, look at the previously listed messages in the job log
    (DSPJOBLOG command) or press F10 (Display messages in job log) on this
    display.
    SQL0204 Diagnostic 30 05/11/08 13:06:56.159320 QSQPRCED QSYS *STMT QSQPRCED QSYS *STMT
    From module . . . . . . . . : QSQPRCED
    From procedure . . . . . . : SENDDIAG
    Statement . . . . . . . . . : 19346
    To module . . . . . . . . . : QSQPRCED
    To procedure . . . . . . . : QSQPRCED
    Statement . . . . . . . . . : 18435
    Message . . . . : T801LEI in R3PRO32060 type *SQLPKG not found.
    Cause . . . . . : T801LEI in R3PRO32060 type *SQLPKG was not found. If the
    member name is *ALL, the table is not partitioned. If this is an ALTER TABLE
    statement and t

    I don't have FIOS but I do use Safari to access the discussion forums without encountering the issue you've described (knock on wood). It's always hard to diagnose and troubleshoot connection issues without actually sitting in front of the computer (even more so when the problem is intermittent). Let me ask some questions:
    Is your computer connecting wirelessly?
    Have you tried resetting Safari and/or emptying the cache?
    Have you tried Private Browsing to note any differences?
    How about going to Safari's->Preferences->Security and checking/unchecking Web Contents and/or enabling/disabling cookies?
    Have you tried creating another user account on your machine and log in with that user account to access the discussion board to see if there's a difference?
    Good luck,
    TK

  • XLS macro for abap report

    Hi,
    Is it possible to create a special xls template for the ABAP report in sap. Uh, our key users want to have stock report in xls, which should have the company template form and colored columns…
    Do you have any experience with that?
    Br
    saso

    no response

  • Testing ABAP Report

    Dear All,
    Let me know how to test a ABAP Report using Transaction SCAT/SECATT.
    I have used SCAT to upload the data into SAP from legacy System but How to use it for testing a report.
    I have tried but couldn't able to find the solution.
    Regards,
    Vikas

    Hello,
    Here is the step by step guide :
    -> Start SECATT transaction in eCATT system
    -> In the test script column enter the script name and move to the change mode
    -> Enter the traget system details where you want to test your ABAP report in the attributes tab of the script
    -> Click on the Pattern button and select either TCD REC or SAPGUI REC option
    -> Then enter the transaction SE38 in the pop-up window in the place to enter the transaction
    -> The control is taken to SE38 transaction in the target system entered , here enter the ABAP report name and click on the execute button
    -> Now you will be asked to enter some input values , enter the values and then press execute again. Note you can parameterize the input values so that you can pass different set of values into the ABAP program from the script , so as to test the ABAP script for different set of values.
    -> Once the recording is complete , stop the recording.
    Hope it answers your question.
    Thanks and Best regards,
    Ajay

  • Sale order before the regeneration of ABAP report: RSM13000

    Hi there,
    I am just wondering about something.
    After we installed support packages, users could not get any sales order without to get any error message and I we could only see  an error message via SM21 which says:
    Run-time error "LOAD_TYPEPOOL_VERSION_MISMATCH" occurred.
    So after we regenerated the ABAP report: RSM13000 after that everythings seems to be ok.
    Now the question is: When we try to find the order numbers which the users created  before the regeneration we find nothing.
    What about this numbers? Did they have not been created at all or what hapened? They customer is asking now.
    Thanks in advance
    Hanseatik

    I still do not know. We created them again

  • Interactive report column filters to display differently than column values

    Greetings...
    We use images a lot in our interactive reports to provide a visual representation to a status, or something locked for update, or what-have-you. By default, when a user clicks the column heading of a column which contains images, the drop-down list that shows up displays the actual images, which is nice for the user to identify exactly which thing they want to filter on. The problem is when the user selects on of the options in the filtering drop-down, the resulting condition that is displayed under the interactive report search bar is the HTML code of the image. I'd like something else to display there because showing the user the HTML code is atrocious.
    I didn't think what I want is possible, but then I came across the Page Locks page within ApEx (page 4000:291 in ApEx 4.0.1) which displays a list of all the pages of an application and whether they are locked or not. It also allows you to bulk lock or bulk unlock a bunch of pages. That page uses an interactive report with a column called "Status" which contains images that represent whether the page is locked or not. When you click the "Status" column heading to filter, instead of seeing the images of an open and closed lock, you see the words "Page Locked" and "Page Unlocked." And even better... when you select on of them, the condition that is displayed to the user is very user-friendly.
    Can someone tell me how this is done so I can replicate it in my own apps?
    Shane.

    Why not create the IR using the text you require e.g. 'Lock', 'Unlock' and then use JQuery to replace the text in the report with the image you want. All the filters should then show the plain text and the report will display the image. e.g.
    http://apex.oracle.com/pls/apex/f?p=46801:1
    Here's what I did:
    Firstly make sure the IR has a region template.
    Then create a Dynamic Action with the following attributes:
    1. Advanced
    2. Event: After Refresh
    3. Selection Type: Region
    4. Region: [select the IR Region]
    5. Action: Execute JS Code
    6. Fire on page load: [checked]
    7. Code:
    $('td [headers="TEST"]').each(function(index) {
      if ($(this).text() == 'Lock') {
        $(this).empty().html('<img src="/i/htmldb/icons/locked_small.gif" alt="Lock" />');
      else {
        $(this).empty().html('<img src="/i/htmldb/icons/unlocked_small.gif" alt="Unlock" />');
    });Where TEST is the column name.
    That's it, this may also be of interest:
    http://simonhunt.blogspot.com/2011/10/adjusting-interactive-report-column.html
    I hope it helps
    Shunt

  • Display an alert message through javascript when report column item is null

    Hello,
    I have a report column item which is an select list item and now i want to display an alert message when value is null, I mean no value is selected, this alert message should be fired when update button is clicked.
    Can anyone please help me with this issue.
    Thanks,
    Orton

    You could try something like this:
    declare
      x        INTEGER;
      err_ct  INTEGER   := 0;
    begin
      x  := 5;  -- number of rows displayed
      for i in 1 ... x (
        IF wwv_flow.g_f08(i)) IS NULL THEN err_ct  := err_ct + 1;
        END IF;
      end loop;
      IF err_ct = 0 THEN
         RETURN NULL;
      ELSE
        RETURN 'Nice error message: you must supply a value.';
      END IF;This would be used with a PL/SQL validation: Function Returning Error Text.

  • HR ABAP report

    Hello,
    I am writing a bespoke HR ABAP report. I am using logical database PNP for this.
    I also need to include the Scale Proficiency Text in my report.
    I have had a look at the SAP standard Qualifications Overview report and I can see that this uses the logical database PCH.
    As I can only link to a single logical data, I am looking for a way of including the Scale Proficiency Text in my report.
    Does anyone have any ideas on this?
    Thanks,
    Ruby

    Hi,
    "" rp_provide_from_last p0033 space pn-begda pn-endda""
    Here if u don't want subtype specific records then give space otherwise u have to specify Subtype instead of space.
    ""provide * from p0033 between pn-ebgda and pn-endda
    endprovide.""
    used as loop where all records for the employee would be selected
    But if u use
    ""rp_provide_from_last p0033 '9001' pn-begda pn-endda""
    It will fetch only latest record for particular employee whose subtype is 9001.
    Hope it will help u!!!
    Regards,
    Aparna

  • Copy Command in ABAP report

    HI Gurus,
    I have a ABAP report - basic list, with lot of batch data on it. based on the report they will copy the batch numbers and paste in standard transactions.
    Users complaining to do a Ctrl + Y and then Ctrl + C then Ctrl + V to paste the batch numbers.
    Is there anything we can do programatically using hot sopt on batch numbers so we get the selected BATCH and execute copy command programatically when they click on BATCH number on basic list.
    All they need to do is Ctrl + V on standard transactions.
    Is there anyway to achieve this?
    Thanks Giri

    Giri - you would probably get more results if you mark this as a question. That way you can assign po1nts to helpful answers.
    In any event why don't you just do a CALL TRANSACTION when the user double clicks on a line?
    Rob

  • SAP ERP 2005 SR 2 IDES installation error in step "Run ABAP Reports"

    Hello,
    I'm installing SAP ERP 2005 SR 2 IDES on Win2003 R2 SP2 and Oracle 10.2 to create a test-system for my diploma thesis.
    During the step "Import ABAP" I got the following message:
    object_checker.log
    ERROR: 2008-05-21 20:50:38
    1 objects have error/ignore/execute or unknown status in the task lines.
    Invalid objects are saved in 'invalid_objects.txt' file.
    invalid_objects.txt
    package   object  type  action  status
    SAPDFACT  ?N      pkey  create
    but the installation went on until "Run ABAP Reports".
    Warnings and Errors in sapinst.log are:
    WARNING 2008-05-27 15:09:36
    Execution of the command "C:\usr\sap\IMP\SYS\exe\uc\NTI386\stopsap.exe name=IMP nr=00 SAPDIAHOST=imperia-sap" finished with return code -1. Output:
    STOPSAP: execution of C:\usr\sap\IMP\SYS\exe\uc\NTI386\sapntwaitforhalt.exe name=IMP nr=00 SAPDIAHOST=imperia-sap 3600 failed
    Details are written to C:\Programme\sapinst_instdir\ERP\SYSTEM\ORA\CENTRAL\AS\stopsap.log
    WARNING 2008-05-27 15:09:36
    Could not stop instance 'DVEBMGS00' of SAP system IMP.
    WARNING 2008-05-27 15:09:38
    Connect to message server (imperia-sap/3900) failed: NIECONN_REFUSED.
    WARNING[E] 2008-05-27 15:12:05
    FSL-06002  Error 1060 (Der angegebene Dienst ist kein installierter Dienst.) in execution of a 'OpenService' function, line (266), with parameter (sapccmsr.00).
    WARNING[E] 2008-05-27 15:21:42
    FRF-00007  Unable to open RFC connection.
    ERROR 2008-05-27 16:30:15
    FRF-00025  Unable to call function. Error message: connection closed without message (CM_NO_DATA_RECEIVED) .
    INFO 2008-05-27 16:30:19
    RFC connection closed.
    ERROR 2008-05-27 16:30:45
    MUT-03025  Caught ERfcExcept in Modulecall: connection closed without message (CM_NO_DATA_RECEIVED).
    ERROR 2008-05-27 16:30:47
    FCO-00011  The step runRADDBDIF with step key |NW_Onehost|ind|ind|ind|ind|0|0|NW_Onehost_System|ind|ind|ind|ind|1|0|NW_CI_Instance|ind|ind|ind|ind|11|0|NW_CI_Instance_ABAP_Reports|ind|ind|ind|ind|2|0|runRADDBDIF was executed with status ERROR .
    Full log of today is available at [http://pastebin.com/f43531f97]
    Has anyone an idea how I can finish this installation?
    Thx
    Daniele

    It seems that the system did not come up and thus the RFC call fails.
    What´s the output of
    dev_w0
    dev_disp
    (in the ...work directory)?
    Markus

  • Error in Phase Run ABAP report

    Hi All,
    We are running an installation on I5/OS for ERP 6.0 EHP5. Installation is stucked at phase Run ABAP reports where it is trying to run RSWBOINS report and giving an error SQL error -7008. Log says ddic user is not able to login in the system and RFC all fails. However system is up and running fine.
    I checked number of notes 116192 but it did not help. One note says to upgrade the database library and we did the same but issue still remains. Anyone phase similar errors, Please suggest.
    Thanks
    Sunny

    Hi Sunny,
    it sounds like some tables are not journaled. You may want to try to run AS4FIXFILE DBLIB(R3<sid>DATA) STRJRN(*YES).
    If that does not help, I suggest to check SAP note 1387754, and to try the workaround described there, or to get the newest version of AS4FXIFILE and to try to run it again.
    Best regards,
    Dorothea Stein

Maybe you are looking for

  • 2 ipods one computer

    i have one computer with two ipods to plug into it...only my ipod will plug in...the other persons ipod wont work and cannot creat a separate playlist from mine and cannot get music to download onto it....i have different music i want on mine and we

  • On-line keynote platform

    Is anyone aware of an on-line teleconference provider that allows attendees to see a Keynote presentation in PLAY mode?  Go-to-meeting doesn't have program-specific options for the Mac so all they can see is the desktop - even when Keynote is in full

  • Up Grading to Iphoto and accessing a Iphoto 6 library

    Hello all I recently upgraded to Leopard Since I was also upgrading my hard drive in my g4 PB I did the upgrade by installing a new HD in the PB , installing Leopard and then using migrate to bring the data from the old hard drive that I had installe

  • Having trouble opening jpeg files in iphone mail. Is there a setting I need to change?

    I am not able to open a jpeg attachment in an email sent to my iPhone 4.  Any suggestions? Thanks.

  • Dynamic Link Workflow w/ Premiere

    In CS6, I am working a Premiere project, but I want to make a title in After Effects. So I have a title in AE dynamically linked to Premiere. Now, I want to bring the Premiere sequence into AE to work out some timing issues, but encountered an error