2008 Nov 18 2:16 PM
I have a requirement to create and implement Badi.
The following is code:
method IF_EX_NOTIF_EVENT_SAVE~CHANGE_DATA_AT_SAVE.
DATA: l_progname TYPE sy-repid,
l_dynnum TYPE sy-dynnr.
types: BEGIN of itab.
INCLUDE dynpread.
types: END of itab.
data: dynpread_tab like table of itab.
l_progname = sy-repid.
l_dynnum = sy-dynnr.
CLEAR dynpread_tab.
REFRESH dynpread_tab.
dynpread_tab-fieldname = 'ZZACNUM'.
APPEND dynpread_tab.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = l_progname
DYNUMB = l_dynnum
TRANSLATE_TO_UPPER = ' '
REQUEST = ' '
PERFORM_CONVERSION_EXITS = ' '
PERFORM_INPUT_CONVERSION = ' '
DETERMINE_LOOP_INDEX = ' '
START_SEARCH_IN_CURRENT_SCREEN = ' '
START_SEARCH_IN_MAIN_SCREEN = ' '
START_SEARCH_IN_STACKED_SCREEN = ' '
START_SEARCH_ON_SCR_STACKPOS = ' '
SEARCH_OWN_SUBSCREENS_FIRST = ' '
SEARCHPATH_OF_SUBSCREEN_AREAS = ' '
TABLES
DYNPFIELDS = dynpread_tab
EXCEPTIONS
INVALID_ABAPWORKAREA = 1
INVALID_DYNPROFIELD = 2
INVALID_DYNPRONAME = 3
INVALID_DYNPRONUMMER = 4
INVALID_REQUEST = 5
NO_FIELDDESCRIPTION = 6
INVALID_PARAMETER = 7
UNDEFIND_ERROR = 8
DOUBLE_CONVERSION = 9
STEPL_NOT_FOUND = 10
OTHERS = 11
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF sy-subrc = 0.
LOOP AT dynpread_tab.
ENDLOOP.
ENDIF.
endmethod.
It is giving me error: INCLUDE report "DYNPREAD" not found.
Any idea?
Thanks in advance.
2008 Nov 18 2:31 PM
Hi
U should remember the internal table is without header line:
DATA: l_progname TYPE sy-repid,
l_dynnum TYPE sy-dynnr.
*types: BEGIN of itab.
*INCLUDE dynpread.
*types: END of itab.
*data: dynpread_tab like table of itab.
DATA: dynpread_tab TYPE TABLE OF DYNPREAD.
DATA: dynpread_wa TYPE DYNPREAD.
*dynpread_tab-fieldname = 'ZZACNUM'.
*APPEND dynpread_tab.
dynpread_wa-fieldname = 'ZZACNUM'.
APPEND dynpread_wa to dynpread_tab.
CALL FUNCTION 'DYNP_VALUES_READ'
..................................
IF SY-SUBRC = 0.
* LOOP AT dynpread_tab.
*ENDLOOP.
LOOP AT dynpread_tab into .
ENDLOOP.
I have a requirement to create and implement Badi.
The following is code:
method IF_EX_NOTIF_EVENT_SAVE~CHANGE_DATA_AT_SAVE.
DATA: l_progname TYPE sy-repid,
l_dynnum TYPE sy-dynnr.
types: BEGIN of itab.
INCLUDE dynpread.
types: END of itab.
data: dynpread_tab like table of itab.
l_progname = sy-repid.
l_dynnum = sy-dynnr.
CLEAR dynpread_tab.
REFRESH dynpread_tab.
dynpread_tab-fieldname = 'ZZACNUM'.
APPEND dynpread_tab.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = l_progname
DYNUMB = l_dynnum
TRANSLATE_TO_UPPER = ' '
REQUEST = ' '
PERFORM_CONVERSION_EXITS = ' '
PERFORM_INPUT_CONVERSION = ' '
DETERMINE_LOOP_INDEX = ' '
START_SEARCH_IN_CURRENT_SCREEN = ' '
START_SEARCH_IN_MAIN_SCREEN = ' '
START_SEARCH_IN_STACKED_SCREEN = ' '
START_SEARCH_ON_SCR_STACKPOS = ' '
SEARCH_OWN_SUBSCREENS_FIRST = ' '
SEARCHPATH_OF_SUBSCREEN_AREAS = ' '
TABLES
DYNPFIELDS = dynpread_tab
EXCEPTIONS
INVALID_ABAPWORKAREA = 1
INVALID_DYNPROFIELD = 2
INVALID_DYNPRONAME = 3
INVALID_DYNPRONUMMER = 4
INVALID_REQUEST = 5
NO_FIELDDESCRIPTION = 6
INVALID_PARAMETER = 7
UNDEFIND_ERROR = 8
DOUBLE_CONVERSION = 9
STEPL_NOT_FOUND = 10
OTHERS = 11
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF sy-subrc = 0.
LOOP AT dynpread_tab.
ENDLOOP.
ENDIF.
endmethod.
It is giving me error: INCLUDE report "DYNPREAD" not found.
Any idea?
Thanks in advance.
2008 Nov 18 2:19 PM
Try
types: BEGIN of itab.
INCLUDE structure dynpread.
types: END of itab.
Regards,
Mohaiyuddin
2008 Nov 18 2:31 PM
Hi
U should remember the internal table is without header line:
DATA: l_progname TYPE sy-repid,
l_dynnum TYPE sy-dynnr.
*types: BEGIN of itab.
*INCLUDE dynpread.
*types: END of itab.
*data: dynpread_tab like table of itab.
DATA: dynpread_tab TYPE TABLE OF DYNPREAD.
DATA: dynpread_wa TYPE DYNPREAD.
*dynpread_tab-fieldname = 'ZZACNUM'.
*APPEND dynpread_tab.
dynpread_wa-fieldname = 'ZZACNUM'.
APPEND dynpread_wa to dynpread_tab.
CALL FUNCTION 'DYNP_VALUES_READ'
..................................
IF SY-SUBRC = 0.
* LOOP AT dynpread_tab.
*ENDLOOP.
LOOP AT dynpread_tab into .
ENDLOOP.
2008 Nov 18 3:09 PM
Hi Max,
Thanks for your help.
An internal table is created. Now I am facing another problem.
If I specify:
dynpread_wa-fieldname = 'ZZACNUM'.
(Which is custom field in my screen (tcode-iw52)
it gives me runtime error.
The error is " raise invalid_dynprofield "
Any idea where I am wrong?
Thanks
2008 Nov 18 3:56 PM
| User | Count |
|---|---|
| 3 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |