2008 Feb 20 5:56 AM
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.
2008 Feb 20 6:04 AM
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.
2008 Feb 20 6:04 AM
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
2008 Feb 20 6:12 AM
| User | Count |
|---|---|
| 6 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |