Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

handle error messages

Former Member
0 Likes
474

Hi,

In my BDC (call transcation) I have mainataining error messages in an internal table. I want to download these error messages to application server file.

Can any one help me do this.

Thanks,

Suresh.

1 ACCEPTED SOLUTION
Read only

sreelatha_gullapalli
Active Participant
0 Likes
439

hi

here i am attanching the varify it

REPORT zbdccal_pd1

NO STANDARD PAGE HEADING MESSAGE-ID zsreemess LINE-SIZE 255.

*INCLUDE bdcrecx1.

SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-015.

PARAMETERS: p_file TYPE rlgrap-filename,

p_file1 TYPE rlgrap-filename,

p_file2 TYPE rlgrap-filename.

SELECTION-SCREEN: END OF BLOCK b1.

                                          • STRUCTURE OF INTERNAL TABLE*************

TYPES: BEGIN OF ty_itab,

pernr TYPE pernr,

begda TYPE begda,

endda TYPE endda,

anrex TYPE anrex,

nachn TYPE nachn,

vorna TYPE vorna,

gbdat TYPE gbdat,

natio TYPE natio,

END OF ty_itab.

                          • STORING REC OF FLAT FILE******************

TYPES: BEGIN OF ty_text,

rec(200) TYPE c,

END OF ty_text.

                          • INTERNAL TABLE FOR STORING MESSAGES******************

TYPES: BEGIN OF ty_text1,

rec(200) TYPE c,

END OF ty_text1.

                                                      • STRUCTURE FOR SUCCESS RECORD**************

TYPES: BEGIN OF ty_sucess,

pernr TYPE pernr,

begda TYPE begda,

endda TYPE endda,

anrex TYPE anrex,

nachn TYPE nachn,

vorna TYPE vorna,

gbdat TYPE gbdat,

natio TYPE natio,

sucess(250) TYPE c,

END OF ty_sucess.

                          • INTERNAL TABLE FOR PERNR******************************

TYPES: BEGIN OF ty_pernr,

pernr TYPE pernr,

END OF ty_pernr.

                                                  • TABLE TYPES**********************

TYPES: tt_itab TYPE STANDARD TABLE OF ty_itab,

tt_itab1 TYPE STANDARD TABLE OF ty_itab,

tt_text TYPE STANDARD TABLE OF ty_text,

tt_text1 TYPE STANDARD TABLE OF ty_text1,

tt_sucess TYPE STANDARD TABLE OF ty_sucess,

tt_error TYPE STANDARD TABLE OF ty_sucess,

tt_pernr TYPE STANDARD TABLE OF ty_pernr.

                                              • DECLARATION OF BODY AND WORKAREA***********

DATA: it_itab TYPE tt_itab,

wa_itab TYPE ty_itab,

it_itab1 TYPE tt_itab1,

wa_itab1 TYPE ty_itab,

it_text TYPE tt_text,

it_text1 TYPE tt_text1,

it_sucess TYPE tt_sucess,

wa_sucess TYPE ty_sucess,

it_error TYPE tt_error,

wa_error TYPE ty_sucess,

it_pernr type tt_pernr,

wa_pernr type ty_pernr.

****************BDC INTERNAL TABLE DECLARATIONS**************

TYPES: tt_bdcdata TYPE STANDARD TABLE OF bdcdata,

tt_bdcmess TYPE STANDARD TABLE OF bdcmsgcoll.

DATA: it_bdcdata TYPE tt_bdcdata,

wa_bdcdata TYPE bdcdata,

it_bdcmess TYPE tt_bdcmess,

wa_bdcmess TYPE bdcmsgcoll.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

PERFORM get_f4 CHANGING p_file.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.

PERFORM get_f4 CHANGING p_file1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file2.

PERFORM get_f4 CHANGING p_file2.

AT SELECTION-SCREEN .

PERFORM validation CHANGING p_file.

PERFORM validation CHANGING p_file1.

PERFORM validation CHANGING p_file2.

START-OF-SELECTION.

PERFORM upload_file USING p_file.

PERFORM get_data USING it_text.

perform validation-pernr.

PERFORM bdc_transcation.

*END-OF-SELECTION.

END-OF-SELECTION.

PERFORM write_messages USING it_sucess.

PERFORM write_messages USING it_error.

PERFORM download_file USING p_file1

it_sucess.

PERFORM download_file USING p_file2

it_error.

&----


*& Form get_f4

&----


  • text

----


  • <--P_P_FILE text

----


FORM get_f4 CHANGING pd_file TYPE rlgrap-filename.

DATA : lpd_file TYPE ibipparms-path.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

program_name = syst-cprog

dynpro_number = syst-dynnr

IMPORTING

file_name = lpd_file.

pd_file = lpd_file.

ENDFORM. " get_f4

----


  • Start new screen *

----


FORM bdc_dynpro USING program dynpro.

CLEAR wa_bdcdata.

wa_bdcdata-program = program.

wa_bdcdata-dynpro = dynpro.

wa_bdcdata-dynbegin = 'X'.

APPEND wa_bdcdata TO it_bdcdata.

ENDFORM. "BDC_DYNPRO

----


  • Insert field *

----


FORM bdc_field USING fnam fval.

  • IF fval <> nodata.

CLEAR wa_bdcdata.

wa_bdcdata-fnam = fnam.

wa_bdcdata-fval = fval.

APPEND wa_bdcdata TO it_bdcdata.

  • ENDIF.

ENDFORM. "BDC_FIELD

&----


*& Form upload_file

&----


  • text

----


  • -->P_P_FILE text

----


FORM upload_file USING pd2_file TYPE rlgrap-filename.

DATA : lpd_file1 TYPE string.

lpd_file1 = pd2_file.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = lpd_file1

filetype = 'ASC'

TABLES

data_tab = it_text.

ENDFORM. " upload_file

&----


*& Form BDC_TRANSCATION

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM bdc_transcation .

LOOP AT it_itab1 INTO wa_itab1.

PERFORM bdc_dynpro USING 'SAPMP50A' '1000'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=MOD'.

PERFORM bdc_field USING 'RP50G-PERNR'

wa_itab1-pernr. "'4'.

PERFORM bdc_field USING 'BDC_CURSOR'

'T582S-ITEXT(03)'.

PERFORM bdc_field USING 'RP50G-SELEC(03)'

'X'.

PERFORM bdc_field USING 'RP50G-TIMR6'

'X'.

PERFORM bdc_dynpro USING 'MP000200' '2007'.

PERFORM bdc_field USING 'BDC_CURSOR'

'P0002-NATIO'.

PERFORM bdc_field USING 'BDC_OKCODE'

'UPD'.

PERFORM bdc_field USING 'P0002-BEGDA'

wa_itab1-begda. "'10.12.1978'.

PERFORM bdc_field USING 'P0002-ENDDA'

wa_itab1-endda. "'31.12.9999'.

PERFORM bdc_field USING 'Q0002-ANREX'

wa_itab1-anrex. "'Miss'.

PERFORM bdc_field USING 'P0002-NACHN'

wa_itab1-nachn. "'dfd'.

PERFORM bdc_field USING 'P0002-VORNA'

wa_itab1-vorna. "'dgdf'.

PERFORM bdc_field USING 'Q0002-PERID'

'000-000-000'.

PERFORM bdc_field USING 'P0002-GBDAT'

wa_itab1-gbdat. "'14.12.1934'.

PERFORM bdc_field USING 'Q0002-GESC1'

''.

PERFORM bdc_field USING 'P0002-SPRSL'

'EN'.

PERFORM bdc_field USING 'P0002-NATIO'

wa_itab1-natio. "'IN'.

PERFORM bdc_field USING 'Q0002-GESC2'

'X'.

*perform bdc_transaction using 'PA30'.

CALL TRANSACTION 'PA30' USING it_bdcdata

MODE 'A'

UPDATE 'S'

MESSAGES INTO it_bdcmess.

PERFORM get_messages.

REFRESH :it_bdcdata,

it_bdcmess.

CLEAR : wa_itab1, wa_bdcdata, wa_bdcmess.

  • PERFORM close_group.

ENDLOOP.

ENDFORM. " BDC_TRANSCATION

&----


*& Form get_data

&----


  • text

----


  • -->P_IT_TEXT text

  • <--P_IT_ITAB text

----


FORM get_data USING lpd_text TYPE tt_text.

DATA : lpdwa_text TYPE ty_text,

lpdwa_itab TYPE ty_itab.

LOOP AT lpd_text INTO lpdwa_text.

lpdwa_itab-pernr = lpdwa_text+0(8).

lpdwa_itab-begda = lpdwa_text+8(8).

lpdwa_itab-endda = lpdwa_text+16(8).

lpdwa_itab-anrex = lpdwa_text+24(5).

lpdwa_itab-nachn = lpdwa_text+29(40).

lpdwa_itab-vorna = lpdwa_text+69(40).

lpdwa_itab-gbdat = lpdwa_text+109(8).

lpdwa_itab-natio = lpdwa_text+117(3).

APPEND lpdwa_itab TO it_itab.

ENDLOOP.

ENDFORM. " get_data

&----


*& Form write_messages

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM write_messages USING it_sucess TYPE tt_sucess.

LOOP AT it_sucess INTO wa_sucess.

WRITE:/ wa_sucess-pernr,

wa_sucess-begda,

wa_sucess-endda,

wa_sucess-anrex,

wa_sucess-nachn,

wa_sucess-vorna,

wa_sucess-gbdat,

wa_sucess-natio,

wa_sucess-sucess.

ENDLOOP.

ENDFORM. " write_messages

&----


*& Form get_messages

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_messages .

DATA : lpdwa_msgs TYPE char480,

lwa_sucess TYPE ty_sucess,

lwa_error TYPE ty_sucess.

" WHERE msgtyp = 'S'.

LOOP AT it_bdcmess INTO wa_bdcmess.

IF wa_bdcmess-msgtyp = 'S'.

PERFORM format_message USING it_sucess.

ELSEIF wa_bdcmess-msgtyp = 'E'.

PERFORM format_message USING it_error.

ENDIF.

ENDLOOP.

*

ENDFORM. " get_messages

&----


*& Form download_file

&----


  • text

----


  • -->P_P_FILE1 text

----


FORM download_file USING pd_file1 TYPE rlgrap-filename

it_sucess TYPE tt_sucess.

DATA : lpd_file2 TYPE string.

lpd_file2 = pd_file1.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

filename = lpd_file2

filetype = 'ASC'

TABLES

data_tab = it_sucess.

ENDFORM. " download_file

&----


*& Form validation

&----


  • text

----


  • -->P_P_FILE text

----


FORM validation CHANGING p_p_file.

IF p_p_file IS NOT INITIAL.

  • PERFORM validate_file USING p_file.

DATA: lpd_result TYPE c ,

  • lpd_file(128) TYPE c ,

lpd_dir TYPE i,

lpd_dir1 TYPE c.

CALL FUNCTION 'TMP_GUI_GET_FILE_EXIST'

EXPORTING

fname = p_p_file

IMPORTING

exist = lpd_result

isdir = lpd_dir1

filesize = lpd_dir

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 lpd_result IS INITIAL.

MESSAGE e001 WITH P_P_FILE. "' file is not vaild'.

ENDIF.

ELSE.

MESSAGE e000.

ENDIF.

ENDFORM. " validation

&----


*& Form format_message

&----


  • text

----


  • -->P_IT_ERROR text

----


FORM format_message USING p_it_sucess TYPE tt_sucess.

DATA: lpdwa_msgs TYPE char480,

lwa_sucess TYPE ty_sucess.

CALL FUNCTION 'FORMAT_MESSAGE'

EXPORTING

id = wa_bdcmess-msgid

lang = sy-langu

no = wa_bdcmess-msgnr

v1 = wa_bdcmess-msgv1

IMPORTING

msg = lpdwa_msgs

EXCEPTIONS

not_found = 1

OTHERS = 2.

lwa_sucess-sucess = lpdwa_msgs.

lwa_sucess-pernr = wa_itab-pernr.

lwa_sucess-begda = wa_itab-begda.

lwa_sucess-endda = wa_itab-endda.

lwa_sucess-anrex = wa_itab-anrex.

lwa_sucess-nachn = wa_itab-nachn.

lwa_sucess-vorna = wa_itab-vorna.

lwa_sucess-gbdat = wa_itab-gbdat.

lwa_sucess-natio = wa_itab-natio.

APPEND lwa_sucess TO p_it_sucess.

CLEAR: wa_bdcmess , lwa_sucess.

ENDFORM. " format_message

&----


*& Form validation-pernr

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form validation-pernr .

data: wa_pernr type ty_pernr,

wa_message type char480.

sort it_pernr by pernr.

sort it_itab by pernr.

loop at it_itab into wa_itab.

select single pernr

into wa_pernr

from pa0001 where pernr = wa_itab-pernr.

if sy-subrc = 0.

wa_itab1-pernr = wa_itab-pernr.

wa_itab1-begda = wa_itab-begda.

wa_itab1-endda = wa_itab-endda.

wa_itab1-anrex = wa_itab-anrex.

wa_itab1-nachn = wa_itab-nachn.

wa_itab1-vorna = wa_itab-vorna.

wa_itab1-gbdat = wa_itab-gbdat.

wa_itab1-natio = wa_itab-natio.

append wa_itab1 to it_itab1.

else.

concatenate wa_message ' This Record is not valid ' into wa_message.

wa_error-pernr = wa_itab-pernr.

wa_error-begda = wa_itab-begda.

wa_error-endda = wa_itab-endda.

wa_error-anrex = wa_itab-anrex.

wa_error-nachn = wa_itab-nachn.

wa_error-vorna = wa_itab-vorna.

wa_error-gbdat = wa_itab-gbdat.

wa_error-natio = wa_itab-natio.

wa_error-sucess = wa_message.

append wa_error to it_error.

endif.

endloop.

endform. " validation-pernr

reward points if helpfull

regards

sreelatha gullapalli

Hi,

In my BDC (call transcation) I have mainataining error messages in an internal table. I want to download these error messages to application server file.

Can any one help me do this.

Thanks,

Suresh.

2 REPLIES 2
Read only

sreelatha_gullapalli
Active Participant
0 Likes
440

hi

here i am attanching the varify it

REPORT zbdccal_pd1

NO STANDARD PAGE HEADING MESSAGE-ID zsreemess LINE-SIZE 255.

*INCLUDE bdcrecx1.

SELECTION-SCREEN: BEGIN OF BLOCK b1 WITH FRAME TITLE text-015.

PARAMETERS: p_file TYPE rlgrap-filename,

p_file1 TYPE rlgrap-filename,

p_file2 TYPE rlgrap-filename.

SELECTION-SCREEN: END OF BLOCK b1.

                                          • STRUCTURE OF INTERNAL TABLE*************

TYPES: BEGIN OF ty_itab,

pernr TYPE pernr,

begda TYPE begda,

endda TYPE endda,

anrex TYPE anrex,

nachn TYPE nachn,

vorna TYPE vorna,

gbdat TYPE gbdat,

natio TYPE natio,

END OF ty_itab.

                          • STORING REC OF FLAT FILE******************

TYPES: BEGIN OF ty_text,

rec(200) TYPE c,

END OF ty_text.

                          • INTERNAL TABLE FOR STORING MESSAGES******************

TYPES: BEGIN OF ty_text1,

rec(200) TYPE c,

END OF ty_text1.

                                                      • STRUCTURE FOR SUCCESS RECORD**************

TYPES: BEGIN OF ty_sucess,

pernr TYPE pernr,

begda TYPE begda,

endda TYPE endda,

anrex TYPE anrex,

nachn TYPE nachn,

vorna TYPE vorna,

gbdat TYPE gbdat,

natio TYPE natio,

sucess(250) TYPE c,

END OF ty_sucess.

                          • INTERNAL TABLE FOR PERNR******************************

TYPES: BEGIN OF ty_pernr,

pernr TYPE pernr,

END OF ty_pernr.

                                                  • TABLE TYPES**********************

TYPES: tt_itab TYPE STANDARD TABLE OF ty_itab,

tt_itab1 TYPE STANDARD TABLE OF ty_itab,

tt_text TYPE STANDARD TABLE OF ty_text,

tt_text1 TYPE STANDARD TABLE OF ty_text1,

tt_sucess TYPE STANDARD TABLE OF ty_sucess,

tt_error TYPE STANDARD TABLE OF ty_sucess,

tt_pernr TYPE STANDARD TABLE OF ty_pernr.

                                              • DECLARATION OF BODY AND WORKAREA***********

DATA: it_itab TYPE tt_itab,

wa_itab TYPE ty_itab,

it_itab1 TYPE tt_itab1,

wa_itab1 TYPE ty_itab,

it_text TYPE tt_text,

it_text1 TYPE tt_text1,

it_sucess TYPE tt_sucess,

wa_sucess TYPE ty_sucess,

it_error TYPE tt_error,

wa_error TYPE ty_sucess,

it_pernr type tt_pernr,

wa_pernr type ty_pernr.

****************BDC INTERNAL TABLE DECLARATIONS**************

TYPES: tt_bdcdata TYPE STANDARD TABLE OF bdcdata,

tt_bdcmess TYPE STANDARD TABLE OF bdcmsgcoll.

DATA: it_bdcdata TYPE tt_bdcdata,

wa_bdcdata TYPE bdcdata,

it_bdcmess TYPE tt_bdcmess,

wa_bdcmess TYPE bdcmsgcoll.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.

PERFORM get_f4 CHANGING p_file.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file1.

PERFORM get_f4 CHANGING p_file1.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file2.

PERFORM get_f4 CHANGING p_file2.

AT SELECTION-SCREEN .

PERFORM validation CHANGING p_file.

PERFORM validation CHANGING p_file1.

PERFORM validation CHANGING p_file2.

START-OF-SELECTION.

PERFORM upload_file USING p_file.

PERFORM get_data USING it_text.

perform validation-pernr.

PERFORM bdc_transcation.

*END-OF-SELECTION.

END-OF-SELECTION.

PERFORM write_messages USING it_sucess.

PERFORM write_messages USING it_error.

PERFORM download_file USING p_file1

it_sucess.

PERFORM download_file USING p_file2

it_error.

&----


*& Form get_f4

&----


  • text

----


  • <--P_P_FILE text

----


FORM get_f4 CHANGING pd_file TYPE rlgrap-filename.

DATA : lpd_file TYPE ibipparms-path.

CALL FUNCTION 'F4_FILENAME'

EXPORTING

program_name = syst-cprog

dynpro_number = syst-dynnr

IMPORTING

file_name = lpd_file.

pd_file = lpd_file.

ENDFORM. " get_f4

----


  • Start new screen *

----


FORM bdc_dynpro USING program dynpro.

CLEAR wa_bdcdata.

wa_bdcdata-program = program.

wa_bdcdata-dynpro = dynpro.

wa_bdcdata-dynbegin = 'X'.

APPEND wa_bdcdata TO it_bdcdata.

ENDFORM. "BDC_DYNPRO

----


  • Insert field *

----


FORM bdc_field USING fnam fval.

  • IF fval <> nodata.

CLEAR wa_bdcdata.

wa_bdcdata-fnam = fnam.

wa_bdcdata-fval = fval.

APPEND wa_bdcdata TO it_bdcdata.

  • ENDIF.

ENDFORM. "BDC_FIELD

&----


*& Form upload_file

&----


  • text

----


  • -->P_P_FILE text

----


FORM upload_file USING pd2_file TYPE rlgrap-filename.

DATA : lpd_file1 TYPE string.

lpd_file1 = pd2_file.

CALL FUNCTION 'GUI_UPLOAD'

EXPORTING

filename = lpd_file1

filetype = 'ASC'

TABLES

data_tab = it_text.

ENDFORM. " upload_file

&----


*& Form BDC_TRANSCATION

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM bdc_transcation .

LOOP AT it_itab1 INTO wa_itab1.

PERFORM bdc_dynpro USING 'SAPMP50A' '1000'.

PERFORM bdc_field USING 'BDC_OKCODE'

'=MOD'.

PERFORM bdc_field USING 'RP50G-PERNR'

wa_itab1-pernr. "'4'.

PERFORM bdc_field USING 'BDC_CURSOR'

'T582S-ITEXT(03)'.

PERFORM bdc_field USING 'RP50G-SELEC(03)'

'X'.

PERFORM bdc_field USING 'RP50G-TIMR6'

'X'.

PERFORM bdc_dynpro USING 'MP000200' '2007'.

PERFORM bdc_field USING 'BDC_CURSOR'

'P0002-NATIO'.

PERFORM bdc_field USING 'BDC_OKCODE'

'UPD'.

PERFORM bdc_field USING 'P0002-BEGDA'

wa_itab1-begda. "'10.12.1978'.

PERFORM bdc_field USING 'P0002-ENDDA'

wa_itab1-endda. "'31.12.9999'.

PERFORM bdc_field USING 'Q0002-ANREX'

wa_itab1-anrex. "'Miss'.

PERFORM bdc_field USING 'P0002-NACHN'

wa_itab1-nachn. "'dfd'.

PERFORM bdc_field USING 'P0002-VORNA'

wa_itab1-vorna. "'dgdf'.

PERFORM bdc_field USING 'Q0002-PERID'

'000-000-000'.

PERFORM bdc_field USING 'P0002-GBDAT'

wa_itab1-gbdat. "'14.12.1934'.

PERFORM bdc_field USING 'Q0002-GESC1'

''.

PERFORM bdc_field USING 'P0002-SPRSL'

'EN'.

PERFORM bdc_field USING 'P0002-NATIO'

wa_itab1-natio. "'IN'.

PERFORM bdc_field USING 'Q0002-GESC2'

'X'.

*perform bdc_transaction using 'PA30'.

CALL TRANSACTION 'PA30' USING it_bdcdata

MODE 'A'

UPDATE 'S'

MESSAGES INTO it_bdcmess.

PERFORM get_messages.

REFRESH :it_bdcdata,

it_bdcmess.

CLEAR : wa_itab1, wa_bdcdata, wa_bdcmess.

  • PERFORM close_group.

ENDLOOP.

ENDFORM. " BDC_TRANSCATION

&----


*& Form get_data

&----


  • text

----


  • -->P_IT_TEXT text

  • <--P_IT_ITAB text

----


FORM get_data USING lpd_text TYPE tt_text.

DATA : lpdwa_text TYPE ty_text,

lpdwa_itab TYPE ty_itab.

LOOP AT lpd_text INTO lpdwa_text.

lpdwa_itab-pernr = lpdwa_text+0(8).

lpdwa_itab-begda = lpdwa_text+8(8).

lpdwa_itab-endda = lpdwa_text+16(8).

lpdwa_itab-anrex = lpdwa_text+24(5).

lpdwa_itab-nachn = lpdwa_text+29(40).

lpdwa_itab-vorna = lpdwa_text+69(40).

lpdwa_itab-gbdat = lpdwa_text+109(8).

lpdwa_itab-natio = lpdwa_text+117(3).

APPEND lpdwa_itab TO it_itab.

ENDLOOP.

ENDFORM. " get_data

&----


*& Form write_messages

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM write_messages USING it_sucess TYPE tt_sucess.

LOOP AT it_sucess INTO wa_sucess.

WRITE:/ wa_sucess-pernr,

wa_sucess-begda,

wa_sucess-endda,

wa_sucess-anrex,

wa_sucess-nachn,

wa_sucess-vorna,

wa_sucess-gbdat,

wa_sucess-natio,

wa_sucess-sucess.

ENDLOOP.

ENDFORM. " write_messages

&----


*& Form get_messages

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


FORM get_messages .

DATA : lpdwa_msgs TYPE char480,

lwa_sucess TYPE ty_sucess,

lwa_error TYPE ty_sucess.

" WHERE msgtyp = 'S'.

LOOP AT it_bdcmess INTO wa_bdcmess.

IF wa_bdcmess-msgtyp = 'S'.

PERFORM format_message USING it_sucess.

ELSEIF wa_bdcmess-msgtyp = 'E'.

PERFORM format_message USING it_error.

ENDIF.

ENDLOOP.

*

ENDFORM. " get_messages

&----


*& Form download_file

&----


  • text

----


  • -->P_P_FILE1 text

----


FORM download_file USING pd_file1 TYPE rlgrap-filename

it_sucess TYPE tt_sucess.

DATA : lpd_file2 TYPE string.

lpd_file2 = pd_file1.

CALL FUNCTION 'GUI_DOWNLOAD'

EXPORTING

filename = lpd_file2

filetype = 'ASC'

TABLES

data_tab = it_sucess.

ENDFORM. " download_file

&----


*& Form validation

&----


  • text

----


  • -->P_P_FILE text

----


FORM validation CHANGING p_p_file.

IF p_p_file IS NOT INITIAL.

  • PERFORM validate_file USING p_file.

DATA: lpd_result TYPE c ,

  • lpd_file(128) TYPE c ,

lpd_dir TYPE i,

lpd_dir1 TYPE c.

CALL FUNCTION 'TMP_GUI_GET_FILE_EXIST'

EXPORTING

fname = p_p_file

IMPORTING

exist = lpd_result

isdir = lpd_dir1

filesize = lpd_dir

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 lpd_result IS INITIAL.

MESSAGE e001 WITH P_P_FILE. "' file is not vaild'.

ENDIF.

ELSE.

MESSAGE e000.

ENDIF.

ENDFORM. " validation

&----


*& Form format_message

&----


  • text

----


  • -->P_IT_ERROR text

----


FORM format_message USING p_it_sucess TYPE tt_sucess.

DATA: lpdwa_msgs TYPE char480,

lwa_sucess TYPE ty_sucess.

CALL FUNCTION 'FORMAT_MESSAGE'

EXPORTING

id = wa_bdcmess-msgid

lang = sy-langu

no = wa_bdcmess-msgnr

v1 = wa_bdcmess-msgv1

IMPORTING

msg = lpdwa_msgs

EXCEPTIONS

not_found = 1

OTHERS = 2.

lwa_sucess-sucess = lpdwa_msgs.

lwa_sucess-pernr = wa_itab-pernr.

lwa_sucess-begda = wa_itab-begda.

lwa_sucess-endda = wa_itab-endda.

lwa_sucess-anrex = wa_itab-anrex.

lwa_sucess-nachn = wa_itab-nachn.

lwa_sucess-vorna = wa_itab-vorna.

lwa_sucess-gbdat = wa_itab-gbdat.

lwa_sucess-natio = wa_itab-natio.

APPEND lwa_sucess TO p_it_sucess.

CLEAR: wa_bdcmess , lwa_sucess.

ENDFORM. " format_message

&----


*& Form validation-pernr

&----


  • text

----


  • --> p1 text

  • <-- p2 text

----


form validation-pernr .

data: wa_pernr type ty_pernr,

wa_message type char480.

sort it_pernr by pernr.

sort it_itab by pernr.

loop at it_itab into wa_itab.

select single pernr

into wa_pernr

from pa0001 where pernr = wa_itab-pernr.

if sy-subrc = 0.

wa_itab1-pernr = wa_itab-pernr.

wa_itab1-begda = wa_itab-begda.

wa_itab1-endda = wa_itab-endda.

wa_itab1-anrex = wa_itab-anrex.

wa_itab1-nachn = wa_itab-nachn.

wa_itab1-vorna = wa_itab-vorna.

wa_itab1-gbdat = wa_itab-gbdat.

wa_itab1-natio = wa_itab-natio.

append wa_itab1 to it_itab1.

else.

concatenate wa_message ' This Record is not valid ' into wa_message.

wa_error-pernr = wa_itab-pernr.

wa_error-begda = wa_itab-begda.

wa_error-endda = wa_itab-endda.

wa_error-anrex = wa_itab-anrex.

wa_error-nachn = wa_itab-nachn.

wa_error-vorna = wa_itab-vorna.

wa_error-gbdat = wa_itab-gbdat.

wa_error-natio = wa_itab-natio.

wa_error-sucess = wa_message.

append wa_error to it_error.

endif.

endloop.

endform. " validation-pernr

reward points if helpfull

regards

sreelatha gullapalli

Read only

Former Member
0 Likes
439

U CAN USE

OPEN DATASET s to upload ITAB to App server