Z Fi BDC Cost Center
Z Fi BDC Cost Center
MESSAGE-ID Z_MSGCLASS
LINE-SIZE 132
LINE-COUNT 65.
************************************************************************
* Program Name : Z_FI_BDC_COST_CENTER *
* Description : Cost Center *
* Development class : Z_DEVELOPMENT *
* Description : *
* *
* 1. Read input file *
* 2. Check the mandatory fields and if any one of them is missing *
* move the record to error file. *
* 3. Fill the bdcdata and call KS01 transaction *
* 4. If any errors format the message and send it for reporting *
* 5. If any errors, it downloads the error file *
* 6. Based on user input, this programs does the follwoing *
* a).Call transaction and in case of errors add to a session *
* B).Create session *
* 7. Display the Audit report *
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* Request No. Created Date Developer name *
*----------------------------------------------------------------------*
* SRDK900089 29/08/2006 Ashok Kumar.N
*----------------------------------------------------------------------*
*----------------------------------------------------------------------*
* FLAGS *
*----------------------------------------------------------------------*
DATA: FG_STOP TYPE C, " Flag used to stop processing
FG_COLOR TYPE C, " Flag to set Background color
FG_OPENSESSION TYPE C. " Flag for Open Sesssion
*----------------------------------------------------------------------*
* INTERNAL TABLE DECLARATIONS *
*----------------------------------------------------------------------*
*--- Internal table for input file for ascii data load
DATA: BEGIN OF I_INFILE_ASC OCCURS 0,
STRING(1000) TYPE C,
END OF I_INFILE_ASC.
*----------------------------------------------------------------------*
* CONSTANTS *
*----------------------------------------------------------------------*
CONSTANTS : C_FILETYPE LIKE RLGRAP-FILETYPE VALUE 'DAT', " Filetype
C_TCODE LIKE TSTC-TCODE VALUE 'KS01', " Transaction
C_MODE(1) VALUE 'A', " Mode
C_UPDATE(1) VALUE 'S', " Update
C_SESS(12) TYPE C VALUE 'COST_SESS'. " Session Name
*----------------------------------------------------------------------*
* DATA DECLARATIONS *
*----------------------------------------------------------------------*
DATA : G_TABIX LIKE SY-TABIX, " Table Index
G_MESG(80) TYPE C, " Message,
G_ERROR TYPE I, " No.of Errors
G_SUCCESS TYPE I, " No.of successes
G_BDC_SESS TYPE APQI-GROUPID VALUE 'UPLOAD', " Queue info defn
G_MAX TYPE I VALUE '900', " Max records
G_LINES TYPE I, " No.of records
G_INSERT TYPE I, " Insert
G_COUNTER(2) TYPE N, " No.of Sessions
G_EMPTY TYPE I, " No. of empty records
G_TOTAL TYPE I, " Total no. of records
with data
G_SESSION TYPE APQI-GROUPID, " Session name
G_DEL TYPE X VALUE '09', " To seperate fields in
case of Dat
G_SFILE(255), " File path
G_FILEEXT(3). " File Extension
*----------------------------------------------------------------------*
* SELECTION SCREEN. *
*----------------------------------------------------------------------*
SELECTION-SCREEN BEGIN OF BLOCK SCR1 WITH FRAME TITLE TEXT-001.
PARAMETER : P_FILE TYPE RLGRAP-FILENAME OBLIGATORY DEFAULT 'C:/COST_CENTER.TXT',
" Input File
P_ERR TYPE RLGRAP-FILENAME OBLIGATORY DEFAULT
'C:/COST_CENTER_ERR.TXT', " Error File
P_FTYPE LIKE RLGRAP-FILETYPE DEFAULT 'DAT'.
" File Type
SELECTION-SCREEN END OF BLOCK SCR1.
PARAMETER : P_SESS1 TYPE APQI-GROUPID OBLIGATORY DEFAULT C_SESS. " Session name
*---------------------------------------------------------------------*
* AT SELECTION-SCREEN *
*---------------------------------------------------------------------*
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.
*--- Validating file
PERFORM VALIDATE_FILE USING P_FILE.
*----------------------------------------------------------------------*
* START-OF-SELECTION
*----------------------------------------------------------------------*
START-OF-SELECTION.
*----------------------------------------------------------------------*
* END OF SELECTION. *
*----------------------------------------------------------------------*
END-OF-SELECTION.
IF FG_STOP = SPACE.
*--- Perform to display the selection screen of the report
PERFORM DISPLAY_SEL_SCR_REPORT.
*--- Perform to display the session report
PERFORM SESSION_REPORT.
*--- Perform to display the no.of records,success and error records
PERFORM DISPLAY_SUMMARY_REPORT.
*--- Downloading error records.
PERFORM DOWNLOAD_ERROR_FILES.
*---- Perform to display the error records
PERFORM DISPLAY_ERROR_RECORDS.
ENDIF.
*----------------------------------------------------------------------*
* Form : validate_input_file
*----------------------------------------------------------------------*
* Description : To provide F4 help for file if read from PC
*----------------------------------------------------------------------*
FORM VALIDATE_FILE USING F_FILE TYPE RLGRAP-FILENAME.
*--- Call function to get the File (user specified)
CALL FUNCTION 'KD_GET_FILENAME_ON_F4'
CHANGING
FILE_NAME = F_FILE
EXCEPTIONS
MASK_TOO_LONG = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
*--- Display message if error occurs in getting file
G_MESG = 'Error in getting the Filename'(002).
MESSAGE I000(Z_MSGCLASS) WITH G_MESG.
ENDIF.
*----------------------------------------------------------------------*
* Form : Read_inputfile
*----------------------------------------------------------------------*
* Description : To upload the data into internal table
*----------------------------------------------------------------------*
FORM READ_INPUTFILE TABLES F_INFILE
USING F_FILE TYPE RLGRAP-FILENAME
F_FILTYP TYPE RLGRAP-FILETYPE.
*--- Local variable declarations
DATA : LV_DEL TYPE CHAR01,
LV_FILE TYPE STRING.
*--- Clear and initialize variables
CLEAR F_INFILE.
REFRESH F_INFILE.
LV_FILE = F_FILE.
*--- Function module to upload the input file
IF F_FILTYP = 'DAT'.
LV_DEL = '|'.
ENDIF.
*--- Call function GUI_UPLOAD to upload data from flat file to internal table
CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
FILENAME = LV_FILE
FILETYPE = 'ASC'
HAS_FIELD_SEPARATOR = LV_DEL
TABLES
DATA_TAB = F_INFILE
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 .
IF SY-SUBRC <> 0.
*--- Display message if error occurs in uploading data from file
G_MESG = 'Error in uploading the file'(003).
MESSAGE I000(Z_MSGCLASS) WITH G_MESG.
CLEAR G_MESG.
FG_STOP = 'X'.
STOP.
ENDIF.
ENDFORM. "Read_inputfile
*&---------------------------------------------------------------------*
*& Form FORMAT_ASC_DATA
*&---------------------------------------------------------------------*
* To format the ASCII data
*----------------------------------------------------------------------*
FORM FORMAT_ASC_DATA.
*--- Loop to format ASCII data
LOOP AT I_INFILE_ASC.
IT_DATA-KOKRS = I_INFILE_ASC-STRING+0(4).
IT_DATA-KOSTL = I_INFILE_ASC-STRING+4(10).
IT_DATA-DATAB_ANFO = I_INFILE_ASC-STRING+14(10).
IT_DATA-DATBI_ANFO = I_INFILE_ASC-STRING+24(10).
IT_DATA-KTEXT = I_INFILE_ASC-STRING+34(20).
IT_DATA-LTEXT = I_INFILE_ASC-STRING+54(40).
IT_DATA-VERAK = I_INFILE_ASC-STRING+94(20).
IT_DATA-KOSAR = I_INFILE_ASC-STRING+114(1).
IT_DATA-KHINR = I_INFILE_ASC-STRING+115(12).
IT_DATA-WAERS = I_INFILE_ASC-STRING+127(5).
IT_DATA-PRCTR = I_INFILE_ASC-STRING+132(10).
ENDLOOP.
*&---------------------------------------------------------------------*
*& Form DATA_VALIDATION
*&---------------------------------------------------------------------*
* To validate the data
*----------------------------------------------------------------------*
FORM FILE_VALIDATION.
LOOP AT IT_DATA.
*----- check for the mandatory fields
IF IT_DATA-KOKRS IS INITIAL
OR IT_DATA-KOSTL IS INITIAL
OR IT_DATA-DATAB_ANFO IS INITIAL
OR IT_DATA-DATBI_ANFO IS INITIAL
OR IT_DATA-KTEXT IS INITIAL
OR IT_DATA-LTEXT IS INITIAL
OR IT_DATA-VERAK IS INITIAL
OR IT_DATA-KOSAR IS INITIAL
OR IT_DATA-KHINR IS INITIAL
OR IT_DATA-WAERS IS INITIAL.
*--- Not required as Mandatory ( changed on 1 Sep 2006 )
* OR IT_DATA-PRCTR IS INITIAL.
LV_TABIX = SY-TABIX.
G_MESG = 'Make entry in all required fields'(004).
* ----- Perform to store the error record
PERFORM ERROR_PROCESSING USING IT_DATA G_MESG.
*&---------------------------------------------------------------------*
*& Form error_processing
*&---------------------------------------------------------------------*
* To process the error records
*----------------------------------------------------------------------*
FORM ERROR_PROCESSING USING F_IT_DATA
F_MESG.
G_ERROR = G_ERROR + 1.
IT_ERROR = F_IT_DATA.
IT_ERROR-MESSAGE = F_MESG.
APPEND IT_ERROR.
CLEAR IT_ERROR.
*---------------------------------------------------------------------*
* Form : process_data *
*---------------------------------------------------------------------*
* --- Populating the BDC Data *
*---------------------------------------------------------------------*
FORM PROCESS_DATA .
LOOP AT IT_DATA.
CLEAR :IT_BDCTAB,
I_BDCMSGCOLL.
REFRESH:IT_BDCTAB,
I_BDCMSGCOLL.
*--- To fill the data from the text file
PERFORM FILL_BDCDATA.
IF P_CT EQ 'X'.
*--- Posts data using call transaction method.
PERFORM CALL_TRANSACTION.
ELSE.
*--- Posts data using session method.
PERFORM CALL_SESSION USING C_TCODE P_MAX P_SESS1.
ENDIF.
ENDLOOP.
IF FG_OPENSESSION = 'X'.
*--- Perform to close BDC session
PERFORM CLOSE_SESSION.
ENDIF.
*&---------------------------------------------------------------------*
*& Form FILL_BDCDATA
*&---------------------------------------------------------------------*
* To populate the data
*----------------------------------------------------------------------*
FORM FILL_BDCDATA.
*&---------------------------------------------------------------------*
*& Form FILL_SCREEN_0200
*&---------------------------------------------------------------------*
* To fill the fields in the screen 0200
*----------------------------------------------------------------------*
FORM FILL_SCREEN_0200 .
*&---------------------------------------------------------------------*
*& Form FILL_SCREEN_0299
*&---------------------------------------------------------------------*
* To fill the fields in the screen 0299
*----------------------------------------------------------------------*
FORM FILL_SCREEN_0299 .
*&---------------------------------------------------------------------*
*& Form BDC_DYNPRO
*----------------------------------------------------------------------*
* Start new screen *
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING F_PROGRAM F_DYNPRO.
CLEAR IT_BDCTAB.
IT_BDCTAB-PROGRAM = F_PROGRAM.
IT_BDCTAB-DYNPRO = F_DYNPRO.
IT_BDCTAB-DYNBEGIN = 'X'.
APPEND IT_BDCTAB.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form BDC_FIELD
*----------------------------------------------------------------------*
* Insert field *
*----------------------------------------------------------------------*
FORM BDC_FIELD USING FNAM FVAL.
IF FVAL <> SPACE.
CLEAR IT_BDCTAB.
IT_BDCTAB-FNAM = FNAM.
IT_BDCTAB-FVAL = FVAL.
APPEND IT_BDCTAB.
ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*& Form call_transaction
*&---------------------------------------------------------------------*
* Posts data using call transaction method. *
*----------------------------------------------------------------------*
FORM CALL_TRANSACTION.
CLEAR: G_LINES,
G_MESG.
*--- Call transaction method
CALL TRANSACTION C_TCODE USING IT_BDCTAB
MODE C_MODE
UPDATE C_UPDATE
MESSAGES INTO I_BDCMSGCOLL.
IF SY-SUBRC <> 0.
DESCRIBE TABLE I_BDCMSGCOLL LINES G_LINES.
READ TABLE I_BDCMSGCOLL INDEX G_LINES TRANSPORTING ALL FIELDS.
*--- Formats message returned by call transaction.
PERFORM FORMAT_MESSAGE.
*--- Perform to process error processing
PERFORM ERROR_PROCESSING USING IT_DATA G_MESG.
PERFORM CALL_SESSION USING C_TCODE P_MAX P_SESS1.
ELSE.
G_SUCCESS = G_SUCCESS + 1.
ENDIF.
*&---------------------------------------------------------------------*
*& Form format_message
*&---------------------------------------------------------------------*
* Reading messages
*----------------------------------------------------------------------*
FORM FORMAT_MESSAGE.
CLEAR G_MESG.
*----------------------------------------------------------------------*
* Form : call_session
*----------------------------------------------------------------------*
* To call the session either for FSP0 or FSP2
*----------------------------------------------------------------------*
FORM CALL_SESSION USING FP_TCODE TYPE ANY
F_MAX TYPE ANY
F_SESS1 TYPE ANY.
* To open the session
PERFORM OPEN_SESSION USING F_MAX F_SESS1.
* Perform Insert BDC Session
PERFORM BDC_INSERT USING FP_TCODE.
* To close the session
IF G_INSERT = F_MAX .
PERFORM CLOSE_SESSION.
ENDIF.
ENDFORM. " call_session
*----------------------------------------------------------------------*
* Form : open_session
*----------------------------------------------------------------------*
* To open BDC open group.
*----------------------------------------------------------------------*
FORM OPEN_SESSION USING F_MAX TYPE ANY
F_SESS1 TYPE ANY.
*----------------------------------------------------------------------*
* Form : bdc_insert
*----------------------------------------------------------------------*
* To Insert data.
*----------------------------------------------------------------------*
FORM BDC_INSERT USING FP_TCODE TYPE ANY.
* Inserting BDC
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE = FP_TCODE
TABLES
DYNPROTAB = IT_BDCTAB
EXCEPTIONS
INTERNAL_ERROR = 1
NOT_OPEN = 2
QUEUE_ERROR = 3
TCODE_INVALID = 4
PRINTING_INVALID = 5
POSTING_INVALID = 6
OTHERS = 7.
IF SY-SUBRC <> 0.
G_MESG = 'Error in inserting the record'(006).
MESSAGE I000(Z_MSGCLASS) WITH G_MESG.
CLEAR G_MESG.
ELSE.
G_INSERT = G_INSERT + 1.
ENDIF.
*----------------------------------------------------------------------*
* Form : close_session
*----------------------------------------------------------------------*
* To close the session
*----------------------------------------------------------------------*
FORM CLOSE_SESSION.
CALL FUNCTION 'BDC_CLOSE_GROUP'
EXCEPTIONS
NOT_OPEN = 1
QUEUE_ERROR = 2
OTHERS = 3.
IF SY-SUBRC <> 0.
G_MESG = 'Session cannot be closed'(007).
MESSAGE I000(Z_MSGCLASS) WITH G_MESG.
CLEAR G_MESG.
ELSE.
I_SESSION-NAME = G_SESSION.
APPEND I_SESSION.
CLEAR I_SESSION.
CLEAR FG_OPENSESSION.
ENDIF.
ENDFORM. " CLOSE_SESSION
*---------------------------------------------------------------------*
* Form DOWNLOAD_ERROR_FILES
*---------------------------------------------------------------------*
* Downloading the error records to error file
*----------------------------------------------------------------------*
FORM DOWNLOAD_ERROR_FILES.
CONCATENATE IT_ERROR-KOKRS
IT_ERROR-KOSTL
IT_ERROR-DATAB_ANFO
IT_ERROR-DATBI_ANFO
IT_ERROR-KTEXT
IT_ERROR-LTEXT
IT_ERROR-VERAK
IT_ERROR-KOSAR
IT_ERROR-KHINR
IT_ERROR-WAERS
IT_ERROR-PRCTR
INTO I_FINAL-STRING SEPARATED BY G_DEL.
APPEND I_FINAL.
CLEAR I_FINAL.
ENDLOOP.
CLEAR I_FINAL.
ELSEIF P_FTYPE = 'ASC'.
LOOP AT IT_ERROR.
I_FINAL-STRING+0(4) = IT_ERROR-KOKRS.
I_FINAL-STRING+4(10) = IT_ERROR-KOSTL.
I_FINAL-STRING+14(10) = IT_ERROR-DATAB_ANFO.
I_FINAL-STRING+24(10) = IT_ERROR-DATBI_ANFO.
I_FINAL-STRING+34(20) = IT_ERROR-KTEXT.
I_FINAL-STRING+54(40) = IT_ERROR-LTEXT.
I_FINAL-STRING+94(20) = IT_ERROR-VERAK.
I_FINAL-STRING+114(1) = IT_ERROR-KOSAR.
I_FINAL-STRING+115(12) = IT_ERROR-KHINR.
I_FINAL-STRING+127(5) = IT_ERROR-WAERS.
I_FINAL-STRING+132(10) = IT_ERROR-PRCTR.
APPEND I_FINAL.
CLEAR I_FINAL.
ENDLOOP.
ENDIF.
LV_FILE = P_ERR.
IF P_FTYPE = 'DAT'.
LV_DEL = '|'.
ENDIF.
*&---------------------------------------------------------------------*
*& Form READ_INPUT_DATA
*&---------------------------------------------------------------------*
* To Read the input file data
*----------------------------------------------------------------------*
FORM READ_INPUT_FILE_DATA.
CASE G_FILEEXT.
WHEN 'XLS'.
*--- Perform to convert the Excel data into an internal table
PERFORM CONVERT_XLS_ITAB.
WHEN 'TXT'.
IF P_FTYPE = 'ASC'.
*--- Uploading the data from server
PERFORM READ_INPUTFILE TABLES I_INFILE_ASC
USING P_FILE P_FTYPE.
*--- Perform Formating ASC type data
PERFORM FORMAT_ASC_DATA.
ELSEIF P_FTYPE = 'DAT'.
*--- Uploading the data from server
PERFORM READ_INPUTFILE TABLES IT_DATA
USING P_FILE P_FTYPE.
ENDIF.
WHEN OTHERS.
G_MESG = 'Invalid Operation'(028).
MESSAGE I000(Z_MSGCLASS) WITH G_MESG.
CLEAR G_MESG.
FG_STOP = 'X'.
STOP.
ENDCASE.
IF NOT IT_DATA[] IS INITIAL.
*--- Perform to delete Header lines
PERFORM DELETE_HEADER_EMPTY_RECS.
ENDIF.
ENDFORM. " READ_INPUT_FILE_DATA
*&---------------------------------------------------------------------*
*& Form SPLIT_FILENAME_EXT
*&---------------------------------------------------------------------*
* To split the filename and the extension
*----------------------------------------------------------------------*
FORM SPLIT_FILENAME_EXT.
*&---------------------------------------------------------------------*
*& Form MOVE_DATA
*&---------------------------------------------------------------------*
* To move the input file data to an internal table
*----------------------------------------------------------------------*
FORM MOVE_DATA.
*&---------------------------------------------------------------------*
*& Form CONVER_XLS_ITAB
*&---------------------------------------------------------------------*
* To convert the excel data into an internal table
*----------------------------------------------------------------------*
FORM CONVERT_XLS_ITAB.
*&---------------------------------------------------------------------*
*& Form DELETE_HEADER_EMPTY_RECS
*&---------------------------------------------------------------------*
* To delete the Header and empty records
*----------------------------------------------------------------------*
FORM DELETE_HEADER_EMPTY_RECS.
CLEAR IT_DATA.
*--- To delete the empty lines from internal table
LOOP AT IT_DATA.
LV_TABIX = SY-TABIX.
IF IT_DATA IS INITIAL.
G_EMPTY = G_EMPTY + 1.
DELETE IT_DATA INDEX LV_TABIX..
ENDIF.
ENDLOOP.
CLEAR IT_DATA.
*--- Total no of recs in file
DESCRIBE TABLE IT_DATA LINES G_TOTAL.
IF G_TOTAL = 0.
G_MESG = 'No records in the file'(029).
MESSAGE I000(Z_MSGCLASS) WITH G_MESG.
CLEAR G_MESG.
FG_STOP = 'X'.
STOP.
ENDIF.
*&---------------------------------------------------------------------*
*& Form DISPLAY_SELECTION_SCR
*&---------------------------------------------------------------------*
* To display the selection screen input
*----------------------------------------------------------------------*
FORM DISPLAY_SEL_SCR_REPORT.
*&---------------------------------------------------------------------*
*& Form DISPLAY_SUCCESS_ERROR_DATA
*&---------------------------------------------------------------------*
* To display the no.of records,success and error records
*----------------------------------------------------------------------*
FORM DISPLAY_SUMMARY_REPORT.
SKIP 3.
FORMAT COLOR COL_HEADING INTENSIFIED ON.
WRITE :/1(132) SY-ULINE.
WRITE :/1(1) SY-VLINE,
65 'SUMMARY REPORT'(017) CENTERED,
132(1) SY-VLINE.
FORMAT INTENSIFIED OFF.
PERFORM FILL_COLOR.
WRITE :/1(132) SY-ULINE.
WRITE :/1(1) SY-VLINE,
2(24) 'Processed Records'(018),
27(2) ' : ',
30 G_TOTAL,
132(1) SY-VLINE.
PERFORM FILL_COLOR.
WRITE :/1(1) SY-VLINE,
2(24) 'Successfully Uploaded'(019),
27(2) ' : ',
30 G_SUCCESS,
132(1) SY-VLINE.
PERFORM FILL_COLOR.
WRITE :/1(1) SY-VLINE,
2(24) 'Error Records'(020),
27(2) ' : ',
30 G_ERROR,
132(1) SY-VLINE.
PERFORM FILL_COLOR.
WRITE :/1(1) SY-VLINE,
2(24) 'Empty Records'(021),
27(2) ' : ',
30 G_EMPTY,
132(1) SY-VLINE.
WRITE :/1(132) SY-ULINE.
*----------------------------------------------------------------------*
* Form : session_report
*----------------------------------------------------------------------*
* To display the list of sessions created
*----------------------------------------------------------------------*
FORM SESSION_REPORT .
IF NOT I_SESSION[] IS INITIAL.
FORMAT COLOR COL_HEADING.
WRITE :/01(132) SY-ULINE.
WRITE :/01(01) SY-VLINE,
65 'SESSIONS CREATED'(022) CENTERED,
132(01) SY-VLINE.
WRITE :/01(132) SY-ULINE.
FORMAT INTENSIFIED OFF.
*&---------------------------------------------------------------------*
*& Form DISPLAY_ERROR_RECORDS
*&---------------------------------------------------------------------*
* To display the error records
*----------------------------------------------------------------------*
FORM DISPLAY_ERROR_RECORDS.
IF G_ERROR > 0.
* ---- Perform to display the error header
PERFORM DISPLAY_ERROR_HEADER.
* ---- Perform to display the error records
PERFORM DISPLAY_ERROR_DETAIL.
ENDIF.
*&---------------------------------------------------------------------*
*& Form DISPLAY_ERROR_HEADER
*&---------------------------------------------------------------------*
* To display the error header
*----------------------------------------------------------------------*
FORM DISPLAY_ERROR_HEADER.
*&---------------------------------------------------------------------*
*& Form DISPLAY_ERROR_DETAIL
*&---------------------------------------------------------------------*
* To display the error records
*----------------------------------------------------------------------*
FORM DISPLAY_ERROR_DETAIL.
*&---------------------------------------------------------------------*
*& Form FILL_COLOR
*&---------------------------------------------------------------------*
* To display the background color
*----------------------------------------------------------------------*
FORM FILL_COLOR.
IF FG_COLOR = SPACE.
FORMAT COLOR 2.
FG_COLOR = 'X'.
ELSE.
FORMAT COLOR 4.
CLEAR FG_COLOR.
ENDIF.
*Text elements
*----------------------------------------------------------
* 001 Error in Processing BDC Data
* 002 Error in getting the Filename
* 003 Error in uploading the file
* 004 Make entry in all required fields
* 005 Error in Opening the Session
* 006 Error in inserting the record
* 007 Session cannot be closed
* 008 Error in downloading the file
* 009 No values found
* 010 Input File name
* 011 Error File name
* 012 File Type
* 013 Call Transaction
* 014 Create Session
* 015 Test Mode
* 016 Header Lines
* 017 SUMMARY REPORT
* 018 Processed Records
* 019 Successfully Uploaded
* 020 Error Records
* 021 Empty Records
* 022 SESSIONS CREATED
* 024 ERROR RECORDS
* 025 Controlling Area
* 026 Cost Center Name
* 027 Error Message
* 028 Invalid Operation
* 029 No records in the file
* O23 Session names
*Selection texts
*----------------------------------------------------------
* P_BDC BDC Session
* P_CT Call Transaction
* P_ERR Error File Name
* P_FILE Input File Name
* P_FTYPE File Type
* P_HEADER No. of Header records
* P_MAX Maximum number of records
* P_SESS1 Session name
* P_TEST Test Mode
*Messages
*----------------------------------------------------------
*
* Message class: Z_MSGCLASS
*000 Input file is not valid