0% found this document useful (0 votes)
80 views

How To Create BDC

This document provides instructions on how to create a batch data communication (BDC) program. It includes steps to generate a BDC program using transaction code SHBD and report ZRAHUL. The document also specifies formatting rules for defining data fields in the generated BDC program, such as each field definition consisting of two lines and fields being type C. It describes when to use single or multiple processing for the BDC and contains a sample BDC program for deleting employee eligibility quotas that includes forms for populating BDC data tables and executing transactions.

Uploaded by

rahulkajave
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
80 views

How To Create BDC

This document provides instructions on how to create a batch data communication (BDC) program. It includes steps to generate a BDC program using transaction code SHBD and report ZRAHUL. The document also specifies formatting rules for defining data fields in the generated BDC program, such as each field definition consisting of two lines and fields being type C. It describes when to use single or multiple processing for the BDC and contains a sample BDC program for deleting employee eligibility quotas that includes forms for populating BDC data tables and executing transactions.

Uploaded by

rahulkajave
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 24

How to create bdc

1.
T . code SHBD

report ZRAHUL
no standard page heading line-size 255.
include bdcrecx1.
parameters: dataset(132) lower case.
***
DO NOT CHANGE - the generated data section - DO NOT CHANGE
*
*
If it is nessesary to change the data section use the rules:
*
1.) Each definition of a field exists of two lines
*
2.) The first line shows exactly the comment
*
'* data element: ' followed with the data element
*
which describes the field.
*
If you don't have a data element use the
*
comment without a data element name
*
3.) The second line shows the fieldname of the
*
structure, the fieldname must consist of
*
a fieldname and optional the character '_' and
*
three numbers and the field length in brackets
*
4.) Each field must be type C.
*
*** Generated data section with specific formatting - DO NOT CHANGE
data: begin of record,
end of record.

***

***

*** End generated data section ***


start-of-selection.
perform open_dataset using dataset.
perform open_group.
do.
read dataset dataset into record.
if sy-subrc <> 0. exit. endif.
perform bdc_dynpro
perform bdc_field

using 'SAPLMGMM' '0060'.


using 'BDC_OKCODE'
'/EBABE'.
perform bdc_field
using 'BDC_CURSOR'
'RMMG1-MBRSH'.
perform bdc_transaction using 'MM01'.
enddo.
perform close_group.
perform close_dataset using dataset.

GO TO SE38

************************************************************************
* Author
:
* Client
: Jakson
* Date
: 05/10/2009
* Purpose
: BDC for delete el quota
* Description: The bdc contains Employee el
*
Details.
*----------------------------------------------------------------------* Modification Log :
* Date
|Developer
|Request
|Description
* 18/03/2011 |Ashwani Kumar
|
|New Development HR-18/3/2011
************************************************************************

REPORT

ZHRPA30_DEL2006_IN10
NO STANDARD PAGE HEADING LINE-SIZE 150
LINE-COUNT 40.

*---------------------------------------------------------------------*selection screen
*---------------------------------------------------------------------SELECTION-SCREEN : BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
PARAMETERS: P_INPUT TYPE STRING,
CTUMODE LIKE CTU_PARAMS-DISMODE DEFAULT 'N',
CUPDATE LIKE CTU_PARAMS-UPDMODE DEFAULT 'S',
P_ERROR TYPE STRING.
SELECTION-SCREEN: END OF BLOCK BLK1.
SELECTION-SCREEN:
SELECTION-SCREEN:
SELECTION-SCREEN:
PARAMETERS:
SELECTION-SCREEN:
SELECTION-SCREEN:
PARAMETERS:
SELECTION-SCREEN:
SELECTION-SCREEN:
SELECTION-SCREEN:

BEGIN OF BLOCK BLK2 WITH FRAME TITLE TEXT-002.


BEGIN OF LINE.
POSITION 1.
P_PS RADIOBUTTON GROUP GRP.
COMMENT 4(20) TEXT-003.
POSITION 30.
P_AS RADIOBUTTON GROUP GRP .
COMMENT 33(20) TEXT-004.
END OF LINE.
END OF BLOCK BLK2.

SELECTION-SCREEN:
SELECTION-SCREEN:
SELECTION-SCREEN:
PARAMETERS:
SELECTION-SCREEN:
SELECTION-SCREEN:
PARAMETERS:

BEGIN OF BLOCK BLK3 WITH FRAME TITLE TEXT-005.


BEGIN OF LINE.
POSITION 1.
P_CT RADIOBUTTON GROUP GRP1.
COMMENT 4(20) TEXT-006.
POSITION 30.
P_SM RADIOBUTTON GROUP GRP1.

SELECTION-SCREEN: COMMENT 33(20) TEXT-007.


SELECTION-SCREEN: END OF LINE.
SELECTION-SCREEN: END OF BLOCK BLK3.
*---------------------------------------------------------------------*data declaration
*---------------------------------------------------------------------TYPES:
T_MSG(100) TYPE C,
T_CNT
TYPE I.
DATA:
V_SUCCESS_MSG
V_ERROR_MSG
V_SUCCESS_COUNT
V_ERROR_COUNT
V_GEN_COUNT
V_SYTABIX
V_RC
V_CONTINUE

TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE
TYPE

T_MSG,
T_MSG,
T_CNT,
T_CNT,
I,
SY-TABIX,
I,
C.

*---------------------------------------------------------------------*data declaration
*---------------------------------------------------------------------CONSTANTS:
C_X TYPE C VALUE 'X'.
*&---------------------------------------------------------------------*
* Structure and Internal Table Declaration
*&---------------------------------------------------------------------*
DATA: BEGIN OF WA_RECORD,
PERNR
TYPE BDCDATA-FVAL,
BEGDA
TYPE BDCDATA-FVAL,
ENDDA
TYPE BDCDATA-FVAL,
SUBTY
TYPE BDCDATA-FVAL,
END OF WA_RECORD.

DATA: BEGIN OF IT_ERROR OCCURS 0.


INCLUDE STRUCTURE WA_RECORD.
DATA:
ERRTEXT TYPE STRING,
COUNT
TYPE I.
DATA: END OF IT_ERROR.
DATA:

IT_INPUT
IT_BDCDATA
IT_MESSTAB
IT_FILETAB
STR_FNAME

LIKE
LIKE
LIKE
TYPE
LIKE

STANDARD TABLE OF WA_RECORD WITH HEADER LINE,


BDCDATA
OCCURS 0 WITH HEADER LINE,
BDCMSGCOLL OCCURS 0 WITH HEADER LINE,
FILETABLE,
LINE OF IT_FILETAB.

DATA: BEGIN OF IT_SUMMARY OCCURS 0,


DESCR TYPE STRING,
NOREC TYPE I,
END OF IT_SUMMARY.
*---------------------------------------------------------------------*at selection screen
*---------------------------------------------------------------------AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_INPUT.
*--pov request for input file
PERFORM GET_INPUT_FILE.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_ERROR.
*--pov request for error file input
PERFORM GET_ERROR_FILE.
AT SELECTION-SCREEN.
*--perform validation of selection screen
PERFORM VALIDATION.
*---------------------------------------------------------------------*top-of-page
*---------------------------------------------------------------------TOP-OF-PAGE.
*--header for the list
PERFORM HEADER.
*---------------------------------------------------------------------*start of selection
*---------------------------------------------------------------------START-OF-SELECTION.
CHECK V_CONTINUE NE C_X.
*-- Get Legacy Data
PERFORM GET_INPUT_FILE_DATA.
IF P_SM = C_X.
PERFORM OPEN_GROUP.

*--populate the bdcdata tab


PERFORM FIELD_VALUES.
PERFORM CLOSE_GROUP.
ELSE.
PERFORM FIELD_VALUES.
CHECK IT_ERROR[] IS NOT INITIAL.
*--generate error log file
PERFORM GENERATE_ERROR_LOG.
ENDIF.
*---------------------------------------------------------------------*end of selection
*---------------------------------------------------------------------END-OF-SELECTION.
CHECK P_SM = SPACE.
*--display summary of upload.
PERFORM DISP_SUMMARY_REPORT.
CHECK IT_ERROR[] IS NOT INITIAL.
NEW-PAGE.
*--display error report
PERFORM DISPLAY_ERROR_REPORT.
*&---------------------------------------------------------------------*
*&
Form field_values
*&---------------------------------------------------------------------*
*
populate the bdcdata tab
*----------------------------------------------------------------------*
FORM FIELD_VALUES .
LOOP AT IT_INPUT.
PERFORM INTIALIZE_ALL_DECLARATIONS.
PERFORM BDC_DYNPRO
PERFORM BDC_FIELD
PERFORM BDC_FIELD

PERFORM BDC_FIELD
"perform bdc_field
"
PERFORM BDC_FIELD

PERFORM BDC_FIELD

USING 'SAPMP50A' '1000'.


USING 'BDC_OKCODE'
'/00'.
USING 'RP50G-PERNR'
"record-PERNR_001.
IT_INPUT-PERNR.
USING 'BDC_CURSOR'
'RP50G-ENDDA'.
using 'RP50G-TIMR6'
record-TIMR6_002.
USING 'RP50G-BEGDA'
"record-BEGDA_003.
IT_INPUT-BEGDA.
USING 'RP50G-ENDDA'
"record-ENDDA_004.

PERFORM BDC_FIELD

PERFORM BDC_FIELD

PERFORM BDC_DYNPRO
PERFORM BDC_FIELD
PERFORM BDC_FIELD

PERFORM BDC_DYNPRO
PERFORM BDC_FIELD
PERFORM BDC_FIELD
"perform bdc_field
"
PERFORM BDC_DYNPRO
PERFORM BDC_FIELD
PERFORM BDC_FIELD
PERFORM BDC_DYNPRO
PERFORM BDC_FIELD

IT_INPUT-ENDDA.
USING 'RP50G-CHOIC'
"record-CHOIC_005.
'2006'.
USING 'RP50G-SUBTY'
"'record-SUBTY_006.
IT_INPUT-SUBTY.
USING 'SAPMP50A' '1000'.
USING 'BDC_CURSOR'
'RP50G-PERNR'.
USING 'BDC_OKCODE'
'=DEL'.
USING 'MP200000' '2250'.
USING 'BDC_CURSOR'
'P2006-BEGDA'.
USING 'BDC_OKCODE'
'UPDL'.
using 'P2006-BEGDA'
record-BEGDA_013.
USING 'MP200000' '2250'.
USING 'BDC_OKCODE'
'/EBCK'.
USING 'BDC_CURSOR'
'P2006-BEGDA'.
USING 'SAPLSPO1' '0200'.
USING 'BDC_OKCODE'
'=YES'.
using 'RP50G-PERNR'
record-PERNR_007.
using 'RP50G-TIMR6'
record-TIMR6_008.
using 'RP50G-BEGDA'
record-BEGDA_009.
using 'RP50G-ENDDA'
record-ENDDA_010.
using 'RP50G-CHOIC'
record-CHOIC_011.
using 'RP50G-SUBTY'
record-SUBTY_012.
using 'BDC_OKCODE'
'=DEL'.

"perform bdc_field
"
"perform bdc_field
"
"perform bdc_field
"
"perform bdc_field
"
"perform bdc_field
"
"perform bdc_field
"
"perform bdc_field
"
IF P_CT EQ C_X.
PERFORM BDC_TRANSACTION USING 'PA30'.
ELSEIF P_SM EQ C_X.
PERFORM BDC_TRANSACTION_SM USING 'PA30' .
ENDIF.
ENDLOOP.

ENDFORM.

" field_values

*&---------------------------------------------------------------------*
*&
Form bdc_dynpro
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM BDC_DYNPRO USING
PROGRAM
DYNPRO.
CLEAR IT_BDCDATA.
IT_BDCDATA-PROGRAM = PROGRAM.
IT_BDCDATA-DYNPRO
= DYNPRO.
IT_BDCDATA-DYNBEGIN = 'X'.
APPEND IT_BDCDATA.
ENDFORM.

" bdc_dynpro

*&---------------------------------------------------------------------*
*&
Form bdc_field
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM BDC_FIELD USING
FNAM
FVAL.
CLEAR IT_BDCDATA.
IT_BDCDATA-FNAM = FNAM.
IT_BDCDATA-FVAL = FVAL.
APPEND IT_BDCDATA.
ENDFORM.
" bdc_field
*&---------------------------------------------------------------------*
*&
Form bdc_transaction
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM BDC_TRANSACTION USING TCODE.
DATA: MSG TYPE STRING.
CLEAR
IT_MESSTAB.
REFRESH IT_MESSTAB.
CALL TRANSACTION TCODE
MODE

USING IT_BDCDATA
CTUMODE

UPDATE
CUPDATE
MESSAGES INTO IT_MESSTAB.
IF SY-SUBRC = 0.
V_SUCCESS_COUNT = V_SUCCESS_COUNT + 1.
ELSE.
V_ERROR_COUNT
= V_ERROR_COUNT + 1.
CLEAR:
V_GEN_COUNT,
MSG,
V_ERROR_MSG.
DESCRIBE TABLE IT_MESSTAB LINES V_GEN_COUNT.
CLEAR IT_MESSTAB.
READ TABLE IT_MESSTAB INDEX V_GEN_COUNT.
IF IT_MESSTAB-MSGTYP = 'E'.
CALL FUNCTION 'FORMAT_MESSAGE'
EXPORTING
ID
= IT_MESSTAB-MSGID
LANG
= IT_MESSTAB-MSGSPRA
NO
= IT_MESSTAB-MSGNR
V1
= IT_MESSTAB-MSGV1
V2
= IT_MESSTAB-MSGV2
V3
= IT_MESSTAB-MSGV3
V4
= IT_MESSTAB-MSGV4
IMPORTING
MSG
= MSG
EXCEPTIONS
NOT_FOUND
= 1
OTHERS
= 2.
V_ERROR_MSG = MSG.
ELSE.
V_ERROR_MSG = 'Error while posting'.
ENDIF.
MOVE-CORRESPONDING IT_INPUT TO IT_ERROR.
IT_ERROR-ERRTEXT = V_ERROR_MSG.
IT_ERROR-COUNT
= V_SYTABIX.
APPEND IT_ERROR.
CLEAR IT_ERROR.
ENDIF.
ENDFORM.

" bdc_transaction

*&---------------------------------------------------------------------*
*&
Form validation
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM VALIDATION .

DATA: L_BOOL.
IF ( NOT CTUMODE = 'A' ) AND
( NOT CTUMODE = 'N' ) AND
( NOT CTUMODE = 'E' ) AND
( NOT CTUMODE = 'P' ).
V_CONTINUE = C_X.
MESSAGE 'Please select a valid value for Processing Mode' TYPE 'I'.
ENDIF.
IF ( NOT CUPDATE = 'L' ) AND
( NOT CUPDATE = 'S' ) AND
( NOT CUPDATE = 'A' ).
V_CONTINUE = C_X.
MESSAGE 'Please select a valid value for Update Mode' TYPE 'I'.
ENDIF.
*--if file source is presentation server
IF P_PS EQ C_X.
*--validate the input file path specified
PERFORM VALIDATE_PATH USING P_INPUT
CHANGING L_BOOL.
IF L_BOOL NE C_X.
V_CONTINUE = C_X.
MESSAGE 'Invalid File Path' TYPE 'I'.
ENDIF.
CLEAR L_BOOL.
*--validate the error log file path specified
PERFORM VALIDATE_PATH USING P_ERROR
CHANGING L_BOOL.
IF L_BOOL NE C_X.
V_CONTINUE = C_X.
MESSAGE 'Invalid Error Log Path' TYPE 'I'.
ENDIF.
ENDIF.
*--if file source is application server
IF P_AS EQ C_X.
*--validate the input file path specified
PERFORM VALIDATE_PATH_AS USING P_INPUT
CHANGING L_BOOL.
IF L_BOOL NE C_X.
V_CONTINUE = C_X.
MESSAGE 'Invalid File Path' TYPE 'I'.
ENDIF.
CLEAR L_BOOL.

*--validate the error log file path specified


PERFORM VALIDATE_PATH_AS USING P_ERROR
CHANGING L_BOOL.
IF L_BOOL NE C_X.
V_CONTINUE = C_X.
MESSAGE 'Invalid Error Log Path' TYPE 'I'.
ENDIF.
ENDIF.

ENDFORM.

" validation

*&---------------------------------------------------------------------*
*&
Form get_input_file
*&---------------------------------------------------------------------*
*
pov request for input file
*----------------------------------------------------------------------*
FORM GET_INPUT_FILE .
REFRESH IT_FILETAB.
CLEAR STR_FNAME.
CLEAR V_RC.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE
= 'Open File'
CHANGING
FILE_TABLE
= IT_FILETAB
RC
= V_RC.
IF SY-SUBRC EQ 0.
LOOP AT IT_FILETAB INTO STR_FNAME.
EXIT.
ENDLOOP.
P_INPUT = STR_FNAME-FILENAME.
ENDIF.
ENDFORM.

