To call one ALV report from another ALV report using "SUBMIT" in SAP ABAP, you can follow these steps:
Define the target report: First, you need to define the target report that you want to call from your source report. This report should have a program name and selection-screen parameters, which will be used to pass data from the source report.
Set up the SUBMIT statement: In the source report, you need to use the SUBMIT statement to call the target report. The SUBMIT statement should include the program name of the target report, any selection-screen parameters, and any other relevant options.
Pass data to the target report: If the target report requires input data from the source report, you can use the EXPORT TO MEMORY statement to pass the data to the memory. Then, in the target report, you can use the IMPORT FROM MEMORY statement to retrieve the data.
Display the target report: Once you have set up the SUBMIT statement and passed any necessary data, you can use the ALV function module 'REUSE_ALV_GRID_DISPLAY' to display the target report. This function module should be called in the target report, and any necessary ALV parameters should be passed as input.
Overall, calling one ALV report from another ALV report using "SUBMIT" is a straightforward process that involves defining the target report, setting up the SUBMIT statement, passing data to the target report, and displaying the target report using the ALV function module.
Sample Program for Reference -
TYPE-POOLS: SLIS.
TYPES: BEGIN OF ST_MAKT,
MATNR TYPE MATNR,
SPRAS TYPE SPRAS,
MAKTX TYPE MAKTX,
END OF ST_MAKT.
DATA: IT_MAKT TYPE STANDARD TABLE OF ST_MAKT,
WA_MAKT TYPE ST_MAKT.
TYPES: BEGIN OF ST_FINAL,
CHECK(1),
MATNR TYPE MATNR,
SPRAS TYPE SPRAS,
MAKTX TYPE MAKTX,
END OF ST_FINAL.
DATA: IT_FINAL TYPE STANDARD TABLE OF ST_FINAL,
WA_FINAL TYPE ST_FINAL.
DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FCAT TYPE SLIS_FIELDCAT_ALV.
DATA: WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
START-OF-SELECTION.
SELECT MATNR
SPRAS
MAKTX
FROM MAKT INTO TABLE IT_MAKT WHERE SPRAS = SY-LANGU.
IF SY-SUBRC = 0.
SORT IT_MAKT BY MATNR.
ENDIF.
END-OF-SELECTION.
LOOP AT IT_MAKT INTO WA_MAKT.
WA_FINAL-MATNR = WA_MAKT-MATNR.
WA_FINAL-SPRAS = WA_MAKT-SPRAS.
WA_FINAL-MAKTX = WA_MAKT-MAKTX.
APPEND WA_FINAL TO IT_FINAL.
CLEAR: WA_FINAL,WA_MAKT.
ENDLOOP.
WA_FCAT-COL_POS = '1'.
WA_FCAT-TABNAME = 'IT_FINAL'.
WA_FCAT-FIELDNAME = 'CHECK'.
WA_FCAT-CHECKBOX = 'X'.
WA_FCAT-EDIT = 'X'.
WA_FCAT-SELTEXT_M = 'CHECKBOX'.
WA_FCAT-INPUT = 'X'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = '2'.
WA_FCAT-TABNAME = 'IT_FINAL'.
WA_FCAT-FIELDNAME = 'MATNR'.
WA_FCAT-INPUT = 'X'.
WA_FCAT-SELTEXT_M = 'MATERIAL NUMBER'.
WA_LAYOUT-ZEBRA = 'X'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = '3'.
WA_FCAT-TABNAME = 'IT_FINAL'.
WA_FCAT-FIELDNAME = 'SPRAS'.
WA_FCAT-INPUT = 'X'.
WA_FCAT-SELTEXT_M = 'LANGUAGE'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = '4'.
WA_FCAT-TABNAME = 'IT_FINAL'.
WA_FCAT-FIELDNAME = 'MAKTX'.
WA_FCAT-EDIT = 'X'.
WA_FCAT-SELTEXT_M = 'MTERIAL DESCRIPTION'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
SUBMIT ZAVI_22 AND RETURN. "***SUBMIT WILL CALL AND EXECUTE ZAVI_22 REPORT AND THEN WILL GET RETURN TO THE CURRENT SESSION"
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER =
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'SY-REPID'
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_STRUCTURE_NAME =
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_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 = IT_FINAL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
"***"
REPORT ZAVI_22.
TYPE-POOLS: SLIS.
TYPES: BEGIN OF ST_MAKT,
MATNR TYPE MATNR,
SPRAS TYPE SPRAS,
MAKTX TYPE MAKTX,
END OF ST_MAKT.
DATA: IT_MAKT TYPE STANDARD TABLE OF ST_MAKT,
WA_MAKT TYPE ST_MAKT.
TYPES: BEGIN OF ST_FINAL,
CHECK(1),
MATNR TYPE MATNR,
SPRAS TYPE SPRAS,
MAKTX TYPE MAKTX,
END OF ST_FINAL.
DATA: IT_FINAL TYPE STANDARD TABLE OF ST_FINAL,
WA_FINAL TYPE ST_FINAL.
DATA: IT_FCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FCAT TYPE SLIS_FIELDCAT_ALV.
DATA: WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
START-OF-SELECTION.
SELECT MATNR
SPRAS
MAKTX
FROM MAKT INTO TABLE IT_MAKT WHERE SPRAS = SY-LANGU.
IF SY-SUBRC = 0.
SORT IT_MAKT BY MATNR.
ENDIF.
END-OF-SELECTION.
LOOP AT IT_MAKT INTO WA_MAKT.
WA_FINAL-MATNR = WA_MAKT-MATNR.
WA_FINAL-SPRAS = WA_MAKT-SPRAS.
WA_FINAL-MAKTX = WA_MAKT-MAKTX.
APPEND WA_FINAL TO IT_FINAL.
CLEAR: WA_FINAL,WA_MAKT.
ENDLOOP.
WA_LAYOUT-BOX_FIELDNAME = 'CHECK'.
WA_FCAT-COL_POS = '1'.
WA_FCAT-TABNAME = 'IT_FINAL'.
WA_FCAT-FIELDNAME = 'CHECK'.
WA_FCAT-CHECKBOX = 'X'.
WA_FCAT-EDIT = 'X'.
WA_FCAT-SELTEXT_M = 'CHECKBOX'.
WA_FCAT-INPUT = 'X'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = '2'.
WA_FCAT-TABNAME = 'IT_FINAL'.
WA_FCAT-FIELDNAME = 'MATNR'.
WA_FCAT-INPUT = 'X'.
WA_FCAT-EDIT = 'X'.
WA_FCAT-SELTEXT_M = 'MATERIAL NUMBER'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = '3'.
WA_FCAT-TABNAME = 'IT_FINAL'.
WA_FCAT-FIELDNAME = 'SPRAS'.
WA_FCAT-EDIT = 'X'.
WA_FCAT-SELTEXT_M = 'LANGUAGE'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-COL_POS = '4'.
WA_FCAT-TABNAME = 'IT_FINAL'.
WA_FCAT-FIELDNAME = 'MAKTX'.
WA_FCAT-EDIT = 'X'.
WA_FCAT-SELTEXT_M = 'MTERIAL DESCRIPTION'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = 'SY-REPID'
* I_CALLBACK_PF_STATUS_SET = ' '
* I_CALLBACK_USER_COMMAND = ' '
* I_CALLBACK_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_TOP_OF_PAGE = ' '
* I_CALLBACK_HTML_END_OF_LIST = ' '
* I_STRUCTURE_NAME =
* I_BACKGROUND_ID = ' '
* I_GRID_TITLE =
* I_GRID_SETTINGS =
IS_LAYOUT = WA_LAYOUT
IT_FIELDCAT = IT_FCAT
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_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
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = IT_FINAL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
.
IF sy-subrc <> 0.
* Implement suitable error handling here
ENDIF.
No comments:
Post a Comment