2008 Aug 08 7:27 AM
Hi all,
while i excuted this report the program gets terminated but there r no syntax errors.can i know the error in this alv report
and the correct code.
REPORT ZSR_ALV.
TYPE-POOLS : SLIS.
TABLES : KNA1,
VBAK,
VBAP.
SELECT-OPTIONS : CUST FOR KNA1-KUNNR.
DATA : BEGIN OF ITAB OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
END OF ITAB.
DATA : BEGIN OF JTAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
NETWR LIKE VBAK-NETWR,
END OF JTAB.
DATA : BEGIN OF KTAB OCCURS 0,
POSNR LIKE VBAP-POSNR,
MATNR LIKE VBAP-MATNR,
END OF KTAB.
DATA : REPID LIKE SY-REPID,
F_KNA1I TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY
F_KNA1 TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER
F_VBAKI TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY
F_VBAK TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER
F_VBAPI TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY
F_VBAP TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER
I_EVENTS TYPE SLIS_T_EVENT,
S_EVENTS TYPE SLIS_ALV_EVENT.
PERFORM GET_VAL.
REPID = SY-REPID.
SELECT KUNNR NAME1 FROM KNA1 INTO TABLE ITAB WHERE KUNNR IN CUST.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'REPID'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT =
IT_FIELDCAT = F_KNA1I
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = I_EVENTS
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IR_SALV_LIST_ADAPTER =
IT_EXCEPT_QINFO =
I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*PERFORM VAL USING USER-COMMAND." SEL.
&----
*& Form GET_VAL
&----
text
----
--> p1 text
<-- p2 text
----
FORM GET_VAL .
F_KNA1-COL_POS = 1.
F_KNA1-FIELDNAME = 'KUNNR'.
F_KNA1-TABNAME = KNA1.
F_KNA1-FIELDNAME = 'KUNNR'.
APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.
F_KNA1-COL_POS = 2.
F_KNA1-FIELDNAME = 'NAME1'.
F_KNA1-TABNAME = KNA1.
F_KNA1-FIELDNAME = 'NAME1'.
APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.
F_KNA1-COL_POS = 3.
F_KNA1-FIELDNAME = 'VBELN'.
F_KNA1-TABNAME = KNA1.
F_KNA1-FIELDNAME = 'VEBLN'.
APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.
F_KNA1-COL_POS = 4.
F_KNA1-FIELDNAME = 'NETWR'.
F_KNA1-TABNAME = KNA1.
F_KNA1-FIELDNAME = 'NETWR'.
APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.
F_KNA1-COL_POS = 5.
F_KNA1-FIELDNAME = 'POSNR'.
F_KNA1-TABNAME = KNA1.
F_KNA1-FIELDNAME = 'POSNR'.
APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.
F_KNA1-COL_POS = 6.
F_KNA1-FIELDNAME = 'MATNR'.
F_KNA1-TABNAME = KNA1.
F_KNA1-FIELDNAME ='MATNR'.
APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.
S_EVENTS-NAME = 'USER_COMMAND'.
S_EVENTS-FORM = 'VAL'.
APPEND S_EVENTS TO I_EVENTS.
CLEAR S_EVENTS.
ENDFORM. " GET_VAL
FORM VAL USING USER_COMMAND LIKE SY-UCOMM
SEL TYPE SLIS_SELFIELD.
DATA : CUS(10) TYPE N,
SAL(10) TYPE N,
MAT(10) TYPE C.
IF SEL-FIELDNAME = 'KUNNR'.
CUS = SEL-VALUE.
SELECT VBELN NETWR FROM VBAK INTO TABLE JTAB WHERE KUNNR = CUST.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'REPID'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_STRUCTURE_NAME =
IS_LAYOUT =
IT_FIELDCAT = F_VBAKI
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = I_EVENTS
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IR_SALV_LIST_ADAPTER =
IT_EXCEPT_QINFO =
I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = JTAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
IF SEL-FIELDNAME = 'VBELN' .
SAL = SEL-VALUE.
SELECT POSNR MATNR FROM VBAP INTO TABLE KTAB WHERE VBELN = SAL.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
I_TITLE = 'ITEM DETAILS'
I_SELECTION = 'X'
I_ALLOW_NO_SELECTION =
I_ZEBRA = ' '
I_SCREEN_START_COLUMN = 20
I_SCREEN_START_LINE = 5
I_SCREEN_END_COLUMN = 60
I_SCREEN_END_LINE = 40
I_CHECKBOX_FIELDNAME =
I_LINEMARK_FIELDNAME =
I_SCROLL_TO_SEL_LINE = 'X'
I_TABNAME = 'VBAP'
I_STRUCTURE_NAME =
IT_FIELDCAT = F_VBAPI
IT_EXCLUDING =
I_CALLBACK_PROGRAM = REPID
I_CALLBACK_USER_COMMAND =
IS_PRIVATE =
IMPORTING
ES_SELFIELD = SEL
E_EXIT =
TABLES
T_OUTTAB = KTAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
IF SEL-FIELDNAME = 'MATNR'.
MAT = SEL-VALUE.
SET PARAMETER ID 'MAT' FIELD MAT.
CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
ENDIF.
ENDFORM.
thanks,
raja reddy
Hi raja,
1. Now the code will work fine.
Just copy paste.
2. The main corrections which i have done are:
a) in building the field catalogue, the TABNAME
should be ITAB
b) in building the field catalogue, only two
fields are kept now, since itab contains only two fields
c) the sy-msgty has been changed to 'I'
bcos it was giving error, after the alv was displayed
and when we come back.
3.
REPORT ZSR_ALV.
TYPE-POOLS : SLIS.
TABLES : KNA1,
VBAK,
VBAP.
SELECT-OPTIONS : CUST FOR KNA1-KUNNR.
DATA : BEGIN OF ITAB OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
END OF ITAB.
DATA : BEGIN OF JTAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
NETWR LIKE VBAK-NETWR,
END OF JTAB.
DATA : BEGIN OF KTAB OCCURS 0,
POSNR LIKE VBAP-POSNR,
MATNR LIKE VBAP-MATNR,
END OF KTAB.
DATA : REPID LIKE SY-REPID,
F_KNA1I TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY
F_KNA1 TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER
F_VBAKI TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY
F_VBAK TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER
F_VBAPI TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY
F_VBAP TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER
I_EVENTS TYPE SLIS_T_EVENT,
S_EVENTS TYPE SLIS_ALV_EVENT.
PERFORM GET_VAL.
REPID = SY-REPID.
SELECT KUNNR NAME1 FROM KNA1 INTO TABLE ITAB WHERE KUNNR IN CUST.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
*I_BYPASSING_BUFFER =
*I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'REPID'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
*I_STRUCTURE_NAME =
*IS_LAYOUT =
IT_FIELDCAT = F_KNA1I
*IT_EXCLUDING =
*IT_SPECIAL_GROUPS =
*IT_SORT =
*IT_FILTER =
*IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
*IS_VARIANT =
IT_EVENTS = I_EVENTS
*IT_EVENT_EXIT =
*IS_PRINT =
*IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
*IR_SALV_LIST_ADAPTER =
*IT_EXCEPT_QINFO =
*I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
*IMPORTING
*E_EXIT_CAUSED_BY_CALLER =
*ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC = 0.
MESSAGE ID SY-MSGID TYPE 'I' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*PERFORM VAL USING USER-COMMAND." SEL.
FORM GET_VAL .
F_KNA1-COL_POS = 1.
F_KNA1-FIELDNAME = 'KUNNR'.
F_KNA1-TABNAME = 'ITAB'.
F_KNA1-FIELDNAME = 'KUNNR'.
APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.
F_KNA1-COL_POS = 2.
F_KNA1-FIELDNAME = 'NAME1'.
F_KNA1-TABNAME = KNA1.
F_KNA1-TABNAME = 'ITAB'.
F_KNA1-FIELDNAME = 'NAME1'.
APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.
*F_KNA1-COL_POS = 3.
*F_KNA1-FIELDNAME = 'VBELN'.
*F_KNA1-TABNAME = KNA1.
*F_KNA1-FIELDNAME = 'VEBLN'.
*APPEND F_KNA1 TO F_KNA1I.
*CLEAR F_KNA1.
*
*F_KNA1-COL_POS = 4.
*F_KNA1-FIELDNAME = 'NETWR'.
*F_KNA1-TABNAME = KNA1.
*F_KNA1-FIELDNAME = 'NETWR'.
*APPEND F_KNA1 TO F_KNA1I.
*CLEAR F_KNA1.
*
*F_KNA1-COL_POS = 5.
*F_KNA1-FIELDNAME = 'POSNR'.
*F_KNA1-TABNAME = KNA1.
*F_KNA1-FIELDNAME = 'POSNR'.
*APPEND F_KNA1 TO F_KNA1I.
*CLEAR F_KNA1.
*
*F_KNA1-COL_POS = 6.
*F_KNA1-FIELDNAME = 'MATNR'.
*F_KNA1-TABNAME = KNA1.
*F_KNA1-FIELDNAME ='MATNR'.
*APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.
S_EVENTS-NAME = 'USER_COMMAND'.
S_EVENTS-FORM = 'VAL'.
APPEND S_EVENTS TO I_EVENTS.
CLEAR S_EVENTS.
ENDFORM. " GET_VAL
FORM VAL USING USER_COMMAND LIKE SY-UCOMM
SEL TYPE SLIS_SELFIELD.
DATA : CUS(10) TYPE N,
SAL(10) TYPE N,
MAT(10) TYPE C.
IF SEL-FIELDNAME = 'KUNNR'.
CUS = SEL-VALUE.
SELECT VBELN NETWR FROM VBAK INTO TABLE JTAB WHERE KUNNR = CUST.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
*I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'REPID'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
*I_STRUCTURE_NAME =
*IS_LAYOUT =
IT_FIELDCAT = F_VBAKI
*IT_EXCLUDING =
*IT_SPECIAL_GROUPS =
*IT_SORT =
*IT_FILTER =
*IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
*IS_VARIANT =
IT_EVENTS = I_EVENTS
*IT_EVENT_EXIT =
*IS_PRINT =
*IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
*IR_SALV_LIST_ADAPTER =
*IT_EXCEPT_QINFO =
*I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
*IMPORTING
*E_EXIT_CAUSED_BY_CALLER =
*ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = JTAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC = 0.
MESSAGE ID SY-MSGID TYPE 'I' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
IF SEL-FIELDNAME = 'VBELN' .
SAL = SEL-VALUE.
SELECT POSNR MATNR FROM VBAP INTO TABLE KTAB WHERE VBELN = SAL.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
I_TITLE = 'ITEM DETAILS'
I_SELECTION = 'X'
*I_ALLOW_NO_SELECTION =
*I_ZEBRA = ' '
I_SCREEN_START_COLUMN = 20
I_SCREEN_START_LINE = 5
I_SCREEN_END_COLUMN = 60
I_SCREEN_END_LINE = 40
*I_CHECKBOX_FIELDNAME =
*I_LINEMARK_FIELDNAME =
I_SCROLL_TO_SEL_LINE = 'X'
I_TABNAME = 'VBAP'
*I_STRUCTURE_NAME =
IT_FIELDCAT = F_VBAPI
*IT_EXCLUDING =
I_CALLBACK_PROGRAM = REPID
*
*I_CALLBACK_USER_COMMAND =
*IS_PRIVATE =
IMPORTING
ES_SELFIELD = SEL
*E_EXIT =
TABLES
T_OUTTAB = KTAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC = 0.
MESSAGE ID SY-MSGID TYPE 'I' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
IF SEL-FIELDNAME = 'MATNR'.
MAT = SEL-VALUE.
SET PARAMETER ID 'MAT' FIELD MAT.
CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
ENDIF.
ENDFORM.
regards,
amit m.
2008 Aug 08 7:34 AM
Hi,
Instead Of SY-subrc 0
write Sy-subrc eq 0.
Regards,
anirban
2008 Aug 08 7:35 AM
Hi,
Give structure name in the reuse_alv_list _display function module, check all slis structure's are in internal tables or not and check sy-subrc command.
Thanks,
Das......
2008 Aug 08 7:37 AM
2008 Aug 08 7:42 AM
Hi raja,
1. Now the code will work fine.
Just copy paste.
2. The main corrections which i have done are:
a) in building the field catalogue, the TABNAME
should be ITAB
b) in building the field catalogue, only two
fields are kept now, since itab contains only two fields
c) the sy-msgty has been changed to 'I'
bcos it was giving error, after the alv was displayed
and when we come back.
3.
REPORT ZSR_ALV.
TYPE-POOLS : SLIS.
TABLES : KNA1,
VBAK,
VBAP.
SELECT-OPTIONS : CUST FOR KNA1-KUNNR.
DATA : BEGIN OF ITAB OCCURS 0,
KUNNR LIKE KNA1-KUNNR,
NAME1 LIKE KNA1-NAME1,
END OF ITAB.
DATA : BEGIN OF JTAB OCCURS 0,
VBELN LIKE VBAK-VBELN,
NETWR LIKE VBAK-NETWR,
END OF JTAB.
DATA : BEGIN OF KTAB OCCURS 0,
POSNR LIKE VBAP-POSNR,
MATNR LIKE VBAP-MATNR,
END OF KTAB.
DATA : REPID LIKE SY-REPID,
F_KNA1I TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY
F_KNA1 TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER
F_VBAKI TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY
F_VBAK TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER
F_VBAPI TYPE SLIS_T_FIELDCAT_ALV , "INTERNAL TABLE BODY
F_VBAP TYPE SLIS_FIELDCAT_ALV ,"INTERNAL TABLE HEADER
I_EVENTS TYPE SLIS_T_EVENT,
S_EVENTS TYPE SLIS_ALV_EVENT.
PERFORM GET_VAL.
REPID = SY-REPID.
SELECT KUNNR NAME1 FROM KNA1 INTO TABLE ITAB WHERE KUNNR IN CUST.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
*I_BYPASSING_BUFFER =
*I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'REPID'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
*I_STRUCTURE_NAME =
*IS_LAYOUT =
IT_FIELDCAT = F_KNA1I
*IT_EXCLUDING =
*IT_SPECIAL_GROUPS =
*IT_SORT =
*IT_FILTER =
*IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
*IS_VARIANT =
IT_EVENTS = I_EVENTS
*IT_EVENT_EXIT =
*IS_PRINT =
*IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
*IR_SALV_LIST_ADAPTER =
*IT_EXCEPT_QINFO =
*I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
*IMPORTING
*E_EXIT_CAUSED_BY_CALLER =
*ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = ITAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC = 0.
MESSAGE ID SY-MSGID TYPE 'I' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
*PERFORM VAL USING USER-COMMAND." SEL.
FORM GET_VAL .
F_KNA1-COL_POS = 1.
F_KNA1-FIELDNAME = 'KUNNR'.
F_KNA1-TABNAME = 'ITAB'.
F_KNA1-FIELDNAME = 'KUNNR'.
APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.
F_KNA1-COL_POS = 2.
F_KNA1-FIELDNAME = 'NAME1'.
F_KNA1-TABNAME = KNA1.
F_KNA1-TABNAME = 'ITAB'.
F_KNA1-FIELDNAME = 'NAME1'.
APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.
*F_KNA1-COL_POS = 3.
*F_KNA1-FIELDNAME = 'VBELN'.
*F_KNA1-TABNAME = KNA1.
*F_KNA1-FIELDNAME = 'VEBLN'.
*APPEND F_KNA1 TO F_KNA1I.
*CLEAR F_KNA1.
*
*F_KNA1-COL_POS = 4.
*F_KNA1-FIELDNAME = 'NETWR'.
*F_KNA1-TABNAME = KNA1.
*F_KNA1-FIELDNAME = 'NETWR'.
*APPEND F_KNA1 TO F_KNA1I.
*CLEAR F_KNA1.
*
*F_KNA1-COL_POS = 5.
*F_KNA1-FIELDNAME = 'POSNR'.
*F_KNA1-TABNAME = KNA1.
*F_KNA1-FIELDNAME = 'POSNR'.
*APPEND F_KNA1 TO F_KNA1I.
*CLEAR F_KNA1.
*
*F_KNA1-COL_POS = 6.
*F_KNA1-FIELDNAME = 'MATNR'.
*F_KNA1-TABNAME = KNA1.
*F_KNA1-FIELDNAME ='MATNR'.
*APPEND F_KNA1 TO F_KNA1I.
CLEAR F_KNA1.
S_EVENTS-NAME = 'USER_COMMAND'.
S_EVENTS-FORM = 'VAL'.
APPEND S_EVENTS TO I_EVENTS.
CLEAR S_EVENTS.
ENDFORM. " GET_VAL
FORM VAL USING USER_COMMAND LIKE SY-UCOMM
SEL TYPE SLIS_SELFIELD.
DATA : CUS(10) TYPE N,
SAL(10) TYPE N,
MAT(10) TYPE C.
IF SEL-FIELDNAME = 'KUNNR'.
CUS = SEL-VALUE.
SELECT VBELN NETWR FROM VBAK INTO TABLE JTAB WHERE KUNNR = CUST.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
*I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'REPID'
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
*I_STRUCTURE_NAME =
*IS_LAYOUT =
IT_FIELDCAT = F_VBAKI
*IT_EXCLUDING =
*IT_SPECIAL_GROUPS =
*IT_SORT =
*IT_FILTER =
*IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
*IS_VARIANT =
IT_EVENTS = I_EVENTS
*IT_EVENT_EXIT =
*IS_PRINT =
*IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
*IR_SALV_LIST_ADAPTER =
*IT_EXCEPT_QINFO =
*I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
*IMPORTING
*E_EXIT_CAUSED_BY_CALLER =
*ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = JTAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC = 0.
MESSAGE ID SY-MSGID TYPE 'I' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
IF SEL-FIELDNAME = 'VBELN' .
SAL = SEL-VALUE.
SELECT POSNR MATNR FROM VBAP INTO TABLE KTAB WHERE VBELN = SAL.
CALL FUNCTION 'REUSE_ALV_POPUP_TO_SELECT'
EXPORTING
I_TITLE = 'ITEM DETAILS'
I_SELECTION = 'X'
*I_ALLOW_NO_SELECTION =
*I_ZEBRA = ' '
I_SCREEN_START_COLUMN = 20
I_SCREEN_START_LINE = 5
I_SCREEN_END_COLUMN = 60
I_SCREEN_END_LINE = 40
*I_CHECKBOX_FIELDNAME =
*I_LINEMARK_FIELDNAME =
I_SCROLL_TO_SEL_LINE = 'X'
I_TABNAME = 'VBAP'
*I_STRUCTURE_NAME =
IT_FIELDCAT = F_VBAPI
*IT_EXCLUDING =
I_CALLBACK_PROGRAM = REPID
*
*I_CALLBACK_USER_COMMAND =
*IS_PRIVATE =
IMPORTING
ES_SELFIELD = SEL
*E_EXIT =
TABLES
T_OUTTAB = KTAB
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF SY-SUBRC = 0.
MESSAGE ID SY-MSGID TYPE 'I' NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
IF SEL-FIELDNAME = 'MATNR'.
MAT = SEL-VALUE.
SET PARAMETER ID 'MAT' FIELD MAT.
CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
ENDIF.
ENDFORM.
regards,
amit m.
2008 Aug 08 8:02 AM
hi amit,
u hav commented the some lines from row 3 to 6.
but by uncommenting it the program gets terminated can u plz check it and reply me.
thanks,
raja reddy
2008 Aug 08 7:45 AM
Hi,
SELECT KUNNR NAME1 FROM KNA1 INTO TABLE ITAB WHERE KUNNR IN CUST.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'REPID'
check this... this could be the error ... remove the single quotes or pass sy-repid or sy-cprog
regards
padma
2008 Aug 08 7:52 AM
HI ,
CHECK YOUR FIELD CATALOG...
F_KNA1-SELTEXT_M THIS IS MISISNG...
F_KNA1-SELTEXT_M = 'SOME DESCRIPTION'.
There is no netwr , matnr field in kna1 table.....
Correct these things..
2008 Aug 08 7:53 AM
I found that there is no error in ur program it is running successfully.
rgds
rajesh
2008 Aug 08 8:15 AM
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |