cancel
Showing results for 
Search instead for 
Did you mean: 

Profile of status management giving an error

Former Member
0 Kudos

Hi All:

We are customizing the cFolders 4.0 and we are receiving an BSP error once we try to access the "Status Management" option.

We have seem other threads which have reported this error but none of then have provided a definitive solution to the problem or at least it does not confirm if the issue was working:

Also same error indicating the code

This one indicates the error was located on this code

Trace

A fatal error occurred; application stopped; inform your system administrator

CL_CFS_P_STATUS===============CM006 33 




METHOD get_profile_attributes . 
*********************************************************************** 
* Name : CL_CFS_p_STATUS.GET_PROFILE_ATTRIBUTES * 
* Issue : 25.02.2002 - GG - SAP AG * 
* * 
* Purpose : get attributes of a status profile 
* 
* * 
* Changes : * 
* [ Date ] - [ Name ] - [ Action ] * 
* / / - - * 
*********************************************************************** 

DATA: lt_tj20t TYPE TABLE OF tj20t, 
ls_status_prof TYPE cfs_status_prof, 
ls_profile_txt TYPE cfs_ts_profile_texts, 
ls_tj20 TYPE tj20, 
ls_tj30 TYPE tj30, 
lf_stsma TYPE j_stsma. 

FIELD-SYMBOLS: TYPE tj20t. 
* --------------------------------------------------------------------- 

CLEAR rs_profile_attributes. 

* get profile data from "own" tables 
CALL METHOD me->get_bsva_keys_for_profile 
EXPORTING: i_id = i_id 
IMPORTING: e_bsva_profile_key = lf_stsma 
e_cfs_status_prof = ls_status_prof. 

IF ls_status_prof IS INITIAL. 
RAISE EXCEPTION TYPE cx_cfs_fatal_error. 
ENDIF. 

* get profile data from BSVA (TJ20, TJ20T) 
SELECT SINGLE * FROM tj20 INTO ls_tj20 
WHERE stsma = lf_stsma. 
IF sy-subrc <> 0. 
RAISE EXCEPTION TYPE cx_cfs_fatal_error. 
ENDIF. 

* get lang. dependend data 
SELECT * FROM tj20t INTO TABLE lt_tj20t 
WHERE stsma = lf_stsma. 

* get the initial-status 
SELECT SINGLE * FROM tj30 INTO ls_tj30 
WHERE stsma = lf_stsma AND 
inist = 'X'. 

IF sy-subrc = 0. 
SELECT SINGLE status_id 
INTO rs_profile_attributes-initial_status_id 
FROM cfs_status 
WHERE bsva_profile_key = ls_tj30-stsma AND 
bsva_status_key = ls_tj30-estat. 
ENDIF. 

* --------------------------------------------------------------------- 
* Map data 
* --------------------------------------------------------------------- 
MOVE-CORRESPONDING ls_status_prof TO rs_profile_attributes. 
rs_profile_attributes-id = ls_status_prof-profile_id. 

LOOP AT lt_tj20t ASSIGNING . 
CLEAR ls_profile_txt. 
ls_profile_txt-language = -spras. 
ls_profile_txt-text = -txt. 
APPEND ls_profile_txt TO rs_profile_attributes-texts. 
ENDLOOP. 
ENDMETHOD.

Even in some threads, they have mentioned this note but it is belong to the version 2.0 of cFolders and we are implementing version 4

This is were the code is failing:

 get profile data from BSVA (TJ20, TJ20T) 
SELECT SINGLE * FROM tj20 INTO ls_tj20 
WHERE stsma = lf_stsma. 
IF sy-subrc <> 0. 
RAISE EXCEPTION TYPE cx_cfs_fatal_error. 
ENDIF.

Check note 555285 https://service.sap.com/notes

and implement corrections instructions 0000456742

regards

Gonzalo Pérez-Prim


Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi All:

Please, let me try to add some technical details on this issue:

Method get_bsva_profile_for_profile in class CL_CFS_P_STATUS cannot

retrieve a status profile for one of the id received. We have started a

ST05 trace, and check that one (at least) of the ID was not present in

the correspoinding table CFS_STATUS_PROF.

As we know the name of the Statusprofile,We have replace the ALT_KEY from the ALT_KEY field from the table TJ20T.

We think that this is the reason for the error, but we don't know why

the required entry is missing.

Could you provide us an insight on what is happening and why the entries are been deleted once we manually generated them?

Kind regards

Gonzalo Pérez-Prim