" get_input_file

*&---------------------------------------------------------------------*
*&
Form get_error_file
*&---------------------------------------------------------------------*
*
pov request for error file input
*----------------------------------------------------------------------*
FORM GET_ERROR_FILE .

REFRESH IT_FILETAB.
CLEAR STR_FNAME.
CLEAR V_RC.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_OPEN_DIALOG
EXPORTING
WINDOW_TITLE
= 'Open File'
CHANGING
FILE_TABLE
= IT_FILETAB
RC
= V_RC.
IF SY-SUBRC EQ 0.
LOOP AT IT_FILETAB INTO STR_FNAME.
EXIT.
ENDLOOP.
P_ERROR = STR_FNAME-FILENAME.
ENDIF.
ENDFORM.
" get_error_file
*&---------------------------------------------------------------------*
*&
Form validate_path
*&---------------------------------------------------------------------*
*
validate the path specified
*----------------------------------------------------------------------*
FORM VALIDATE_PATH USING
P_PATH
CHANGING L_BOOL.
CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_EXIST
EXPORTING
FILE
= P_PATH
RECEIVING
RESULT
= L_BOOL.
ENDFORM.
" validate_path
*&---------------------------------------------------------------------*
*&
Form validate_path_as
*&---------------------------------------------------------------------*
*
validate the path specified
*----------------------------------------------------------------------*
FORM VALIDATE_PATH_AS USING
P_PATH
CHANGING L_BOOL.
OPEN DATASET P_PATH FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF SY-SUBRC <> 0.
L_BOOL = ' '.
ENDIF.
ENDFORM.
" validate_path_as
*&---------------------------------------------------------------------*

*&
Form upload_data_presentation
*&---------------------------------------------------------------------*
*
upload data from presentation server
*----------------------------------------------------------------------*
FORM UPLOAD_DATA_PRESENTATION .
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD
EXPORTING
FILENAME
= P_INPUT
FILETYPE
= 'ASC'
HAS_FIELD_SEPARATOR
= 'X'
CHANGING
DATA_TAB
= IT_INPUT[] .
ENDFORM.
" upload_data_presentation
*&---------------------------------------------------------------------*
*&
Form upload_data_application
*&---------------------------------------------------------------------*
*
upload data from application server
*----------------------------------------------------------------------*
FORM UPLOAD_DATA_APPLICATION .
OPEN DATASET P_INPUT FOR INPUT IN TEXT MODE ENCODING DEFAULT.
IF SY-SUBRC EQ 0.
DO.
READ DATASET P_INPUT INTO IT_INPUT.
IF SY-SUBRC EQ 0.
APPEND IT_INPUT.
CLEAR IT_INPUT.
ELSE.
EXIT.
ENDIF.
ENDDO.
ENDIF.
CLOSE DATASET P_INPUT.
ENDFORM.
" upload_data_application
*&---------------------------------------------------------------------*
*&
Form open_group
*&---------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
FORM OPEN_GROUP .
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING CLIENT
= SY-MANDT
*
GROUP
= 'SDXD01'
USER
= SY-UNAME.
*
KEEP
= 'X'

HOLDDATE = sy-datum.

ENDFORM.
" open_group
*&---------------------------------------------------------------------*
*&
Form header
*&---------------------------------------------------------------------*
*
header for the list
*----------------------------------------------------------------------*
FORM HEADER .
FORMAT COLOR 1.
ULINE.
WRITE:
/1
SY-VLINE,
50
'SETFLAG MATERIAL RELATION',
100
'Page :' ,
SY-PAGNO,
150
SY-VLINE.

IF SY-PAGNO = 1.
WRITE:
/1
SY-VLINE,
54
'Summary Report',
100
'Date : ',
SY-DATUM,
150
SY-VLINE.
ELSE.
WRITE:
/1
SY-VLINE,
54
'Error Report',
100
'Date : ',
SY-DATUM,
150
SY-VLINE.
ULINE.
WRITE :/1 SY-VLINE ,
3 'Record No' ,
16 SY-VLINE ,
18 'Error Description' ,
150 SY-VLINE .
ENDIF.
ULINE.
ENDFORM.
" header
*&---------------------------------------------------------------------*
*&
Form display_error_report
*&---------------------------------------------------------------------*
*
display error report

*----------------------------------------------------------------------*
FORM DISPLAY_ERROR_REPORT .
DATA: L_COLOR TYPE SY-TABIX.
DATA: L_LEN TYPE I.
LOOP AT IT_ERROR.
L_COLOR = SY-TABIX MOD 2.
IF L_COLOR EQ 0.
FORMAT COLOR 2 INTENSIFIED ON.
ELSE.
FORMAT COLOR 2 INTENSIFIED OFF.
ENDIF.
WRITE :/1
3
16
18
150
ENDLOOP.
ULINE.

SY-VLINE ,
IT_ERROR-COUNT LEFT-JUSTIFIED,
SY-VLINE ,
IT_ERROR-ERRTEXT,
SY-VLINE .

ENDFORM.
" display_error_report
*&---------------------------------------------------------------------*
*&
Form generate_error_log
*&---------------------------------------------------------------------*
*
generate error log file
*----------------------------------------------------------------------*
FORM GENERATE_ERROR_LOG .
CALL METHOD CL_GUI_FRONTEND_SERVICES=>GUI_DOWNLOAD
EXPORTING
FILENAME
FILETYPE
WRITE_FIELD_SEPARATOR
CHANGING
DATA_TAB

= P_ERROR
= 'ASC'
= 'X'
= IT_ERROR[].

ENDFORM.
" generate_error_log
*&---------------------------------------------------------------------*
*&
Form close_group
*&---------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
FORM CLOSE_GROUP .
CALL FUNCTION 'BDC_CLOSE_GROUP'.

ENDFORM.
" close_group
*&---------------------------------------------------------------------*
*&
Form bdc_transaction_sm
*&---------------------------------------------------------------------*
*
*----------------------------------------------------------------------*
FORM BDC_TRANSACTION_SM USING
TCODE.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
TCODE
= TCODE
TABLES
DYNPROTAB
= IT_BDCDATA.
ENDFORM.
" bdc_transaction_sm
*&---------------------------------------------------------------------*
*&
Form get_input_file_data
*&---------------------------------------------------------------------*
*
Get Legacy Data
*----------------------------------------------------------------------*
FORM GET_INPUT_FILE_DATA .
IF P_PS EQ C_X.
*--upload data from presentation server
PERFORM UPLOAD_DATA_PRESENTATION.
ELSEIF P_AS EQ C_X.
*--upload data from application server
PERFORM UPLOAD_DATA_APPLICATION.
ENDIF.
ENDFORM.
" get_input_file_data
*&---------------------------------------------------------------------*
*&
Form intialize_all_declarations
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM INTIALIZE_ALL_DECLARATIONS .
V_SYTABIX = SY-TABIX.
CLEAR
IT_BDCDATA.
REFRESH IT_BDCDATA.
ENDFORM.
" intialize_all_declarations
*&---------------------------------------------------------------------*
*&
Form disp_summary_report
*&---------------------------------------------------------------------*
*
text
*----------------------------------------------------------------------*
FORM DISP_SUMMARY_REPORT .

FORMAT COLOR 2 INTENSIFIED ON.


CLEAR V_GEN_COUNT.
DESCRIBE TABLE IT_INPUT LINES V_GEN_COUNT.
WRITE:
/1 SY-VLINE,
3 'Total Number of Records:',
V_GEN_COUNT LEFT-JUSTIFIED,
150 SY-VLINE.
WRITE:
/1 SY-VLINE,
3 'Total Success Records :',
V_SUCCESS_COUNT LEFT-JUSTIFIED,
150 SY-VLINE.
WRITE:
/1 SY-VLINE,
3 'Total Error
Records :',
V_ERROR_COUNT LEFT-JUSTIFIED,
150 SY-VLINE.
CHECK IT_ERROR[] IS NOT INITIAL.
WRITE:
/1 SY-VLINE,
3 'Error Data Path
:',
P_ERROR,
150 SY-VLINE.
ULINE.
FORMAT COLOR OFF.
ENDFORM.

" disp_summary_report

Rahul change here


DATA: BEGIN OF WA_RECORD,
PERNR
TYPE BDCDATA-FVAL,
BEGDA
TYPE BDCDATA-FVAL,
ENDDA
TYPE BDCDATA-FVAL,
SUBTY
TYPE BDCDATA-FVAL,
END OF WA_RECORD.

You might also like