SAP BW hierarchies into Microstrategy

Hi,
I'm just wondering if there is a way of bringing BW/BI Hierarchies into Microstrategy reporting.
We are planning to report in Microstrategy on top of a BW infocube with data. everything is OK except we can't bring SAP hierarchies into a Microstrategy report.
I appreciate if someone could shed ideas on this.
Hari Immadi
http://immadi.com
SEM BW Analyst

Immadi,
In SAP BI Hierarchies are stored externally and not within the infocube. However for many Data Warehousing systems - the hierarchy is stored within the infocube. I am not sure if Microstrategy supports external hierarchies...

Similar Messages

  • Steps to load Hierarchies into BPC

    Hi All
    I am new to SAP BPC.I have the following doubts on BPC.
    1.Can anyone let me know how to load hierarchies into BPC. If you have any links which explain this procedure its appreciated you pass on it to me.
    2. Difference between Planning and Forecasting.
    Thanks and Appreciate your quick response.
    Thanks & Regards
    ark

    Hi Ark-
    There is an excellent paper on how to load master data (including hierarchies) into BPC located at:
    [https://wiki.sdn.sap.com/wiki/display/BPX/Enterprise%20Performance%20Management%20%28EPM%29%20How-to%20Guides|https://wiki.sdn.sap.com/wiki/display/BPX/Enterprise%20Performance%20Management%20%28EPM%29%20How-to%20Guides]
    The article is titled: "How Tou2026 Automate BPC 7.0, version for the NetWeaver Platform Master Data Loads from BW to BPC".
    Planning and Forecasting are business processes.  Planning implies a process that is invoked to predict future performance.  More typically businesses use the terms Budgeting and Forecasting to describe how far out in time a prediction is made.  Budgeting is a process that delivers at least a full future year of performance expectations.  Forecasting is very similar to Budgeting forward looking view; however forecasting is typically focused on the current year's performance.  Forecasting will typically combine some actual values with a projection of the balance of the current year's anticipated results.  Each customer may call these activities by their own internal naming conventions.
    Regards,
    Sheldon

  • BI 7 : Command to export a table structure of SAP R/3 into a script/text ?

    Hi All.
    Greetings.
    Am New to SAP R/3 system.  And request help.
    We are trying to pull data from SAP R/3 thro Bussiness Objects Data Services into Oracle.
    For now : we create a target oracle table looking at the table structure of SAP R/3 from SE 11.
    In BODS, We then do the query transformation, and use the oracle target table created by us manually.
    This works absolutely fine.
    We would like to know the command by which we could export the table structure of any existing table
    in SAP R/3 into a script / or to text file,
    which we could use to create the same table structure in oracle.
    Rather than manually typing some 200 field names for each tables.
    Can anyone advise on this.
    Thanks
    Indu

    Hello,
    The problem is caused due to the spaces in your directories
    C:\SAP Dumps\Core Release SR1 Export_CD1_51019634/DB/ADA/DBSIZE.XML
    Replace the spaces with underscores and restart the installation from from scratch.
    Cheers
    Bert

  • Data transfer from sap r/3 into excel sheet for mi01

    hi gurus,
       as i  am a xi consultant i got requirement to write a program for data transfer from sap r/3 into excel sheet for MI01.can any body help me by giving sample code or example for this requirement.please help me.

    Hi Rohit,
    This is an upload program and it has used both function modules to upload from an excel to R3 and to download from R3 onto excel.
    GUI_UPLOAD
    GUI_DOWNLOAD
    are the function modules used.
    Hope this helps,
    *Output:        Downloads error records onto presentation server,
    *               Displays report with number of success and error records
    REPORT ZMCG047CONTR NO STANDARD PAGE HEADING
                                   LINE-SIZE 255
                                   MESSAGE-ID ZM.
    *&       Table declarations
    TABLES : T001W,     "Plants/Branches
             T024E,     "Purchasing Organizations
             T001.      "Company Codes
    *              TYPE-POOLS  DECLARATION
    TYPE-POOLS : SLIS.
    *                       Types  Declaration                            *
    TYPES: BEGIN OF T_RECORD,    "record storing contract info
            LIFNR(010),      "Vendor Number
            EVART(004),      "Agreement Type
            EKORG(004),      "Purchasing Organization
            EKGRP(003),      "Purchasing Group
            WERKS(004),      "Plant
            LGORT(004),      "Storage Location
            KDATB(010),      "Valid start Date
            KDATE(010),      "Valid End Date
            ZTERM(004),      "Payment Terms
            KTWRT(020),      "Target Value
            EPSTP(001),      "Item Category
            EMATN(018),      "Material Number
            KTMNG(017),      "Target Quantity
            NETPR(014),      "Net Price
            PEINH(006),      "Net Price Unit
            BPRME(003),      "Net Price Order Price Unit
            IDNLF(035),      "Vendor Material number
            WEBRE(001),      "GR Based-IV
            MEPRF(001),      "Pricing Date Category
            LTEX1(040),      "Info Text
            DATAB(010),      "Valid From
            DATBI(010),      "Valid To
            KSCHL(004),      "Condition Type
            KBETR(016),      "Condition Rate if scale is not given
            KONWA(005),      "Currency
            KPEIN(005),      "Condition Pricing Unit
            KMEIN(003),      "Condition Unit of Measure
            KSTBM(019),      "Scale
            KBETR_01(016),   "Scale Rate
            DEL_FLAG,        "Delete Flag Indicator
            ERR_MSG(100),    "Error Message
          END OF T_RECORD,
          BEGIN OF T_ERR_RECORD,   "to have error records stored
             LIFNR(010),      "Vendor Number
             EVART(004),      "Agreement Type
             EKORG(004),      "Purchasing Organization
             EKGRP(003),      "Purchasing Group
             WERKS(004),      "Plant
             LGORT(004),      "Storage Location
             KDATB(010),      "Valid start Date
             KDATE(010),      "Valid End Date
             ZTERM(004),      "Payment Terms
             KTWRT(020),      "Target Value
             EPSTP(001),      "Item Category
             EMATN(018),      "Material Number
             KTMNG(017),      "Target Quantity
             NETPR(014),      "Net Price
             PEINH(006),      "Net Price Unit
             BPRME(003),      "Net Price Order Price Unit
             IDNLF(035),      "Vendor Material number
             WEBRE(001),      "GR Based-IV
             MEPRF(001),      "Pricing Date Category
             LTEX1(040),      "Info Text
             DATAB(010),      "Valid From
             DATBI(010),      "Valid To
             KSCHL(004),      "Condition Type
             KBETR(016),      "Condition Rate if scale is not given
             KONWA(005),      "Currency
             KPEIN(005),      "Condition Pricing Unit
             KMEIN(003),      "Condition Unit of Measure
             KSTBM(019),      "Scale
             KBETR_01(016),   "Scale Rate
             DEL_FLAG,        "Delete Flag Indicator
             ERR_MSG(100),    "Error Message
          END OF T_ERR_RECORD,
          BEGIN OF T_LOEKZ,    "To have deletion indicators for materials
              LOEKZ(001),    "Deletion indicator in purchasing document
              EMATN(018),    "Material Number
              WERKS(004),    "Plant
              LGORT(004),    "Storage Location
              BSTYP(001),    "Purchasing document category
          END OF T_LOEKZ,
          BEGIN OF T_MATNR,  " Type definition to store details of materials
               MATNR(018),    "Material Number
          END OF T_MATNR,
          BEGIN OF T_T001,   " Type definition for company codes
              BUKRS(004),    " Company Code
          END OF T_T001,
          BEGIN OF T_ZMVXREF,   "Cross-Reference table type
              D_ALTKN(10),      "Legacy Vendor Number
              D_BUKRS(4),       "Legacy Company Code
              M_ALTKN(10),      "SAP Company Code
          END OF T_ZMVXREF,
          BEGIN OF T_LFA1,    "Master data of vendors
              LIFNR(10),      "Vendor Number
          END OF T_LFA1,
    *  Type Declaration for T024E (Company Codes)
           BEGIN OF T_T024E,
             EKORG   LIKE   T024E-EKORG,     "Purchasing organization
             BUKRS   LIKE   T024E-BUKRS,     "Company Code
           END OF T_T024E,
    *  Type Declaration for t001w (Plant)
           BEGIN OF T_T001W,
             WERKS  LIKE  T001W-WERKS,            "Plant
           END OF T_T001W,
    *  Type Declatation for String Line
           BEGIN OF T_STR1,                                     "#EC NEEDED
             SLINE(6000) TYPE C,
           END OF T_STR1.
    TYPES:  BEGIN OF T_BDCDATA.  "BDC Data
            INCLUDE STRUCTURE BDCDATA.
    TYPES:  END OF T_BDCDATA.
    *       Internal Tables  Declaration                                  *
    DATA:
    *      Internal table to store input file data
           I_RECORD TYPE STANDARD TABLE OF T_RECORD INITIAL SIZE 0,
    *      Internal table to capture errors
           I_ERR_REC TYPE STANDARD TABLE OF T_ERR_RECORD INITIAL SIZE 0,
    *      Internal table to check for deletion indicators
           I_LOEKZ TYPE STANDARD TABLE OF T_LOEKZ INITIAL SIZE 0,
    *      Internal table to check for material numbers
           I_MATNR TYPE STANDARD TABLE OF T_MATNR INITIAL SIZE 0,
    *      Internal table used for storing Cross-Reference data of Vendor
           I_ZMVXREF TYPE STANDARD TABLE OF T_ZMVXREF INITIAL SIZE 0,
    *      Internal table for holding Vendor Numbers from Master table
           I_LFA1 TYPE STANDARD TABLE OF T_LFA1 INITIAL SIZE 0,
    *      Internal table for holding Purchase Org and Company Codes
           I_T024E TYPE STANDARD TABLE OF T_T024E INITIAL SIZE 0,
    *      Internal table for holding Plants
           I_T001W TYPE STANDARD TABLE OF T_T001W INITIAL SIZE 0,
    *      Internal table for storing a list of Company Codes
           I_T001 TYPE STANDARD TABLE OF T_T001 INITIAL SIZE 0,
    *      Internal table used for ALV Reporting
           I_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
    *      Internal table used for holding List Header
           I_LISTHEADER TYPE SLIS_T_LISTHEADER,    "EC NEEDED
    *      Internal table to hold ALV Event
           I_ALV_EVENT TYPE SLIS_T_EVENT,
    *      Internal table to hold Sort Info for ALV Report
           I_SORT TYPE SLIS_T_SORTINFO_ALV,
    *      Internal table for BDC Data
           I_BDCDATA TYPE STANDARD TABLE OF T_BDCDATA INITIAL SIZE 0,
    *      Internal table for messages
           I_MESSTAB TYPE TABLE OF BDCMSGCOLL,
    *      Internal table for String line
           I_STR1 TYPE STANDARD TABLE OF T_STR1 INITIAL SIZE 0.
    *       Work Area Declaration                                         *
    DATA:
    *  Work Area to hold data for the Open Contract
          WA_RECORD TYPE T_RECORD,
    *  Work Area to hold previous record data
          WA_RECORDPREV TYPE T_RECORD,
    *  Work Area to hold errors
          WA_ERR_REC TYPE T_ERR_RECORD,
    *  Work Area to hold the Deletion Indicator of materials
          WA_LOEKZ TYPE T_LOEKZ,
    *  Work Area to hold Material numbers of required materials
          WA_MATNR TYPE T_MATNR,      "EC NEEDED
    *  Work Area to hold errors occured while performing BDC
          WA_MESSTAB TYPE BDCMSGCOLL,
    *  Work Area to hold field catalog for ALV Reports
          WA_FIELDCAT TYPE SLIS_FIELDCAT_ALV,
    *  Work Area to hold list header data for ALV reports
          WA_LISTHEADER TYPE SLIS_LISTHEADER,
    *  Work Area to hold ALV Event
          WA_ALV_EVENT LIKE LINE OF I_ALV_EVENT,  "EC NEEDED
    *  Work Area to hold Layout of ALV Report
          WA_LAYOUT TYPE SLIS_LAYOUT_ALV,
    *  Work Area to hold Cross-Reference data of Vendor
          WA_ZMVXREF TYPE T_ZMVXREF,
    *  Work Area to hold Vendor Numbers from Master table
          WA_LFA1 TYPE T_LFA1,    "EC NEEDED
    *  Work Area to hold Purchase Org and Company Codes
          WA_T024E TYPE T_T024E,
    *  Work Area to hold Company Codes
          WA_T001 TYPE T_T001,
    *  Work Area to hold Plants
          WA_T001W TYPE T_T001W,
    *  Work Area to hold Sort Info for ALV Report
          WA_SORT TYPE SLIS_SORTINFO_ALV,
    *  Work Area to hold BDC Data
          WA_BDCDATA TYPE T_BDCDATA,
    *  Work Area for String line
          WA_STR1 TYPE T_STR1.
    *       Variables  Declaration                                        *
    DATA: V_ERRMSG(500),           "To temporarily store the error message
          V_CONV_DATE(10) TYPE C,  "To capture the converted date format
          V_DATE LIKE SY-DATUM,
          V_REPID LIKE SY-REPID,   "holds report id
          V_CROSS_REFERENCE_ERROR TYPE I,  " cross-reference error
          V_INPUTERROR_FLAG VALUE '',      " input error status
          V_FILENAME TYPE STRING,          " File Name
          VEN_FLAG(1),                       " at new status
          MAT_FLAG(1),                      " at new status
          V_IND(2) TYPE N,                 " index of table control
          V_IND2(2) TYPE N,                " index of table control
          V_IND3(2) TYPE N,                " index of table control
          V_EVRTP1(20),
          V_EPSTP1(20),
          V_EMATN1(20),
          V_KTMNG1(20),
          V_NETPR1(20),
          V_PEINH1(20),
          V_BPRME1(20),
          V_TCSELFLAG1(20),
          V_KSCHL2(20),
          V_KBETR2(20),
          V_KONWA2(20),
          V_KPEIN2(20),
          V_KMEIN2(20),
          V_SELKZ2(20),
          V_KBETR3(20),
          V_KSTBM3(20),
          V_LINE TYPE I,
          V_STR TYPE X VALUE '09',
          V_EXIST TYPE C,
          V_EXIST1 TYPE C,
          V_ISDIR TYPE C,
          V_ISDIR1 TYPE C.
    *       Constants  Declaration                                        *
    CONSTANTS: C_TCODE(5) VALUE 'ME31K', "Trx code - Open Contract Creation
               C_TRUE     VALUE 'X',       " Del_Flag indicator
               C_LOEKZ_MARKED VALUE 'X',   "Deletion indicator for material
               C_INPUTERROR_FLAG_YES VALUE 'X',  "Input File Indicator
               C_VEN_ERR1 VALUE 1,    "Error Indicator
               C_16(2)    VALUE '16',
               C_VEN_ERR2 VALUE 2,    "Error Indicator
               C_VEN_ERR3 VALUE 3,    "Error Indicator
               C_VEN_SUCS VALUE 0,    "Success Indicator
               C_SUCCESS  LIKE SY-SUBRC VALUE '0',
               C_STRUE    VALUE 'S',  "Del_flag for SAP Errors
               C_YTRUE    VALUE 'Y',  "Del_flag for Success Records
               C_MSGTYP_E VALUE 'E',  "holds error message type
               C_MSGTYP_S VALUE 'S',  "holds success message type
               C_BSTYP    VALUE 'K',  "Purchasing Document type is Contract
               C_BACKGROUND VALUE 'N', "Background mode
               C_FOREGROUND VALUE 'A', "All Screen mode
               C_ERRORS   VALUE 'E',   "Error screen mode
               C_WK(2)    VALUE 'WK'. "Value Contract
    *        Selection Screen                                             *
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-033.
    SELECTION-SCREEN SKIP.
    SELECT-OPTIONS:
    *              Plant
                   S_WERKS FOR T001W-WERKS OBLIGATORY,
    *              Purchase Organization
                   S_EKORG FOR T024E-EKORG OBLIGATORY.
    *              Company Code
    PARAMETER      P_BUKRS LIKE T001-BUKRS OBLIGATORY.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN ULINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN POSITION 3.
    PARAMETER RB_SERVE RADIOBUTTON GROUP RBX DEFAULT 'X' USER-COMMAND U1.
    SELECTION-SCREEN COMMENT 6(19)  TEXT-036.
    SELECTION-SCREEN POSITION 37.
    PARAMETER RB_LOCAL RADIOBUTTON GROUP RBX.
    SELECTION-SCREEN COMMENT 40(13) TEXT-035.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN SKIP.
    PARAMETERS:
    *    Parameter holding Input File name
              P_FILE LIKE RLGRAP-FILENAME
                     OBLIGATORY
                     LOWER CASE
                     DEFAULT 'C:\'
                     MODIF ID G1,
              P_FILE1 LIKE RLGRAP-FILENAME
                      OBLIGATORY
                      LOWER CASE
                      DEFAULT '/celestica/interface/corp/in/work/'
                      MODIF ID G2,
    *    Parameter specifying Mode of calling the Transaction.
              P_MODE DEFAULT 'N' OBLIGATORY,
    *    Check box used to test the input file.
              P_TEST AS CHECKBOX DEFAULT 'X',
    *    Parameter holding Filename for holding Input File Errors
              P_IPERR LIKE RLGRAP-FILENAME
                      OBLIGATORY
                      LOWER CASE
                      DEFAULT 'C:\'
                      MODIF ID G1,
              P_IPERR1 LIKE RLGRAP-FILENAME
                     OBLIGATORY
                     LOWER CASE
                     DEFAULT '/celestica/interface/corp/in/work/047_Err.txt'
                     MODIF ID G2.
    SELECTION-SCREEN END OF BLOCK B2.
    *        AT Selection Screen  Events                                  *
    *  Loop the screen to activate relative paths
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF RB_SERVE = C_TRUE AND SCREEN-GROUP1 = 'G1'.
          SCREEN-OUTPUT = 0.
          SCREEN-ACTIVE = 0.
          SCREEN-INPUT = 0.
        ELSEIF RB_LOCAL = C_TRUE AND SCREEN-GROUP1 = 'G2'.
          SCREEN-OUTPUT = 0.
          SCREEN-ACTIVE = 0.
          SCREEN-INPUT = 0.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    AT SELECTION-SCREEN ON BLOCK B2.
    *  Checking Access Authorization for the user
      CALL FUNCTION 'ZU_DATA_ACCESS_AUTH_CHECK'
           EXPORTING
                ACTVT        = C_16
                P_BUKRS      = P_BUKRS
           TABLES
                S_WERKS      = S_WERKS
                S_EKORG      = S_EKORG
           EXCEPTIONS
                BUKRS_FAILED = 1
                VKORG_FAILED = 2
                VTWEG_FAILED = 3
                EKORG_FAILED = 4
                WERKS_FAILED = 5
                LGNUM_FAILED = 6
                OTHERS       = 7.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    AT SELECTION-SCREEN ON P_BUKRS.
      IF NOT P_BUKRS IS INITIAL.
        SELECT SINGLE BUKRS INTO T001
                            FROM T001
                            WHERE BUKRS EQ P_BUKRS.
        IF SY-SUBRC NE 0.
          MESSAGE I000 WITH TEXT-089.
          STOP.
        ENDIF.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
    * Search Help to select Input File path.
      PERFORM GET_FILE_NAME USING P_FILE.
    * Check for the existence of the file.
      IF RB_LOCAL EQ C_TRUE.
        CALL FUNCTION 'TMP_GUI_GET_FILE_EXIST'
             EXPORTING
                  FNAME          = P_FILE
             IMPORTING
                  EXIST          = V_EXIST
                  ISDIR          = V_ISDIR
             EXCEPTIONS
                  FILEINFO_ERROR = 1
                  OTHERS         = 2.
        IF SY-SUBRC <> 0.
          MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
        ENDIF.
        IF V_ISDIR IS INITIAL.
          IF V_EXIST IS INITIAL.
            MESSAGE I000 WITH TEXT-018.
            STOP.
          ENDIF.
        ELSEIF V_ISDIR EQ C_TRUE.
          MESSAGE I000 WITH TEXT-068.
          STOP.
        ENDIF.
      ENDIF.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_IPERR.
    * Search Help to select Input Error File path.
      PERFORM GET_FILE_NAME USING P_IPERR.
    AT SELECTION-SCREEN.
    * Validate Transaction Mode
      IF  P_MODE <> C_BACKGROUND AND
          P_MODE <> C_FOREGROUND AND
          P_MODE <> C_ERRORS.
        MESSAGE I000 WITH TEXT-034.
        STOP.
      ENDIF.
    START-OF-SELECTION.
    * Get the Input File Data
      V_FILENAME = P_FILE.
      PERFORM UPLOAD_FLATFILE_DATA TABLES I_RECORD
                                   USING V_FILENAME.
    * Sorting the data by all fields
      SORT I_RECORD.
    * Ensuring the padding of the empty spaces before the vendor No
      CLEAR WA_RECORD.
      LOOP AT I_RECORD INTO WA_RECORD.
        CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
             EXPORTING
                  INPUT  = WA_RECORD-LIFNR
             IMPORTING
                  OUTPUT = WA_RECORD-LIFNR.
        MODIFY I_RECORD FROM WA_RECORD
                        INDEX SY-TABIX
                        TRANSPORTING LIFNR.
        CLEAR WA_RECORD.
      ENDLOOP.
    * Input file validation
      PERFORM VALIDATE_FLATFILE_DATA.
      IF P_TEST = C_TRUE.
        IF I_ERR_REC[] IS INITIAL.
          MESSAGE I000 WITH TEXT-032.
          STOP.
        ELSE.
    *  Display all the error records at the input level.
          PERFORM DISPLAY_INPERR_RECORDS.
    *  Download Error File
          PERFORM DOWNLOAD_ERROR_FILE.
        ENDIF.
      ELSE.
    * Build BDC Data
        PERFORM BUILD_BDC_DATA.
    * Download Error File
        PERFORM DOWNLOAD_ERROR_FILE.
    * Display the status report.
        PERFORM DISPLAY_PROCESSED_RECORDS.
      ENDIF.
    END-OF-SELECTION.
      REFRESH:  I_RECORD,
                I_ERR_REC,
                I_LOEKZ,
                I_MATNR,
                I_ZMVXREF,
                I_LFA1,
                I_T024E,
                I_FIELDCAT,
                I_LISTHEADER,
                I_ALV_EVENT,
                I_SORT,
                I_BDCDATA,
                I_MESSTAB,
                I_STR1.
      FREE: I_RECORD,
            I_ERR_REC,
            I_LOEKZ,
            I_MATNR,
            I_ZMVXREF,
            I_LFA1,
            I_T024E,
            I_FIELDCAT,
            I_LISTHEADER,
            I_ALV_EVENT,
            I_SORT,
            I_BDCDATA,
            I_MESSTAB,
            I_STR1.
    *&      Form  GET_file_name
    *       Fetches the file and path from the presentation system
    *  -->  p1        Path along with the file name
    FORM GET_FILE_NAME USING L_FILE LIKE RLGRAP-FILENAME.
      CALL FUNCTION 'WS_FILENAME_GET'
           EXPORTING
                MASK             = ',*.TXT,*.txt.'
                MODE             = 'O'
                TITLE            = TEXT-011
           IMPORTING
                FILENAME         = L_FILE
           EXCEPTIONS
                INV_WINSYS       = 1
                NO_BATCH         = 2
                SELECTION_CANCEL = 3
                SELECTION_ERROR  = 4
                OTHERS           = 5.
      CASE SY-SUBRC.
        WHEN 1.
          MESSAGE I000 WITH TEXT-084.
          STOP.
        WHEN 2.
          MESSAGE I000 WITH TEXT-085.
          STOP.
        WHEN 3.
          MESSAGE I000 WITH TEXT-086.
          STOP.
        WHEN 4.
          MESSAGE I000 WITH TEXT-087.
          STOP.
      ENDCASE.
    ENDFORM.                    " GET_file_name
    *&      Form  upload_flatfile_data
    *       Uploading data from Flat File
    FORM UPLOAD_FLATFILE_DATA
                          TABLES I_L_RECORD STRUCTURE WA_RECORD
                          USING L_FILENAME TYPE STRING.
      DATA WA_L_RECORD TYPE T_RECORD.
    * Upload the Flat file data
      IF RB_LOCAL EQ C_TRUE. "File is on the Local System
        CALL FUNCTION 'GUI_UPLOAD'
             EXPORTING
                  FILENAME                = L_FILENAME
                  FILETYPE                = 'ASC'
                  HAS_FIELD_SEPARATOR     = 'X'
             TABLES
                  DATA_TAB                = I_L_RECORD
             EXCEPTIONS
                  FILE_OPEN_ERROR         = 1
                  FILE_READ_ERROR         = 2
                  NO_BATCH                = 3
                  GUI_REFUSE_FILETRANSFER = 4
                  INVALID_TYPE            = 5
                  NO_AUTHORITY            = 6
                  UNKNOWN_ERROR           = 7
                  BAD_DATA_FORMAT         = 8
                  HEADER_NOT_ALLOWED      = 9
                  SEPARATOR_NOT_ALLOWED   = 10
                  HEADER_TOO_LONG         = 11
                  UNKNOWN_DP_ERROR        = 12
                  ACCESS_DENIED           = 13
                  DP_OUT_OF_MEMORY        = 14
                  DISK_FULL               = 15
                  DP_TIMEOUT              = 16
                  OTHERS                  = 17.
        CASE SY-SUBRC.
          WHEN 0.
            DESCRIBE TABLE I_L_RECORD LINES V_LINE.
            IF V_LINE EQ 0.
              MESSAGE I000 WITH TEXT-065.
              STOP.
            ENDIF.
          WHEN 1.
            MESSAGE I000 WITH TEXT-068.
            STOP.
          WHEN 2.
            MESSAGE I000 WITH TEXT-069.
            STOP.
          WHEN 3.
            MESSAGE I000 WITH TEXT-070.
            STOP.
          WHEN 4.
            MESSAGE I000 WITH TEXT-071.
            STOP.
          WHEN 5.
            MESSAGE I000 WITH TEXT-072.
            STOP.
          WHEN 6.
            MESSAGE I000 WITH TEXT-073.
            STOP.
          WHEN 7.
            MESSAGE I000 WITH TEXT-074.
            STOP.
          WHEN 8.
            MESSAGE I000 WITH TEXT-075.
            STOP.
          WHEN 9.
            MESSAGE I000 WITH TEXT-076.
            STOP.
          WHEN 10.
            MESSAGE I000 WITH TEXT-077.
            STOP.
          WHEN 11.
            MESSAGE I000 WITH TEXT-078.
            STOP.
          WHEN 12.
            MESSAGE I000 WITH TEXT-079.
            STOP.
          WHEN 13.
            MESSAGE I000 WITH TEXT-080.
            STOP.
          WHEN 14.
            MESSAGE I000 WITH TEXT-081.
            STOP.
          WHEN 15.
            MESSAGE I000 WITH TEXT-082.
            STOP.
          WHEN 16.
            MESSAGE I000 WITH TEXT-083.
            STOP.
        ENDCASE.
        CLEAR V_LINE.
      ELSEIF RB_SERVE EQ C_TRUE. "File is on the Application Server
        P_MODE = C_BACKGROUND.
        OPEN DATASET P_FILE1 FOR INPUT IN TEXT MODE.
        CHECK SY-SUBRC EQ C_SUCCESS.
        CLEAR WA_STR1.
        DO.
          READ DATASET P_FILE1 INTO WA_STR1.
          IF SY-SUBRC <> 0.      " NE SUCCESS.
            EXIT.
          ELSEIF SY-SUBRC EQ C_SUCCESS.
            APPEND WA_STR1 TO I_STR1.
            CLEAR WA_STR1.
          ENDIF.                  " ENDIF on SY-SUBRC 0 Check.
        ENDDO.                    " ENDDO
        DELETE I_STR1 WHERE SLINE EQ ' '.
        DESCRIBE TABLE I_STR1 LINES V_LINE.
        IF V_LINE EQ 0.
          MESSAGE S000 WITH TEXT-065.
          STOP.
        ENDIF.
        LOOP AT I_STR1 INTO WA_STR1.
          CLEAR: WA_L_RECORD.
          SPLIT WA_STR1-SLINE AT V_STR
          INTO WA_L_RECORD-LIFNR
               WA_L_RECORD-EVART
               WA_L_RECORD-EKORG
               WA_L_RECORD-EKGRP
               WA_L_RECORD-WERKS
               WA_L_RECORD-LGORT
               WA_L_RECORD-KDATB
               WA_L_RECORD-KDATE
               WA_L_RECORD-ZTERM
               WA_L_RECORD-KTWRT
               WA_L_RECORD-EPSTP
               WA_L_RECORD-EMATN
               WA_L_RECORD-KTMNG
               WA_L_RECORD-NETPR
               WA_L_RECORD-PEINH
               WA_L_RECORD-BPRME
               WA_L_RECORD-IDNLF
               WA_L_RECORD-WEBRE
               WA_L_RECORD-MEPRF
               WA_L_RECORD-LTEX1
               WA_L_RECORD-DATAB
               WA_L_RECORD-DATBI
               WA_L_RECORD-KSCHL
               WA_L_RECORD-KBETR
               WA_L_RECORD-KONWA
               WA_L_RECORD-KPEIN
               WA_L_RECORD-KMEIN
               WA_L_RECORD-KSTBM
               WA_L_RECORD-KBETR_01
               WA_L_RECORD-DEL_FLAG
               WA_L_RECORD-ERR_MSG.
          APPEND WA_L_RECORD TO I_L_RECORD.
          CLEAR: WA_L_RECORD,
                  WA_STR1.
        ENDLOOP.
        REFRESH I_STR1.
        CLOSE DATASET P_FILE1.
      ENDIF.
    ENDFORM.
    *&      Form  BDC_DYNPRO
    *       Data populated into i_bdcdata table for program
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR WA_BDCDATA.
      WA_BDCDATA-PROGRAM  = PROGRAM.
      WA_BDCDATA-DYNPRO   = DYNPRO.
      WA_BDCDATA-DYNBEGIN = C_TRUE.
      APPEND WA_BDCDATA TO I_BDCDATA.
    ENDFORM.
    *&      Form  BDC_FIELD
    *       Data populated into i_bdcdata table for fields
    FORM BDC_FIELD USING FNAM FVAL.
      CLEAR WA_BDCDATA.
      WA_BDCDATA-FNAM = FNAM.
      WA_BDCDATA-FVAL = FVAL.
      APPEND WA_BDCDATA TO I_BDCDATA.
    ENDFORM.
    *&      Form  convert_date
    *       Converting the data from the file format to mm/dd/yyyy format
    *      <--P_wa_record_kdatb  Source Date
    *      <--p_l_conv_date      Target Date
    FORM CONVERT_DATE USING L_DATE
                            L_TAR_DATE.
      CONCATENATE L_DATE+0(2)
                  L_DATE+3(2)
                  L_DATE+6(4)
                  INTO L_TAR_DATE.
    ENDFORM.                    " convert_date
    *&      Form  validate_flatfile_data
    *       Validating the input file
    FORM VALIDATE_FLATFILE_DATA.
      DATA: L_TODAY LIKE SY-DATUM,
            L_STARTDATE_C LIKE SY-DATUM,
            L_ENDDATE_C LIKE SY-DATUM,
            L_ENDDATE_C1 LIKE SY-DATUM,
            L_STARTDATE_C1 LIKE SY-DATUM,
            L_STARTDATE(8),
            L_ENDDATE(8).
    * Fetch indicator for all records on the material, plant & storage
    * location combination.
      IF NOT I_RECORD[] IS INITIAL.
        REFRESH I_LOEKZ.
        SELECT EMATN            " Material Number
               WERKS            " Plant
               LGORT            " Storage Location
               BSTYP            " Purchasing Document Category
               LOEKZ            " Deletion indicator
          INTO TABLE I_LOEKZ
          FROM EKPO
          FOR ALL ENTRIES IN I_RECORD
          WHERE EMATN = I_RECORD-EMATN
            AND WERKS = I_RECORD-WERKS
            AND LGORT = I_RECORD-LGORT
            AND BSTYP = C_BSTYP
            AND LOEKZ = C_LOEKZ_MARKED.
        IF SY-SUBRC EQ 0.
          SORT I_LOEKZ BY EMATN WERKS LGORT BSTYP LOEKZ.
        ENDIF.
    * Fetching Plants for all entries in the selection screen
        REFRESH I_T001W.
        SELECT WERKS  "Plant
            INTO TABLE I_T001W
            FROM T001W
            WHERE WERKS IN S_WERKS.
        IF SY-SUBRC EQ 0.
          SORT I_T001W BY WERKS.
        ENDIF.
    * Fetching materials for the plants listed in flat file
        REFRESH I_MATNR.
        SELECT MATNR          " Material Number
          INTO TABLE I_MATNR
          FROM MARC
          FOR ALL ENTRIES IN I_RECORD
          WHERE WERKS = I_RECORD-WERKS.
        IF SY-SUBRC EQ 0.
          SORT I_MATNR BY MATNR.
        ENDIF.
    * Fetching Company Codes for repective Purchase Organizations
        REFRESH I_T024E.
        SELECT EKORG       "  Purchase Organization
               BUKRS       "  Company Code
            INTO TABLE I_T024E
            FROM T024E
            WHERE EKORG IN S_EKORG.
        IF SY-SUBRC EQ 0.
          SORT I_T024E BY EKORG.
        ENDIF.
    * Fetching SAP Data using Legacy Data.
        REFRESH I_ZMVXREF.
        SELECT D_ALTKN
               D_BUKRS
               M_ALTKN
            INTO TABLE I_ZMVXREF
            FROM ZMVXREF
            FOR ALL ENTRIES IN I_RECORD
            WHERE D_ALTKN = I_RECORD-LIFNR.
        IF SY-SUBRC EQ 0.
          SORT I_ZMVXREF BY D_ALTKN D_BUKRS.
        ENDIF.
    * Fetching Vendors from LFA1
        IF NOT I_ZMVXREF[] IS INITIAL.
          REFRESH I_LFA1.
          SELECT LIFNR
             INTO TABLE I_LFA1
             FROM LFA1
             FOR ALL ENTRIES IN I_ZMVXREF
             WHERE LIFNR = I_ZMVXREF-M_ALTKN.
          IF SY-SUBRC EQ 0.
            SORT I_LFA1 BY LIFNR.
          ENDIF.
        ENDIF.
    * Start Validating the flat file
        CLEAR: WA_RECORD,
               WA_T024E,
               WA_ZMVXREF,
               WA_LFA1,
               WA_LOEKZ,
               WA_MATNR.
        LOOP AT I_RECORD INTO WA_RECORD.
          L_TODAY = SY-DATUM.
          L_STARTDATE = WA_RECORD-KDATB.
          L_ENDDATE = WA_RECORD-KDATE.
          IF WA_RECORD-DEL_FLAG IS INITIAL.
            READ TABLE I_T001W INTO WA_T001W
                               WITH KEY WERKS = WA_RECORD-WERKS
                               BINARY SEARCH.
            IF SY-SUBRC EQ 0.
    *   Cross-Reference check performed for the given Vendors
              READ TABLE I_T024E INTO WA_T024E
                                 WITH KEY EKORG = WA_RECORD-EKORG
                                 BINARY SEARCH.
              IF SY-SUBRC NE 0.
                V_CROSS_REFERENCE_ERROR = C_VEN_ERR3.
              ELSE.
                READ TABLE I_ZMVXREF INTO WA_ZMVXREF
                            WITH KEY D_ALTKN = WA_RECORD-LIFNR
                                     D_BUKRS = P_BUKRS
                            BINARY SEARCH.
                IF SY-SUBRC EQ 0.
                  READ TABLE I_LFA1 INTO WA_LFA1
                             WITH KEY LIFNR = WA_ZMVXREF-M_ALTKN
                             BINARY SEARCH.
                  IF SY-SUBRC EQ 0.
                    V_CROSS_REFERENCE_ERROR = C_VEN_SUCS.
                  ELSE.
                    V_CROSS_REFERENCE_ERROR = C_VEN_ERR2.
                  ENDIF.
                ELSE.
                  V_CROSS_REFERENCE_ERROR = C_VEN_ERR1.
                ENDIF.
              ENDIF.
    * Legacy Vendor could not be mapped
              IF V_CROSS_REFERENCE_ERROR EQ C_VEN_ERR1.
            V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES. "Inp.file err. occurd
                WA_RECORD-DEL_FLAG = C_TRUE.
                WA_RECORD-ERR_MSG = TEXT-007.
                MODIFY I_RECORD FROM WA_RECORD
                                TRANSPORTING DEL_FLAG
                                             ERR_MSG
                                WHERE LIFNR = WA_RECORD-LIFNR.
    * Legacy Vendor is mapped but the obtained SAP vendor doesn't exist.
              ELSEIF V_CROSS_REFERENCE_ERROR EQ C_VEN_ERR2.
    *           Inp.file err. occurd
                V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                WA_RECORD-DEL_FLAG = C_TRUE.
                WA_RECORD-ERR_MSG = TEXT-008.
                MODIFY I_RECORD FROM WA_RECORD
                                TRANSPORTING DEL_FLAG
                                             ERR_MSG
                                WHERE LIFNR = WA_RECORD-LIFNR.
    * Purchase Organization doesn't exist in T024E.
              ELSEIF V_CROSS_REFERENCE_ERROR EQ C_VEN_ERR3.
    *             Inp.file err. occurd
                V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                WA_RECORD-DEL_FLAG = C_TRUE.
                WA_RECORD-ERR_MSG = TEXT-014.
                MODIFY I_RECORD FROM WA_RECORD
                                TRANSPORTING DEL_FLAG
                                             ERR_MSG
                                WHERE EKORG = WA_RECORD-EKORG.
    * Vendor is mapped and validated successfully
              ELSEIF V_CROSS_REFERENCE_ERROR EQ C_VEN_SUCS.
    * Checking for the deletion indicator for that record
                CONCATENATE WA_RECORD-KDATB+6(4)
                            WA_RECORD-KDATB+3(2)
                            WA_RECORD-KDATB+0(2)
                            INTO
                            L_STARTDATE.
                MOVE L_STARTDATE TO L_STARTDATE_C.
                CONCATENATE WA_RECORD-KDATB+6(4)
                            WA_RECORD-KDATB+0(2)
                            WA_RECORD-KDATB+3(2)
                            INTO
                            L_STARTDATE_C1.
                CONCATENATE WA_RECORD-KDATE+6(4)
                            WA_RECORD-KDATE+3(2)
                            WA_RECORD-KDATE+0(2)
                            INTO
                            L_ENDDATE.
                MOVE L_ENDDATE TO L_ENDDATE_C.
                CONCATENATE WA_RECORD-KDATE+6(4)
                            WA_RECORD-KDATE+0(2)
                            WA_RECORD-KDATE+3(2)
                            INTO
                            L_ENDDATE_C1.
                READ TABLE I_LOEKZ INTO WA_LOEKZ WITH KEY
                                                 EMATN = WA_RECORD-EMATN
                                                 WERKS = WA_RECORD-WERKS
                                                 LGORT = WA_RECORD-LGORT
                                                 BINARY SEARCH.
                IF SY-SUBRC EQ 0.
    *             Inpfle err.occured
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-003.
                  WA_RECORD-DEL_FLAG = C_TRUE.    "marking the record
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                                ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB
                                    AND KDATE = WA_RECORD-KDATE
                                    AND ZTERM = WA_RECORD-ZTERM
                                    AND KTWRT = WA_RECORD-KTWRT
                                    AND EPSTP = WA_RECORD-EPSTP
                                    AND EMATN = WA_RECORD-EMATN.
    * Validating the Purchasing Organization for Blank/Null
                ELSEIF WA_RECORD-EKORG IS INITIAL.
    *             Inpfle err.occured
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-010.
                  WA_RECORD-DEL_FLAG = C_TRUE.
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                               ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB
                                    AND KDATE = WA_RECORD-KDATE
                                    AND ZTERM = WA_RECORD-ZTERM
                                    AND KTWRT = WA_RECORD-KTWRT
                                    AND EPSTP = WA_RECORD-EPSTP
                                    AND EMATN = WA_RECORD-EMATN.
    * Validating the Plant for Blank/Null
                ELSEIF WA_RECORD-WERKS IS INITIAL.
    *             Inpfle err.occured
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-039.
                  WA_RECORD-DEL_FLAG = C_TRUE.
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                               ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB
                                    AND KDATE = WA_RECORD-KDATE
                                    AND ZTERM = WA_RECORD-ZTERM
                                    AND KTWRT = WA_RECORD-KTWRT
                                    AND EPSTP = WA_RECORD-EPSTP
                                    AND EMATN = WA_RECORD-EMATN.
    * Validating the Contract Validity Start Date
                ELSEIF L_STARTDATE_C1 GT L_TODAY.             "#EC PORTABLE
    *             Inpfle err.occured
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-004.
                  WA_RECORD-DEL_FLAG = C_TRUE.      "marking the record
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                               ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB.
    * Validating the Contract Validity End Date
                ELSEIF L_ENDDATE_C1 LE L_TODAY.               "#EC PORTABLE
    *             Inpfle err.ocrd
                  V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
                  WA_RECORD-ERR_MSG = TEXT-005.
                  WA_RECORD-DEL_FLAG = C_TRUE.    "marking the record
                  MODIFY I_RECORD FROM WA_RECORD
                                  TRANSPORTING DEL_FLAG
                                               ERR_MSG
                                  WHERE LIFNR = WA_RECORD-LIFNR
                                    AND EVART = WA_RECORD-EVART
                                    AND EKORG = WA_RECORD-EKORG
                                    AND EKGRP = WA_RECORD-EKGRP
                                    AND WERKS = WA_RECORD-WERKS
                                    AND LGORT = WA_RECORD-LGORT
                                    AND KDATB = WA_RECORD-KDATB
                                    AND KDATE = WA_RECORD-KDATE.
    * Checking for Material under the Plant for Agreement Type 'WK'
                ELSEIF WA_RECORD-EVART = C_WK.
                  READ TABLE I_MATNR INTO WA_MATNR
                                     WITH KEY MATNR = WA_RECORD-EMATN
                                     BINARY SEARCH.
                  IF SY-SUBRC NE 0.
                 V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES. "Inpfle err.ocrd
                    WA_RECORD-ERR_MSG = TEXT-006.
                    WA_RECORD-DEL_FLAG = C_TRUE.   "marking the record
                    MODIFY I_RECORD FROM WA_RECORD
                                    TRANSPORTING DEL_FLAG
                                                 ERR_MSG
                                    WHERE LIFNR = WA_RECORD-LIFNR
                                      AND EVART = WA_RECORD-EVART
                                      AND EKORG = WA_RECORD-EKORG
                                      AND EKGRP = WA_RECORD-EKGRP
                                      AND WERKS = WA_RECORD-WERKS
                                      AND LGORT = WA_RECORD-LGORT
                                      AND KDATB = WA_RECORD-KDATB
                                      AND KDATE = WA_RECORD-KDATE
                                      AND ZTERM = WA_RECORD-ZTERM
                                      AND KTWRT = WA_RECORD-KTWRT
                                      AND EPSTP = WA_RECORD-EPSTP
                                      AND EMATN = WA_RECORD-EMATN.
                  ENDIF.
                ENDIF.  " checking of deletion indicator
              ENDIF.   " checking for success of vendor cross reference
            ELSE.
              V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES. "Inpfle err.ocrd
              WA_RECORD-ERR_MSG = TEXT-041.
              WA_RECORD-DEL_FLAG = C_TRUE.   "marking the record
              MODIFY I_RECORD FROM WA_RECORD
                              TRANSPORTING DEL_FLAG
                                           ERR_MSG
                              WHERE WERKS = WA_RECORD-WERKS.
            ENDIF. " Plant checked to selection screen
          ENDIF.  " the records for which del_flag is initial
          CLEAR: WA_RECORD,
                 WA_T024E,
                 WA_ZMVXREF,
                 WA_LFA1,
                 WA_LOEKZ,
                 WA_MATNR,
                 L_TODAY,
                 L_STARTDATE_C,
                 L_ENDDATE_C,
                 L_STARTDATE,
                 L_ENDDATE.
        ENDLOOP.
        LOOP AT I_RECORD INTO WA_RECORD.
          IF WA_RECORD-DEL_FLAG = C_TRUE.
            APPEND WA_RECORD TO I_ERR_REC.
            CLEAR WA_RECORD.
          ENDIF.
        ENDLOOP.
      ELSE.
        MESSAGE E000 WITH TEXT-013.  " no records in the flat file
        STOP.
      ENDIF.
    ENDFORM.                    " validate_flatfile_data
    *&      Form  DOWNLOAD_ERROR_FILE
    *       Downloads all records along with the records encountering the
    *       input file validation error
    FORM DOWNLOAD_ERROR_FILE.
      DATA L_ISDIR TYPE C.
      IF V_INPUTERROR_FLAG = C_INPUTERROR_FLAG_YES.
        V_FILENAME = P_IPERR.
    * Check for the existence of the file.
        IF RB_LOCAL EQ C_TRUE.
          CALL FUNCTION 'TMP_GUI_GET_FILE_EXIST'
               EXPORTING
                    FNAME          = P_IPERR
               IMPORTING
                    ISDIR          = L_ISDIR
               EXCEPTIONS
                    FILEINFO_ERROR = 1
                    OTHERS         = 2.
          IF SY-SUBRC <> 0.
            MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                    WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
          IF L_ISDIR EQ C_TRUE.
            MESSAGE I000 WITH TEXT-088.
            STOP.
          ENDIF.
        ENDIF.
        IF RB_LOCAL EQ C_TRUE.
    * Download the Input Error File.
          CALL FUNCTION 'GUI_DOWNLOAD'
               EXPORTING
                    FILENAME                = V_FILENAME
                    FILETYPE                = 'ASC'
                    WRITE_FIELD_SEPARATOR   = '#'
               TABLES
                    DATA_TAB                = I_ERR_REC
               EXCEPTIONS
                    FILE_WRITE_ERROR        = 1
                    NO_BATCH                = 2
                    GUI_REFUSE_FILETRANSFER = 3
                    INVALID_TYPE            = 4
                    NO_AUTHORITY            = 5
                    UNKNOWN_ERROR           = 6
                    HEADER_NOT_ALLOWED      = 7
                    SEPARATOR_NOT_ALLOWED   = 8
                    FILESIZE_NOT_ALLOWED    = 9
                    HEADER_TOO_LONG         = 10
                    DP_ERROR_CREATE         = 11
                    DP_ERROR_SEND           = 12
                    DP_ERROR_WRITE          = 13
                    UNKNOWN_DP_ERROR        = 14
                    ACCESS_DENIED           = 15
                    DP_OUT_OF_MEMORY        = 16
                    DISK_FULL               = 17
                    DP_TIMEOUT              = 18
                    FILE_NOT_FOUND          = 19
                    DATAPROVIDER_EXCEPTION  = 20
                    CONTROL_FLUSH_ERROR     = 21
                    OTHERS                  = 22.
          IF SY-SUBRC <> 0.
            MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                  WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
        ELSEIF RB_SERVE EQ C_TRUE.
          OPEN DATASET P_IPERR1 FOR OUTPUT IN TEXT MODE.
          CHECK SY-SUBRC EQ 0.
          CLEAR WA_ERR_REC.
          LOOP AT I_ERR_REC INTO WA_ERR_REC.
            IF WA_ERR_REC-DEL_FLAG = C_TRUE.
              TRANSFER WA_ERR_REC TO P_IPERR1.
            ENDIF.
            CLEAR WA_ERR_REC.
          ENDLOOP.
          CLOSE DATASET P_IPERR1.
        ENDIF.
      ENDIF.
    ENDFORM.                    " DOWNLOAD_ERROR_FILE
    *&      Form  BUILD_BDC_DATA
    * Populates BDC for all the fields neccessary for Open Contract Creation
    FORM BUILD_BDC_DATA.
      DATA: L_MAT_INDEX TYPE I,
            L_CON_INDEX TYPE I,
            L_SCA_INDEX TYPE I.
      CLEAR   WA_BDCDATA.
      REFRESH: I_BDCDATA,
               I_MESSTAB.
    * Processing the bdc
      CLEAR: WA_RECORD,
             WA_RECORDPREV,
             VEN_FLAG,
             MAT_FLAG.
      LOOP AT I_RECORD INTO WA_RECORD.
    *    Checks for the del_flag of the record.
        IF     WA_RECORD-DEL_FLAG EQ C_TRUE
            OR WA_RECORD-DEL_FLAG EQ C_STRUE.
          CLEAR WA_RECORD.
          CONTINUE.
        ELSE.
          IF  WA_RECORDPREV-LIFNR NE WA_RECORD-LIFNR
           OR WA_RECORDPREV-EVART NE WA_RECORD-EVART
           OR WA_RECORDPREV-EKORG NE WA_RECORD-EKORG
           OR WA_RECORDPREV-EKGRP NE WA_RECORD-EKGRP
           OR WA_RECORDPREV-WERKS NE WA_RECORD-WERKS
           OR WA_RECORDPREV-LGORT NE WA_RECORD-LGORT
           OR WA_RECORDPREV-KDATB NE WA_RECORD-KDATB
           OR WA_RECORDPREV-KDATE NE WA_RECORD-KDATE
           OR WA_RECORDPREV-ZTERM NE WA_RECORD-ZTERM
           OR WA_RECORDPREV-KTWRT NE WA_RECORD-KTWRT.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0200'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'RM06E-LGORT'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '/00'.
    *   Cross-Reference check performed for the given Vendors
            CLEAR WA_T024E.
            READ TABLE I_T024E INTO WA_T024E
                               WITH KEY EKORG = WA_RECORD-EKORG
                               BINARY SEARCH.
            IF SY-SUBRC EQ 0.
              CLEAR WA_ZMVXREF.
              READ TABLE I_ZMVXREF INTO WA_ZMVXREF
                          WITH KEY D_ALTKN = WA_RECORD-LIFNR
                                   D_BUKRS = P_BUKRS
                          BINARY SEARCH.
              IF SY-SUBRC EQ 0.
                PERFORM BDC_FIELD   USING 'EKKO-LIFNR'
                                           WA_ZMVXREF-M_ALTKN.
              ENDIF.
              CLEAR WA_ZMVXREF.
            ENDIF.
            CLEAR WA_T024E.
            PERFORM BDC_FIELD       USING 'RM06E-EVART'
                                          WA_RECORD-EVART.
            PERFORM BDC_FIELD       USING 'EKKO-EKORG'
                                          WA_RECORD-EKORG.
            PERFORM BDC_FIELD       USING 'EKKO-EKGRP'
                                          WA_RECORD-EKGRP.
            PERFORM BDC_FIELD       USING 'RM06E-WERKS'
                                          WA_RECORD-WERKS.
            PERFORM BDC_FIELD       USING 'RM06E-LGORT'
                                          WA_RECORD-LGORT.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0201'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'EKKO-KTWRT'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=AB'.
            PERFORM CONVERT_DATE USING WA_RECORD-KDATB V_CONV_DATE.
            PERFORM BDC_FIELD       USING 'EKKO-KDATB'
                                          V_CONV_DATE.
            PERFORM CONVERT_DATE USING WA_RECORD-KDATE V_CONV_DATE.
            PERFORM BDC_FIELD       USING 'EKKO-KDATE'
                                          V_CONV_DATE.
            PERFORM BDC_FIELD       USING 'EKKO-ZTERM'
                                          WA_RECORD-ZTERM.
            PERFORM BDC_FIELD       USING 'EKKO-KTWRT'
                                            WA_RECORD-KTWRT.
            VEN_FLAG = 1.
            L_MAT_INDEX = 1. "index for table-control of material
          ENDIF.
    *          "first check for itemline
          IF  WA_RECORDPREV-EPSTP NE WA_RECORD-EPSTP
           OR WA_RECORDPREV-EMATN NE WA_RECORD-EMATN
           OR WA_RECORDPREV-KTMNG NE WA_RECORD-KTMNG
           OR WA_RECORDPREV-NETPR NE WA_RECORD-NETPR
           OR WA_RECORDPREV-PEINH NE WA_RECORD-PEINH
           OR WA_RECORDPREV-BPRME NE WA_RECORD-BPRME
           OR WA_RECORDPREV-IDNLF NE WA_RECORD-IDNLF
           OR WA_RECORDPREV-WEBRE NE WA_RECORD-WEBRE
           OR WA_RECORDPREV-MEPRF NE WA_RECORD-MEPRF
           OR WA_RECORDPREV-LTEX1 NE WA_RECORD-LTEX1
           OR VEN_FLAG EQ 1.
            V_IND = L_MAT_INDEX.
            IF V_IND GT 1.
              V_IND = 2.
            ENDIF.
            CONCATENATE 'RM06E-EVRTP(' V_IND ')' INTO V_EVRTP1.
            CONCATENATE 'RM06E-EPSTP(' V_IND ')' INTO V_EPSTP1.
            CONCATENATE 'EKPO-EMATN(' V_IND ')' INTO V_EMATN1.
            CONCATENATE 'EKPO-KTMNG(' V_IND ')' INTO V_KTMNG1.
            CONCATENATE 'EKPO-NETPR(' V_IND ')' INTO V_NETPR1.
            CONCATENATE 'EKPO-PEINH(' V_IND ')' INTO V_PEINH1.
            CONCATENATE 'EKPO-BPRME(' V_IND ')' INTO V_BPRME1.
            CONCATENATE 'RM06E-TCSELFLAG(' V_IND ')' INTO V_TCSELFLAG1.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0220'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=NP'.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0220'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          V_EVRTP1.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=DETA'.
            PERFORM BDC_FIELD       USING V_EPSTP1
                                          WA_RECORD-EPSTP.
            PERFORM BDC_FIELD       USING V_EMATN1
                                          WA_RECORD-EMATN.
            PERFORM BDC_FIELD       USING V_KTMNG1
                                          WA_RECORD-KTMNG.
            PERFORM BDC_FIELD       USING V_NETPR1
                                          WA_RECORD-NETPR.
            PERFORM BDC_FIELD       USING V_PEINH1
                                          WA_RECORD-PEINH.
            PERFORM BDC_FIELD       USING V_BPRME1
                                          WA_RECORD-BPRME.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0211'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'EKPO-WEBRE'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=DETZ'.
            PERFORM BDC_FIELD       USING 'EKPO-IDNLF'
                                          WA_RECORD-IDNLF.
            TRANSLATE WA_RECORD-EVART TO UPPER CASE.
            IF WA_RECORD-EVART EQ C_WK.
              PERFORM BDC_FIELD       USING 'EKPO-WEBRE' 'X'.
            ENDIF.
            PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0212'.
            PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                          'EKPO-MEPRF'.
            PERFORM BDC_FIELD       USING 'BDC_OKCODE'
                                          '=TXP'.
            PERFORM BDC_FIELD       USING 'EKPO-MEPRF'
                                          WA_RECORD-MEPRF.
            IF NOT WA_RECORD-LTEX1 IS INITIAL. "NE space.
              PERFORM BDC_DYNPRO      USING 'SAPMM06E' '0106'.
              PERFORM BDC_FIELD       USING 'BDC_CURSOR'
                                            'RM06E-SELKZ(02)'.
              PERFORM BDC_FIELD 

  • Break sap standard role into two sub roles

    hi,
    i have one SAP standard role. now i want to break this role into two  sub roles. how shall do it.
    please suggest me.
    regards
    ramesh
    Edited by: Ramesh Sammiti on Jul 31, 2008 11:00 AM

    Hi Ramesh,
    When you say that you want to split the SAP Standard role into two roles:
    1.Do you mean to say that you want to split the transactions and authorization data of the SAP Standard role into two separate Z* or Y* roles?
    2.Do you want to copy the SAP Standard role into two different Z* or Y* roles and then modify the authorization data according to your company's requirements?
    In the above two scenarios you must copy the SAP Standard role into Z* or Y* roles in PFCG transaction with the appropriate naming convention and make necessary changes in both the transaction data and the authorization data.
    Please be clear which SAP Standard role you are willing to split into roles and i can provide more details.
    Hope this helps.
    Regards,
    Kiran Kandepalli

  • Import Hierarchies into Essbase Studio

    Hi all,
    I am running Essbase Studio 11.1.1.3.00.I have exported hierarchies into text files from an EAS database. I want to use the files to create the hierarchies in Studio. Is this possible and how can I do it?
    Thanks in advance.

    Sorry I slightly misunderstood. If you are talking about an export, then it will not give you what you need. You would have to get the hierarchies from your Essbase model. Options for doing that would be
    ODI,
    the outline extractor available at appliedOlap.com (there is also one from Star Analytics that I don't remember the name of)
    or from the API.
    Each of the dimension extracts would have to be in a format acceptable to Studio like Parent child. You would have to include all the properties of each member to get it to build properly. Then you could load your data (either from within studio or with just a load rule.

  • SSM 7.0 - Copy SAP BI data into PAS or Create Dim. Model viewing BI Data

    I am using SSM 7.0 with SAP BI.  Is there some best practice / direction / comments on making a decision between:
    #1 - Duplicate SAP BI data into PAS Dimensional Model
    - Create an InfoCube in SAP BI
    - Create the model connection required by BI Connection
    - Copy the required SAP BW/BI InfoCube information into a PAS Model using the BI Connector
    - Create KPIs based on this model connection
    or
    #2 - Make SAP BI data visible in PAS Dimensional Model (no data stored in PAS)
    - Create an InfoCube in SAP BI
    - Create a Dimensional Model based on this InfoCube using a Link ID and the SCHEMA commands
    - Create a model connection to make data in InfoCube available in SSM
    - Create KPIs based on this model connection
    My thinking is that if the volume of data is low then not actually having to go to the trouble of duplicating the data in SSM would work well - with the benefit that the information is updated as soon as the SAP BI InfoCube is updated.
    (At the moment I have tried #2 but so far not failed to create an KPIs - I am wondering if the Key Figures in the InfoCube need to use a particular naming standard)

    Hi Mark,
    See the link below for a Best practice document that is available here in SDN. Although you can use queries that already exist in BW, it is usually better to create new queries adjusted to the kind of information you want to provide in SM. There are a few rules you need to follow when creating such queries, but there is actually no naming convention for its Key-Figures.
    [Best Practiceu2026 The BI Connector in SSM 7.0|https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/701b8da0-3135-2b10-929d-936e43164b06]
    Hope this helps!
    Ricardo

  • Can any body tell me how to pull SAP-CRM data into BW

    Hi BW guru`s,
    Does anybody tell me how to pull SAP-CRM data into BW.
    Is there any configuaration setings takes place in CRM system or BW system?
    Provide few of CRM datasources names (Transaction data Datasources)
    Please explain indetail and give some examples.
    Thanks in advance,
    venkat

    Hi.......
    SAP CRM uses BW Adapter to extract data from SAP CRM and send it to SAP Business Information Warehouse and SAP NetWeaver Business Intelligence. For mBDocs, BW Adapter extracts objects for CRM business transactions and CRM billing use the BAdI CRM_BWA_MFLOW. However, in releases prior to SAP CRM 2005, after using transaction code RSA5 to activate business content in SAP CRM, you must use transaction code BWA5 to activate the business content for the BW Adapter.
    Check this link :
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/f2910623-0c01-0010-de8f-d1926988a986
    Hope this helps you.........
    Regards,
    Debjani........

  • Guideline Performance Initial Download from SAP for Utility into SAP CRM

    Hello,
    Please find below a link (valid for 10 weeks) to the document Guideline Performance Initial Download from SAP for Utilities into SAP CRM. The document is also published in the SAP Service Market Place at http://service.sap.com/utilities. Then choose Technical Information Center - Migration.
    The purpose of the document is to give guidelines as well as to share experience for an efficient and high performance execution of an initial download from an SAP for Utilities system to an SAP CRM system, such as:
    - Configuration of the initial download
    - Ensure optimum performance for the initial download of the relevant business objects
    - Avoid unnecessary business data being downloaded
    - Monitoring of the initial download and taking corrective actions in case of problems
    - Handle errors occurring during the initial download of business objects
    - Minimize performance bottlenecks
    The document explains the setup and configuration of the SAP for Utilities and SAP CRM systems only if necessary for the understanding of the solution of a described performance problem. This document does not cover the performance optimization of the delta down- and upload and the synchronization download.
    The document has the following structure:
    Chapter 1 describes the basics of an initial download
    Chapter 2 describes how to plan and execute tests to achieve an acceptable performance
    Chapter 3 describes the most important technical activities to prepare the involved systems
    Chapter 4 describes the most important functional activities to prepare the involved system
    Chapter 5 describes how to perform an initial download
    Chapter 6 describes measures to improve the performance of an initial download
    Chapter 7 provides a list of important repository tables
    Chapter 8 contains a list of important SAP Notes related to initial download
    I'd highly appreciate your valuable feedback on this document.
    Kind regards,
    Fritz
    Edited by: William Eastman on Feb 17, 2011 2:34 PM

    Hi Fritz,
    sorry for the late late reply but I didn't notice your answer.
    Here are my answers:
    (1) I monitored the behaviour on the CRM system, CRM 7.0, SP5
    (2) The change should be implemented in the CRM system
    (3) Deactivate buffering for scenarios marketing, sale and service via SM30 and table T770MATTR.
    By doing this the initial load of 3.2 million business agreements took around 2 hours, with activated scenario buffering I was at least ten times slower.
    After the initial load you have to activate the buffering again.
    Interesting to know would be why the scenario buffering only affects the initial load of business agreements and no other object. As far as I know the scenario buffering is relevant for the organizational management.
    Regards
    Alexander

  • SAP Query  hierarchically

    Hello guys,
    I am trying to create a SAP Query from a join of 2 tables. One of them contains some document header, the other one, for that header several rows.
    I would like to display the Query for that join, with alv grid or a abap list, or something... but  hierarchically. First the info from the header, then (maybe indented) the multiple rows regarding that header.
    Is there any way i cand do that?
    Thanks,
    Andrew

    try this:
    REPORT ytest .
    TYPE-POOLS: SLIS.
    TYPES: BEGIN OF TY_VBAK,
    VBELN TYPE VBELN,
    ERDAT TYPE ERDAT,
    NETWR TYPE NETWR,
    WAERK TYPE WAERK,
    END OF TY_VBAK.
    TYPES: BEGIN OF TY_VBAP,
    VBELN TYPE VBELN,
    POSNR TYPE POSNR,
    ARKTX TYPE ARKTX,
    NETWR TYPE NETWR,
    END OF TY_VBAP.
    DATA: W_VBAK TYPE TY_VBAK.
    DATA: T_VBAK TYPE STANDARD TABLE OF TY_VBAK INITIAL SIZE 1.
    DATA: W_VBAP TYPE TY_VBAP.
    DATA: T_VBAP TYPE STANDARD TABLE OF TY_VBAP INITIAL SIZE 1.
    DATA: W_FCAT TYPE SLIS_FIELDCAT_ALV.
    DATA: T_FCAT TYPE SLIS_T_FIELDCAT_ALV.
    CONSTANTS: C_VBAK TYPE SLIS_TABNAME VALUE ‘W_VBAK’.
    CONSTANTS: C_VBAP TYPE SLIS_TABNAME VALUE ‘W_VBAP’.
    DATA: W_KEYINFO TYPE SLIS_KEYINFO_ALV.
    W_KEYINFO-HEADER01 = ‘VBELN’.
    W_KEYINFO-ITEM01 = ‘VBELN’.
    W_FCAT-COL_POS = 1.
    W_FCAT-FIELDNAME = ‘VBELN’.
    W_FCAT-SELTEXT_M = ‘ORDER NO’.
    W_FCAT-TABNAME = ‘W_VBAK’.
    APPEND W_FCAT TO T_FCAT.
    W_FCAT-COL_POS = 2.
    W_FCAT-FIELDNAME = ‘ERDAT’.
    W_FCAT-SELTEXT_M = ‘DATE’.
    W_FCAT-TABNAME = ‘W_VBAK’.
    APPEND W_FCAT TO T_FCAT.
    W_FCAT-COL_POS = 3.
    W_FCAT-FIELDNAME = ‘NETWR’.
    W_FCAT-SELTEXT_M = ‘ORDER VALUE’.
    W_FCAT-TABNAME = ‘W_VBAK’.
    APPEND W_FCAT TO T_FCAT.
    W_FCAT-COL_POS = 4.
    W_FCAT-FIELDNAME = ‘POSNR’.
    W_FCAT-SELTEXT_M = ‘ITEM NO’.
    W_FCAT-TABNAME = ‘W_VBAP’.
    APPEND W_FCAT TO T_FCAT.
    W_FCAT-COL_POS = 5.
    W_FCAT-FIELDNAME = ‘ARKTX’.
    W_FCAT-SELTEXT_L = ‘DESCRIPTION’.
    W_FCAT-TABNAME = ‘W_VBAP’.
    APPEND W_FCAT TO T_FCAT.
    W_FCAT-COL_POS = 6.
    W_FCAT-FIELDNAME = ‘NETWR’.
    W_FCAT-SELTEXT_M = ‘ITEM VALUE’.
    W_FCAT-TABNAME = ‘W_VBAP’.
    APPEND W_FCAT TO T_FCAT.
    SELECT-OPTIONS: ORDNO FOR W_VBAP-VBELN.
    &——–SELEC HEADER DATA AND SORT——————————-
    SELECT VBELN ERDAT NETWR FROM VBAK
    INTO CORRESPONDING FIELDS OF TABLE T_VBAK
    WHERE VBELN IN ORDNO.
    SORT T_VBAK BY VBELN.
    &——–SELEC ITEM DATA AND SORT——————————-
    SELECT VBELN POSNR ARKTX NETWR FROM VBAP
    INTO CORRESPONDING FIELDS OF TABLE T_VBAP.
    SORT T_VBAP BY POSNR.
    &———’REUSE_ALV_HIERSEQ_LIST_DISPLAY’———————-
    CALL FUNCTION ‘REUSE_ALV_HIERSEQ_LIST_DISPLAY’
    EXPORTING
    IT_FIELDCAT = T_FCAT
    I_TABNAME_HEADER = C_VBAK
    I_TABNAME_ITEM = C_VBAP
    IS_KEYINFO = W_KEYINFO
    TABLES
    T_OUTTAB_HEADER = T_VBAK
    T_OUTTAB_ITEM = T_VBAP.
    reward if useful

  • DCOM error "1260" on Windows 2008 R2 terminal server when SAP exports data into Office 2007 (Excel or Word)

    Hi all,
    We are experiencing an issue which happens at random whenever a user tries to export data from SAP into Excel or Word.  Excel or Word is started but remain empty.  We then see the below errors in the event log.  And the problem is very random
    as sometimes all they have to do is wait 10 minutes and the next try will be successful.  Not even log off/on.  Could someone tell me what the error "1260" is saying?     thanks for your help.
    Pete
    Log Name:      System
    Source:        Microsoft-Windows-DistributedCOM
    Date:          7/23/2013 4:07:36 PM
    Event ID:      10000
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      Servername.domain.com
    Description:
    Unable to start a DCOM Server: {00020906-0000-0000-C000-000000000046}. The error:
    "1260"
    Happened while starting this command:
    "C:\Program Files (x86)\Microsoft Office\Office12\WINWORD.EXE" -Embedding
    Log Name:      System
    Source:        Microsoft-Windows-DistributedCOM
    Date:          7/23/2013 3:54:34 PM
    Event ID:      10000
    Task Category: None
    Level:         Error
    Keywords:      Classic
    User:          N/A
    Computer:      Servername.domain.com
    Description:
    Unable to start a DCOM Server: {00024500-0000-0000-C000-000000000046}. The error:
    "1260"
    Happened while starting this command:
    "C:\Program Files (x86)\Microsoft Office\Office12\EXCEL.EXE" /automation -Embedding

    Hi,
    Based on my research, please try the following:
    Click Start, click Run, type regedit in the Open box, and then click OK.
    Locate the following registry subkey:
    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\termsrv
    Under this subkey, add the following registry entries:
    Name
    Type
    Value data
    Logoff
    REG_SZ
    TSEventLogoff
    Logon
    REG_SZ
    TSEventLogon
    Restart the Terminal Server computer.
    Note: Serious problems might occur if you modify the registry incorrectly. Therefore, make sure that you follow these steps carefully. For added protection, back up the registry
    before you modify it. Then, you can restore the registry if a problem occurs. For more information about how to back up and restore the registry, please refer to
    How to back up and restore the registry in Windows.
    Hope this helps.
    Best Regards
    Jeremy Wu

  • Help needed -- Considerations to be taken while migrating 2 different SCCM 2007 hierarchies into a single SCCM 2012 Hierarchy.

    Hi, I need your help on consolidating two different SCCM 2007 infrastructures into a single SCCM 2012.
    We have two different SCCM 2007 Hierarchies, Lets say 123 and ABC
    About 123 SCCM 2007 -- On 123 Hierarchy, we have already started migrating clients from SCCM 2007 to SCCM 2012.
    About ABC SCCM 2007 -- On ABC Hierarchy, This is still running on SCCM 2007 (This hierarchy only be started migrating once                                      we
    are completed migration on 123)
    Out of which, we have few co located offices across the globe for both 123 and ABC. Now we are decided to replace the hardware on all these locations by removing the existing two servers (one for 123 and other for ABC,with two different Forest and domains),
    and consolidate them into a single server.how can we plan/design to ensure that we covering both hierarchies SCCM clients for the operations.
    ===================Below are some possibilities we are discussing on================================
    1.Is there any way on "System management" in AD to enable access either in 123's domain or ABC's domain.
    2.Since we are planning to replace the hardware with Server 2012 R2 with Hyper-V, Create two instances and migrate 123 hierarchy to SCCM 2012 and other instance will serve ABC until we start the migration on this.
    ========================================================================================
    correct me, If i am in wrong direction. Please suggest me the best of doing it. Thanks in advance.
    srkr

    1) In CM 2012 you can publish data to System Management in other forest but you have to configure the permissions manually and create the forest object in the ConfigMgr console.
    2) CM07 and CM2012 instances can co-exist as long as you don't create boundary groups in CM12 for site assignment (that will cause overlapping boundaries if you still have boundaries in Cm07)
    Kent Agerlund | My blogs: blog.coretech.dk and
    SCUG.DK | Twitter: @Agerlund | Linkedin:
    Kent Agerlund

  • Moving OTC processes from SAP R/3 into SAP CRM 5.0

    Hi all,
    A SAP CRM client that I am currently working on have decided to extend the project scope and now want to move all their existing OTC processes from R/3 to CRM 5.0. Their system is heavily bespoked with a high level of user exits, as during the initial implementation they preferred to use more ABAP than config although some of the functionality was available as standard. If they haven’t figured it out yet, I’m sure they’ll be asking themselves soon whose clever idea that was. They have over 1m customer records with a low transaction volume per customer per year, configurable products, complex pricing and use Biller Direct, just to mention a few.
    Has anyone got any experience in doing this previously? Any issues, challenges or lessions learnt apart from the obvious ones?
    Thanks!
    J

    Seshu Mannepalli wrote:
    > As part of the upgrade we are going to do initial upgrade in the mock server and vendor is going to provide mock server with AIX 7.1 O/S.  Current database size is 100GB, hence we are going to copy the production server data into the mock server using export and import method,
    >
    > Here my doubt is can i install db9.7 directly and do the import (using compitable kernel)?, insteady of installing source database version 8.1 and later upgrading to db2 9.7 . Please clarify me whether can i go head and install the db2 9.7 and do the system copy using R3load.
    Hello,
    You can go ahead for IMPORT with DB 9.7.
    We completed an OS/DB Migration Project (which involves system copy using EXPORT/IMPORT) and we utilized direct newer version of DB2 on the target during IMPORT.
    But please confirm whether the kernel of your release would work fine with DB 9.7 or not. Otherwise, there is no problem in going for higher version of DB2 here.
    Small question -  Why you want to test the Mock Upgrade on DB2 version which is different than the current version on production server ? Or are you planning to upgrade your current DB2 8 to DB2 9.7 BEFORE the SAP Upgrade on all the servers - then the testing is OK I think (however OS is still the different - Or may be you will go for system copies for this too !)
    Thanks

  • How to Load Planning Adapter for SAP R/3 into DIM

    I'm sucessfully instaled Oracle-Hyperion Data Integration Managenet v.11.1.1.1, now i need to extract data from SAP R/3 and load it into a Planning application. I understand that i must use an adaptaer for Planning, i already have HyperionPlanning.reg file and other .reg and .jar files. At this point I don't know what i must do with this files and how can load planning adapters into Data Integration Management.
    I appreciate any information, there is not a lot information abour DIM in the web, even in the Oracle EPM Documentation site.
    My best regards,
    Melvin.

    hi,
    not very nice but and not really satisfying:
    if the users of the remote-users for the logon from the BWs onto the one R/3 differ you could use sy-uname to check what bw is extracting ...
    everything else is a bit more complex
    hth
    cheers
    sven

  • Want to convert Sap standard report  into alvgrid

    HI PLEASE HELP THIS IS CODE BELOW OF SAP STANDARD REPORT CODE  WANT TO CONVERT INTO ALVGRID
    LEAS HELP
    REPORT RFKOPR00
           MESSAGE-ID FR
           LINE-SIZE  132
           NO STANDARD PAGE HEADING.
    TABLES:   B0SG,
              LFA1,                        "Daten auf Mandantenebene
                LFB1,                      "Daten auf Buchungskreisebene
                  LFB5,                    "Mahndaten
                  LFC1,                    "Verkehrszahlen
                  LFC3,                    "Sonderumsätze
                  BSIK,                    "Offend Posten
                  BKPF,
                    BSEG,
                           BSEGA.
    TABLES:
              BHDGD,
              T001,
              T001S,
              *T001S,
              T074T,
              T074U,
              TBSL,
              TBSLT,
              TCURX,
              ADRS,
              RFPDO,
              RFPDO1,
              RFSDO,
              FAEDE.
    FIELD-SYMBOLS: .
    *Hilfsfelder
    *---Prüfung ob mehrere Hauswährungen verarbeitet werden.
    DATA:    CFAKT(3)      TYPE P,
             CHECKSALDO(8) TYPE P,
             CHECKAGOBL(8) TYPE P,
             WAERS LIKE T001-WAERS,
             WFLAG(1) TYPE P VALUE '0',
             WAERS2        LIKE T001-WAERS,
             WFLAG2(1)     TYPE P VALUE '0',
             PH-LINE(132)  TYPE C.
    *---Ermittlung aktuelles Geschäftsjahr über Funktionsbaustein.
    DATA: CURRY LIKE BSIK-GJAHR.
    *-Ermittlung Zahlungseingang bei Zahlungen mit Skontoabzug--
    *ATA: ZVTAGE LIKE KNB4-VZS01, "Verzugstage
        ZVSKONTO(8) TYPE P,     "Zahlungsvolumen bei Zahlung mit Skonto
        ZVNETTO(8)  TYPE P,     "Zahlungsvolumen bei Nettozahlung
        ZVVERZUG(8) TYPE P,     "Verzugstage
        ZVMALVZ(8)  TYPE P,     "Zahlungvolumen * Verzugstage
                                "KNB4-VZSxx)
        ZVTYP(1)    TYPE C,     "Skonto oder Nettozahler
        ZVPER(4)    TYPE C.     "Periode letze Zahlung
    *---Zeilenanzahl fü Adressausgabe -
    DATA: ZEILENANZAHL LIKE ADRS-ANZZL VALUE 7.
    DATA: KSALDO(6)  TYPE P.               "Saldovortrag
        BEABZUG(6) TYPE P,                   "Berechtigte Abzüge
        UBABZUG(6) TYPE P,                   "Unberechtigte Abzüge
        JAHRAUG(6) TYPE P,                   "Kumulierter Jahresausgleich
        KUMZINS(6) TYPE P.                   "Kumulierter Zins
    Ausgabe der Mahndaten pro Buchungskreis.
    DATA: INDEX(2) TYPE P VALUE 0.
    Hilfsfelder
    DATA: HF(1)    TYPE C.
    DATA: TXT_1(78) TYPE C,                "Mahnbereich
          TXT_2(78) TYPE C,                "Mahnart
          TXT_3(78) TYPE C,                "Mahnempfänger
          TXT_4(78) TYPE C,                "Mahndatum
          TXT_5(78) TYPE C,                "Mahnstufe
          TXT_6(78) TYPE C,                "Mahnsperre
          TXT_7(78) TYPE C,                "Mahnverfahren
          TXT_8(78) TYPE C.                "Sachbearbeiter
    DATA: BEGIN OF XMAHN OCCURS 10.
            INCLUDE STRUCTURE LFB5.
    DATA: END OF XMAHN.
    Hilfsfelder
    DATA: CHAR1(1)   TYPE C.
    DATA: FLAG1(1)   TYPE C.
    DATA: INTENS(1)  TYPE C.
    DATA: FLAG2(1)   TYPE C.
    *---- K o n s t a n t e n -
    *---- DNULL zum Vergleich mit Datumsfeldern -
    DATA: DNULL(8) TYPE C VALUE '00000000'.
    *---- DECKBLATT = 'N' ==> Kein Deckblatt bei NEW-SECTION -
    DATA: DECKBLATT TYPE C VALUE 'N'.
    *---- 'H' =   Hilfsfelder, die jederzeit fuer Berechnungen ver-  -
    *---- wendet werden koennen. -
    DATA: BEGIN OF H,
            STICHTAG(8),
            OFFSET(2) TYPE P,
            OFFSE1(2) TYPE P,
            SOLL      LIKE LFC1-UM01S,
            HABEN     LIKE LFC1-UM01H,
            SALDO     LIKE LFC1-UMSAV,
            SHBKZ     LIKE LFC3-SHBKZ,     "Sonderhauptbuchkennzeichen
            SALDV     LIKE LFC3-SALDV,     "Sonderhauptbuch-Saldovortrag
            SHBLS     LIKE LFC3-SOLLL,     "Sonderhauptbuch-Lfd.-Saldo
            SHBSL     LIKE LFC3-SOLLL,     "Sonderhauptbuch-Lfd.-SOLL
            SHBHB     LIKE LFC3-HABNL,     "Sonderhauptbuch-Lfd.-HABEN
          GBNUM     LIKE lfC1-GBN01,    "Geschaeftsber. Nummer ECKERT
          GBUMS     LIKE lfC1-GBU01,    "Geschaeftsber. Umsatz
            TEXT(15),
            UMLOW     LIKE BSIK-UMSKZ,     "Umsatzkennzeichen
            UMHIG     LIKE BSIK-UMSKZ,     "Umsatzkennzeichen
          END   OF H.
    ---- 'C' =   Zwischenergebnisse, die aus Feldern des C-Segmentes ---
    *---- berechnet werden. -
    DATA: BEGIN OF C,
            SALDO     TYPE P,              "Saldo
            UMKZ1     LIKE LFC3-SHBKZ,     "SHBKZ 1
            SUMS1     TYPE P,              "Sonderumsatz 1
            UMKZ2     LIKE LFC3-SHBKZ,     "SHBKZ 2
            SUMS2     TYPE P,              "Sonderumsatz 2
            UMKZ3     LIKE LFC3-SHBKZ,     "SHBKZ 3
            SUMS3     TYPE P,              "Sonderumsatz 3
            UMKZ4     LIKE LFC3-SHBKZ,     "SHBKZ 4
            SUMS4     TYPE P,              "Sonderumsatz 4
            UMKZ5     LIKE LFC3-SHBKZ,     "SHBKZ 5
            SUMS5     TYPE P,              "Sonderumsatz 5
            UMKZ6     LIKE LFC3-SHBKZ,     "SHBKZ 6
            SUMS6     TYPE P,              "Sonderumsatz 6
            UMKZ7     LIKE LFC3-SHBKZ,     "SHBKZ 7
            SUMS7     TYPE P,              "Sonderumsatz 7
            UMKZ8     LIKE LFC3-SHBKZ,     "SHBKZ 8
            SUMS8     TYPE P,              "Sonderumsatz 8
            UMKZ9     LIKE LFC3-SHBKZ,     "SHBKZ 9
            SUMS9     TYPE P,              "Sonderumsatz 9
            UMKZ10    LIKE LFC3-SHBKZ,     "SHBKZ 10
            SUMS10    TYPE P,              "Sonderumsatz 10
            SONOB     TYPE P,              "Sonstige Umsatz-Kz
            BABZG     TYPE P,              "Berechtigte Abzuege
            UABZG     TYPE P,              "Unberechtigte Abzuege
            KZINS     TYPE P,              "Zinszahlungen
            KUMUM     TYPE P,              "Umsatz
            KUMAG     TYPE P,              "Kum. Jahresausgleich
          KREUEB    TYPE P,         "Kreditueberschreitung
          AGOBLI    TYPE P,         "Gesamt-Obligo (absolut)
            AGOBLI LIKE LFC1-UMSAV,        "Gesamt-Obligo (absolut)
          RGOBLI    TYPE P,         "Gesamt-Obligo (relativ)
          LFTAGE(3) TYPE P,         "Langfristige Überzugstage
          MFTAGE(3) TYPE P,         "Mittelfristige Überzugstage
          KFTAGE(3) TYPE P,         "Kurzfristige Überzugstage
          END   OF C.
    ---- 'C2'=   Zwischenergebnisse, die aus Feldern des C-Segmentes ---
    *---- berechnet werden. -
    DATA: BEGIN OF C2 OCCURS 0,
            BUKRS     LIKE LFC1-BUKRS,
            SALDO     TYPE P,              "Saldo
          WEXOB     TYPE P,         "Wechsel-Obligo        W,S,B
          ANZOB     TYPE P,         "Anzahlungs-Obligo     A
          ZANFB     TYPE P,         "Zahlungs-Anforderung  F
            UMKZ1     LIKE LFC3-SHBKZ,     "SHBKZ 1
            SUMS1     TYPE P,              "Sonderumsatz 1
            UMKZ2     LIKE LFC3-SHBKZ,     "SHBKZ 2
            SUMS2     TYPE P,              "Sonderumsatz 2
            UMKZ3     LIKE LFC3-SHBKZ,     "SHBKZ 3
            SUMS3     TYPE P,              "Sonderumsatz 3
            UMKZ4     LIKE LFC3-SHBKZ,     "SHBKZ 4
            SUMS4     TYPE P,              "Sonderumsatz 4
            UMKZ5     LIKE LFC3-SHBKZ,     "SHBKZ 5
            SUMS5     TYPE P,              "Sonderumsatz 5
            UMKZ6     LIKE LFC3-SHBKZ,     "SHBKZ 6
            SUMS6     TYPE P,              "Sonderumsatz 6
            UMKZ7     LIKE LFC3-SHBKZ,     "SHBKZ 7
            SUMS7     TYPE P,              "Sonderumsatz 7
            UMKZ8     LIKE LFC3-SHBKZ,     "SHBKZ 8
            SUMS8     TYPE P,              "Sonderumsatz 8
            UMKZ9     LIKE LFC3-SHBKZ,     "SHBKZ 9
            SUMS9     TYPE P,              "Sonderumsatz 9
            UMKZ10    LIKE LFC3-SHBKZ,     "SHBKZ 10
            SUMS10    TYPE P,              "Sonderumsatz 10
            SONOB     TYPE P,              "Sonstige Umsatz-Kz
            BABZG     TYPE P,              "Berechtigte Abzuege
            UABZG     TYPE P,              "Unberechtigte Abzuege
            KZINS     TYPE P,              "Zinszahlungen
            KUMUM     TYPE P,              "Umsatz
            KUMAG     TYPE P,              "Kum. Jahresausgleich
          KREUEB    TYPE P,         "Kreditueberschreitung
          AGOBLI    TYPE P,         "Gesamt-Obligo (absolut)
            AGOBLI LIKE LFC1-UMSAV,        "Gesamt-Obligo (absolut)
          RGOBLI    TYPE P,         "Gesamt-Obligo (relativ)
            LFTAGE(3) TYPE P,              "Langfristige Überzugstage
            MFTAGE(3) TYPE P,              "Mittelfristige Überzugstage
            KFTAGE(3) TYPE P,              "Kurzfristige Überzugstage
            ZVTYP(1)    TYPE C,            "Flag Skonto oder Nettozahler
            ZVPER(6)    TYPE C,            "letze Zahlungsperiode
            ZVVERZUG(8) TYPE P,            "Durchschittliche Verzugst
          END   OF C2.
    ---- 'C3'=   Zwischenergebnisse, die aus Feldern des C-Segmentes ---
    *---- berechnet werden. -
    DATA: BEGIN OF C3,
            SALDO     TYPE P,              "Saldo
          WEXOB     TYPE P,         "Wechsel-Obligo        W,S,B
          ANZOB     TYPE P,         "Anzahlungs-Obligo     A
          ZANFB     TYPE P,         "Zahlungs-Anforderung  F
            UMKZ1     LIKE LFC3-SHBKZ,     "SHBKZ 1
            SUMS1     TYPE P,              "Sonderumsatz 1
            UMKZ2     LIKE LFC3-SHBKZ,     "SHBKZ 2
            SUMS2     TYPE P,              "Sonderumsatz 2
            UMKZ3     LIKE LFC3-SHBKZ,     "SHBKZ 3
            SUMS3     TYPE P,              "Sonderumsatz 3
            UMKZ4     LIKE LFC3-SHBKZ,     "SHBKZ 4
            SUMS4     TYPE P,              "Sonderumsatz 4
            UMKZ5     LIKE LFC3-SHBKZ,     "SHBKZ 5
            SUMS5     TYPE P,              "Sonderumsatz 5
            UMKZ6     LIKE LFC3-SHBKZ,     "SHBKZ 6
            SUMS6     TYPE P,              "Sonderumsatz 6
            UMKZ7     LIKE LFC3-SHBKZ,     "SHBKZ 7
            SUMS7     TYPE P,              "Sonderumsatz 7
            UMKZ8     LIKE LFC3-SHBKZ,     "SHBKZ 8
            SUMS8     TYPE P,              "Sonderumsatz 8
            UMKZ9     LIKE LFC3-SHBKZ,     "SHBKZ 9
            SUMS9     TYPE P,              "Sonderumsatz 9
            UMKZ10    LIKE LFC3-SHBKZ,     "SHBKZ 10
            SUMS10    TYPE P,              "Sonderumsatz 10
            SONOB     TYPE P,              "Sonstige Umsatz-Kz
            BABZG     TYPE P,              "Berechtigte Abzuege
            UABZG     TYPE P,              "Unberechtigte Abzuege
            KZINS     TYPE P,              "Zinszahlungen
            KUMUM     TYPE P,              "Umsatz
            KUMAG     TYPE P,              "Kum. Jahresausgleich
          KREUEB    TYPE P,         "Kreditueberschreitung
          AGOBLI    TYPE P,         "Gesamt-Obligo (absolut)
            AGOBLI LIKE LFC1-UMSAV,        "Gesamt-Obligo (absolut)
          RGOBLI    TYPE P,         "Gesamt-Obligo (relativ)
          LFTAGE(3) TYPE P,         "Langfristige Überzugstage
          MFTAGE(3) TYPE P,         "Mittelfristige Überzugstage
          KFTAGE(3) TYPE P,         "Kurzfristige Überzugstage
          ZVTYP(1)    TYPE C,       "Flag Skonto oder Nettozahler
          ZVPER(6)    TYPE C,       "letze Zahlungsperiode
          ZVVERZUG(8) TYPE P,       "Durchschittliche Verzugst
          END   OF C3.
    DATA: SHBETRAG LIKE BSEGA-DMSHB.       "TYPE P.
    *---- 'RTAB' = Rastertabelle fuer offene Posten -
    DATA: BEGIN OF RTAB OCCURS 30,
            SORTK(1)   TYPE C,             "0 = Summe Gesber
                                           "1 = Summe aller Gesber
                                           "2 = Umsatzdaten
            BUKRS LIKE BSIK-BUKRS,
            GSBER LIKE BSIK-GSBER,
            WAERS LIKE BSIK-WAERS,
            RAART TYPE C,                  "Rasterart
                                           "1 = Netto-Faelligkeit
                                           "2 = Skonto1-Faelligkeit
                                           "3 = Zahlungseingang
                                           "4 = Ueber-Faelligkeit
            SPERR TYPE P,                  "gesprrte Posten
            KUMUM TYPE P,                  "Umsatz
            ANZAH TYPE P,                  "Anzahlungen
            OPSUM TYPE P,                  "Offene Posten Summe
            RAST1 TYPE P,                  "Rasterfeld 1
            RAST2 TYPE P,                  "Rasterfeld 2
            RAST3 TYPE P,                  "Rasterfeld 3
            RAST4 TYPE P,                  "Rasterfeld 4
            RAST5 TYPE P,                  "Rasterfeld 5
            RAST6 TYPE P,                  "Rasterfeld 6
          END   OF RTAB.
    *---- 'RBUS' = Rastertabelle fuer Summen pro Sachbearbeiter -
    *ATA: BEGIN OF RBUS OCCURS 30,
          SORTK(1)   TYPE C,        "0 = Summe Gesber
                                    "1 = Summe aller Gesber
          BUKRS LIKE BSIk-BUKRS,
          GSBER LIKE BSIk-GSBER,
          WAERS LIKE BSIk-WAERS,
          RAART TYPE C,             "Rasterart
                                    "1 = Netto-Faelligkeit
                                    "2 = Skonto1-Faelligkeit
                                    "3 = Zahlungseingang
                                    "4 = Ueber-Faelligkeit
          KUMUM TYPE P,             "Umsatz
          ANZAH TYPE P,             "Anzahlungen
          OPSUM TYPE P,             "Offene Posten Summe
          RAST1 TYPE P,             "Rasterfeld 1
          RAST2 TYPE P,             "Rasterfeld 2
          RAST3 TYPE P,             "Rasterfeld 3
          RAST4 TYPE P,             "Rasterfeld 4
          RAST5 TYPE P,             "Rasterfeld 5
          RAST6 TYPE P,             "Rasterfeld 6
        END   OF RBUS.
    *---- 'RBUK' = Rastertabelle fuer Summen pro Buchungskreis  -
    DATA: BEGIN OF RBUK OCCURS 30,
            SORTK(1)   TYPE C,             "0 = Summe Gesber
                                           "1 = Summe aller Gesber
                                           "2 = Umsatzdaten
            BUKRS LIKE BSIK-BUKRS,
            GSBER LIKE BSIK-GSBER,
            WAERS LIKE BSIK-WAERS,
            RAART TYPE C,                  "Rasterart
                                           "1 = Netto-Faelligkeit
                                           "2 = Skonto1-Faelligkeit
                                           "3 = Zahlungseingang
                                           "4 = Ueber-Faelligkeit
            SPERR TYPE P,                  "gesprrte Posten
            KUMUM TYPE P,                  "Umsatz
            ANZAH TYPE P,                  "Anzahlungen
            OPSUM TYPE P,                  "Offene Posten Summe
            RAST1 TYPE P,                  "Rasterfeld 1
            RAST2 TYPE P,                  "Rasterfeld 2
            RAST3 TYPE P,                  "Rasterfeld 3
            RAST4 TYPE P,                  "Rasterfeld 4
            RAST5 TYPE P,                  "Rasterfeld 5
            RAST6 TYPE P,                  "Rasterfeld 6
          END   OF RBUK.
    ---- 'RSUM' = Rastertabelle pro Währung über alle Buchungskreise ---
    DATA: BEGIN OF RSUM OCCURS 30,
            SORTK(1)   TYPE C,             "0 = Summe Gesber
                                           "1 = Summe aller Gesber
          BUKRS LIKE BSIk-BUKRS,
          GSBER LIKE BSIk-GSBER,
            WAERS LIKE BSIK-WAERS,
            RAART TYPE C,                  "Rasterart
                                           "1 = Netto-Faelligkeit
                                           "2 = Skonto1-Faelligkeit
                                           "3 = Zahlungseingang
                                           "4 = Ueber-Faelligkeit
            SPERR TYPE P,                  "gesperrte Posten
            KUMUM TYPE P,                  "Umsatz
            ANZAH TYPE P,                  "Anzahlungen
            OPSUM TYPE P,                  "Offene Posten Summe
            RAST1 TYPE P,                  "Rasterfeld 1
            RAST2 TYPE P,                  "Rasterfeld 2
            RAST3 TYPE P,                  "Rasterfeld 3
            RAST4 TYPE P,                  "Rasterfeld 4
            RAST5 TYPE P,                  "Rasterfeld 5
            RAST6 TYPE P,                  "Rasterfeld 6
          END   OF RSUM.
    *---- interne Tabelle für Periodenabgrenzung----
    RANGES: BMONAT FOR RFPDO-DOPRBMON.
    ---- In die Felder RP01 bis RP05 werden dynamisch die von aussen ---
    *---- eingegebenen Rasterpunkte uebertragen -
    DATA: RP01(2)   TYPE P,                "   0
          RP02(2)   TYPE P,                "  20
          RP03(2)   TYPE P,                "  40
          RP04(2)   TYPE P,                "  80
          RP05(2)   TYPE P,                " 100
          RP06(3)   TYPE P,                "   1
          RP07(3)   TYPE P,                "  21
          RP08(3)   TYPE P,                "  41
          RP09(3)   TYPE P,                "  81
          RP10(3)   TYPE P.                " 101
    *---- In die Felder RC01 bis RC10 werden die Rasterpunkte in -
    ---- charakterform abgestellt. (fuer REPLACE-Funktion in Variabler -
    *---- Ueberschrift) -
    DATA: RC01(4)   TYPE C,                                     "  0
          RC02(4)   TYPE C,                "  20
          RC03(4)   TYPE C,                "  40
          RC04(4)   TYPE C,                "  80
          RC05(4)   TYPE C,                " 100
          RC06(4)   TYPE C,                "   1
          RC07(4)   TYPE C,                "  21
          RC08(4)   TYPE C,                "  41
          RC09(4)   TYPE C,                "  81
          RC10(4)   TYPE C.                " 101
    *---- Felder für Umsatzkennzeichen -
    *---- für Ausweis der Sonderumsätze----
    DATA: HUMKZ1    LIKE LFC3-SHBKZ,
          HUMKZ2    LIKE LFC3-SHBKZ,
          HUMKZ3    LIKE LFC3-SHBKZ,
          HUMKZ4    LIKE LFC3-SHBKZ,
          HUMKZ5    LIKE LFC3-SHBKZ,
          HUMKZ6    LIKE LFC3-SHBKZ,
          HUMKZ7    LIKE LFC3-SHBKZ,
          HUMKZ8    LIKE LFC3-SHBKZ,
          HUMKZ9    LIKE LFC3-SHBKZ,
          HUMKZ10   LIKE LFC3-SHBKZ.
    *---- GBZAEHL - In diesem Feld wird vermerkt, fuer wieviele Ge- -
    *----           schaeftsbereiche ein OP-Raster ausgegeben wird. -
    ----           Wird das Raster nur fuer einen Geschaeftsbereich ge- -
    *----           druckt, so entfaellt das Summen-Raster. -
    DATA: GBZAEHL(3) TYPE P.
    ---- TOP-FLAG '1' = bei TOP-OF-PAGE Einzelpostenueberschrift ausg. --
    *----          '2' = bei TOP-OF-PAGE Ueberschrift fuer Raster ausgeb. *
    *----          '3' = bei TOP-OF-PAGE ULINE ausgeben. -
    ----          '4' = bei TOP-OF-PAGE Stammsatzueberschrift ausgeben --
    DATA: TOP-FLAG(1) TYPE C.
    *---- SEL-STAMM  'J' = Stammsatz wird ausgewertet                     *
    *----            'N' = Stammsatz wird nicht ausgewertet               *
    *---- SEL-POSTN  'J' = Stammsatz hat Posten gerastert                 *
    *----            'N' = Stammsatz hat keine Posten gerastert           *
    DATA: BEGIN OF SEL,
            STAMM(1) TYPE C,
            POSTN(1) TYPE C,
            POST2(1) TYPE C,
          END   OF SEL.
    *---- SATZART  '1' = Stammdaten -
    *----          '2' = Faelligkeitsraster -
    *----          '3' = Einzelposten -
    DATA: SATZART(1) TYPE C.
    *---- RART  =  Erste ausgewaehlte Rasterart -
    DATA: RART(1)    TYPE C.
    *---- TAGE  =  Tage nach denen die Posten sortiert sind -
    DATA: TAGE(4)    TYPE P,
    *---- NTAGE =  Tage fuer Netto-Faelligkeit -
          NTAGE(4)   TYPE P,
    *---- STAGE =  Tage fuer Skonto1-Faelligkeit -
          STAGE(4)   TYPE P,
    *---- ATAGE =  Alter der Belege -
          ATAGE(4)   TYPE P,
    *---- UTAGE =  Tage fuer Ueber-Faelligkeit -
          UTAGE(4)   TYPE P.
    *---- RASTERUU dient zur Sortierung der Einzelposten. Die Posten -
    *----          gemaess ihrer Rasterung die Werte '1' bis '6' -
    DATA: RASTERUU(1) TYPE C.
    *---- RAART  Rasterart -
    ---- Die einzelnen Felder der Feldleiste werden bei SART-OF-SELECTION
    *---- mit 1 oder 0 bestueckt. -
    *ATA: BEGIN OF RAART,
          NET(1)   TYPE C,      "X = ausgewaehlt, ' ' = nicht ausgewaehlt
          SKT(1)   TYPE C,      "X = ausgewaehlt, ' ' = nicht ausgewaehlt
          UEB(1)   TYPE C,      "X = ausgewaehlt, ' ' = nicht ausgewaehlt
        END   OF RAART.
    DATA: BEGIN OF GB,
            GSBER  LIKE BSIK-GSBER,
            WAERS  LIKE BSIK-WAERS,
          END   OF GB.
    *---- Variable Ueberschriften -
    DATA: BEGIN OF VARUEB1,
            FELD1(45)   TYPE C,
            FELD2(14)   TYPE C,
            FELD3(14)   TYPE C,
            FELD4(14)   TYPE C,
            FELD5(14)   TYPE C,
            FELD6(14)   TYPE C,
            FELD7(14)   TYPE C,
          END   OF VARUEB1.
    DATA: BEGIN OF VARUEB2,
            FELD1(45)   TYPE C,
            FELD2(14)   TYPE C,
            FELD3(14)   TYPE C,
            FELD4(14)   TYPE C,
            FELD5(14)   TYPE C,
            FELD6(14)   TYPE C,
            FELD7(14)   TYPE C,
          END   OF VARUEB2.
    DATA: VARUEB3(132),
          VARUEB4(132),
          VARTXT1(40),
          VARTXT(40)  TYPE C.
    *---- Variable für Ausgabe der Sonderumsätze----
    DATA: SHBBEZ LIKE T074T-LTEXT.
    DATA: ASUMS  TYPE P.                                        "
    *---- Interne Tabelle für Bezeichnungen der SHBKZ----
    DATA: BEGIN OF BEZSHB OCCURS 10,
            SHBKZ LIKE T074T-SHBKZ,
            LTEXT LIKE T074T-LTEXT,
          END OF BEZSHB.
    *---- Interne Tabelle für Zwischenspeicherung -
    DATA: BEGIN OF BLKEY,
            BUKRS LIKE BSIK-BUKRS,
            BELNR LIKE BSIK-BELNR,
            GJAHR LIKE BSIK-GJAHR,
            BUZEI LIKE BSIK-BUZEI,
          END   OF BLKEY.
    DATA: BEGIN OF RTAGE,
            NTAGE LIKE NTAGE,
            STAGE LIKE STAGE,
            ATAGE LIKE ATAGE,
            UTAGE LIKE UTAGE,
         END   OF RTAGE.
    DATA: BEGIN OF HBSIK OCCURS 10.
            INCLUDE STRUCTURE BSIK.
            INCLUDE STRUCTURE BSEGA.
            INCLUDE STRUCTURE RTAGE.
    DATA: END   OF HBSIK.
    DATA: BEGIN OF REFBL OCCURS 10.
            INCLUDE STRUCTURE BLKEY.
            INCLUDE STRUCTURE RTAGE.
    DATA: END   OF REFBL.
    DATA: BEGIN OF HLFB1 OCCURS 10.
            INCLUDE STRUCTURE LFB1.
    DATA: END   OF HLFB1.
    DATA: BEGIN OF HT001 OCCURS 10.
            INCLUDE STRUCTURE T001.
    DATA: END   OF HT001.
    *---- Interne Tabelle für Ausgabe der Obligos -
    DATA: BEGIN OF AOBLIGO OCCURS 12,
            OBART TYPE C,             "Flag für Obligoart 1 = Kontokorrent
                                           "                   2 = SHBKZ
                                      "                   3 = sonstige SHB
            SHBKZ LIKE T074T-SHBKZ,        "SHB-Kennzeichen
            LTEXT LIKE T074T-LTEXT,        "Bezeichnung
            OBLIG TYPE P,                  "Obligobetrag
          END OF AOBLIGO.
    *---- Declarationen für Accessibility /ALV GRID -
    data: ACC_MODE type c.
    Data: UEBTEXT(22) type c.
    Data: UEKTEXT(15)  type c.
    Data: TITTEXT(100) type c.
    Data: DATTEXT(10) type c.
    DATA: BEGIN OF RTAB_ALV OCCURS 30,
          SORTK(1)   TYPE C,             "0 = Summe Gesber
                                         "1 = Summe aller Gesber
                                         "2 = Umsatzdaten
            BUKRS LIKE BSIk-BUKRS,
            lifnr LIKE LFA1-lifnr,
            busab like lfb1-busab,
            SORTL LIKE lfA1-SORTL,
            LAND1 LIKE lfA1-LAND1,
            GSBER LIKE BSIk-GSBER,
            WAERS LIKE BSIk-WAERS,
          hwaer like rf140-hwaer,
            RAART like RF140-RAART,        "Rasterart
          shkzg like bsik-shkzg,
          XGUTS TYPE C,                  "Gutschrift
            KUMUM LIKE RF140-KUMUMHW,      "Umsatz
            ANZAH like rf140-anzbthw,      "Anzahlungen
            OPSUM like RF140-gsaldd,       "Offene Posten Summe
            RAST1 like RF140-rast1,        "Rasterfeld 1
            RAST2 like RF140-rast2,        "Rasterfeld 2
            RAST3 like RF140-rast3,        "Rasterfeld 3
            RAST4 like RF140-rast4,        "Rasterfeld 4
            RAST5 like RF140-rast5,        "Rasterfeld 5
            RAST6 like RF140-rast6,        "Rasterfeld 6
          END   OF RTAB_ALV.
    *"General Data
    TYPE-POOLS: SLIS.
    *DATA: BEGIN OF GT_OUTTAB OCCURS 0.
           INCLUDE STRUCTURE rtab_alv.
    *DATA: END OF GT_OUTTAB.
    Data: GS_LAYOUT TYPE SLIS_LAYOUT_ALV,
         G_EXIT_CAUSED_BY_CALLER,
         GS_EXIT_CAUSED_BY_USER TYPE SLIS_EXIT_BY_USER,
          G_REPID LIKE SY-REPID,
          G_GRID_TITLE TYPE  LVC_TITLE.
    *"Callback
    *Data: GT_LIST_TOP_OF_PAGE TYPE SLIS_T_LISTHEADER,
         G_STATUS_SET   TYPE SLIS_FORMNAME VALUE 'PF_STATUS_SET',
    Data: G_USER_COMMAND TYPE SLIS_FORMNAME VALUE 'USER_COMMAND'.
         G_TOP_OF_PAGE  TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
         G_TOP_OF_LIST  TYPE SLIS_FORMNAME VALUE 'TOP_OF_LIST',
         G_END_OF_LIST  TYPE SLIS_FORMNAME VALUE 'END_OF_LIST'.
    *"Variants
    DATA: GS_VARIANT LIKE DISVARIANT,
          G_SAVE.
    Global structure of list
    fieldcatalog
    DATA:   LS_FIELDCAT TYPE SLIS_FIELDCAT_ALV.
    DATA:   GT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
    sort
    *DATA:   GT_SORT     TYPE SLIS_T_SORTINFO_ALV.
    events
    *DATA:   GT_EVENTS   TYPE SLIS_T_EVENT.
    *----- Structure for specific color settings -
    *DATA:   COL_TAB_T TYPE SLIS_T_SPECIALCOL_ALV,
           COL_TAB   TYPE SLIS_SPECIALCOL_ALV.
    DATA:   G_TABNAME TYPE SLIS_TABNAME VALUE 'RTAB_ALV'.
    print
    *DATA:   GS_PRINT    TYPE SLIS_PRINT_ALV.
    *---- FIELD-GROUPS                            -
    FIELD-GROUPS:
              HEADER,
              STAMMDATEN,
              OP-RASTER,
              EINZELPOSTEN.
    INSERT
      LFB1-BUKRS                           " Buchungskreis
    lfB1-BUSAB         " Sachbearbeiter
      LFA1-LIFNR                           " Kontonummer
      SATZART                              " Satzart
      RTAB-SORTK                           " Sortkz fuer Tabelle RTAB
                                           " '0' = normale Eintraege
                                           " '1' = Summeneintraege
      GB                                   " Geschaeftsbereich
                                           " - GB-GSBER
                                           " - GB-WAERS
      RASTERUU         " Kennzeichen fuer Detailposten bzw Raster
    ab hier nur fuer Einzelposten -
      TAGE                                 " Rastertage  fuer Detailposten
      BSIK-UMSKZ                           " Umsatzkennzeichen
      BSIK-BLART                           " Belegart
    BSIK-ZUONR         " Zuordnungsnummer
      BSIK-BELNR                           " Belegnummer
      BSIK-BUZEI                           " Belegzeile
    INTO HEADER.
    INSERT
    Addressdaten
      ADRS-LINE0                           " 1. Zeile Adressenaufbereitung
      ADRS-LINE1                           " 2. "     "
      ADRS-LINE2                           " 3. "     "
      ADRS-LINE3                           " 4. "     "
      ADRS-LINE4                           " 5. "     "
      ADRS-LINE5                           " 6. "     "
      ADRS-LINE6                           " 7. "     "
    ADRS-LINE7         " 8. "     "
    ADRS-LINE8         " 9. "     "
    ADRS-LINE9         " 10."     "
    Umsatzdaten
      C-KUMUM                              " Umsatz
    C-BABZG          " Berechtigt. Abzuege
    C-UABZG          " Unberechtigt. Abzuege
    C-KZINS          " Zinszahlungen
    C-KUMAG          " Kum. Jahresausgleich
    Obligos
      C-SALDO                              " Saldo ohne SHB-Vorgänge
      C-UMKZ1                              "SHBKZ 1
      C-SUMS1                              "Sonderumsatz 1
      C-UMKZ2                              "SHBKZ 2
      C-SUMS2                              "Sonderumsatz 2
      C-UMKZ3                              "SHBKZ 3
      C-SUMS3                              "Sonderumsatz 3
      C-UMKZ4                              "SHBKZ 4
      C-SUMS4                              "Sonderumsatz 4
      C-UMKZ5                              "SHBKZ 5
      C-SUMS5                              "Sonderumsatz 5
      C-UMKZ6                              "SHBKZ 6
      C-SUMS6                              "Sonderumsatz 6
      C-UMKZ7                              "SHBKZ 7
      C-SUMS7                              "Sonderumsatz 7
      C-UMKZ8                              "SHBKZ 8
      C-SUMS8                              "Sonderumsatz 8
      C-UMKZ9                              "SHBKZ 9
      C-SUMS9                              "Sonderumsatz 9
      C-UMKZ10                             "SHBKZ 10
      C-SUMS10                             "Sonderumsatz 10
      C-SONOB                              " Sonst. Obligen
    Limits
      C-AGOBLI                             " Absolutes Gesamtobligo
    Zahlungdaten
      LFB1-ZTERM                           "Zahlungsbedingung
      LFB1-ZAHLS                           "Sperrschlüssel für Zahlung
      LFB1-ZWELS                           "Zahlwege
      LFB1-XVERR                           "Zahlungsverrechnung
      LFB1-WEBTR                           "Wechsellimit
      LFB1-BUSAB                           " Sachbearbeiter
      lfa1-sortl
      lfa1-land1
    INTO STAMMDATEN.
    INSERT
      RTAB-RAART                           "Rasterart
      RTAB-SPERR                           "gesperrte Posten
      RTAB-KUMUM                           "Umsatz
      RTAB-ANZAH                           "Anzahlungen
      RTAB-OPSUM                           "Offene Posten Summe
      RTAB-RAST1                           "Rasterfeld 1
      RTAB-RAST2                           "Rasterfeld 2
      RTAB-RAST3                           "Rasterfeld 3
      RTAB-RAST4                           "Rasterfeld 4
      RTAB-RAST5                           "Rasterfeld 5
      RTAB-RAST6                           "Rasterfeld 6
    INTO OP-RASTER.
    INSERT
      BSIK-BUDAT                           " Buchungsdatum
      BSIK-BLDAT                           " Belegdatum
      BSIK-CPUDT                           " CPU-Datum
    BKPF-USNAM         " User-ID
      BSIK-WAERS                           " Wahrungsschluessel
      BSEGA-NETDT                          " Nettofaelligkeitsdatum
    FAEDE-NETDT        " Nettofaelligkeitsdatum
      BSIK-ZFBDT                           " Zahlungsfristen-Basisdatum
      BSIK-BSCHL                           " Buchungsschluessel
      BSIK-ZLSCH                           " Zahlungsschluessel
    BSIK-MANST         " Mahnstufe
      SHBETRAG                             " Hauswaehrungsbetrag
      BSEGA-DMSHB                          " Hauswaehrungsbetrag
      BSEGA-WRSHB                          " Fremwaehrungsbetrag
    INTO EINZELPOSTEN.
    BEGIN_OF_BLOCK 1.
    *ELECT-OPTIONS:
         GESBER   FOR BSIK-GSBER.
    PARAMETERS:
           MONAT    LIKE RFPDO-DOPRBMON.
    SELECT-OPTIONS:
           KKSALDO2 FOR RFSDO-KOPRSAL2,    "Saldovortrag
           AGOBLIG2 FOR RFSDO-KOPRAGO2.    "Absolutes Obligo
         RGOBLIGO FOR RFSDO-DOPRRGOB.          "Relatives Obligo
    SELECT-OPTIONS:
         LAND     FOR LFA1-LAND1,
         KONTENGR FOR LFA1-KTOKK,
         SACHBEAR FOR LFB1-BUSAB,
           AKONTS   FOR LFB1-AKONT,
           AKONTP   FOR BSIK-HKONT.
    SELECT-OPTIONS:
           BUDAT    FOR BSIK-BUDAT,
           BLDAT    FOR BSIK-BLDAT,
           NETDT    FOR BSEGA-NETDT.
    PARAMETERS:     N_BELEGE    LIKE RFPDO-BPETNBEL
                                       DEFAULT 'X',   "Normale Belege.
                    STAT_BLG    LIKE RFPDO-BPETSBEL.  "Statistische Belege
    END_OF_BLOCK 1.
    *ELECT-OPTIONS:
         BERABZU1 FOR LFC1-BABZG,
         UNBABZU1 FOR LFC1-UABZG,
         ZINSE1   FOR LFC1-KZINS,
         JHRAUSG1 FOR LFC1-KUMAG.
         BERABZUG FOR BEABZUG NO-DISPLAY,       "Berechtigter Abzug
         UNBABZUG FOR UBABZUG NO-DISPLAY,       "Unberechtigter Abzug
         ZINSEN   FOR KUMZINS NO-DISPLAY,       "Kumulierter Zins
         JHRAUSGL FOR JAHRAUG NO-DISPLAY.       "Kumulierter Jahresausgl.
    BEGIN_OF_BLOCK 2.
    PARAMETERS:
           SORTART  LIKE RFPDO1-KOPRSOAR DEFAULT '1',          "Doku
           VERDICHT LIKE RFPDO1-KOPRVERD DEFAULT '1',          "Doku
           RASTVERD LIKE RFPDO1-KOPRRAST DEFAULT '0',          "Doku
           KONZVERS LIKE RFPDO-DOPOKONZ,   "Konzernversion
           XBUKRDAT LIKE RFPDO3-ALLGBUKD DEFAULT 0, "Bukr.daten
           KAUSGABE like rfpdo3-ALLGKAOR.
         SELECTION-SCREEN BEGIN OF LINE.
         SELECTION-SCREEN COMMENT 01(30) TEXT-030.
    PARAMETERS: RART-NET LIKE RFPDO-DOPRRNET DEFAULT 'X'.
         SELECTION-SCREEN COMMENT 33(01) TEXT-028.
    PARAMETERS: RART-SKT LIKE RFPDO-DOPRRSKT DEFAULT 'X'.
         SELECTION-SCREEN COMMENT 35(01) TEXT-028.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS: RART-ALT LIKE RFPDO1-KOPRRALT DEFAULT 'X'.
    SELECTION-SCREEN COMMENT 03(28) TEXT-031.
    SELECTION-SCREEN POSITION POS_HIGH.
    PARAMETERS      RBLDAT   LIKE RFPDO2-KORD10BD.
    SELECTION-SCREEN COMMENT 61(12) TEXT-032.
    SELECTION-SCREEN END OF LINE.
         SELECTION-SCREEN COMMENT 37(01) TEXT-028.
    PARAMETERS: RART-UEB LIKE RFPDO-DOPRRUEB DEFAULT 'X'.
         SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 01(31) TEXT-026.
    PARAMETERS: RASTBIS1 LIKE RFPDO1-ALLGROGR DEFAULT '000'.
         SELECTION-SCREEN COMMENT 35(02) TEXT-027.
    PARAMETERS: RASTBIS2 LIKE RFPDO1-ALLGROGR DEFAULT '020'.
         SELECTION-SCREEN COMMENT 41(02) TEXT-027.
    PARAMETERS: RASTBIS3 LIKE RFPDO1-ALLGROGR DEFAULT '040'.
         SELECTION-SCREEN COMMENT 47(02) TEXT-027.
    PARAMETERS: RASTBIS4 LIKE RFPDO1-ALLGROGR DEFAULT '080'.
         SELECTION-SCREEN COMMENT 53(02) TEXT-027.
    PARAMETERS: RASTBIS5 LIKE RFPDO1-ALLGROGR DEFAULT '100'.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 01(31) TEXT-029.
    PARAMETERS:  FAKTOR LIKE RFPDO-DOPRFAKT DEFAULT '0'.
    SELECTION-SCREEN COMMENT 35(1) TEXT-028.
    PARAMETERS:  STELLEN LIKE RFPDO-DOPRFAKT DEFAULT '0'.
    SELECTION-SCREEN END OF LINE.
    PARAMETERS: PZUOR    LIKE RFPDO2-DOPRZUOR.
    PARAMETERS: UMSATZKZ LIKE RFPDO1-DOPRSHBO. "DEFAULT 'WSABIMVD'.
    PARAMETERS:
           TITLE       LIKE RFPDO1-ALLGLINE,
           LISTSEP     LIKE RFPDO-ALLGLSEP,
           MIKFICHE    LIKE RFPDO-ALLGMIKF.
    PARAMETERS:
           P_LVAR    LIKE Gs_VARIANT-VARIANT DEFAULT SPACE modif id 508.
    END_OF_BLOCK 2.
    AT SELECTION-SCREEN OUTPUT.
    if acc_mode is initial.
      LOOP AT SCREEN.
        IF SCREEN-GROUP1 = '508'.
          SCREEN-active    = '0'.
          MODIFY SCREEN.
        ENDIF.
    ENDLOOP.
    endif.
    AT SELECTION-SCREEN ON AKONTS.
       Konvertierung der Kontonummer
      LOOP AT AKONTS.
        PERFORM ALPHAFORMAT(SAPFS000)
          USING AKONTS-LOW AKONTS-LOW.
        PERFORM ALPHAFORMAT(SAPFS000)
          USING AKONTS-HIGH AKONTS-HIGH.
        MODIFY AKONTS.
      ENDLOOP.
    AT SELECTION-SCREEN ON AKONTP.
       Konvertierung der Kontonummer
      LOOP AT AKONTP.
        PERFORM ALPHAFORMAT(SAPFS000)
          USING AKONTP-LOW AKONTP-LOW.
        PERFORM ALPHAFORMAT(SAPFS000)
          USING AKONTP-HIGH AKONTP-HIGH.
        MODIFY AKONTP.
      ENDLOOP.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_LVAR.
      Gs_VARIANT-REPORT  = SY-REPID.
      Gs_VARIANT-VARIANT = P_LVAR.
      PERFORM F4_FOR_S_LVAR   USING Gs_VARIANT.
      P_LVAR = Gs_VARIANT-VARIANT.
    AT SELECTION-SCREEN.
      IF NOT RASTBIS5 IS INITIAL.
        IF  RASTBIS5 GT RASTBIS4
        AND RASTBIS4 GT RASTBIS3
        AND RASTBIS3 GT RASTBIS2
        AND RASTBIS2 GT RASTBIS1.
        ELSE.
          MESSAGE E379.
        ENDIF.
      ELSE.
        IF NOT RASTBIS4 IS INITIAL.
          IF  RASTBIS4 GT RASTBIS3
          AND RASTBIS3 GT RASTBIS2
          AND RASTBIS2 GT RASTBIS1.
          ELSE.
            MESSAGE E379.
          ENDIF.
        ELSE.
          IF NOT RASTBIS3 IS INITIAL.
            IF  RASTBIS3 GT RASTBIS2
            AND RASTBIS2 GT RASTBIS1.
            ELSE.
              MESSAGE E379.
            ENDIF.
          ELSE.
            IF NOT RASTBIS2 IS INITIAL.
              IF  RASTBIS2 GT RASTBIS1.
              ELSE.
                MESSAGE E379.
              E

    Hi Laxman,
    I have checked the program and found out following:
    the field "acc_mode" which gets populated by FM "GET_ACCESSIBILITY_MODE".
    If this field is initial, then normal list gets displayed and
    If this field has value, then ALV grid gets displayed.
    regards,
    Dharitree

Maybe you are looking for

  • Driver Laserjet 4+ Windows 7 64 bit

    The referenced printer is connected to my wife's XP machine. I shared it by way of a computer share from my Win7 machine. After changing my OS from 32 to 64 bit it appears that there is no machine specific 64 bit driver. I beleive the LaserJet 2200 S

  • 8.1 full screen problems landscape

    Since updating to 8.1   Tapping to view videos in full screen goes to portrait full screen instead of landscape full screen while in landscape position. There are also problems  trying to full screen in portrait position. i pad mini retna 16 gig Geen

  • Trouble with mobile site. Displays for a second then screen goes black.

    Trouble with mobile site. Displays for a second then screen goes black. Using safari, 4s on Verizon. Example: m.mlb.com/lad/

  • Word Docs in icloud

    I have a folder in Word 11 with word documents. Is there a way to access individual docments in icloud from my iphone or ipad without putting the entire folder on the iphone or ipad?

  • Colours too rich and dark when printing

    Hello! I am having slight problems printing photos in iPhoto. The photos look great on my laptop: PowerBook G4 (OS 10.4.7), iPhoto 6.0.4 (305). The printer is a new Canon Pixma MP 500 (bought because of good reviews for photo printing.) When printed