‎2012 Aug 27 12:13 PM
Hi Experts,
After creating a class in SE24 when i try to execute it says Exception CX_SY_NO_HANDLER,An exception with type CX_SY_REF_IS_INITIAL.
Can any one solve for this issue.
Thanks,
Venkatesh
‎2012 Aug 27 12:18 PM
Hello Venkatesh,
I don't think anyone in this forum has a crystal ball to identify a problem with vague details. In short, if you want to get better response give full details.
BR,
Suhas
‎2012 Aug 27 12:32 PM
Hi Suhas,
I am getting all leave groups and deleting all leave groups in the program.
"below program i done"
method GET_RESET_LVG_GRP.
*----------------------------------------------------------------------*
* Class Definition *
*----------------------------------------------------------------------*
DATA lo_handle_emp TYPE REF TO Zcl_employee.
DATA lo_lvgrpm TYPE REF TO Zcl_lvgrpm.
*----------------------------------------------------------------------*
* Working Area & Internal Table Declaration *
*----------------------------------------------------------------------*
DATA : ls_emp_infty_read TYPE Zemp_infty_read,
ls_emplvg TYPE punaap_pnnnn,
ls_emplvg1 TYPE Zempavl_pa_s,
* ls_empLVG TYPE Zemplvg_s,
* ls_empLVG1 TYPE Zemplvg_s,
ls_emplvg_delete TYPE Zemplvg_s,
ls_return TYPE bapiret2.
DATA:lt_emp_infty_read TYPE Zemp_infty_read_t,
lt_infotype TYPE Zobject_infty_read_t,
lt_infotype_delete TYPE Zinfotype_t,
lt_infotype_ex TYPE Zinfotype_t,
lt_return TYPE bapiret2_t,
lt_emplvg TYPE Zemplvg_pa_t,
lt_lvgrpm TYPE STANDARD TABLE OF Zlvgrpm.
*----------------------------------------------------------------------*
* Field Symbols *
*----------------------------------------------------------------------*
FIELD-SYMBOLS: <lfs_emplvg> TYPE Zemplvg_pa_s,
<lfs_pannnn> TYPE C.
CLEAR ls_emp_infty_read.
ls_emp_infty_read-icrew_tbl_code = 'emplVG'.
ls_emp_infty_read-objid = im_lv_group_id.
ls_emp_infty_read-otype = 'p'.
ls_emp_infty_read-begda = im_begda.
ls_emp_infty_read-endda = im_endda.
ls_emp_infty_read-field_code = 'LVG'.
APPEND ls_emp_infty_read TO lt_emp_infty_read .
CLEAR ls_emp_infty_read.
Refresh:lt_infotype,lt_return.
CALL METHOD lo_handle_emp->Zif_employee~read_w_object
EXPORTING
im_emp_infty_read = lt_emp_infty_read
* im_timezone =
im_check_all = 'X'
IMPORTING
ex_infotype = lt_infotype
ex_return = lt_return.
CLEAR lt_emp_infty_read.
IF lt_infotype[] IS NOT INITIAL.
LOOP AT lt_infotype into ls_emplvg.
ASSIGN ls_emplvg to <lfs_emplvg> CASTING.
ls_emplvg1 = <lfs_emplvg>.
* CLEAR ls_emplvg.
* MOVE-CORRESPONDING <lfs_emplvg> TO ls_emplvg.
UNASSIGN <lfs_emplvg>.
APPEND ls_emplvg1 TO lt_emplvg.
ENDLOOP.
endif.
Delete the Existing Record
MOVE-CORRESPONDING ls_emplvg TO ls_emplvg_delete.
ASSIGN ls_emplvg_delete TO <lfs_pannnn> CASTING.
APPEND <lfs_pannnn> TO lt_infotype.
UNASSIGN <lfs_pannnn>.
**
**
CALL METHOD lo_handle_emp->delete
EXPORTING
im_infotype = lt_infotype_delete
im_tbl_code = 'emplvg'
im_orig_start_date = ls_emplvg-begda
im_orig_end_date = ls_emplvg-endda
im_start_time = ls_emplvg-begda_time
im_end_time = ls_emplvg-endda_time
im_timezone = ls_avl_employee-time_zone
IMPORTING
ex_infotype = lt_infotype_ex
ex_return = lt_return.
endmethod.
‎2012 Aug 27 12:45 PM
I don't see you instantiating the class in your code - no CREATE OBJECT statement.
BR,
Suhas
‎2012 Sep 15 1:55 AM
Hi Durga,
Try with the following code:
method GET_RESET_LVG_GRP.
*----------------------------------------------------------------------*
* Class Definition *
*----------------------------------------------------------------------*
DATA lo_handle_emp TYPE REF TO Zcl_employee.
DATA lo_lvgrpm TYPE REF TO Zcl_lvgrpm.
*----------------------------------------------------------------------*
* Working Area & Internal Table Declaration *
*----------------------------------------------------------------------*
DATA : ls_emp_infty_read TYPE Zemp_infty_read,
ls_emplvg TYPE punaap_pnnnn,
ls_emplvg1 TYPE Zempavl_pa_s,
* ls_empLVG TYPE Zemplvg_s,
* ls_empLVG1 TYPE Zemplvg_s,
ls_emplvg_delete TYPE Zemplvg_s,
ls_return TYPE bapiret2.
DATA:lt_emp_infty_read TYPE Zemp_infty_read_t,
lt_infotype TYPE Zobject_infty_read_t,
lt_infotype_delete TYPE Zinfotype_t,
lt_infotype_ex TYPE Zinfotype_t,
lt_return TYPE bapiret2_t,
lt_emplvg TYPE Zemplvg_pa_t,
lt_lvgrpm TYPE STANDARD TABLE OF Zlvgrpm.
*----------------------------------------------------------------------*
* Field Symbols *
*----------------------------------------------------------------------*
FIELD-SYMBOLS: <lfs_emplvg> TYPE Zemplvg_pa_s,
<lfs_pannnn> TYPE C.
CLEAR ls_emp_infty_read.
ls_emp_infty_read-icrew_tbl_code = 'emplVG'.
ls_emp_infty_read-objid = im_lv_group_id.
ls_emp_infty_read-otype = 'p'.
ls_emp_infty_read-begda = im_begda.
ls_emp_infty_read-endda = im_endda.
ls_emp_infty_read-field_code = 'LVG'.
APPEND ls_emp_infty_read TO lt_emp_infty_read .
CLEAR ls_emp_infty_read.
CREATE OBJECT lo_handle_emp. " For Creating object for the class
Refresh:lt_infotype,lt_return.
CALL METHOD lo_handle_emp->Zif_employee~read_w_object
EXPORTING
im_emp_infty_read = lt_emp_infty_read
* im_timezone =
im_check_all = 'X'
IMPORTING
ex_infotype = lt_infotype
ex_return = lt_return.
CLEAR lt_emp_infty_read.
IF lt_infotype[] IS NOT INITIAL.
LOOP AT lt_infotype into ls_emplvg.
ASSIGN ls_emplvg to <lfs_emplvg> CASTING.
ls_emplvg1 = <lfs_emplvg>.
* CLEAR ls_emplvg.
* MOVE-CORRESPONDING <lfs_emplvg> TO ls_emplvg.
UNASSIGN <lfs_emplvg>.
APPEND ls_emplvg1 TO lt_emplvg.
ENDLOOP.
endif.
Delete the Existing Record
MOVE-CORRESPONDING ls_emplvg TO ls_emplvg_delete.
ASSIGN ls_emplvg_delete TO <lfs_pannnn> CASTING.
APPEND <lfs_pannnn> TO lt_infotype.
UNASSIGN <lfs_pannnn>.
**
**
CALL METHOD lo_handle_emp->delete
EXPORTING
im_infotype = lt_infotype_delete
im_tbl_code = 'emplvg'
im_orig_start_date = ls_emplvg-begda
im_orig_end_date = ls_emplvg-endda
im_start_time = ls_emplvg-begda_time
im_end_time = ls_emplvg-endda_time
im_timezone = ls_avl_employee-time_zone
IMPORTING
ex_infotype = lt_infotype_ex
ex_return = lt_return.
endmethod.
FYI When you use the CREATE Object only, in run-time it will create instance of the class. Using this instance we can use the attributes & methods of the class.
Kind Regards,
Balaji
Message was edited by: Prasanna Balaji K