ALV : navigation in screens
Hello,
I have some troubles with my transaction.
Problem :
I have a standard selection screen with several fields.
If I execute I have a first ALV in which I can choose some lines and go in a second ALV with a command.
When I save, I launch a WorkFlow and I want to go back to the selection screen empty and leave the transaction if I execute BACK command.
I have done this with a call selection-screen 1000. But when I execute command back in this empty selection-screen I don't leave the transaction. I go to the previous ALV and then full selection-screen.
Best Regards,
Bertrand
Hi
The control is getting stuck because of the SY-UCOMM only.
Execute your program in Debug mode and check SY-UCOMM, you will know why its happening what to correct.
Refer sample code which i did some time back for the same issue:
*-- Display Installation and Connection Object on Double click
METHOD handle_double_click.
READ TABLE i_install INDEX e_row-index INTO wa_install.
IF e_column EQ 'ANLAGE'.
CHECK sy-ucomm NE 'BACK'.
calling display screen only when sy-ucomm is not BACK..
PERFORM f2000_display_installation USING wa_install-anlage.
ELSEIF e_column EQ 'HAUS'.
CHECK sy-ucomm NE 'BACK'.
calling display screen only when sy-ucomm is not BACK..
PERFORM f2100_display_conn_obj USING wa_install-haus.
ENDIF.
ENDMETHOD. "handle_double_click
Reward points if this helps.
Manish
Similar Messages
-
ALV Report - Selection screen information should appear in Output screen
Hi experts,
I am working on ALV Reports.
I want selection screen information to appear in ouputscreen when report executed.
Those who know the sloution pls tell me as soon as possible.
regards,
ImranHi Imrangs ,
Ur requirement is not clear -
if u want ur selection screen and the output screen on the same screen, i.e if u fill ur selection options with input and press the button then ur ALV will display on the same screen. For this try to use Screen painter, it will get resolved.
http://www.kodyaz.com/articles/sap-abap-tutorial-alv-grid-cl_gui_alv_grid-screen-painter.aspx
chreers
Regards
Neha -
Navigation for screen is not supported
Dear experts,
I am translating a screen and i can see the changes on this system from every clients. but when i want to transport changes to target sistem i am creating a request from se38 with report RS_LXE_RECORD_TORDER. then i am assigning what it wants, when i am looking from se01 to my trasport of changes request there are object list. but if i am clicking twice on it the status message is "navigation for screen is not supported". after transport i can't see the changes on target sistem. how can i solve this problem?
ThanksNo cross posting
Read the "Rules of Engagement"
Regards
Juan -
Two ALV in Same Screen..
Hello Guys.....
As Per My New Requirement I Have to Display Data in two ALV Drid . like.........
ALV1
ALV2
In a sample Program at SAP slis library I found Two ALV in same screen but they are in ALV1 ALV2 format.. it's will not fullfill my requirement..
any one have any idea..
Please send me test program ..
Regard
Swati Namdev..Hi Swati,
see given code
REPORT Z7RNP_ALV_SO_BLOCK MESSAGE-ID Z7NEW .
TABLE DECLARATION
TABLES: VBAK , "Sales Document: Header Data
VBAP , "Sales Document: Item Data
MAKT , "Material Descriptions
LIPS . "SD document: Delivery: Item data
DECLARATION OF TYPE-POOL
*THIS TYPE-POOL CONTAINS THE EVENTS,
TYPE-POOLS : SLIS.
DECLARATION OF EVENTS
DECLARATION OF FIELD LAYOUT
DATA: I_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: T_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: T_EVENT TYPE SLIS_T_EVENT.
DATA: X_EVENT TYPE SLIS_ALV_EVENT.
DECLARATION OF LIST HEADER
DATA: I_LISTHEADER TYPE SLIS_T_LISTHEADER.
DECLARATION OF FIELD CATALOG FOR SCREEN 1
DATA: I_FLDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
DECLARATION OF FIELD CATALOG FOR SCREEN 2
DATA: I_FLDCAT2 TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE.
SORTING OF OUTPUT
DATA: I_SORT TYPE SLIS_T_SORTINFO_ALV.
DATA: T_SORT TYPE SLIS_T_SORTINFO_ALV.
*DATA DECLARATION
DATA: V_AUART TYPE TVAK-AUART,
V_VKORG TYPE TVKO-VKORG,
V_KUNNR TYPE KNA1-KUNNR,
V_MATNR TYPE MARA-MATNR ,
V_SPART TYPE TVTA-SPART .
DATA: V_REPID LIKE SY-REPID .
TYPES: BEGIN OF IT_SO ,
VBELN TYPE VBELN_VA , "SALES ORDER NO.
AUART TYPE AUART , "SALES DOC. TYPE
VKORG TYPE VKORG , "SALES ORG.
SPART TYPE SPART , "DIVISION
KUNNR TYPE KUNAG , "SOLD TO PARTY
POSNR TYPE POSNR_VA , "SALES DOC. ITEM
MATNR TYPE MATNR , "MATERIAL NO
MAKTX TYPE MAKTX , "DESCRIPTION
KWMENG TYPE KWMENG , "QUANTITY
VRKME TYPE VRKME , "SALES UNIT
END OF IT_SO .
TYPES: BEGIN OF IT_DEL ,
VBELN TYPE VBELN_VL , "SALES ORDER NO.
POSNR TYPE POSNR_VL , "SALES DOC. ITEM
MATNR TYPE MATNR , "MATERIAL NO
WERKS TYPE WERKS_D , "PLANT
LGORT TYPE LGORT_D , "STORAGE LOCATION
CHARG TYPE CHARG_D , "BATCH NO.
LFIMG TYPE LFIMG , "ACTUAL DELIVERY QTY.
VRKME TYPE VRKME , "SALES UNIT
END OF IT_DEL .
TYPES: BEGIN OF TYPE_VBFA ,
VBELV TYPE VBELN_VON ,
"Preceding sales and distribution document
POSNV TYPE POSNR_VON , "Preceding item of an SD document
VBELN TYPE VBELN_NACH ,
"Subsequent sales and distribution document
POSNN TYPE POSNR_NACH,
"Document category of subsequent document
VBTYP_N TYPE VBTYP_N ,
END OF TYPE_VBFA .
DATA: IT_SO1 TYPE STANDARD TABLE OF IT_SO ,
IT_DEL1 TYPE STANDARD TABLE OF IT_DEL ,
IT_VBFA TYPE STANDARD TABLE OF TYPE_VBFA,
IT_DEL_FUL TYPE STANDARD TABLE OF IT_DEL.
DATA: WA_SO TYPE IT_SO ,
WA_DEL TYPE IT_DEL ,
WA_VBFA TYPE TYPE_VBFA,
wa_IT_DEL_FUL TYPE IT_DEL.
*SELECTION SCREEN
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-004 .
SELECT-OPTIONS: S_VBELN FOR VBAK-VBELN ,
S_AUART FOR V_AUART ,
S_VKORG FOR V_VKORG ,
S_SPART FOR V_SPART ,
S_KUNNR FOR V_KUNNR ,
S_MATNR FOR V_MATNR .
SELECTION-SCREEN END OF BLOCK BLK1 .
*AT SELECTION SCREEN
AT SELECTION-SCREEN.
SELECT SINGLE VBELN
FROM VBAK INTO VBAK-VBELN
WHERE VBELN IN S_VBELN.
IF SY-SUBRC <> 0.
MESSAGE E202.
ENDIF.
*START OF SELECTION
INITIALIZATION.
V_REPID = SY-REPID.
START-OF-SELECTION .
PERFORM DATA_SELECT.
FOR BLOCK 1
PERFORM INITIALIZE_BLOCK .
PERFORM FLD_CAT USING I_FLDCAT[] .
PERFORM T_LAYOUT USING I_LAYOUT .
PERFORM I_SORT USING I_SORT .
PERFORM EVENT USING T_EVENT .
PERFORM CALL_ALV.
FOR BLOCK 2
PERFORM FLD_CAT2 USING I_FLDCAT2[] .
PERFORM I_LAYOUT USING I_LAYOUT .
PERFORM T_SORT USING I_SORT .
PERFORM EVENT1 USING T_EVENT .
PERFORM CALL_ALV1.
PERFORM BLOCK-DISPLAY .
*& Form DATA_SELECT
text
--> p1 text
<-- p2 text
FORM DATA_SELECT .
REFRESH: IT_VBFA, IT_SO1, IT_DEL1, IT_DEL_FUL.
SELECT
A~VBELN
A~AUART
A~VKORG
A~SPART
A~KUNNR
B~POSNR
B~MATNR
C~MAKTX
B~KWMENG
B~VRKME
INTO TABLE IT_SO1 FROM VBAK AS A
JOIN VBAP AS B ON BVBELN = AVBELN
JOIN MAKT AS C ON CMATNR = BMATNR
AND C~SPRAS = SY-LANGU
WHERE A~VBELN IN S_VBELN .
IF SY-SUBRC = 0.
SELECT VBELV POSNV VBELN POSNN VBTYP_N INTO TABLE IT_VBFA
FROM VBFA
FOR ALL ENTRIES IN IT_SO1
WHERE VBELV = IT_SO1-VBELN
AND POSNN = IT_SO1-POSNR
AND VBTYP_N ='J' .
IF SY-SUBRC = 0.
SELECT VBELN POSNR MATNR WERKS LGORT CHARG LFIMG VRKME
FROM LIPS INTO TABLE IT_DEL_FUL
FOR ALL ENTRIES IN IT_VBFA
WHERE VBELN = IT_VBFA-VBELN
AND POSNR = IT_VBFA-POSNN.
ENDIF.
ENDIF .
V_REPID = SY-REPID .
ENDFORM. " DATA_SELECT
*& Form INITIALIZE_BLOCK
text
--> p1 text
<-- p2 text
FORM INITIALIZE_BLOCK .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_INIT'
EXPORTING
I_CALLBACK_PROGRAM = V_REPID .
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
IT_EXCLUDING =
ENDFORM. " INITIALIZE_BLOCK
*& Form FLD_CAT
text
-->P_I_FLDCAT[] text
FORM FLD_CAT USING P_I_FLDCAT TYPE SLIS_T_FIELDCAT_ALV.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'VBELN'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'SALES ORDER NO.'.
I_FLDCAT-COL_POS = 1. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'AUART'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'SALES DOC. TYPE'.
I_FLDCAT-COL_POS = 2. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'VKORG'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'SALES ORG.'.
I_FLDCAT-COL_POS = 3. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'SPART'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'DIVISION'.
I_FLDCAT-COL_POS = 4. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'KUNNR'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'SOLD TO PARTY'.
I_FLDCAT-COL_POS = 5. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'POSNR'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'SALES DOC. ITEM'.
I_FLDCAT-COL_POS = 6. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'MATNR'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'MATERIAL NO.'.
I_FLDCAT-COL_POS = 7. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'MAKTX'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'DESCRIPTION'.
I_FLDCAT-COL_POS = 8. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'KWMENG'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'QUANTITY'.
I_FLDCAT-COL_POS = 9. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
CLEAR I_FLDCAT.
I_FLDCAT-FIELDNAME = 'VRKME'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT-TABNAME = 'IT_SO1'.
I_FLDCAT-SELTEXT_M = 'SALES UNIT'.
I_FLDCAT-COL_POS = 10. " POSITION OF THE COLUMN.
I_FLDCAT-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT-KEY = 'X'.
" SO THAT THIS FIELD IS NOT SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT.
ENDFORM. " FLD_CAT
*& Form T_LAYOUT
text
-->P_I_LAYOUT text
FORM T_LAYOUT USING P_I_LAYOUT TYPE SLIS_LAYOUT_ALV .
P_I_LAYOUT-ZEBRA = 'X'.
P_I_LAYOUT-KEY_HOTSPOT = 'X'.
P_I_LAYOUT-F2CODE = 'DISP'.
ENDFORM. " T_LAYOUT
*& Form I_SORT
text
-->P_I_SORT text
FORM I_SORT USING P_I_SORT TYPE SLIS_T_SORTINFO_ALV .
DATA: I_SORT TYPE SLIS_SORTINFO_ALV .
REFRESH P_I_SORT .
CLEAR I_SORT.
I_sort-spos = 1.
I_sort-fieldname = 'VBELN'.
I_sort-up = 'X'.
I_sort-subtot = 'X'.
I_sort-group = '*'.
APPEND I_SORT TO P_I_SORT.
ENDFORM. " I_SORT
*& Form CALL_ALV
text
--> p1 text
<-- p2 text
FORM CALL_ALV .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = T_LAYOUT
IT_FIELDCAT = I_FLDCAT[]
I_TABNAME = 'IT_SO1'
IT_EVENTS = T_EVENT
IT_SORT = I_SORT
I_TEXT = TEXT-202
TABLES
T_OUTTAB = IT_SO1
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH T_EVENT .
CLEAR T_EVENT .
ENDFORM. " CALL_ALV
*& Form FLD_CAT2
text
-->P_I_FLDCAT2[] text
FORM FLD_CAT2 USING P_I_FLDCAT2 TYPE SLIS_T_FIELDCAT_ALV.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'VBELN'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'DELIVERY NO.'.
I_FLDCAT2-COL_POS = 1. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT2-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'POSNR'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'DELIVERY ITEM'.
I_FLDCAT2-COL_POS = 2. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'MATNR'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'MATERIAL NO.'.
I_FLDCAT2-COL_POS = 3. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'WERKS'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'PLANT.'.
I_FLDCAT2-COL_POS = 4. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'LGORT'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'ST. LOCATION'.
I_FLDCAT2-COL_POS = 5. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'CHARG'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'BATCH NO.'.
I_FLDCAT2-COL_POS = 6. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'LFIMG'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'ACT. DEL. QTY.'.
I_FLDCAT2-COL_POS = 7. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
CLEAR I_FLDCAT2.
I_FLDCAT2-FIELDNAME = 'VRKME'. "FIELD FOR WHICH CATALOG ID FILLED
I_FLDCAT2-SELTEXT_M = 'SALES UNIT.'.
I_FLDCAT2-COL_POS = 8. " POSITION OF THE COLUMN.
I_FLDCAT2-OUTPUTLEN = 20. " SET THE OUTPUT LENGTH.
I_FLDCAT2-EMPHASIZE = 'X'. " COLOR OF THIS COLUMN.
I_FLDCAT2-KEY = 'X'. " SO THAT THIS FIELD IS NOT
"SCROLLABLE AND HIDDABLE.
I_FLDCAT-HOTSPOT = 'X'.
APPEND I_FLDCAT2.
ENDFORM. " FLD_CAT2
*& Form I_LAYOUT
text
-->P_I_LAYOUT text
FORM I_LAYOUT USING P_I_LAYOUT TYPE SLIS_LAYOUT_ALV .
P_I_LAYOUT-ZEBRA = 'X'.
P_I_LAYOUT-KEY_HOTSPOT = 'X'.
P_I_LAYOUT-F2CODE = 'DISP'.
ENDFORM. " I_LAYOUT
*& Form CALL_ALV1
text
--> p1 text
<-- p2 text
FORM CALL_ALV1 .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_APPEND'
EXPORTING
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = I_FLDCAT2[]
I_TABNAME = 'IT_DEL_FUL'
IT_EVENTS = T_EVENT
IT_SORT =
I_TEXT = ' '
TABLES
T_OUTTAB = IT_DEL_FUL
EXCEPTIONS
PROGRAM_ERROR = 1
MAXIMUM_OF_APPENDS_REACHED = 2
OTHERS = 3
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " CALL_ALV1
*& Form BLOCK-DISPLAY
text
--> p1 text
<-- p2 text
FORM BLOCK-DISPLAY .
CALL FUNCTION 'REUSE_ALV_BLOCK_LIST_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
IS_PRINT =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
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.
ENDFORM. " BLOCK-DISPLAY
*& Form EVENT
text
-->P_T_EVENT text
FORM EVENT USING P_T_EVENT type slis_t_event.
x_event-form = 'TOP_OF_LIST1'.
x_event-name = slis_ev_top_of_list.
append x_event to p_t_event.
clear x_event .
ENDFORM. " EVENT
*& Form EVENT1
text
-->P_T_EVENT text
FORM EVENT1 USING P_T_EVENT type slis_t_event.
x_event-form = 'TOP_OF_LIST2'.
x_event-name = slis_ev_top_of_list.
append x_event to p_t_event.
ENDFORM. " EVENT1
FORM TOP_OF_LIST1.
SKIP 1.
WRITE: 10 'BLOCK LIST 1 FOR SALES ORDER DETAILS ' COLOR 4 .
skip 1.
format reset.
endform.
FORM TOP_OF_LIST2.
skip 1.
WRITE: 10 'BLOCK LIST 2 FOR DELIVERY ORDER DETAILS ' COLOR 4 .
skip 1.
format reset.
endform.
Reward point if useful. -
Grid ALV Output to Screen as well as to Spool.
Hi Masters,
I have one requirement in which I have to Send the Grid ALV Output to Screen as well as to Spool.
Can Anybody suggest any solution?
and most Important
Helpful answers will get definitely awarded.
Thanks in advanceALV Grid Output cannot be sent to Sppol.
REUSE_ALV_GRID_DISPLAY function module will not work when the program runs in background mode.
You should use the LIST Display function module when you run the program in Background.
code like:
if sy-batch = 'X'.
call function 'REUSE_ALV_LIST_DISPLAY'...
endif.
Regards,
Ravi Kanth Talagana -
LightSwitch HTML: Don't wait for active promise operations when navigating between screens
Navigation between screens is halted (and the loader is shown) until any active promise operation has completed.
This becomes an issue when a screen started a long loading operation, but the user wants to exit out of that screen. It is easy to cancel promise operations that I started myself, since I have control over when the operation completes. But I don't see any
way to do it for operations started by the framework itself (such as any collection property of a screen).
Is there any solution to this problem?This becomes an issue when a screen started a long loading operation, but the user wants to exit out of that screen.
There isn't method available to cancel the navigation between screens, you need look into your project, and check why it takes long time to load. -
Hello experts.
I want to know , how i can display 2 alv in one screen in this way : when i push double click on the row ( in first alv ) i give the detail of this row in the new alv ( second alv ) under the first alv .
Thanks for the help,
AVI.Sure, something like this...
report ztwo_alvs.
data: gt_alv1 type table of t001,
gt_alv2 type table of t001.
data: gr_splitter type ref to cl_gui_easy_splitter_container,
gr_alv1 type ref to cl_gui_alv_grid,
gr_alv2 type ref to cl_gui_alv_grid.
start-of-selection.
call screen 0100.
*& Module pbo OUTPUT
module pbo output.
data: lv_name type dd02l-tabname value 'T001'.
check ( gr_splitter is initial ).
create object gr_splitter
exporting parent = cl_gui_container=>screen0
orientation = 0
sash_position = 25.
create object gr_alv1
exporting i_parent = gr_splitter->top_left_container.
create object gr_alv2
exporting i_parent = gr_splitter->bottom_right_container.
call method gr_alv1->set_table_for_first_display
exporting
i_structure_name = lv_name
changing
it_outtab = gt_alv1.
call method gr_alv2->set_table_for_first_display
exporting
i_structure_name = lv_name
changing
it_outtab = gt_alv2.
endmodule. " pbo OUTPUT
where the screen is defined as
process before output.
module pbo.
process after input.
module pai.
Cheers,
Darren -
I have a program that displays a report using the ALV. I added a status and a few butttons. The user can then choose one of the buttons and go to a subsequent screen (0200). But since the original ALV display isn't a screen I created, I can't return to it from screen 0200. How can I use both, the ALV and custom screens?
>>You have to code this as an exit command in the PAI of screen 200.
can you erlaborate? what should I put after back, exit, cancel? See below. You see I cheated and repeated my initial performs to rebuild the ALV screen.. You can also see the other things I tried.
MODULE USER_COMMAND_0200 INPUT.
If sy-ucomm = 'BACK' or
sy-ucomm = 'EXIT' or
sy-ucomm = 'CANCEL'.
PERFORM GET_COCKPIT_SCREEN.
PERFORM DISPLAY_COCKPIT_SCREEN.
SET SCREEN 100. LEAVE SCREEN.
LEAVE TO SCREEN 0500. "screen # of AVL program -
6210 Navigator No screen, backup to SIM
My 6210 Navigator's screen just went kaput and I didn't save my contacts to SIM. I am unable to get PC Suite to work because I can not select the default on the phone.
Can someone either tell me what button and how many clicks to backup to SIM or how to make PC Suite work when I can't view my screen.
The manual says the path ie, options, blah blah
TIA
BecHello,
I too am trying to configure my main screen so it is nice and tidy. I am unable to find a way to remove icons from my main screen. in the afore mentioned post i followed the intstructins till i got to the
" setup (the 1st one) "
I don't have this option.
only
Personalization
date and time
enhancement
slide handling
sensor setting
security
factory setting
positioning
pleas help me to add and remove the icons i want for my main page
thanks for any help
SOMATATA -
Set Filter in ALV report, blank screen returned
I have a standard ALV report (uses REUSE_ALV_GRID_DISPLAY). The user has to be able to filter the results based on entries from certain columns.
When I try to filter any columns other than a column with a date a blank screen is returned.
This filtering problem only exists with the Single value field. I can filter the results in the "select ranges", "exclude values" and "exclude ranges" without any problems.
Any suggestions?
Edited by: Damien Crowe on Jul 6, 2009 5:09 PM
Set the fieldcatalog-edit_maskto "==ALPHA".
Edited by: Damien Crowe on Jul 14, 2009 5:35 PMwhat was the solution to this problem?
Thanks -
'Save layout' button missing in the ALV report layout screen
Hi Friends,
In one of our ALV report the 'save layout' button is missing in the report output screen.i have used the OO concept for creating the ALV output and not the function module.I have attached the code below used for creating the ALV grid.
CREATE OBJECT alv_grid
EXPORTING i_parent = g_container_2.
CALL METHOD alv_grid->set_table_for_first_display
exporting
i_structure_name = 'PA0002'
is_layout =
CHANGING
it_outtab = gt_outtab
it_fieldcatalog = wa_fieldcat.
But i'm not able to trace why the 'save layout' button is missing in the output.Can anyone of you help me in sorting out this problem.
Thanks and Regards,
Vadivel.Pass <u><i><b>A to I_SAVE</b></i></u> parameter. That will give the options to the user to save the layout outs.
I_SAVE = SPACE
Layouts cannot be saved.
I_SAVE = 'U'
Only user-defined layouts can be saved.
I_SAVE = 'X'
Only global layouts can be saved.
I_SAVE = 'A'
Both user-defined and global layouts can be saved.
Regards,
Ravi
Note : Please mark all the helpful answers
Message was edited by: Ravikumar Allampallam -
DEAR ALL
in my alv grid program output (which is basically for sales register),the standard menu bar is filled with full of ????????????????????? (question marks) i can able to see only few standard menus such as edit ,system rest of the menus are hide behind the question marks.Help me to understand this problem.
i have the screen shots with me ,if someone needs that for providing solution i will send it to him/her.
looking forward to here from u all.
Regards
KarthikHi frend,
Pls check the pf-status module in ur program and define suitable buttons in that.
U can send the program and screen-shots to me at my id-
[email protected]
Regards,
Ameet -
Issue with custom toolbar button in alv and leave screen
Hi,
in one subscreen (say screen 100)i have an alv with custom ADD toolbar button..so in the user_command event handler ,i call a antoher screen(dialogue)..like if i click on ADD button ,it should display dialogue screen(say 200) and after entering input in dialogue screen i click on CONINUE to retrun to screen 100..problem is for the first time i click on ADD button its working fine ,succesffyuly returned to screen 100...but for the second time i click on add button , i have to click on twice the CONTINUE button to retrun to screen 100..when debuggin i found the user_command event routin is executin twice ..any solution..
Thanks,
sriniApparently handler is set for every new ALV instance. This you get by executing CREATE OBJECT alv... every time PBO is raised. Ensure you are executing this statement only once duirng program lifetime. Then the system will match event handler only with one ALV instance (executing it once).
if r_alv is not bound.
CREATE OBJECT r_alv ...
SET HANDLER ...
endif.
Regards
Marcin -
Problem with ALV Grid Display screen Back Button
Dear Friends ,
I have an ALV Grid Display,Here am facing a problem for my 'Back' button,i haven't defined any PF Status and is using the standard one.But after the Display when i press Back Button a blank Screen is appearing n then again i have to press back button to go to my Selection Screen.
Please Suggest if i have to take care of something else.
I want my Selection Screen when i press Back on my Display Screen.
DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
FIELDCAT TYPE SLIS_FIELDCAT_ALV.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE =
I_INTERFACE_CHECK = ' '
I_CALLBACK_PROGRAM = 'ZRMMPD01A'
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 = I_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
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
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = IT_FINAL
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2
Thanks and Regards,
AshwiniHi Vijay ,
No i dont have any write statement in my proggram.
Here it is
REPORT ZRMMPD01A NO STANDARD PAGE HEADING.
TABLES : EQUI,SER03,MKPF,OBJK.
TYPE-POOLS : SLIS.
DATA IT_EQUI LIKE EQUI OCCURS 0 WITH HEADER LINE.
DATA IT_OBJK LIKE OBJK OCCURS 0 WITH HEADER LINE..
DATA IT_SER03 LIKE SER03 OCCURS 0 WITH HEADER LINE.
DATA IT_MKPF LIKE MKPF OCCURS 0 WITH HEADER LINE .
DATA : BEGIN OF IT_DISPLAY OCCURS 0,
MATNR LIKE EQUI-MATNR,
SERNR LIKE EQUI-SERNR,
BWART LIKE SER03-BWART,
WERK LIKE SER03-WERK,
CHARGE LIKE SER03-CHARGE,
LAGERORT LIKE SER03-LAGERORT,
MBLNR LIKE SER03-MBLNR,
MJAHR LIKE SER03-MJAHR,
ZEILE LIKE SER03-ZEILE,
BUDAT LIKE MKPF-BUDAT,
BKTXT LIKE MKPF-BKTXT,
USNAM LIKE MKPF-USNAM,
XBLNR LIKE MKPF-XBLNR,
END OF IT_DISPLAY.
DATA : WA_DISPLAY LIKE IT_DISPLAY.
DATA IT_FINAL LIKE IT_DISPLAY OCCURS 0 WITH HEADER LINE.
DATA IT_TEMP LIKE IT_DISPLAY OCCURS 0 WITH HEADER LINE.
DATA: IT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV,
FIELDCAT TYPE SLIS_FIELDCAT_ALV.
DATA :I_LAYOUT TYPE SLIS_LAYOUT_ALV,
I_EVENTS TYPE SLIS_T_EVENT.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : S_MATNR FOR EQUI-MATNR MATCHCODE OBJECT MCD,"OBLIGATORY
S_SERNR FOR EQUI-SERNR, "MATCHCODE OBJECT MCD OBLIGATORY
S_MBLNR FOR SER03-MBLNR MATCHCODE OBJECT MCD,
S_BWART FOR SER03-BWART MATCHCODE OBJECT MCD,
S_WERK FOR SER03-WERK MATCHCODE OBJECT MCD,
S_LAGET FOR SER03-LAGERORT MATCHCODE OBJECT MCD,
S_BUDAT FOR MKPF-BUDAT MATCHCODE OBJECT MCD,
S_XBLNR FOR MKPF-XBLNR MATCHCODE OBJECT MCD.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
PARAMETERS : R1 RADIOBUTTON GROUP G1 DEFAULT 'X',
R2 RADIOBUTTON GROUP G1.
SELECTION-SCREEN END OF BLOCK B2.
START-OF-SELECTION.
*Fetch Data.
PERFORM GET_DATA.
*Fill Display Fields.
PERFORM FILL_TABLE.
*Segregate data according to radio button selection.
PERFORM SELECT_CONDITION.
*Fill The Feild catalog.
PERFORM FIELD_CATALOG.
*Display Output.
PERFORM OUTPUT_DISPLAY..
*& Form GET_DATA
text
--> p1 text
<-- p2 text
FORM GET_DATA.
SELECT * FROM EQUI INTO TABLE IT_EQUI
WHERE MATNR IN S_MATNR
AND SERNR IN S_SERNR.
SELECT * FROM OBJK INTO TABLE IT_OBJK
FOR ALL ENTRIES IN IT_EQUI
WHERE EQUNR = IT_EQUI-EQUNR.
SELECT * FROM SER03 INTO TABLE IT_SER03
FOR ALL ENTRIES IN IT_OBJK
WHERE OBKNR = IT_OBJK-OBKNR
AND MBLNR IN S_MBLNR
AND BWART IN S_BWART
AND WERK IN S_WERK
AND LAGERORT IN S_LAGET.
SELECT * FROM MKPF INTO TABLE IT_MKPF
FOR ALL ENTRIES IN IT_SER03
WHERE MBLNR = IT_SER03-MBLNR
AND BUDAT IN S_BUDAT
AND XBLNR IN S_XBLNR.
ENDFORM. " GET_DATA
*& Form FILL_TABLE
text
--> p1 text
<-- p2 text
FORM FILL_TABLE.
LOOP AT IT_EQUI.
LOOP AT IT_OBJK.
IF IT_OBJK-EQUNR <> IT_EQUI-EQUNR.
SKIP.
ELSE.
READ TABLE IT_SER03 WITH KEY OBKNR = IT_OBJK-OBKNR.
IF SY-SUBRC = 0.
WA_DISPLAY-MATNR = IT_EQUI-MATNR.
WA_DISPLAY-SERNR = IT_EQUI-SERNR.
WA_DISPLAY-BWART = IT_SER03-BWART.
WA_DISPLAY-WERK = IT_SER03-WERK.
WA_DISPLAY-CHARGE = IT_SER03-CHARGE.
WA_DISPLAY-LAGERORT = IT_SER03-LAGERORT.
WA_DISPLAY-MBLNR = IT_SER03-MBLNR.
WA_DISPLAY-MJAHR = IT_SER03-MJAHR.
WA_DISPLAY-ZEILE = IT_SER03-ZEILE.
READ TABLE IT_MKPF WITH KEY MBLNR = IT_SER03-MBLNR.
IF SY-SUBRC = 0.
WA_DISPLAY-BUDAT = IT_MKPF-BUDAT.
WA_DISPLAY-BKTXT = IT_MKPF-BKTXT.
WA_DISPLAY-USNAM = IT_MKPF-USNAM.
WA_DISPLAY-XBLNR = IT_MKPF-XBLNR.
ENDIF.
ENDIF.
ENDIF.
IF NOT WA_DISPLAY IS INITIAL.
APPEND WA_DISPLAY TO IT_DISPLAY.
CLEAR WA_DISPLAY.
ENDIF.
ENDLOOP.
ENDLOOP.
ENDFORM. " FILL_TABLE
*& Form FIELD_CATALOG
text
--> p1 text
<-- p2 text
FORM FIELD_CATALOG.
FIELDCAT-TABNAME = 'IT_DISPLAY'.
FIELDCAT-FIELDNAME = 'MATNR'.
FIELDCAT-SELTEXT_M = 'Material Number'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT TO IT_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_DISPLAY'.
FIELDCAT-FIELDNAME = 'SERNR'.
FIELDCAT-SELTEXT_M = 'Serial number'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT TO IT_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_DISPLAY'.
FIELDCAT-FIELDNAME = 'MBLNR'.
FIELDCAT-SELTEXT_L = 'Number of material document'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT TO IT_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_DISPLAY'.
FIELDCAT-FIELDNAME = 'BWART'.
FIELDCAT-SELTEXT_M = 'Movement type'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT TO IT_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_DISPLAY'.
FIELDCAT-FIELDNAME = 'WERK'.
FIELDCAT-SELTEXT_M = 'Plant'.
FIELDCAT-OUTPUTLEN = 5.
APPEND FIELDCAT TO IT_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_DISPLAY'.
FIELDCAT-FIELDNAME = 'CHARGE'.
FIELDCAT-SELTEXT_M = 'Batch number'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT TO IT_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_DISPLAY'.
FIELDCAT-FIELDNAME = 'LAGERORT'.
FIELDCAT-SELTEXT_M = 'Storage Location'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT TO IT_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_DISPLAY'.
FIELDCAT-FIELDNAME = 'MJAHR'.
FIELDCAT-SELTEXT_M = 'Material doc. year'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT TO IT_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_DISPLAY'.
FIELDCAT-FIELDNAME = 'ZEILE'.
FIELDCAT-SELTEXT_L = 'Item in material document'.
FIELDCAT-OUTPUTLEN = 18.
APPEND FIELDCAT TO IT_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_DISPLAY'.
FIELDCAT-FIELDNAME = 'BUDAT'.
FIELDCAT-SELTEXT_L = 'Posting date in the document'.
FIELDCAT-OUTPUTLEN = 10.
APPEND FIELDCAT TO IT_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_DISPLAY'.
FIELDCAT-FIELDNAME = 'BKTXT'.
FIELDCAT-SELTEXT_L = 'Document header text'.
FIELDCAT-OUTPUTLEN = 25.
APPEND FIELDCAT TO IT_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_DISPLAY'.
FIELDCAT-FIELDNAME = 'USNAM'.
FIELDCAT-SELTEXT_M = 'User name'.
FIELDCAT-OUTPUTLEN = 15.
APPEND FIELDCAT TO IT_FIELDCAT.
CLEAR FIELDCAT.
FIELDCAT-TABNAME = 'IT_DISPLAY'.
FIELDCAT-FIELDNAME = 'XBLNR'.
FIELDCAT-SELTEXT_L = 'Reference document number'.
FIELDCAT-OUTPUTLEN = 25.
APPEND FIELDCAT TO IT_FIELDCAT.
CLEAR FIELDCAT.
ENDFORM. " FIELD_CATALOG
*& Form DISPLAY_OUTPUT
text
--> p1 text
<-- p2 text
FORM OUTPUT_DISPLAY.
IF R1 = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'ZRMMPD01A'
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
TABLES
T_OUTTAB = IT_DISPLAY
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.
REFRESH IT_DISPLAY.
CLEAR IT_DISPLAY.
ELSEIF R2 = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'ZRMMPD01A'
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = IT_FIELDCAT
TABLES
T_OUTTAB = IT_FINAL
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.
REFRESH IT_DISPLAY.
CLEAR IT_DISPLAY.
ENDIF.
ENDFORM. " DISPLAY_OUTPUT
*& Form SELECT_CONDITION
text
--> p1 text
<-- p2 text
FORM SELECT_CONDITION.
IF R2 = 'X'.
CLEAR WA_DISPLAY.
SORT IT_DISPLAY BY MATNR SERNR MBLNR ZEILE.
DELETE ADJACENT DUPLICATES FROM IT_DISPLAY.
LOOP AT IT_DISPLAY WHERE ZEILE = '0002'.
READ TABLE IT_DISPLAY WITH KEY MATNR = IT_DISPLAY-MATNR
SERNR = IT_DISPLAY-SERNR ZEILE = '0001'.
IF SY-SUBRC = 0.
DELETE IT_DISPLAY.
ENDIF.
ENDLOOP.
SORT IT_DISPLAY BY MATNR SERNR BWART MBLNR.
DELETE ADJACENT DUPLICATES FROM IT_DISPLAY.
LOOP AT IT_DISPLAY.
IF WA_DISPLAY IS INITIAL.
WA_DISPLAY = IT_DISPLAY.
ENDIF.
LOOP AT IT_DISPLAY WHERE MATNR = WA_DISPLAY-MATNR
AND SERNR = WA_DISPLAY-SERNR.
IF IT_DISPLAY-BUDAT > WA_DISPLAY-BUDAT.
WA_DISPLAY = IT_DISPLAY.
ELSE.
DELETE IT_DISPLAY.
ENDIF.
ENDLOOP.
APPEND WA_DISPLAY TO IT_TEMP.
CLEAR WA_DISPLAY.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM IT_TEMP.
IF NOT IT_TEMP[] IS INITIAL.
IT_FINAL[] = IT_TEMP[].
ENDIF.
ENDIF.
ENDFORM. " SELECT_CONDITION
Regards,
Ashwini -
Hello experts,
is it possible to implement ALV grid display (OO) without statements such as "call screen 100"?
I have an example, logically everything should work but, unfortunatelly, nothing displays. Code:
ZPROGRAM CODING ***
REPORT ZTESTPROG.
DATA: save_ok LIKE sy-ucomm,
ok_code LIKE sy-ucomm,
it_spfli TYPE TABLE OF spfli WITH HEADER LINE.
DATA: G_CUSTOM_CONTAINER1 TYPE REF TO CL_GUI_CUSTOM_CONTAINER,
GRID1 TYPE REF TO CL_GUI_ALV_GRID,
it_cat TYPE LVC_T_FCAT,
wa_cat TYPE LVC_S_FCAT.
START-OF-SELECTION.
SELECT * FROM spfli
INTO TABLE it_spfli.
perform INITIAL_GRID.
form INITIAL_GRID.
PERFORM create_field_catalog.
PERFORM create_grid_control.
endform. " INITIAL_GRID OUTPUT
FORM create_field_catalog .
IF it_cat[] is initial.
clear wa_cat.
wa_cat-col_pos = 1.
wa_cat-fieldname = 'CARRID'.
wa_cat-datatype = 'CHAR'.
wa_cat-inttype = 'C'.
wa_cat-intlen = 3.
wa_cat-reptext = 'Airline Code'.
wa_cat-coltext = 'Airline Code'.
append wa_cat to it_cat.
clear wa_cat.
wa_cat-col_pos = 2.
wa_cat-fieldname = 'CONNID'.
wa_cat-datatype = 'NUMC'.
wa_cat-inttype = 'N'.
wa_cat-intlen = 4.
wa_cat-reptext = 'Flight Conn. No'.
wa_cat-coltext = 'Flight Conn. No'.
append wa_cat to it_cat.
clear wa_cat.
wa_cat-col_pos = 3.
wa_cat-fieldname = 'CITYFROM'.
wa_cat-datatype = 'CHAR'.
wa_cat-inttype = 'C'.
wa_cat-intlen = 20.
wa_cat-reptext = 'Dep. city'.
wa_cat-coltext = 'Dep. city'.
append wa_cat to it_cat.
clear wa_cat.
wa_cat-col_pos = 4.
wa_cat-fieldname = 'AIRPFROM'.
wa_cat-datatype = 'CHAR'.
wa_cat-inttype = 'C'.
wa_cat-intlen = 3.
wa_cat-reptext = 'Dep. airport'.
wa_cat-coltext = 'Dep. airport'.
append wa_cat to it_cat.
clear wa_cat.
wa_cat-col_pos = 5.
wa_cat-fieldname = 'CITYTO'.
wa_cat-datatype = 'CHAR'.
wa_cat-inttype = 'C'.
wa_cat-intlen = 20.
wa_cat-reptext = 'Arrival city'.
wa_cat-coltext = 'Arrival city'.
append wa_cat to it_cat.
clear wa_cat.
wa_cat-col_pos = 6.
wa_cat-fieldname = 'AIRPTO'.
wa_cat-datatype = 'CHAR'.
wa_cat-inttype = 'C'.
wa_cat-intlen = 3.
wa_cat-reptext = 'Dest. airport'.
wa_cat-coltext = 'Dest. airport'.
append wa_cat to it_cat.
ENDIF.
ENDFORM. " create_field_catalog
*& Form create_grid_control
text
--> p1 text
<-- p2 text
FORM create_grid_control .
IF G_CUSTOM_CONTAINER1 is initial .
CREATE OBJECT G_CUSTOM_CONTAINER1
EXPORTING CONTAINER_NAME = 'CUSTOM1'.
CREATE OBJECT GRID1
EXPORTING I_PARENT = G_CUSTOM_CONTAINER1.
CALL METHOD GRID1->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_BUFFER_ACTIVE =
I_BYPASSING_BUFFER =
I_CONSISTENCY_CHECK =
I_STRUCTURE_NAME =
IS_VARIANT =
I_SAVE =
I_DEFAULT = 'X'
IS_LAYOUT =
IS_PRINT =
IT_SPECIAL_GROUPS =
IT_TOOLBAR_EXCLUDING =
IT_HYPERLINK =
IT_ALV_GRAPHICS =
IT_EXCEPT_QINFO =
IR_SALV_ADAPTER =
CHANGING
IT_OUTTAB = it_spfli[]
IT_FIELDCATALOG = it_cat[]
IT_SORT =
IT_FILTER =
EXCEPTIONS
INVALID_PARAMETER_COMBINATION = 1
PROGRAM_ERROR = 2
TOO_MANY_LINES = 3
others = 4
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.
ENDFORM. " create_grid_control
In contrast, if you use function "Reuse_Alv_List_Display" it works without any screens.Hi
If you wish to go with OO approach to ALV Grid you can use the CL_SALV class.
Here you do not need to create the screen.
TYPES: BEGIN OF ty_kna1,
kunnr TYPE kunnr,
name1 TYPE name1_gp,
land1 TYPE land1_gp,
END OF ty_kna1,
ty_t_kna1 TYPE TABLE OF ty_kna1.
DATA: t_kna1 TYPE TABLE OF ty_kna1,
r_salv_table TYPE REF TO cl_salv_table,
r_display TYPE REF TO cl_salv_display_settings,
r_columns TYPE REF TO cl_salv_columns_table.
START-OF-SELECTION.
** Fetch Data
SELECT kunnr
name1
land1
FROM kna1
INTO TABLE t_kna1
UP TO 25 ROWS.
CALL METHOD cl_salv_table=>factory
* EXPORTING
* list_display = if_salv_c_bool_sap=>true
* r_container =
* container_name =
IMPORTING
r_salv_table = r_salv_table
CHANGING
t_table = t_kna1.
r_columns = r_salv_table->get_columns( ).
r_columns->set_optimize( ).
r_display = r_salv_table->get_display_settings( ).
r_display->set_striped_pattern( value = 'X' ).
r_salv_table->display( ).
Edited by: SAP LEARNER on Apr 6, 2011 4:56 PM
Maybe you are looking for
-
Facing issue with concurrent use of session
Hi All, We are facing concurrent use of session.save call in our LDAP sycn up process. Issue we got while performing performance test for multiple user and issue is at com.day.crx.security.ldap.LDAPUserSync.performUpdate api. Please guide me what
-
I am totally over mobileme issues yet I love iWeb. Can anyone recommend a good hosting site that is compatible with iWeb? How do I upload the site etc without using mobileme?
-
Lwp_sea_wait hang
Hi - can anyone help please ! I have a large program that hangs on exit. The optimized (-fast) version has the problem - the non-optimized version does not. I believe the code is calling the destructor for a std::set< std::pair< enum, std::string > I
-
I am having a new problem. My screen has missing texture with the icons and everything else. If I play windows media player the visualizatons has different colored dots and so does any windows I open up. my video card is sapphire Radeon 9800 pro 128m
-
I upgraded to iOS 6 and now cannot download email on my ipad
How can I get my email to work please. It was working but has not downloaded on my ipad since I upgraded to IOS6. I have turned it on and off