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

Program running in debug mode but not in real time

Former Member
0 Likes
719

Hi,

I have written a program using submit statement.I create a selction table and submit transaction CK60, preselction of material, using it.Problem is that the program works fine in the debug mode but gives an error ( variable g_error is set in the program) when I run it in real time.The code is as follows. Can someone point out why that is happening.Thanks

  • Get the values of the materials entered by the user.

SELECT matnr

INTO TABLE lt_matnr

FROM mara WHERE matnr IN s_matnr.

  • Create selection table to be used for submitting the program

CLEAR ls_rspar.

REFRESH lt_rspar.

LOOP AT lt_matnr INTO ls_matnr.

ls_rspar-selname = 'CK_MATNR'.

ls_rspar-kind = 'S'.

ls_rspar-sign = 'I'.

ls_rspar-option = 'BT'.

ls_rspar-low = ls_matnr-matnr.

APPEND ls_rspar TO lt_rspar.

ENDLOOP.

CLEAR ls_rspar.

ls_rspar-selname = 'CK_MTART'.

ls_rspar-kind = 'S'.

ls_rspar-sign = 'I'.

ls_rspar-option = 'BT'.

ls_rspar-low = s_mtart-low.

ls_rspar-high = s_mtart-high.

APPEND ls_rspar TO lt_rspar.

CLEAR gs_werks.

LOOP AT gt_werks INTO gs_werks.

CLEAR ls_rspar.

ls_rspar-selname = 'CK_WERKS'.

ls_rspar-kind = 'S'.

ls_rspar-sign = 'I'.

ls_rspar-option = 'BT'.

ls_rspar-low = gs_werks-werks.

APPEND ls_rspar TO lt_rspar.

ENDLOOP.

CLEAR ls_rspar.

ls_rspar-selname = 'KALAID'.

ls_rspar-kind = 'P'.

ls_rspar-sign = 'I'.

ls_rspar-option = 'EQ'.

ls_rspar-low = g_kalaid.

APPEND ls_rspar TO lt_rspar.

CLEAR ls_rspar.

ls_rspar-selname = 'KALADAT'.

ls_rspar-kind = 'P'.

ls_rspar-sign = 'I'.

ls_rspar-option = 'EQ'.

ls_rspar-low = g_current_date.

APPEND ls_rspar TO lt_rspar.

CLEAR ls_rspar.

ls_rspar-selname = 'BACKGR'.

ls_rspar-kind = 'P'.

ls_rspar-sign = 'I'.

ls_rspar-option = 'EQ'.

ls_rspar-low = 'X'.

APPEND ls_rspar TO lt_rspar.

CLEAR ls_rspar.

ls_rspar-selname = 'PROTDR'.

ls_rspar-kind = 'S'.

ls_rspar-sign = 'I'.

ls_rspar-option = 'EQ'.

ls_rspar-low = 'X'.

APPEND ls_rspar TO lt_rspar.

CALL FUNCTION 'JOB_OPEN'

EXPORTING

jobname = l_job_name

IMPORTING

jobcount = l_job_count

EXCEPTIONS

cant_create_job = 1

invalid_job_data = 2

jobname_missing = 3

OTHERS = 4.

IF sy-subrc = 0.

  • Submit program for Preselection of material(CK62) with

  • selection table

SUBMIT saprck60 WITH SELECTION-TABLE lt_rspar

VIA JOB g_kalaid NUMBER l_job_count

AND RETURN.

IF sy-subrc = 0.

CALL FUNCTION 'JOB_CLOSE'

EXPORTING

jobcount = l_job_count

jobname = l_job_name

strtimmed = 'X'

EXCEPTIONS

cant_start_immediate = 1

invalid_startdate = 2

jobname_missing = 3

job_close_failed = 4

job_nosteps = 5

job_notex = 6

lock_failed = 7

OTHERS = 8.

IF sy-subrc <> 0.

  • Do Nothing

ENDIF.

ELSE.

g_error = 'X'.

ENDIF.

CLEAR ls_costing_status.

REFRESH lt_costing_status.

  • Check the costing status for the costing run

SELECT SINGLE feh_stat

INTO l_feh_status

FROM kalf

WHERE kalaid EQ g_kalaid

AND kaladat EQ sy-datum

AND feh_stat EQ 'SE'.

IF sy-subrc NE 0.

g_error = 'X'

ENDIF. "sy-subrc check

ENDIF.

Hi,

I have written a program using submit statement.I create a selction table and submit transaction CK60, preselction of material, using it.Problem is that the program works fine in the debug mode but gives an error ( variable g_error is set in the program) when I run it in real time.The code is as follows. Can someone point out why that is happening.Thanks

  • Get the values of the materials entered by the user.

SELECT matnr

INTO TABLE lt_matnr

FROM mara WHERE matnr IN s_matnr.

  • Create selection table to be used for submitting the program

CLEAR ls_rspar.

REFRESH lt_rspar.

LOOP AT lt_matnr INTO ls_matnr.

ls_rspar-selname = 'CK_MATNR'.

ls_rspar-kind = 'S'.

ls_rspar-sign = 'I'.

ls_rspar-option = 'BT'.

ls_rspar-low = ls_matnr-matnr.

APPEND ls_rspar TO lt_rspar.

ENDLOOP.

CLEAR ls_rspar.

ls_rspar-selname = 'CK_MTART'.

ls_rspar-kind = 'S'.

ls_rspar-sign = 'I'.

ls_rspar-option = 'BT'.

ls_rspar-low = s_mtart-low.

ls_rspar-high = s_mtart-high.

APPEND ls_rspar TO lt_rspar.

CLEAR gs_werks.

LOOP AT gt_werks INTO gs_werks.

CLEAR ls_rspar.

ls_rspar-selname = 'CK_WERKS'.

ls_rspar-kind = 'S'.

ls_rspar-sign = 'I'.

ls_rspar-option = 'BT'.

ls_rspar-low = gs_werks-werks.

APPEND ls_rspar TO lt_rspar.

ENDLOOP.

CLEAR ls_rspar.

ls_rspar-selname = 'KALAID'.

ls_rspar-kind = 'P'.

ls_rspar-sign = 'I'.

ls_rspar-option = 'EQ'.

ls_rspar-low = g_kalaid.

APPEND ls_rspar TO lt_rspar.

CLEAR ls_rspar.

ls_rspar-selname = 'KALADAT'.

ls_rspar-kind = 'P'.

ls_rspar-sign = 'I'.

ls_rspar-option = 'EQ'.

ls_rspar-low = g_current_date.

APPEND ls_rspar TO lt_rspar.

CLEAR ls_rspar.

ls_rspar-selname = 'BACKGR'.

ls_rspar-kind = 'P'.

ls_rspar-sign = 'I'.

ls_rspar-option = 'EQ'.

ls_rspar-low = 'X'.

APPEND ls_rspar TO lt_rspar.

CLEAR ls_rspar.

ls_rspar-selname = 'PROTDR'.

ls_rspar-kind = 'S'.

ls_rspar-sign = 'I'.

ls_rspar-option = 'EQ'.

ls_rspar-low = 'X'.

APPEND ls_rspar TO lt_rspar.

CALL FUNCTION 'JOB_OPEN'

EXPORTING

jobname = l_job_name

IMPORTING

jobcount = l_job_count

EXCEPTIONS

cant_create_job = 1

invalid_job_data = 2

jobname_missing = 3

OTHERS = 4.

IF sy-subrc = 0.

  • Submit program for Preselection of material(CK62) with

  • selection table

SUBMIT saprck60 WITH SELECTION-TABLE lt_rspar

VIA JOB g_kalaid NUMBER l_job_count

AND RETURN.

IF sy-subrc = 0.

CALL FUNCTION 'JOB_CLOSE'

EXPORTING

jobcount = l_job_count

jobname = l_job_name

strtimmed = 'X'

EXCEPTIONS

cant_start_immediate = 1

invalid_startdate = 2

jobname_missing = 3

job_close_failed = 4

job_nosteps = 5

job_notex = 6

lock_failed = 7

OTHERS = 8.

IF sy-subrc <> 0.

  • Do Nothing

ENDIF.

ELSE.

g_error = 'X'.

ENDIF.

CLEAR ls_costing_status.

REFRESH lt_costing_status.

  • Check the costing status for the costing run

SELECT SINGLE feh_stat

INTO l_feh_status

FROM kalf

WHERE kalaid EQ g_kalaid

AND kaladat EQ sy-datum

AND feh_stat EQ 'SE'.

IF sy-subrc NE 0.

g_error = 'X'

ENDIF. "sy-subrc check

ENDIF.

2 REPLIES 2
Read only

Former Member
0 Likes
631

Hi,

In your did you declare the variable g_error?

You are passing 'X' when sy-subrc ne 0.But after that o where are you using g_error .No codin pasted related to this.

Check it once.

Read only

0 Likes
631

Hi Muralikrishna,

Yes I have declared g_error in top inlcude. This code is written inside a subroutine and I am just checking the value of the global variable g_error outside the subroutine, after the perform statement and giving an error message if g_error is set.