2008 Apr 16 11:41 AM
Hi Experts,
FORM f_syntax_check.
DATA: BEGIN OF loc_fs_code,
line(500),
END OF loc_fs_code.
DATA : loc_fs_error TYPE rslinlmsg.
DATA : loc_int_code LIKE TABLE OF loc_fs_code,
loc_int_warn LIKE TABLE OF loc_fs_error,
loc_int_error LIKE TABLE OF loc_fs_error.
DATA: lin TYPE i.
CLEAR: loc_fs_code.
READ REPORT fs_cust_program-cprog INTO loc_int_code.
DESCRIBE TABLE loc_int_code LINES lin.
ADD lin TO wf_code_cnt.
CALL FUNCTION 'EDITOR_SYNTAX_CHECK'
EXPORTING
i_program = fs_cust_program-cprog
i_corrwarn = 'X'
all_errors = 'X'
IMPORTING
o_error_include = loc_fs_error-incname
o_error_line = loc_fs_error-line
o_error_message = loc_fs_error-message
TABLES
i_source = loc_int_code
o_warnings_tab = loc_int_warn
o_error_tab = loc_int_error
.
READ TABLE int_mapping INTO fs_mapping
WITH KEY cprog = fs_cust_program-cprog.
IF sy-subrc = 0.
fs_report-objname = fs_mapping-objname.
fs_report-objtype = fs_mapping-objtype.
fs_report-author = fs_cust_program-author.
fs_report-srcsystem = fs_cust_program-srcsystem.
fs_report-package = fs_cust_program-package.
IF loc_int_error IS NOT INITIAL.
LOOP AT loc_int_error INTO loc_fs_error.
fs_report-msgtype = sn_err.
fs_report-incname = loc_fs_error-incname.
fs_report-row = loc_fs_error-line.
fs_report-message_num = loc_fs_error-msgnumber.
fs_report-message = loc_fs_error-message.
APPEND fs_report TO int_report.
ENDLOOP.
ENDIF.
IF NOT loc_int_warn[] IS INITIAL.
LOOP AT loc_int_warn INTO loc_fs_error.
fs_report-msgtype = et_wrn.
fs_report-incname = loc_fs_error-incname.
fs_report-row = loc_fs_error-line.
fs_report-message_num = loc_fs_error-msgnumber.
fs_report-message = loc_fs_error-message.
APPEND fs_report TO int_report.
ENDLOOP.
ENDIF.
ELSE.
fs_report-objname = fs_cust_program-cprog.
fs_report-objtype = 'Program'.
fs_report-author = fs_cust_program-author.
fs_report-srcsystem = fs_cust_program-srcsystem.
fs_report-package = fs_cust_program-package.
IF loc_int_error IS NOT INITIAL.
LOOP AT loc_int_error INTO loc_fs_error.
fs_report-msgtype = sn_err.
fs_report-incname = loc_fs_error-incname.
fs_report-row = loc_fs_error-line.
fs_report-message_num = loc_fs_error-msgnumber.
fs_report-message = loc_fs_error-message.
APPEND fs_report TO int_report.
ENDLOOP.
ENDIF.
IF NOT loc_int_warn[] IS INITIAL.
LOOP AT loc_int_warn INTO loc_fs_error.
fs_report-msgtype = et_wrn.
fs_report-incname = loc_fs_error-incname.
fs_report-row = loc_fs_error-line.
fs_report-message_num = loc_fs_error-msgnumber.
fs_report-message = loc_fs_error-message.
APPEND fs_report TO int_report.
ENDLOOP.
ENDIF.
ENDIF.
in my program i have 3 checkboxes error,warning and upgrade.
basically this above logic works only for single checkbox i.e., only when i check error or warning or upgrade checkbox but not for all the 3 checkboxes. so if i check all the 3 boxes the logic has to work same as the above.
please let me as soon as possible.
regards,
aadi.
Edited by: Alvaro Tejada Galindo on Apr 16, 2008 12:41 PM
Hi Experts,
FORM f_syntax_check.
DATA: BEGIN OF loc_fs_code,
line(500),
END OF loc_fs_code.
DATA : loc_fs_error TYPE rslinlmsg.
DATA : loc_int_code LIKE TABLE OF loc_fs_code,
loc_int_warn LIKE TABLE OF loc_fs_error,
loc_int_error LIKE TABLE OF loc_fs_error.
DATA: lin TYPE i.
CLEAR: loc_fs_code.
READ REPORT fs_cust_program-cprog INTO loc_int_code.
DESCRIBE TABLE loc_int_code LINES lin.
ADD lin TO wf_code_cnt.
CALL FUNCTION 'EDITOR_SYNTAX_CHECK'
EXPORTING
i_program = fs_cust_program-cprog
i_corrwarn = 'X'
all_errors = 'X'
IMPORTING
o_error_include = loc_fs_error-incname
o_error_line = loc_fs_error-line
o_error_message = loc_fs_error-message
TABLES
i_source = loc_int_code
o_warnings_tab = loc_int_warn
o_error_tab = loc_int_error
.
READ TABLE int_mapping INTO fs_mapping
WITH KEY cprog = fs_cust_program-cprog.
IF sy-subrc = 0.
fs_report-objname = fs_mapping-objname.
fs_report-objtype = fs_mapping-objtype.
fs_report-author = fs_cust_program-author.
fs_report-srcsystem = fs_cust_program-srcsystem.
fs_report-package = fs_cust_program-package.
IF loc_int_error IS NOT INITIAL.
LOOP AT loc_int_error INTO loc_fs_error.
fs_report-msgtype = sn_err.
fs_report-incname = loc_fs_error-incname.
fs_report-row = loc_fs_error-line.
fs_report-message_num = loc_fs_error-msgnumber.
fs_report-message = loc_fs_error-message.
APPEND fs_report TO int_report.
ENDLOOP.
ENDIF.
IF NOT loc_int_warn[] IS INITIAL.
LOOP AT loc_int_warn INTO loc_fs_error.
fs_report-msgtype = et_wrn.
fs_report-incname = loc_fs_error-incname.
fs_report-row = loc_fs_error-line.
fs_report-message_num = loc_fs_error-msgnumber.
fs_report-message = loc_fs_error-message.
APPEND fs_report TO int_report.
ENDLOOP.
ENDIF.
ELSE.
fs_report-objname = fs_cust_program-cprog.
fs_report-objtype = 'Program'.
fs_report-author = fs_cust_program-author.
fs_report-srcsystem = fs_cust_program-srcsystem.
fs_report-package = fs_cust_program-package.
IF loc_int_error IS NOT INITIAL.
LOOP AT loc_int_error INTO loc_fs_error.
fs_report-msgtype = sn_err.
fs_report-incname = loc_fs_error-incname.
fs_report-row = loc_fs_error-line.
fs_report-message_num = loc_fs_error-msgnumber.
fs_report-message = loc_fs_error-message.
APPEND fs_report TO int_report.
ENDLOOP.
ENDIF.
IF NOT loc_int_warn[] IS INITIAL.
LOOP AT loc_int_warn INTO loc_fs_error.
fs_report-msgtype = et_wrn.
fs_report-incname = loc_fs_error-incname.
fs_report-row = loc_fs_error-line.
fs_report-message_num = loc_fs_error-msgnumber.
fs_report-message = loc_fs_error-message.
APPEND fs_report TO int_report.
ENDLOOP.
ENDIF.
ENDIF.
in my program i have 3 checkboxes error,warning and upgrade.
basically this above logic works only for single checkbox i.e., only when i check error or warning or upgrade checkbox but not for all the 3 checkboxes. so if i check all the 3 boxes the logic has to work same as the above.
please let me as soon as possible.
regards,
aadi.
Edited by: Alvaro Tejada Galindo on Apr 16, 2008 12:41 PM
2008 Apr 16 4:54 PM
Hi,
Check the below one.
PERFORM f_syntax_check using p_error p_warn p_upgr.
FORM f_syntax_check using f_error f_warn f_p_upgr.
*Do what ever you want with the values of f_error f_warn f_p_upgr
ENDFORM.
2008 Apr 16 5:45 PM
hi ,
do like this...
FORM syntax_check using
error
warn
upgr.
ENDFORM.
regards,
venkat
| User | Count |
|---|---|
| 4 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |