on 2011 Jul 08 12:06 PM
Hi Friends,
I have a table in my output with following columns: CHECKBOX, EMPID, PROJECT, HOURS_WORKED
If employee has worked on 5projects in a week, he has five entries in the table which is followed by another employee.
Now my requirement is that at run time I should enable check box of only the first entry of the employee and the remaining four
check boxes should be in disabled mode. Could anyone suggest how to get this problem resolved.
I have already bound the data which is getting displayed in the output but the check boxes are all enabled.
Regards,
Sridhar
Request clarification before answering.
Hi.,
In the context create an attribute VISIBLE of type WDY_BOOLEAN. now in the layout drilldown the table and bind the read only property of column group for check box to VISIBLE.
Now in your method loop the internal table and
at new of emp_id.
enable check box using set_attribute( ) property.
lo_el_elem->set_atribute( name = 'VISIBLE'
value = abap_false)
end at.
hope this helps u.,
Thanks & Regards,
Kiran
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Sridhar,
Access null object means have several meaning, program may not be able to retrieve particular value or unable to identify variable name...
GO to ST 22... you can see the exact line where the error raised.
There will be arrow like >>>>>> before the statement.
So in result just click on pagedown button...untill you find the coding part, there you will find the above error . So now you can analyze the error or paste the same error line code then i wl tell you.
Regards
Srinivas
Hi Srinivas,
I am getting output when not trying to enable or disable the check boxes dynamically and when I include the following code, its displaying "Null object" error.
lo_el_tsheet->set_attribute(
name = 'SNO'
VALUE = ABAP_TRUE ).
Below is the entire code...
METHOD ONACTIONCHANGE .
TYPES: BEGIN OF TY_APPROVAL,
LIFNR TYPE LFA1-LIFNR,
END OF TY_APPROVAL.
DATA: IT_APPROVAL TYPE STANDARD TABLE OF TY_APPROVAL,
WA_APPROVAL TYPE TY_APPROVAL.
DATA LO_ND_EMPID TYPE REF TO IF_WD_CONTEXT_NODE.
DATA LO_EL_EMPID TYPE REF TO IF_WD_CONTEXT_ELEMENT.
DATA : LO_ND_TSHEET TYPE REF TO IF_WD_CONTEXT_NODE,
LO_EL_TSHEET TYPE REF TO IF_WD_CONTEXT_ELEMENT,
LO_ND_COLUMN TYPE REF TO IF_WD_CONTEXT_NODE,
LO_EL_COLUMN TYPE REF TO IF_WD_CONTEXT_ELEMENT.
DATA LS_EMPID TYPE WD_THIS->ELEMENT_EMPID.
DATA: LO_API_CONTROLLER TYPE REF TO IF_WD_CONTROLLER,
LO_MESSAGE_MANAGER TYPE REF TO IF_WD_MESSAGE_MANAGER.
TYPES : BEGIN OF TY_EMP,
EMP_ID TYPE ZTIME_SHEET-EMP_ID,
END OF TY_EMP.
TYPES : BEGIN OF TY_TSHEET,
CHK_BOX TYPE WDY_BOOLEAN,
EMP_ID TYPE ZTIME_SHEET-EMP_ID,
EMP_NAME TYPE ZTIME_SHEET-EMP_NAME,
CUST_NAME TYPE ZTIME_SHEET-CUST_NAME,
PROJ_NAME TYPE ZTIME_SHEET-PROJ_NAME,
SUNDAY TYPE ZTIME_SHEET-SUNDAY,
END OF TY_TSHEET.
TYPES : BEGIN OF TY_FINAL,
EMP_ID TYPE ZTIME_SHEET-EMP_ID,
EMP_NAME TYPE ZTIME_SHEET-EMP_NAME,
CUST_NAME TYPE ZTIME_SHEET-CUST_NAME,
PROJ_NAME TYPE ZTIME_SHEET-PROJ_NAME,
MONDAY TYPE ZTIME_SHEET-MONDAY,
TUESDAY TYPE ZTIME_SHEET-TUESDAY,
WEDNESDAY TYPE ZTIME_SHEET-WEDNESDAY,
THRUSDAY TYPE ZTIME_SHEET-THRUSDAY,
FRIDAY TYPE ZTIME_SHEET-FRIDAY,
SATURDAY TYPE ZTIME_SHEET-SATURDAY,
SUNDAY TYPE ZTIME_SHEET-SUNDAY,
END OF TY_FINAL.
DATA : WA_TSHEET TYPE TY_TSHEET,
IT_TSHEET TYPE STANDARD TABLE OF TY_TSHEET,
WA_EMP TYPE TY_EMP,
IT_EMP TYPE STANDARD TABLE OF TY_EMP,
WA_TEMP TYPE TY_FINAL,
WA_FINAL TYPE TY_FINAL,
IT_FINAL TYPE STANDARD TABLE OF TY_FINAL,
WEEKNO TYPE CHAR2,
COUNT TYPE I,
S_NO TYPE WDY_BOOLEAN,
EMP_ID TYPE ZTIME_SHEET-EMP_ID,
LO_ND_APP_REJ TYPE REF TO IF_WD_CONTEXT_NODE,
LO_ND_WEEK TYPE REF TO IF_WD_CONTEXT_NODE,
LO_EL_APP_REJ TYPE REF TO IF_WD_CONTEXT_ELEMENT,
LO_EL_WEEK TYPE REF TO IF_WD_CONTEXT_ELEMENT.
DATA: LO_ND_APPL TYPE REF TO IF_WD_CONTEXT_NODE,
LO_EL_APPL TYPE REF TO IF_WD_CONTEXT_ELEMENT.
DATA: TEMP TYPE WDY_BOOLEAN.
LO_ND_WEEK = WD_CONTEXT->GET_CHILD_NODE( NAME = 'WEEK' ).
LO_EL_WEEK = LO_ND_WEEK->GET_ELEMENT( ).
LO_EL_WEEK->GET_ATTRIBUTE(
EXPORTING
NAME = `WEEK`
IMPORTING
VALUE = WEEKNO ).
LO_ND_EMPID = WD_CONTEXT->GET_CHILD_NODE( NAME = WD_THIS->WDCTX_EMPID ).
get element via lead selection
LO_EL_EMPID = LO_ND_EMPID->GET_ELEMENT( ).
get all declared attributes
LO_EL_EMPID->GET_STATIC_ATTRIBUTES(
IMPORTING
STATIC_ATTRIBUTES = LS_EMPID ).
REFRESH IT_APPROVAL.
SELECT LIFNR FROM LFA1
INTO TABLE IT_APPROVAL
WHERE LNRZA = LS_EMPID-EMP_ID.
LOOP AT IT_APPROVAL INTO WA_APPROVAL.
WA_EMP-EMP_ID = WA_APPROVAL-LIFNR.
APPEND WA_EMP TO IT_EMP.
ENDLOOP.
SELECT * FROM ZTIME_SHEET INTO
CORRESPONDING FIELDS OF TABLE IT_FINAL
FOR ALL ENTRIES IN IT_EMP
WHERE EMP_ID = IT_EMP-EMP_ID AND WEEK_NO = WEEKNO
AND APPROVAL_STATUS = 'A'.
IF SY-SUBRC NE 0.
REFRESH IT_TSHEET.
FREE: LO_ND_TSHEET,LO_EL_TSHEET.
LO_ND_TSHEET = WD_CONTEXT->GET_CHILD_NODE( NAME = 'APP_REJ' ).
LO_EL_TSHEET = LO_ND_TSHEET->GET_ELEMENT( ).
LO_ND_TSHEET->BIND_ELEMENTS( IT_TSHEET ).
LO_API_CONTROLLER ?= WD_THIS->WD_GET_API( ).
CALL METHOD LO_API_CONTROLLER->GET_MESSAGE_MANAGER
RECEIVING
MESSAGE_MANAGER = LO_MESSAGE_MANAGER.
CALL METHOD LO_MESSAGE_MANAGER->REPORT_SUCCESS
EXPORTING
MESSAGE_TEXT = 'No entries for approval or rejection'.
ELSE.
SORT IT_FINAL BY EMP_ID CUST_NAME.
LO_ND_TSHEET = WD_CONTEXT->GET_CHILD_NODE( NAME = 'APP_REJ' ).
LO_EL_TSHEET = LO_ND_TSHEET->GET_ELEMENT( ).
LOOP AT IT_FINAL INTO WA_FINAL.
WA_TEMP = WA_FINAL.
COUNT = COUNT + WA_FINAL-MONDAY + WA_FINAL-TUESDAY + WA_FINAL-WEDNESDAY + WA_FINAL-THRUSDAY
+ WA_FINAL-FRIDAY + WA_FINAL-SATURDAY + WA_FINAL-SUNDAY.
AT NEW EMP_ID.
LO_EL_TSHEET->SET_ATTRIBUTE(
NAME = 'SNO'
VALUE = ABAP_TRUE ).
ENDAT.
AT END OF PROJ_NAME.
CLEAR WA_TSHEET.
IF WA_TEMP-EMP_ID NE EMP_ID.
WA_TSHEET-EMP_ID = WA_TEMP-EMP_ID.
WA_TSHEET-EMP_NAME = WA_TEMP-EMP_NAME.
ELSE.
WA_TSHEET-EMP_ID = ' '.
WA_TSHEET-EMP_NAME = ' '.
ENDIF.
WA_TSHEET-CUST_NAME = WA_TEMP-CUST_NAME.
WA_TSHEET-PROJ_NAME = WA_TEMP-PROJ_NAME.
WA_TSHEET-SUNDAY = COUNT.
APPEND WA_TSHEET TO IT_TSHEET.
EMP_ID = WA_TEMP-EMP_ID.
CLEAR: WA_TSHEET,COUNT.
ENDAT.
CLEAR WA_TEMP.
CLEAR WA_FINAL.
ENDLOOP.
LOOP AT IT_TSHEET INTO WA_TSHEET.
AT NEW EMP_ID.
LO_EL_TSHEET->SET_ATTRIBUTE(
EXPORTING
NAME = 'SNO'
VALUE = ABAP_TRUE ).
ENDAT.
ENDLOOP.
loop at it_tsheet into wa_tsheet.
if wa_tsheet-emp_id ne ' '.
lo_el_tsheet->set_attribute( exporting name = 'S_NO'
VALUE = ABAP_TRUE ).
ELSE.
lo_el_tsheet->set_attribute( exporting name = 'S_NO'
VALUE = ABAP_FALSE ).
endif.
MODIFY IT_TSHEET FROM WA_TSHEET.
endloop.
LO_ND_TSHEET->BIND_ELEMENTS( IT_TSHEET ).
loop at it_tsheet into wa_tsheet.
at new emp_id.
LO_EL_TSHEET->SET_ATTRIBUTE(
EXPORTING
NAME = 'SNO'
VALUE = ABAP_TRUE ).
endat.
endloop.
FREE: LO_ND_TSHEET,LO_EL_TSHEET.
ENDIF.
ENDMETHOD.
Hi Srinivas,
Below is the entire code and I have instatiated the context node also. I am able to display the output without trying to enable/disable checkboxes.
*DATA : LO_ND_TSHEET TYPE REF TO IF_WD_CONTEXT_NODE,*
*LO_EL_TSHEET TYPE REF TO IF_WD_CONTEXT_ELEMENT,*
lo_el_tsheet->set_attribute(
name = 'SNO'
VALUE = ABAP_TRUE ).
User | Count |
---|---|
53 | |
6 | |
6 | |
5 | |
5 | |
5 | |
3 | |
3 | |
3 | |
3 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.