Call Screen problem in a report
Hi All,
I have a report in which I am calling an ALV grid screen 1000. I select some line items and click on execute. On execution in the PAI I have called a function module which has a call screen statement inside it. This should call the screen 100 with tabstrip(This screen is not related to this report. This belongs to some other function group). But when I execute the report instead of calling the screen 100 again the screen 1000 is only being displayed. I have found that the PBO of screen 100 and all the subscreens in it are being called but after that this 100 screen not displayed as mentioned already. Please someone let me know if I am missing something somewhere.
Thank you,
Sri.
Hi Madhu,
I am calling the screen from PAI of the ALV grid screen. I have debuged and checked. The PBO of the screen and the corresponding subscreens is being called but after that instead of the wanted screen this ALV grid screen is being called. And when I press back button then again PAI of the actual screen is being called.
When the same FM is called from other classic reports without using ALV grid it is working fine.
Thanks,
Sri.
Similar Messages
-
Two selection screen problem in one report
i have a two selection screens 1000 & 2000 in single report , which needs to be executed one after the other ,
the problem is when i execute second selection screen(2000) , the cursor is going back to at-selection-screen once again.
but i need to trigger start-of-selection directly after executing second selection screen,
the first selection screen 1000 will be executed with the help of select options..
the sample code is below .
at-selection-screen.
perform validations.
call selection screen 2000.
at selection screen on value request p_adm
start-of-selection.
main logicModerator message - Cross post locked
Rob -
Can we call screen from ALV report
Hi All,
I am in the process of creating a stand alone application. However I have stuck up here.
Problem: Can we call any screen from ALV report? If yes then how??? Can anyone give some code snippet??
All your help appreciated.
Thanks,
JigneshHello Jignesh,
Here is an example, when you double click on a line, it pops with with another screen that holds details for the flight information.
CLASS lcl_event_handler DEFINITION.
PUBLIC SECTION.
METHODS:
handle_double_click FOR EVENT double_click
OF cl_gui_alv_grid
IMPORTING e_row
e_column.
ENDCLASS. "lcl_event_handler
CLASS lcl_event_handler IMPLEMENTATION.
METHOD handle_double_click.
READ TABLE it_flight INTO wa_flight INDEX e_row-index.
IF sy-subrc EQ 0.
SELECT * FROM sbook
INTO TABLE it_book
WHERE carrid EQ wa_flight-carrid AND
connid EQ wa_flight-connid.
CALL SCREEN 101 STARTING AT 10 10.
ENDIF.
ENDMETHOD. "HANDLE_DOUBLE_CLICK
ENDCLASS. "LCL_EVENT_HANDLER
MODULE status_0101 OUTPUT.
Variant to save the layout
gv_repid = sy-repid.
IF g_custom_container2 IS INITIAL.
Create an instance for Custom Container 'ALV_GRID'
CREATE OBJECT g_custom_container2
EXPORTING container_name = gs_container2.
Create an instance for ALV Grid
CREATE OBJECT g_grid2
EXPORTING i_parent = g_custom_container2.
Variant to save the layout
gs_layout-grid_title = 'Flight Bookings'.
CALL METHOD g_grid2->set_table_for_first_display
EXPORTING
i_structure_name = 'SBOOK'
is_layout = gs_layout
CHANGING
it_outtab = it_book[].
ELSE.
CALL METHOD g_grid2->refresh_table_display.
ENDIF. "IF grid2 IS INITIAL.
Setting focus for created grid control
CALL METHOD cl_gui_control=>set_focus
EXPORTING
control = g_grid2.
CALL METHOD cl_gui_cfw=>flush.
ENDMODULE. " status_0101 OUTPUT
Refer to BC_ALV_GRID04 for ALV data declarations used in the above piece of code. -
Problem with Call Screen and Leave Screen !
Hi,
I am calling Modal screen (Dialog Pop up screen) from my first screen by 'Leave to Screen 'nbr' ' then once user enter the value in the pop up screen then I haveto display value with TABLE in Final screen as 'Normal screen' here I am using LEAVE to SCREEN, but after this call - my new final screen is not displaying as noraml screen it also displaying like 'Modal Screen' Like big pop scrren.!!
When I tried final CALL by using CALL SCREEN instead of LEAVE screen the final screen with table is dispalying fine as Normal screen but its returning control to pop-up screen which I dont want.
I like Screen flow as 1>2>3--->1
Help me to solve this Problem.
Regards
JamesHi,
Check the below thread,
Unable to close Modal dialog box
1) 1st screen--> 2nd screen --> Use CALL SCREEN.(This is Modal Screen)
2) 2nd Screen-->(ModalScreen so you need come back) use the above thread
3) Still on 1st screen--> Use CALL SCREEN --> To 3rd Screen
4) 3rd Screen back to First Screen -> use LEAVE TO SCREEN First_Screen_NO.
Cheerz
Ram -
Caller screen Buttons problem Z10STL100-1
I have Z10STL100-1 after official update Z10STL100-1/10.3.1.1565 having caller screen Buttons problem these are little above not like it's on 10.2 very below position. I security wipe and restart many times still same position of buttons? See pic attached
Hello,
Did you check if there are no objects on that index slide that have a fading transition? You should set the transition for every object to 'No transition'. The transition can be found in the Properties dialog, tab Options.
Lilybiri -
Hello!
I have a problem. In my riport I have a selection screen (1000), a main screen (2000), and a screen (400) this is called inside a loop, to fill some datas when you hit the print button.
CLEAR L_TOTAL.
SORT LT_EBAN BY BNFPO.
LOOP AT LT_EBAN.
GT_ITEM2-FIELD01 = SY-TABIX.
GT_ITEM2-FIELD02 = LT_EBAN-MATNR.
*---Part name, Type, Maker
SPLIT LT_EBAN-TXZ01 AT ',' INTO GT_ITEM2-FIELD03 GT_ITEM2-FIELD04 GT_ITEM2-FIELD05.
CONCATENATE GT_ITEM2-FIELD03 '/' GT_ITEM2-FIELD04 INTO DESCR.
ITEM = LT_EBAN-BNFPO.
CALL SCREEN 400 STARTING AT 20 7 ENDING AT 60 18.
*---Machine
GT_ITEM2-FIELD06 = ST_400-MACHINE.
After this, i could not use the LEAVE TO SCREEN 0, because it's not going back to secreen '2000' , I'm getting a blank 400 screen.
Thatswhy I used CALL SCREEN '2000', and it's fine.
But in the case of the Selection screen (1000) something is wrong.
On the screen 2000 I using this logic.
MODULE EXIT_2000 INPUT.
CASE OK_CODE.
WHEN 'BACK' OR 'EXIT'.
CLEAR OK_CODE.
CALL SELECTION-SCREEN '1000'.
LEAVE PROGRAM.
WHEN 'CANC'.
PERFORM EXIT_PROGRAM.
LEAVE PROGRAM.
ENDCASE.
CLEAR OK_CODE.
ENDMODULE. " exit_2000 INPUT
With this logic, the program is going to the SELECTION-SCREEN, when I hit the back button, and when we are already on the SELECTION-SCREEN, it's leaving the program. This is also ok.
But when I hit the back button, and on the SELECTION-SCREEN I want to run the program again, it's not going to the program logic, it's jumping to this CALL SELECTION-SCREEN '1000', and leaving of course.
START-OF-SELECTION.
PERFORM DSP1_PROC.
IF GT_DISPLAY[] IS INITIAL.
MESSAGE S208(00) WITH 'No data.'.
EXIT.
ENDIF.
IF S_RET = '1'.
MESSAGE I208 WITH 'Document not found'.
S_RET = ' '.
ELSE.
S_RET = ' '.
CALL SCREEN '2000'.
ENDIF.
So my question is, that the above logic, when I running the program first time It's working good, at the START-OF-SELECTION, but when I trying to runnig from the SELECTION-SCREEN "second time", from the START-OF-SELECTION it's jumping to the CALL SELECTION-SCREEN '1000'. How can I avoid this. I want that from the START-OF-SELECTION, never go to the CALL SELECTION-SCREEN '1000'.
Thank You
Edited by: Roland on Dec 5, 2011 11:27 AMHi Max!
Yeah, I was thinking the same, that the problem is with that loop.
But I don't know, how can I solved in a different way, because when we hit the print button, we getting all the items from a table, and we starting looping on them. In the loop we passing the values to a GT_ITEM table, later this table is connected with an excell, so it will be printed out in an excell form.
So I have to call this screen so many times, how many items we have. Sometimes just 1, sometimes 4, 6, 9, and so on.
For this items I have to add 2 more fields, wich are uploaded by the user. ( The other fields are coming from the table)
So if I going out from the loop after the CALL SCREEN 400, I think the next item wont be get the values. Or maybe any of them, because this is before the APPEND GT_ITEM. So this methode wont be called, no data would be in the table, nothing will be printed.
*-Item
SELECT BNFPO MATNR TXZ01 MENGE MEINS ERNAM PREIS BEDNR EBELN EBELP
INTO CORRESPONDING FIELDS OF TABLE LT_EBAN
FROM EBAN
WHERE BANFN = GT_DISPLAY-BANFN
AND LOEKZ = ' '.
CLEAR L_TOTAL.
SORT LT_EBAN BY BNFPO.
LOOP AT LT_EBAN.
GT_ITEM2-FIELD01 = SY-TABIX.
GT_ITEM2-FIELD02 = LT_EBAN-MATNR.
*---Part name, Type, Maker
SPLIT LT_EBAN-TXZ01 AT ',' INTO GT_ITEM2-FIELD03 GT_ITEM2-FIELD04 GT_ITEM2-FIELD05.
CONCATENATE GT_ITEM2-FIELD03 '/' GT_ITEM2-FIELD04 INTO DESCR.
ITEM = LT_EBAN-BNFPO.
CALL SCREEN 400 STARTING AT 20 7 ENDING AT 60 18.
*---Machine
GT_ITEM2-FIELD06 = ST_400-MACHINE.
*---Using Qty
WRITE ST_400-USING UNIT LT_EBAN-MEINS TO GT_ITEM2-FIELD08.
*---Now Stock
CLEAR L_LABST.
SELECT SUM( LABST ) INTO L_LABST
FROM ZMM0460T
WHERE MATNR = LT_EBAN-MATNR
AND WERKS = '3A10'.
WRITE L_LABST UNIT LT_EBAN-MEINS TO GT_ITEM2-FIELD09.
WRITE LT_EBAN-MENGE UNIT LT_EBAN-MEINS TO GT_ITEM2-FIELD10.
IF NOT LT_EBAN-EBELN IS INITIAL.
CLEAR LS_EKPO.
SELECT SINGLE NETPR WAERS PEINH
INTO CORRESPONDING FIELDS OF LS_EKPO
FROM EKPO AS A INNER JOIN EKKO AS B ON A~EBELN EQ B~EBELN
WHERE A~EBELN = LT_EBAN-EBELN
AND A~EBELP = LT_EBAN-EBELP.
IF LS_EKPO-WAERS <> 'HUF'.
CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
EXPORTING
DATE = SY-DATUM
FOREIGN_AMOUNT = LS_EKPO-NETPR
FOREIGN_CURRENCY = LS_EKPO-WAERS
LOCAL_CURRENCY = 'HUF'
IMPORTING
LOCAL_AMOUNT = LS_EKPO-NETPR.
ENDIF.
IF LS_EKPO-PEINH IS INITIAL. LS_EKPO-PEINH = 1. ENDIF.
LT_EBAN-PREIS = LS_EKPO-NETPR / LS_EKPO-PEINH.
ENDIF.
WRITE LT_EBAN-PREIS CURRENCY 'HUF' TO GT_ITEM2-FIELD11.
CONDENSE GT_ITEM2-FIELD11.
CONCATENATE GT_ITEM2-FIELD11 'Ft' INTO GT_ITEM2-FIELD11
SEPARATED BY SPACE.
L_NETWR = LT_EBAN-MENGE * LT_EBAN-PREIS.
WRITE L_NETWR CURRENCY 'HUF' TO GT_ITEM2-FIELD12.
CONDENSE GT_ITEM2-FIELD12.
CONCATENATE GT_ITEM2-FIELD12 'Ft' INTO GT_ITEM2-FIELD12
SEPARATED BY SPACE.
L_TOTAL = L_TOTAL + L_NETWR.
*---Unit
SELECT SINGLE UNIT INTO GT_ITEM2-FIELD13
FROM ZMM0500T
WHERE PERNR = LT_EBAN-BEDNR.
*---Name
SELECT SINGLE SNAME INTO GT_ITEM2-FIELD14
FROM PA0001
WHERE PERNR = LT_EBAN-BEDNR
AND ENDDA = '99991231'.
*---Append
GT_ITEM2-CNTR01 = ''.
APPEND GT_ITEM2. CLEAR: GT_ITEM2, ST_400, DESCR, ITEM.
ENDLOOP.
GT_ITEM2-FIELD11 = 'Total'.
WRITE L_TOTAL CURRENCY 'HUF' TO GT_ITEM2-FIELD12.
CONDENSE GT_ITEM2-FIELD12.
CONCATENATE GT_ITEM2-FIELD12 'Ft' INTO GT_ITEM2-FIELD12
SEPARATED BY SPACE.
GT_ITEM2-CNTR01 = 'B'.
APPEND GT_ITEM2. CLEAR GT_ITEM2.
ANy idea?
Thank You
Edited by: Roland on Dec 5, 2011 1:36 PM
Edited by: Roland on Dec 5, 2011 1:50 PM -
I sold a unlocked iphone 5 that I bought second hand andhad for a 2 weeks no problems and i sold it and the next day the lady called me saying it was reported stolen and asking for her money what should i do.
Give the Lady her money back then try and get your money back don,t buy
from someone off the street buy from shop or webb site ie EBAY but still be careful
no no one can unlock a blocked iPhone only the owner who has the correct
APple ID
bbsydd uk -
Hi everybody, I did work a program with Tx SE38, in the program I call a screen.
START-OF-SELECTION.
PERFORM completa_lista.
CALL SCREEN 0100.
END-OF-SELECTION.
The program run very well, but. When the program is in screen 0100 and push the button BACK or button EXIT. Don't return to program that called to screen 0100, always return to the program SAPMSSY0 and then push again the button BACK or EXIT to return the program that called to screen 0100.
This is my code in the PAI:
MODULE user_command_0100 INPUT.
CASE sy-ucomm.
WHEN 'EXIT' OR 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE.
I try with SET SCREEN 0. or LEAVE TO SCREEN 0. But always return to the program SAPMSSY0
Is there a way to skip the program SAPMSSY0?Hi ,
LEAVE TO SCREEN 0 will work in your case.
it comes back to the point from where it triggered screen 0100.
If you want to leave the program and come back to the easy access screen then you have to use LEAVE PROGRAM.
hope this helps!!
Regards,
Soumya Ranjan
Edited by: Soumya Ranjan on Dec 15, 2010 5:59 AM -
Hi Friends,
I have the following 2 problems in ALV report
1) Logo is not getting displayed in the report.
2) When i click on the Purchase order number in the report the interactive report is not working,i am not able to see report of First interactive level.
can you help it out friends.
Thanks and regards
Dinesh
REPORT YSDBALV1
tables: ekko , ekpo .
type-pools: slis .
Table for Display Header
data:i_header type slis_t_listheader with header line.
*Fieldcat Declaration
data:fieldcatalog type slis_T_fieldcat_alv WITH HEADER LINE.
*Table of Events
data:i_event type slis_t_event with header line .
For Layout
data:i_layout type slis_layout_alv .
data: text(30) .
*Internal Table Declaration
data: begin of it_final occurs 0 ,
ebeln like ekko-ebeln , "Purchasing Document No.
bedat like ekko-bedat , "Purchasing Document Date
matnr like ekpo-matnr , "Material No.
netwr like ekpo-netwr , "Net Order Value in PO Currancy
meins like ekpo-meins , "UOM
chk(1) ,
light(1) ,
change like ekpo-menge ,
end of it_final .
**select option Declaration
selection-screen begin of block block.
select-options: s_ebeln for ekko-ebeln .
selection-screen end of block block .
selection-screen begin of block block1 .
parameters:grid radiobutton group r .
parameters:list radiobutton group r .
selection-screen end of block block1 .
at selection screen
at selection-screen .
select single * from ekko where ebeln in s_ebeln .
if sy-subrc <> 0 .
message e000(8I) WITH 'No Data Exists' .
endif .
start-of-selection .
if grid = 'X' .
perform get_data .
perform event using i_event[] .
perform field using fieldcatalog[] .
perform layout using i_layout .
perform grid_display .
endif .
*& Form get_data
text
--> p1 text
<-- p2 text
form get_data .
*DATA Retrieval from tables
SELECT EKKO~EBELN
EKKO~BEDAT
EKPO~EBELP
EKPO~MATNR
EKPO~NETWR
EKPO~MEINS
EKPO~MENGE
EKPO~BPRME
INTO CORRESPONDING FIELDS OF table IT_FINAL
FROM EKKO INNER JOIN EKPO ON EKKOEBELN = EKPOEBELN
WHERE EKKO~EBELN IN S_EBELN.
APPEND IT_FINAL.
endform. " get_data
*Getting the Event for Top of Page display.
*& Form event
text
-->P_I_event[] text
form event using p_i_event type slis_t_event.
clear p_i_event .
refresh p_i_event .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = p_i_event
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2
read table p_i_event with key name = slis_ev_top_of_page into i_event.
if sy-subrc = 0.
move 'TOP_OF_PAGE_PO' to i_event-form.
modify p_i_event from i_event index sy-tabix transporting form.
endif.
clear i_event.
endform. " event
*Display Top-of Page Details and Logo
form top_of_page_po .
clear i_header .
refresh i_header .
write sy-datum to text.
i_header-typ = 'H'.
i_header-info = 'PURCHASE OREDER DETAILS'.
append i_header.
*Logo Display
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = i_header[]
I_LOGO = 'ENJOYSAPLOGO'.
endform .
*Field Catalog Append
*& Form field
text
-->P_fieldCATALOG[] text
form field using p_fieldcatalog type slis_t_fieldcat_alv.
clear fieldcatalog.
fieldcatalog-fieldname = 'EBELN'.
fieldcatalog-seltext_m = 'Purchase Order No'.
fieldcatalog-col_pos = 1.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'BEDAT'.
fieldcatalog-seltext_m = 'PO Date'.
fieldcatalog-col_pos = 2.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'MATNR'.
fieldcatalog-seltext_m = 'Material No'.
fieldcatalog-col_pos = 4.
fieldcatalog-outputlen = 20.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'NETWR'.
fieldcatalog-seltext_m = 'Net Value '.
fieldcatalog-col_pos = 5.
fieldcatalog-outputlen = 20.
fieldcatalog-do_sum = 'X'.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'MEINS'.
fieldcatalog-seltext_m = 'Units'.
fieldcatalog-col_pos = 6.
fieldcatalog-outputlen = 4.
append fieldcatalog .
clear fieldcatalog.
endform. " field
*& Form layout
text
form layout using p_i_layout TYPE SLIS_LAYOUT_ALV .
i_layout-zebra = 'X'.
i_layout-lights_fieldname = 'LIGHT'.
i_layout-lights_tabname = 'IT_FINAL'.
i_layout-box_fieldname = 'CHK'.
i_layout-box_tabname = 'IT_FINAL'.
i_layout-edit = ' '.
endform.
*To display Buttons in the MENU BAR if needed
FORM SET_PO_PF_STATUS USING P_I_EXTAB TYPE
SLIS_T_EXTAB.
SET PF-STATUS 'MENUPO'.
ENDFORM.
*Event for Interactive display of ALV report
form USER_COMMAND using r_ucomm like sy-ucomm
rs_selfield type slis_selfield .
if r_ucomm = '&IC1'.
READ TABLE IT_FINAL index rs_selfield-tabindex.
write:/ IT_FINAL-ebeln.
endif.
endform .
*Parameters of FM REUSE_ALV_GRID_DISPLAY
*& Form grid_display
text
--> p1 text
<-- p2 text
form grid_display .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'SET_PO_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = FIELDCATALOG[]
IT_EVENTS = I_EVENT[]
TABLES
t_outtab = IT_FINAL.
endform. " grid_display*& Report YSDBALV1
REPORT YSDBALV1.
tables: ekko , ekpo .
type-pools: slis .
Table for Display Header
data:i_header type slis_t_listheader with header line.
*Fieldcat Declaration
data:fieldcatalog type slis_T_fieldcat_alv WITH HEADER LINE.
*Table of Events
data:i_event type slis_t_event with header line ,
wa_event type line of slis_t_event.
For Layout
data:i_layout type slis_layout_alv .
data: text(30) .
*Internal Table Declaration
data: begin of it_final occurs 0 ,
ebeln like ekko-ebeln , "Purchasing Document No.
bedat like ekko-bedat , "Purchasing Document Date
matnr like ekpo-matnr , "Material No.
netwr like ekpo-netwr , "Net Order Value in PO Currancy
meins like ekpo-meins , "UOM
chk(1) ,
light(1) ,
change like ekpo-menge ,
end of it_final .
**select option Declaration
selection-screen begin of block block.
select-options: s_ebeln for ekko-ebeln .
selection-screen end of block block .
selection-screen begin of block block1 .
parameters:grid radiobutton group r .
parameters:list radiobutton group r .
selection-screen end of block block1 .
at selection screen
at selection-screen .
select single * from ekko where ebeln in s_ebeln .
if sy-subrc <> 0 .
message e000(8I) WITH 'No Data Exists' .
endif .
start-of-selection .
if grid = 'X' .
perform get_data .
perform event using i_event[] .
perform field using fieldcatalog[] .
perform layout using i_layout .
perform grid_display .
endif .
*& Form get_data
text
--> p1 text
<-- p2 text
form get_data .
*DATA Retrieval from tables
SELECT EKKO~EBELN
EKKO~BEDAT
EKPO~EBELP
EKPO~MATNR
EKPO~NETWR
EKPO~MEINS
EKPO~MENGE
EKPO~BPRME
INTO CORRESPONDING FIELDS OF table IT_FINAL
FROM EKKO INNER JOIN EKPO ON EKKOEBELN = EKPOEBELN
WHERE EKKO~EBELN IN S_EBELN.
APPEND IT_FINAL.
endform. " get_data
*Getting the Event for Top of Page display.
*& Form event
text
-->P_I_event[] text
form event using p_i_event type slis_t_event.
clear p_i_event .
refresh p_i_event .
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = p_i_event.
EXCEPTIONS
LIST_TYPE_WRONG = 1
OTHERS = 2.
read table p_i_event with key name = slis_ev_top_of_page into wa_event.
if sy-subrc = 0.
move 'TOP_OF_PAGE_PO' to i_event-form.
modify p_i_event from i_event index sy-tabix transporting form.
endif.
clear i_event.
endform. " event
*Display Top-of Page Details and Logo
form top_of_page_po .
clear i_header .
refresh i_header .
write sy-datum to text.
i_header-typ = 'H'.
i_header-info = 'PURCHASE OREDER DETAILS'.
append i_header.
*Logo Display
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = i_header[]
I_LOGO = 'ENJOYSAP_LOGO'.
endform .
*Field Catalog Append
*& Form field
text
-->P_fieldCATALOG[] text
form field using p_fieldcatalog type slis_t_fieldcat_alv.
clear fieldcatalog.
fieldcatalog-fieldname = 'EBELN'.
fieldcatalog-seltext_m = 'Purchase Order No'.
fieldcatalog-col_pos = 1.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'BEDAT'.
fieldcatalog-seltext_m = 'PO Date'.
fieldcatalog-col_pos = 2.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'MATNR'.
fieldcatalog-seltext_m = 'Material No'.
fieldcatalog-col_pos = 4.
fieldcatalog-outputlen = 20.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'NETWR'.
fieldcatalog-seltext_m = 'Net Value '.
fieldcatalog-col_pos = 5.
fieldcatalog-outputlen = 20.
fieldcatalog-do_sum = 'X'.
append fieldcatalog .
clear fieldcatalog.
fieldcatalog-fieldname = 'MEINS'.
fieldcatalog-seltext_m = 'Units'.
fieldcatalog-col_pos = 6.
fieldcatalog-outputlen = 4.
append fieldcatalog .
clear fieldcatalog.
endform. " field
*& Form layout
text
form layout using p_i_layout TYPE SLIS_LAYOUT_ALV .
i_layout-zebra = 'X'.
i_layout-lights_fieldname = 'LIGHT'.
i_layout-lights_tabname = 'IT_FINAL'.
i_layout-box_fieldname = 'CHK'.
i_layout-box_tabname = 'IT_FINAL'.
i_layout-edit = ' '.
endform.
*To display Buttons in the MENU BAR if needed
FORM SET_PO_PF_STATUS USING P_I_EXTAB TYPE
SLIS_T_EXTAB.
SET PF-STATUS 'MENUPO'.
ENDFORM.
*Event for Interactive display of ALV report
form USER_COMMAND using r_ucomm like sy-ucomm
rs_selfield type slis_selfield .
if r_ucomm = '&IC1'.
READ TABLE IT_FINAL index rs_selfield-tabindex.
set parameter id 'VL1' field it_final-ebeln.
call transaction 'ME23N'.
endif.
endform .
*Parameters of FM REUSE_ALV_GRID_DISPLAY
*& Form grid_display
text
--> p1 text
<-- p2 text
form grid_display .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'SET_PO_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
IS_LAYOUT = I_LAYOUT
IT_FIELDCAT = FIELDCATALOG[]
IT_EVENTS = I_EVENT[]
TABLES
t_outtab = IT_FINAL.
endform. " grid_display
Regards,
Rusidar S. -
Can anyone identify screen problem that freezes (pic)
Can anyone identify my screen problem that freezes? Alternately I get this image all over screen (see pic) or just a few horizontal dotted lines.
I have to force reboot.
Any thoughts appreciated.
iMac27, 3.5Ghz i7, 32 Gb ram, 3T drive.
Mavericks 10.9.5
I use the Adobe CC suite the most.
Thank you.
ETRE report prior to this image
Problem description:
iMac keeps freezing and returning to login
EtreCheck version: 2.0.11 (98)
Report generated 4 November 2014 2:45:09 pm AEDT
Hardware Information: ℹ️
iMac (27-inch, Late 2013) (Verified)
iMac - model: iMac14,2
1 3.5 GHz Intel Core i7 CPU: 4-core
32 GB RAM Upgradeable
BANK 0/DIMM0
8 GB DDR3 1600 MHz ok
BANK 1/DIMM0
8 GB DDR3 1600 MHz ok
BANK 0/DIMM1
8 GB DDR3 1600 MHz ok
BANK 1/DIMM1
8 GB DDR3 1600 MHz ok
Bluetooth: Good - Handoff/Airdrop2 supported
Wireless: en1: 802.11 a/b/g/n/ac
Video Information: ℹ️
NVIDIA GeForce GTX 780M - VRAM: 4096 MB
iMac 2560 x 1440
System Software: ℹ️
OS X 10.9.5 (13F34) - Uptime: 0:15:11
Disk Information: ℹ️
APPLE SSD SD0128F disk0 : (121.33 GB)
S.M.A.R.T. Status: Verified
EFI (disk0s1) <not mounted> : 210 MB
Boot OS X (disk0s3) <not mounted> : 134 MB
Macintosh HD imac27 (disk5) / [Startup]: 3.11 TB (2.84 TB free)
Core Storage: disk0s2 120.99 GB Online
Core Storage: disk3s2 3.00 TB Online
SAMSUNG HN-M101MBB disk1 : (1 TB)
S.M.A.R.T. Status: Verified
EFI (disk1s1) <not mounted> : 210 MB
disk1s2 (disk1s2) <not mounted> : 999.86 GB
Boot OSX (disk1s3) <not mounted> : 134 MB
SAMSUNG HN-M101MBB disk2 : (1 TB)
S.M.A.R.T. Status: Verified
EFI (disk2s1) <not mounted> : 210 MB
disk2s2 (disk2s2) <not mounted> : 999.86 GB
Boot OSX (disk2s3) <not mounted> : 134 MB
APPLE HDD ST3000DM001 disk3 : (3 TB)
S.M.A.R.T. Status: Verified
EFI (disk3s1) <not mounted> : 210 MB
Recovery HD (disk3s3) <not mounted> [Recovery]: 650 MB
Macintosh HD imac27 (disk5) / [Startup]: 3.11 TB (2.84 TB free)
Core Storage: disk0s2 120.99 GB Online
Core Storage: disk3s2 3.00 TB Online
USB Information: ℹ️
VIA Labs, Inc. USB3.0 Hub
Apple Inc. FaceTime HD Camera (Built-in)
Apple Inc. BRCM20702 Hub
Apple Inc. Bluetooth USB Host Controller
Wacom Co.,Ltd. Intuos PTS
VIA Labs, Inc. USB2.0 Hub
Fitbit Inc. Fitbit Base Station
Apple, Inc. Keyboard Hub
Apple Inc. Apple Keyboard
Thunderbolt Information: ℹ️
Apple Inc. thunderbolt_bus
LaCie Little Big Disk
Gatekeeper: ℹ️
Mac App Store and identified developers
Kernel Extensions: ℹ️
/System/Library/Extensions
[not loaded] com.wacom.kext.wacomtablet (6.3.9 - SDK 10.9) Support
Launch Agents: ℹ️
[not loaded] com.adobe.AAM.Updater-1.0.plist Support
[failed] com.adobe.AdobeCreativeCloud.plist Support
[loaded] com.oracle.java.Java-Updater.plist Support
[running] com.wacom.wacomtablet.plist Support
Launch Daemons: ℹ️
[loaded] com.adobe.fpsaud.plist Support
[running] com.fitbit.galileod.plist Support
[loaded] com.oracle.java.Helper-Tool.plist Support
[loaded] com.oracle.java.JavaUpdateHelper.plist Support
User Launch Agents: ℹ️
[loaded] com.adobe.AAM.Updater-1.0.plist Support
[loaded] com.adobe.ARM.[...].plist Support
[loaded] com.google.keystone.agent.plist Support
[loaded] com.koingosw.MacCleanse4Helper.Reminder.plist Support
[loaded] com.koingosw.MacCleanse4Helper.TrashWatcher.plist Support
User Login Items: ℹ️
Creative Cloud Application (/Applications/Utilities/Adobe Creative Cloud/ACC/Creative Cloud.app)
Internet Plug-ins: ℹ️
AdobeAAMDetect: Version: AdobeAAMDetect 2.0.0.0 - SDK 10.7 Support
FlashPlayer-10.6: Version: 15.0.0.189 - SDK 10.6 Support
EPPEX Plugin: Version: 4.1.0.0 Support
AdobePDFViewerNPAPI: Version: 11.0.09 - SDK 10.6 Support
AdobePDFViewer: Version: 11.0.09 - SDK 10.6 Support
Flash Player: Version: 15.0.0.189 - SDK 10.6 Support
Default Browser: Version: 537 - SDK 10.9
QuickTime Plugin: Version: 7.7.3
WacomTabletPlugin: Version: WacomTabletPlugin 2.1.0.6 - SDK 10.9 Support
JavaAppletPlugin: Version: Java 7 Update 71 Check version
User Internet Plug-ins: ℹ️
Dashlane: Version: Dashlane 1.0.0 - SDK 10.7 Support
Safari Extensions: ℹ️
Dashlane
Pin It Button
3rd Party Preference Panes: ℹ️
Flash Player Support
Flip4Mac WMV Support
Java Support
WacomTablet Support
Backup size 2.00 TB > (Disk size 0 B X 3)
Top Processes by CPU: ℹ️
7% Safari
5% WindowServer
4% WacomTabletDriver
1% WacomTouchDriver
0% powerd
Top Processes by Memory: ℹ️
241 MB WindowServer
213 MB com.apple.WebKit.WebContent
206 MB com.apple.IconServicesAgent
206 MB Safari
172 MB mds_stores
Virtual Memory Information: ℹ️
27.84 GB Free RAM
4.04 GB Active RAM
708 MB Inactive RAM
1.76 GB Wired RAM
518 MB Page-ins
0 B Page-outsI ended up calling Apple Support twice. After first time when we checked drives etc, the second time they said we had done everything and it must be a hardware issue. It had to have a logic board replaced.
-
Calling a tcode in simple report
hi,
I am trying to call a tcode (ME23n) in a simple report(not ALV) but problem is i am unable to SET Parameter ID (i.e. P.O. no ). I displaying a list from an internal table even thou i am using the HIDE statement i am unable to capture the ebeln(P.O. no). please provide some sample code.
regards
prabhuI have ALV Report which calls mm02 and see the report
REPORT Z_GET_REFRESH no standard page heading.
type-pools : slis.
tables : makt,
mara.
data : i_fieldcat type slis_t_fieldcat_alv.
data : begin of i_makt occurs 0,
matnr like makt-matnr,
maktx like makt-maktx,
end of i_makt.
data : v_repid like sy-repid,
g_user_command type slis_formname value 'USER_COMMAND',
g_status_set type slis_formname value 'SET_PF_STATUS'.
DATA:LC_GLAY TYPE LVC_S_GLAY.
select-options s_matnr for mara-matnr .
start-of-selection.
select matnr maktx from makt into table i_makt
where matnr in s_matnr.
end-of-selection.
Fill the fieldcatlog
perform fill_field.
Call the FM
perform call_fm.
*& Form fill_field
text
--> p1 text
<-- p2 text
FORM fill_field.
data wa_fieldcat type slis_fieldcat_alv.
clear : wa_fieldcat.
wa_fieldcat-tabname = 'I_MAKT'.
wa_fieldcat-fieldname = 'MATNR'.
wa_fieldcat-outputlen = '18'.
wa_fieldcat-seltext_l = 'Material #'.
wa_fieldcat-col_pos = '1'.
append wa_fieldcat to i_fieldcat.
clear : wa_fieldcat.
wa_fieldcat-tabname = 'I_MAKT'.
wa_fieldcat-fieldname = 'MAKTX'.
wa_fieldcat-outputlen = '40'.
wa_fieldcat-seltext_l = 'Material Desc'.
wa_fieldcat-col_pos = '2'.
append wa_fieldcat to i_fieldcat.
ENDFORM. " fill_field
*& Form call_fm
text
--> p1 text
<-- p2 text
FORM call_fm.
v_repid = sy-repid.
LC_GLAY-EDT_CLL_CB = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = v_repid
I_CALLBACK_PF_STATUS_SET = g_status_set
I_CALLBACK_USER_COMMAND = g_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 = LC_GLAY
IS_LAYOUT =
IT_FIELDCAT = i_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
IT_ALV_GRAPHICS =
IT_ADD_FIELDCAT =
IT_HYPERLINK =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IT_EXCEPT_QINFO =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
T_OUTTAB = i_makt
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. " call_fm
FORM USER_COMMAND *
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield. "#EC CALLED
data i_RSPARAMS like RSPARAMS occurs 0.
CASE R_UCOMM.
WHEN '&IC1'.
read table i_makt index rs_selfield-tabindex.
SET PARAMETER ID 'MAT' FIELD i_makt-matnr.
if not i_makt-matnr is initial.
call transaction 'MM02' and skip first screen.
endif.
when 'REFRESH'.
CALL FUNCTION 'RS_REFRESH_FROM_SELECTOPTIONS'
EXPORTING
CURR_REPORT = v_repid
IMPORTING
SP =
TABLES
SELECTION_TABLE = i_RSPARAMS
EXCEPTIONS
NOT_FOUND = 1
NO_REPORT = 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.
submit z_get_refresh with selection-table i_RSPARAMS.
rs_selfield-refresh = 'X'.
ENDCASE.
MOVE 'REFRESH' TO r_ucomm.
ENDFORM.
FORM set_pf_status *
FORM SET_PF_STATUS USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'ZSTANDARD' EXCLUDING rt_extab.
SET TITLEBAR sy-tcode.
ENDFORM.
For PO
use like
set parameter id 'BES' field ur field.
call transaction 'ME22N'. -
Hi all
I have create one selection screen as follows
SELECTION-SCREEN BEGIN OF SCREEN 1001 ."AS WINDOW.
SELECTION-SCREEN BEGIN OF BLOCK B0 WITH FRAME TITLE TEXT-101.
SELECT-OPTIONS : SO_PLANT FOR ZTAB_PP_PARAM-ZPLANT NO INTERVALS NO-EXTENSION OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B0 .
SELECTION-SCREEN END OF SCREEN 1001.
and call in follows
CALL SELECTION-SCREEN 1001 STARTING AT 5 5 ENDING AT 50 2.
its working properly
my problem if in the appear window has scroll in there end.
if i removed Block part its working
you can check Tcode CEWB that is standred code inthe bigining nice window displayed i want to create that type window.
please try to help me.Hi,
Call From a Program
From any program in which selection screens are defined, you can call these screens at any
point of the program flow using the following statement:
CALL SELECTION-SCREEN <numb> [STARTING AT <x1> <y1>]
[ENDING AT <x2> <y2>].
This statement calls selection screen number <numb>. The selection screen called must be
defined in the calling program either as the standard selection screen (screen number 1000) or
as a user-defined selection screen (any screen number). You must always use CALL
SELECTION-SCREEN to call selection screens, and not CALL SCREEN. If you use CALL
SCREEN, the system will not be able to process the selection screen.
You can display a user-defined selection screen as a modal dialog box using the STARTING AT
and ENDING AT additions. This is possible even if you have not used the AS WINDOW addition
in the definition of the selection screen. However, you are recommended to do so, since
warnings and error messages that occur during selection screen processing will then
also be displayed as modal dialog boxes (see example below).
When it returns from the selection screen to the program, the CALL SELECTION-SCREEN
statement sets the return value SY-SUBRC as follows:
SY-SUBRC = 0 if the user has chosen Execute on the selection screen
SY-SUBRC = 4 if the user has chosen Cancel on the selection screen
Any time a selection screen is processed, the selection screen events are triggered.
System field SY-DYNNR of the associated event blocks contains the number of the selection
screen that is currently active.
REPORT SELSCREENDEF.
SELECTION-SCREEN BEGIN OF BLOCK SEL1 WITH FRAME TITLE TIT1.
PARAMETERS: CITYFR LIKE SPFLI-CITYFROM,
CITYTO LIKE SPFLI-CITYTO.
SELECTION-SCREEN END OF BLOCK SEL1.
SELECTION-SCREEN BEGIN OF SCREEN 500 AS WINDOW.
SELECTION-SCREEN INCLUDE BLOCKS SEL1.
SELECTION-SCREEN BEGIN OF BLOCK SEL2
WITH FRAME TITLE TIT2.
PARAMETERS: AIRPFR LIKE SPFLI-AIRPFROM,
AIRPTO LIKE SPFLI-AIRPTO.
SELECTION-SCREEN END OF BLOCK SEL2.
SELECTION-SCREEN END OF SCREEN 500.
INITIALIZATION.
TIT1 = 'Cities'.
AT SELECTION-SCREEN.
CASE SY-DYNNR.
WHEN '0500'.
MESSAGE W159(AT) WITH 'Screen 500'.
WHEN '1000'.
MESSAGE W159(AT) WITH 'Screen 1000'.
ENDCASE.
START-OF-SELECTION.
TIT1 = 'Cities for Airports'.
TIT2 = 'Airports'.
CALL SELECTION-SCREEN 500 STARTING AT 10 10.
TIT1 = 'Cities again'.
CALL SELECTION-SCREEN 1000 STARTING AT 10 10.
This executable program contains definitions for the standard selection screen and
the user-defined screen number 500. Selection screen 500 is defined to be displayed
as a modal dialog box and contains the SEL1 block of the standard selection screen.
Note the phase in which the titles of the screens are defined. For the purpose of
demonstration, the program calls warning messages with message class AT during
the AT SELECTION-SCREEN event.
When you start the program, the following sequence of screens is displayed:
1. The standard selection screen. If the user chooses Execute, the system displays
the warning SCREEN 1000 in the status bar.
2. Once the user has confirmed the warning by choosing Enter, selection screen 500
is called as a modal dialog box. When the user chooses Execute, the system
displays the warning SCREEN 500, also in a dialog box.
3. When the user has confirmed this warning, the standard selection screen is called
again, but this time as a modal dialog box. Since you cannot define the standard
selection screen as a modal dialog box, the warning message displayed when the
user chooses Execute appears in the status bar and not as a modal dialog box.
Consequently, you can only exit this selection screen using Cancel, since there is no
Enter function in the dialog box to confirm the warning message.
Regards,
Bhaskar -
Help with Refreshing and Calling Screens
Hi everyone. I have somewhat of a simple ABAP program in which the user will enter data on Selection-Screen 1000. This will then be loaded into an Object Oriented ALV Grid for display purposes only (screen 0100). At any time, the user may use the back button on the ALV Grid Screen; which will take them from screen 0100 to screen 1000(Selection Screen). Lets assume the user does not want to go back to the original selection screen from the ALV Grid Screen; they entered the information correctly and want to continue processing using a custom button I've created which will continue to process the record of data into a BW ODS. This process works, but now I would like to use the write statement once the custom button is clicked to show a summary of the data I am inserting into the ODS after the data has been inserted. The problem is, the title of the ALV Grid still shows and the Write statement is processed, but not shown on the screen. I've been trying to refresh the screen with set screen and call screen combinations, but no luck. Any Help would be appreciated. Thanks!
Here is a sample of the code below:
*& Report ZINC_DSP_SALES_INCRASE
REPORT ZINC_DSP_SALES_INCREASE MESSAGE-ID zsm.
INCLUDE <icon>.
DATA: credit_itab type standard table of /bic/azincosvi00,
wa_credit like line of credit_itab,
alv_itab type standard table of /bic/azincosvi00,
wa_alv like line of alv_itab.
DATA: ok_code LIKE sy-ucomm,
save_ok LIKE sy-ucomm,
incent type table of /bic/azincosvi00,
g_container TYPE scrfname VALUE 'Increase DSP Sales',
grid1 TYPE REF TO cl_gui_alv_grid,
gs_layout TYPE lvc_s_layo,
g_custom_container TYPE REF TO cl_gui_docking_container.
DATA: active_guid like /bic/mzguid_dsr,
UNIQUEKEY LIKE /BIC/AZINCOSVI00-/BIC/ZRCRDKEY,
rpt_per_rec like /BIC/MZRPTPRDCR,
dsrcode like /bic/mzdsrcode-/bic/zdsrcode,
payrec like /bic/mzsubcode.
CLASS lcl_event_receiver DEFINITION DEFERRED.
CLASS lcl_event_receiver DEFINITION.
PUBLIC SECTION.
METHODS:
handle_toolbar
FOR EVENT toolbar OF cl_gui_alv_grid
IMPORTING e_object e_interactive,
handle_user_command
FOR EVENT user_command OF cl_gui_alv_grid
IMPORTING e_ucomm.
PRIVATE SECTION.
ENDCLASS.
CLASS lcl_event_receiver IMPLEMENTATION.
This will create the toolbar
METHOD handle_toolbar.
DATA: ls_toolbar TYPE stb_button.
CLEAR ls_toolbar.
MOVE 3 TO ls_toolbar-butn_type.
APPEND ls_toolbar TO e_object->mt_toolbar.
append an icon to show booking table
CLEAR ls_toolbar.
MOVE 'CREATE' TO ls_toolbar-function.
MOVE ICON_OKAY TO ls_toolbar-icon.
MOVE ' ' TO ls_toolbar-disabled.
APPEND ls_toolbar TO e_object->mt_toolbar.
ENDMETHOD.
METHOD handle_user_command.
CASE e_ucomm.
WHEN 'CREATE'.
Insert /bic/azincosvi00 from wa_credit.
CALL METHOD grid1->free.
SET SCREEN '200'.
WHEN 'OTHERS'.
" DO NOTHING
ENDCASE.
ENDMETHOD.
ENDCLASS.
Data: event_receiver TYPE REF TO lcl_event_receiver.
START-OF-SELECTION.
Selection-Screen BEGIN OF BLOCK 1 with frame title text-001.
Parameters: start like /bic/azincosvi00-BILL_DATE.
Selection-Screen END OF BLOCK 1.
Selection-Screen BEGIN OF BLOCK 3 with frame title text-003.
Parameters: guid type /BIC/OIZGUID_DSR,
pcode type /BIC/OIZPGMCODE,
scode type /BIC/OIZSUBCODE,
reason type /BIC/OIZEXCPTC,
quantity(5) type n,
discount type /BI0/OISUBTOTAL_4.
Selection-Screen END OF BLOCK 3.
END-OF-SELECTION.
IF quantity <> '00000'.
if pcode <> 'SCTMS'.
message e000 with 'Quantity can only be used with seating spiff'.
endif.
ENDIF.
GET REPORT PERIOD INFO using today's date.
select single * from /bic/mzrptprdcr INTO rpt_per_rec
where calyear = sy-datum(4)
and /bic/zpgmcode = pcode
and ( /BIC/ZRPPRDSTR <= start
and /BIC/ZRPPRDEND >= start ) .
if sy-subrc <> 0.
message e000 with
'Report Period NOT FOUND for' pcode ' ' sy-datum(4).
endif.
Select Active Guid based upon user entry on selection-screen
Select single * from /bic/mzguid_dsr into active_guid
where /bic/zguid_dsr = guid
and /bic/zdsrstat = 'A'.
If sy-subrc <> 0.
MESSAGE e000 WITH 'Please enter a valid GUID'.
ENDIF.
Select DSR Code based upon a valid guid entered
Select single /bic/zdsrcode from /bic/mzdsrcode into dsrcode
where /BIC/ZGUID_DSR = guid
and /BIC/ZDSRCDST = 'A'.
If sy-subrc <> 0.
MESSAGE e000 WITH 'GUID entered does not have an active dsr code.'.
ENDIF.
Select MAX( /BIC/ZRCRDKEY ) FROM /BIC/AZINCOSVI00 INTO WA_CREDIT-/BIC/ZRCRDKEY.
UNIQUEKEY = WA_CREDIT-/BIC/ZRCRDKEY + 1.
WA_CREDIT-/BIC/ZRCRDKEY = UNIQUEKEY.
WA_CREDIT-PO_NUMBER = UNIQUEKEY.
WA_CREDIT-/BIC/ZERDAT = SY-DATUM.
WA_CREDIT-BILL_DATE = SY-DATUM.
WA_CREDIT-/BIC/ZRPPRDSTR = rpt_per_rec-/BIC/ZRPPRDSTR.
WA_CREDIT-/BIC/ZRPPRDEND = rpt_per_rec-/BIC/ZRPPRDEND.
WA_CREDIT-/BIC/ZCUBPRCDT = SY-DATUM.
WA_CREDIT-/BIC/ZRPTPRDCR = rpt_per_rec-/BIC/ZRPTPRDCR.
WA_CREDIT-/BIC/ZINCPYPRC = '00000000'.
WA_CREDIT-/BIC/ZGUID_DSR = ACTIVE_GUID-/bic/zguid_dsr.
WA_CREDIT-/BIC/ZDSRCODE = dsrcode.
WA_CREDIT-/BIC/ZPGMCODE = PCODE.
WA_CREDIT-/BIC/ZUNASSIGN = 'N'.
WA_CREDIT-/BIC/ZSUBCODE = SCODE.
WA_CREDIT-/BIC/ZSITE_ICR = ACTIVE_GUID-/BIC/ZSITE_IRG.
WA_CREDIT-/BIC/ZSUSPEND = 'N'.
WA_CREDIT-/BIC/ZSUSPNDR = ' '.
WA_CREDIT-/BIC/ZSITE_IRG = ACTIVE_GUID-/BIC/ZSITE_IRG.
WA_CREDIT-/BIC/ZSITE_CST = ' '.
WA_CREDIT-/BIC/ZINCBONUS = '0.00'.
WA_CREDIT-STAT_CURR = 'USD'.
WA_CREDIT-DOC_CURRCY = 'USD'.
WA_CREDIT-SALES_UNIT = 'ST'.
WA_CREDIT-CALYEAR = SY-DATUM(4).
WA_CREDIT-/bic/ZCASEID = SY-UNAME.
WA_CREDIT-/bic/ZSLSRSN = REASON.
WA_CREDIT-RECORDMODE = ' '.
*Depending on Program Code, populate the amounts to be paid.
Data: fivepercent type p.
fivepercent = '0.05'.
If pcode = 'SCW5S' or pcode = 'SCTMS'.
Select single * from /bic/mzsubcode into payrec
where /bic/zpgmcode = pcode
and /bic/zsubcode = scode
and CALYEAR = sy-datum(4).
if sy-subrc <> 0.
write: / '************** ERROR ***********************',
/ '** Missing Program Information for ',
/ pcode,
scode,
sy-datum(4),
exit.
endif.
ENDIF.
If pcode = 'SCW5S'.
WA_CREDIT-/BIC/ZINCUSDDS = discount.
WA_CREDIT-/BIC/ZPAYAMTUS = WA_CREDIT-/BIC/ZINCUSDDS * payrec-/bic/zpayper / 100.
WA_CREDIT-SUBTOTAL_4 = discount.
WA_CREDIT-/BIC/ZINC_QTY = ' '.
Endif.
If pcode = 'SCTMS'.
WA_CREDIT-/BIC/ZPAYAMTUS = quantity * payrec-/bic/zpayper / 100.
WA_CREDIT-/BIC/ZINCUSDDS = '0.00'.
WA_CREDIT-SUBTOTAL_4 = '0.00'.
WA_CREDIT-/BIC/ZINC_QTY = quantity.
Endif.
If pcode = 'SCTB'.
WA_CREDIT-/BIC/ZPAYAMTUS = '0.00'.
WA_CREDIT-/BIC/ZINCUSDDS = DISCOUNT.
WA_CREDIT-SUBTOTAL_4 = DISCOUNT.
WA_CREDIT-/BIC/ZINC_QTY = ' '.
Endif.
*Create ALV Grid to show the user what the record will look like in which they are creating.
Append wa_credit to alv_itab.
CALL SCREEN 100.
*& Module PBO OUTPUT
text
MODULE alv_pbo OUTPUT.
SET PF-STATUS 'MAIN100'.
SET TITLEBAR 'MAIN100'.
IF g_custom_container IS INITIAL.
CREATE OBJECT grid1
EXPORTING i_parent = g_custom_container.
CALL METHOD grid1->set_table_for_first_display
EXPORTING
i_structure_name = '/bic/azincosvi00'
CHANGING
it_outtab = alv_itab.
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_user_command FOR grid1.
SET HANDLER event_receiver->handle_toolbar FOR grid1.
CALL METHOD grid1->set_toolbar_interactive.
ENDIF.
ENDMODULE. " PBO OUTPUT
*& Module PAI INPUT
text
MODULE alv_pai INPUT.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANCEL'.
LEAVE PROGRAM.
WHEN 'BACK'.
CALL METHOD grid1->free.
CALL SELECTION-SCREEN '1000'.
WHEN OTHERS.
" DO NOTHING.
ENDCASE.
ENDMODULE. " PAI INPUT
*& Module 200_PBO OUTPUT
text
MODULE 200_PBO OUTPUT.
Write at 5: 'Increase DSP Sales'.
Skip 1.
Write at 5: 'USER'.
Write at 15:'PROGRAM CODE'.
WRITE AT 25:'SUB CODE'.
WRITE AT 37:'DISCOUNTED SALES'.
WRITE AT 67:'PAY AMOUNT US'.
WRITE AT 80:'REASON'.
ENDMODULE. " 200_PBO OUTPUTThere are some problems with ok_code, you need to assign sy-ucomm at each module. Also the main problem was that you needed leave to list-processing and suppress dialog before writing. However, when you do this the screens calls change a little. You also needed to use the container correctly. Apply the correctons below and you'll be all set. Unfortunaley you will have to play around with calling the sel. screen (1000) from screen 100, I don't think call sel. screen 1000 will work properly there (you might need a custome screen instead). The user may be okay with kicking back out to sa38 after the alv display, however. Good luck and don't listen to the clowns' comments above. I once worked in that circus, Hey Guys.
Instead of this:
METHOD handle_user_command.
CASE e_ucomm.
WHEN 'CREATE'.
Insert /bic/azincosvi00 from wa_credit.
CALL METHOD grid1->free.
SET SCREEN '200'.
WHEN 'OTHERS'.
" DO NOTHING
ENDCASE.
ENDMETHOD.
<b>DO THIS:</b>
METHOD handle_user_command.
CASE e_ucomm.
WHEN 'CREATE'.
Insert /bic/azincosvi00 from wa_credit.
CALL SCREEN 200.
WHEN 'OTHERS'.
" DO NOTHING
ENDCASE.
ENDMETHOD. "handle_user_command
<b>Instead of this:</b>
*Create ALV Grid to show the user what the record will look like in which they are creating.
Append wa_credit to alv_itab.
CALL SCREEN 100.
<b>DO THIS:</b>
IF g_custom_container IS INITIAL.
CREATE OBJECT g_custom_container EXPORTING dynnr = '100'
repid = sy-cprog
ratio = '95'.
ENDIF.
IF grid1 IS INITIAL.
CREATE OBJECT grid1 EXPORTING i_parent = g_custom_container.
ENDIF.
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_user_command FOR grid1.
SET HANDLER event_receiver->handle_toolbar FOR grid1.
SET SCREEN 100.
CALL SCREEN 100.
<b>Instead of this:</b>
MODULE alv_pbo OUTPUT.
SET PF-STATUS 'MAIN100'.
SET TITLEBAR 'MAIN100'.
IF g_custom_container IS INITIAL.
CREATE OBJECT grid1
EXPORTING i_parent = g_custom_container.
CALL METHOD grid1->set_table_for_first_display
EXPORTING
i_structure_name = '/bic/azincosvi00'
CHANGING
it_outtab = alv_itab.
CREATE OBJECT event_receiver.
SET HANDLER event_receiver->handle_user_command FOR grid1.
SET HANDLER event_receiver->handle_toolbar FOR grid1.
CALL METHOD grid1->set_toolbar_interactive.
ENDIF.
ENDMODULE. " PBO OUTPUT
<b>DO THIS:</b>
MODULE alv_pbo OUTPUT.
SET PF-STATUS 'MAIN100'.
SET TITLEBAR 'MAIN100'.
CALL METHOD grid1->set_table_for_first_display
EXPORTING
i_structure_name = '/bic/azincosvi00'
CHANGING
it_outtab = alv_itab.
CALL METHOD grid1->set_toolbar_interactive.
ENDMODULE. " PBO OUTPUT
<b>Instead of this:</b>
MODULE alv_pai INPUT.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANCEL'.
LEAVE PROGRAM.
WHEN 'BACK'.
CALL METHOD grid1->free.
CALL SELECTION-SCREEN '1000'.
WHEN OTHERS.
" DO NOTHING.
ENDCASE.
ENDMODULE. " PAI INPUT
<b>DO THIS:</b>
MODULE alv_pai INPUT.
ok_code = sy-ucomm.
CASE ok_code.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANCEL'.
LEAVE PROGRAM.
WHEN 'BACK'.
CALL METHOD grid1->free.
LEAVE PROGRAM.
* CALL SELECTION-SCREEN '1000'.
WHEN OTHERS.
" DO NOTHING.
ENDCASE.
ENDMODULE. " PAI INPUT
<b>Instead of this:</b>
MODULE 200_PBO OUTPUT.
Write at 5: 'Increase DSP Sales'.
Skip 1.
Write at 5: 'USER'.
Write at 15:'PROGRAM CODE'.
WRITE AT 25:'SUB CODE'.
WRITE AT 37:'DISCOUNTED SALES'.
WRITE AT 67:'PAY AMOUNT US'.
WRITE AT 80:'REASON'.
ENDMODULE. " 200_PBO OUTPUT
<b>DO THIS:</b>
*Take care of all your list output here
LEAVE TO LIST-PROCESSING.
SET PF-STATUS 'MAIN200'.
SET TITLEBAR 'MAIN200'.
SUPPRESS DIALOG.
WRITE AT 5: 'Increase DSP Sales'.
SKIP 1.
WRITE AT 5: 'USER'.
WRITE AT 15:'PROGRAM CODE'.
WRITE AT 25:'SUB CODE'.
WRITE AT 37:'DISCOUNTED SALES'.
WRITE AT 67:'PAY AMOUNT US'.
WRITE AT 80:'REASON'.
ENDMODULE. " 200_PBO OUTPUT
<b>Add Moule:</b>
MODULE 200_pai INPUT.
ok_code = sy-ucomm.
CASE ok_code.
WHEN 'EXIT'.
LEAVE PROGRAM.
WHEN 'CANCEL'.
LEAVE PROGRAM.
WHEN 'BACK'.
CALL SCREEN 100.
WHEN OTHERS.
" DO NOTHING.
ENDCASE.
ENDMODULE. " 200_PAI INPUT -
Hi gurus,
I m developing a report and I m trying to call another screen after a statement. I have a problem. ALthough ı m writing call screen 300, the 100 numbered screen comes. What may be the reason? Thanks in advance?MY--CODES
DATA: L_VALID TYPE C.
DATA :
TIMETICKETS TYPE BAPI_PP_TIMETICKET OCCURS 0 WITH HEADER LINE,
RETURN LIKE BAPIRET1,
LINK_CONF_GOODSMOV TYPE BAPI_LINK_CONF_GOODSMOV
OCCURS 0 WITH HEADER LINE,
GOODSMOVEMENTS TYPE BAPI2017_GM_ITEM_CREATE OCCURS 0 WITH HEADER LINE.
CALL METHOD CI_ALV->CHECK_CHANGED_DATA
IMPORTING
E_VALID = L_VALID.
CALL METHOD CI_ALV->GET_SELECTED_ROWS
IMPORTING
ET_INDEX_ROWS = LT_INDEX_ROWS.
LOOP AT LT_INDEX_ROWS INTO LS_INDEX_ROWS.
READ TABLE GT_ITAB INDEX LS_INDEX_ROWS-INDEX.
IF SY-SUBRC = 0.
ENDIF.
ENDLOOP.
REFRESH : DETAIL_RETURN.
READ TABLE GT_ITAB WITH KEY CHK = 'X'.
IF SY-SUBRC NE 0.
MESSAGE E000(ZPP) WITH 'Lütfen operasyon seçin'.
ENDIF.
CLEAR : DETAIL_RETURN, DETAIL_RETURN[].
LOOP AT GT_ITAB WHERE CHK IS NOT INITIAL
AND OK IS INITIAL.
IF GT_ITAB-LMNGA LE 0 AND GT_ITAB-XMNGA LE 0.
MESSAGE E000(ZPP) WITH
'Operasyon' GT_ITAB-VORNR 'için miktar girin'.
ENDIF.
REFRESH : TIMETICKETS, DETAIL_RET.
CLEAR : TIMETICKETS, DETAIL_RET.
TIMETICKETS-ORDERID = GT_ITAB-AUFNR.
TIMETICKETS-OPERATION = GT_ITAB-VORNR.
TIMETICKETS-YIELD = GT_ITAB-LMNGA.
TIMETICKETS-SCRAP = GT_ITAB-XMNGA.
CLEAR ACT_LMNGA.
ACT_LMNGA = TIMETICKETS-YIELD + TIMETICKETS-SCRAP.
export gv_lmnga to memory id 'GV_LMNGA'.
TIMETICKETS-CONF_QUAN_UNIT = GT_ITAB-AMEIN.
TIMETICKETS-FIN_CONF = GT_ITAB-AUERU.
TIMETICKETS-POSTG_DATE = GV_BUDAT.
*--- Calculate activity
SELECT SINGLE * FROM AFKO WHERE AUFNR = GT_ITAB-AUFNR.
IF SY-SUBRC IS INITIAL.
SELECT * INTO TABLE WLT_AFVC
FROM AFVC WHERE AUFPL = AFKO-AUFPL
AND VORNR = GT_ITAB-VORNR .
IF NOT SY-DBCNT IS INITIAL.
SORT WLT_AFVC BY APLZL.
LOOP AT WLT_AFVC.
CLEAR: AFVDB_TAB[],
AFVDB_TAB.
CALL FUNCTION 'ZPP_CO_DB_AFVGD_SINGLE_READ'
EXPORTING
AFVG_AUFTRAG = WLT_AFVC-AUFPL
AFVG_VORGANG = WLT_AFVC-APLZL
TABLES
AFVDB_TAB = AFVDB_TAB
EXCEPTIONS
NOT_FOUND = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ELSE.
LOOP AT AFVDB_TAB WHERE AUFPL = WLT_AFVC-AUFPL
AND APLZL = WLT_AFVC-APLZL.
CLEAR: ACT_AFVGD,
EXP_ACTIVITIES.
MOVE-CORRESPONDING AFVDB_TAB TO ACT_AFVGD.
*-Calculate Activity values--
PERFORM CALCULATE_ACTCONF_QTY USING GT_ITAB-MATNR
GT_ITAB-AMEIN
ACT_LMNGA
GV_ACTMG.
CALL FUNCTION 'CO_R0_DET_TOTAL_ACTIVITY'
EXPORTING
ACT_AFVGD = ACT_AFVGD
ACT_FLG_CONSIDER_CONF = 'X'
ACT_QUANTITY = GV_ACTMG
ACT_DATUM = SY-DATUM
ACT_FLG_MST = 'X'
ACT_ARBID = ACT_AFVGD-ARBID
ACT_WERKS = ACT_AFVGD-WERKS
IMPORTING
EXP_ACTIVITIES = EXP_ACTIVITIES
EXCEPTIONS
DIVISION_BY_ZERO = 1
OTHERS = 2.
IF SY-SUBRC <> 0.
ELSE.
TIMETICKETS-CONF_ACTIVITY1 = EXP_ACTIVITIES-ACTI1.
TIMETICKETS-CONF_ACTI_UNIT1 = EXP_ACTIVITIES-UNIT1.
IF GT_ITAB-CONF_ACTIVITY2 IS INITIAL.
TIMETICKETS-CONF_ACTIVITY2 = EXP_ACTIVITIES-ACTI2.
ELSE.
TIMETICKETS-CONF_ACTIVITY2 = GT_ITAB-CONF_ACTIVITY2.
ENDIF.
TIMETICKETS-CONF_ACTI_UNIT2 = EXP_ACTIVITIES-UNIT2.
IF GT_ITAB-CONF_ACTIVITY3 IS INITIAL.
TIMETICKETS-CONF_ACTIVITY3 = EXP_ACTIVITIES-ACTI3.
ELSE.
TIMETICKETS-CONF_ACTIVITY3 = GT_ITAB-CONF_ACTIVITY3.
ENDIF.
TIMETICKETS-CONF_ACTI_UNIT3 = EXP_ACTIVITIES-UNIT3.
TIMETICKETS-CONF_ACTIVITY4 = EXP_ACTIVITIES-ACTI4.
TIMETICKETS-CONF_ACTI_UNIT4 = EXP_ACTIVITIES-UNIT4.
TIMETICKETS-CONF_ACTIVITY5 = EXP_ACTIVITIES-ACTI5.
TIMETICKETS-CONF_ACTI_UNIT5 = EXP_ACTIVITIES-UNIT5.
TIMETICKETS-CONF_ACTIVITY6 = EXP_ACTIVITIES-ACTI6.
TIMETICKETS-CONF_ACTI_UNIT6 = EXP_ACTIVITIES-UNIT6.
ENDIF.
ENDLOOP.
ENDIF.
ENDLOOP.
ENDIF.
ENDIF.
APPEND TIMETICKETS.
APPEND TIMETICKETSALL.
DATA : GV_ZZSHIFT LIKE AFRU-ZZSHIFT,
GV_ZZZOPER LIKE AFRU-ZZZOPER,
GV_ZZZOPE1 LIKE AFRU-ZZZOPE1,
GV_ZZZDRN1 LIKE AFRU-ZZZDRN1,
GV_ZZZDRS1 LIKE AFRU-ZZZDRS1,
GV_ZZZDRN2 LIKE AFRU-ZZZDRN2,
GV_ZZZDRS2 LIKE AFRU-ZZZDRS2,
GV_ZZZDRN3 LIKE AFRU-ZZZDRN3,
GV_ZZZDRS3 LIKE AFRU-ZZZDRS3.
GV_ZZSHIFT = GT_ITAB-ZZSHIFT.
GV_ZZZOPER = GT_ITAB-ZZZOPER.
GV_ZZZOPE1 = GT_ITAB-ZZZOPE1.
GV_ZZZDRN1 = GT_ITAB-ZZZDRN1.
GV_ZZZDRS1 = GT_ITAB-ZZZDRS1.
GV_ZZZDRN2 = GT_ITAB-ZZZDRN2.
GV_ZZZDRS2 = GT_ITAB-ZZZDRS2.
GV_ZZZDRN3 = GT_ITAB-ZZZDRN3.
GV_ZZZDRS3 = GT_ITAB-ZZZDRS3.
EXPORT GV_ZZSHIFT TO MEMORY ID 'ZZSHIFT'.
EXPORT GV_ZZZOPER TO MEMORY ID 'ZZZOPER'.
EXPORT GV_ZZZOPE1 TO MEMORY ID 'ZZZOPE1'.
EXPORT GV_ZZZDRN1 TO MEMORY ID 'ZZZDRN1'.
EXPORT GV_ZZZDRS1 TO MEMORY ID 'ZZZDRS1'.
EXPORT GV_ZZZDRN2 TO MEMORY ID 'ZZZDRN2'.
EXPORT GV_ZZZDRS2 TO MEMORY ID 'ZZZDRS2'.
EXPORT GV_ZZZDRN3 TO MEMORY ID 'ZZZDRN3'.
EXPORT GV_ZZZDRS3 TO MEMORY ID 'ZZZDRS3'.
CALL FUNCTION 'BAPI_PRODORDCONF_CREATE_TT'
EXPORTING
POST_WRONG_ENTRIES = '1'
IMPORTING
RETURN = RETURN
TABLES
TIMETICKETS = TIMETICKETS[]
GOODSMOVEMENTS = GOODSMOVEMENTS[]
LINK_CONF_GOODSMOV = LINK_CONF_GOODSMOV[]
DETAIL_RETURN = DETAIL_RET[].
IF RETURN-TYPE IS INITIAL . "islem basarili
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
GT_ITAB-OK = 'X'.
CLEAR GT_ITAB-CHK.
GT_ITAB-ROWCOLOR = 'C510'.
MODIFY GT_ITAB.
ELSE.
GT_ITAB-ROWCOLOR = 'C610'.
CLEAR GT_ITAB-CHK.
MODIFY GT_ITAB.
CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.
LOOP AT DETAIL_RET.
MOVE-CORRESPONDING DETAIL_RET TO DETAIL_RETURN.
APPEND DETAIL_RETURN.
GT_ITAB-MESSAGE = DETAIL_RET-MESSAGE.
MODIFY GT_ITAB.
ENDLOOP.
CALL SCREEN 300.
ENDLOOP.
Edited by: OSMANBIYIK on Dec 21, 2010 7:40 AM -
ALV not getting refreshed when call screen is executed second time
I have 2 screens 9001 and 9002. In 9001 , I am displaying the fields of a database table in a Table Control. The user has to select some of those fields and click on a button 'Generate ALV'. After clicking , the control navigates to 9002 where I am displaying ALV with data in the selected fields(the other fields remain empty). (using custom container)
Now there is BACK button in 9002 where i have written LEAVE TO SCREEN 9001. After this if the user again make changes in column selection and click on 'Generate ALV' , then still the old alv data is displayed. (Mind you the structure of alv is same , only the selected fields should show data).
I am using REFRESH_ALV_DISPLAY also and when i tested this function independently , its working fine (although for interactive alv in the same screen).
I am making use of <fs> for dynamic internal table and i checked it using breakpoints , during the 2nd time , it contains the correctly updated data so i think the problem lies with alv
Kindly check this code
MODULE STATUS_9002 OUTPUT.
SET PF-STATUS 'ZALV'.
* SET TITLEBAR 'xxx'.
CREATE OBJECT C_CONT
EXPORTING
CONTAINER_NAME = 'CUST_CONT'
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 OBJ_ALV IS INITIAL.
CREATE OBJECT OBJ_ALV
EXPORTING
I_PARENT = C_CONT
CALL METHOD OBJ_ALV->SET_TABLE_FOR_FIRST_DISPLAY
EXPORTING
I_STRUCTURE_NAME = INP_TABLE
CHANGING
IT_OUTTAB = <itab>
ELSE.
CALL METHOD OBJ_ALV->REFRESH_TABLE_DISPLAY
ENDIF.
ENDMODULE. " STATUS_9002 OUTPUT
Edited by: amber22 on Sep 16, 2011 6:45 PMAmber,
Something like:
*& Module STATUS_9001 OUTPUT
MODULE status_9001 OUTPUT.
SET PF-STATUS 'ST9001'.
ENDMODULE. " STATUS_9001 OUTPUT
*& Module USER_COMMAND_9001 INPUT
MODULE user_command_9001 INPUT.
CASE sy-ucomm.
WHEN 'GEN'.
SELECT * FROM spfli INTO TABLE gt_outtab.
CALL SCREEN 9002.
WHEN 'BACK'.
LEAVE.
ENDCASE.
ENDMODULE. " USER_COMMAND_9001 INPUT
*& Module STATUS_9002 OUTPUT
MODULE status_9002 OUTPUT.
SET PF-STATUS 'ST9002'.
IF obj_alv IS INITIAL.
CREATE OBJECT c_cont
EXPORTING
container_name = 'CUST_CONT'.
CREATE OBJECT obj_alv
EXPORTING
i_parent = c_cont.
CALL METHOD obj_alv->set_table_for_first_display
EXPORTING
i_structure_name = 'SPFLI'
CHANGING
it_outtab = gt_outtab.
ELSE.
CALL METHOD obj_alv->refresh_table_display.
ENDIF.
ENDMODULE. " STATUS_9002 OUTPUT
*& Module USER_COMMAND_9002 INPUT
MODULE user_command_9002 INPUT.
CASE sy-ucomm.
WHEN 'BACK'.
CALL METHOD: obj_alv->free, c_cont->free.
CLEAR: obj_alv, c_cont.
CALL METHOD cl_gui_cfw=>flush.
LEAVE TO SCREEN 9001.
ENDCASE.
ENDMODULE. " USER_COMMAND_9002 INPUT
Altough it's not a really nice solution... Why using 2 screens for example? you could use two containers instead...
Also I would recommand playing with the new salv class for your grids.
Anyway don't hesitate to give feed-back.
Kr,
m.
Maybe you are looking for
-
SAP BI 4.0 Installation on Linux Machines
Hi, Can some body send me the document or Detailed steps regarding how to install the SAP BI 4.0 software on the Linux machines.also let me know what are the pre-requisites for this installation. This software needs to be installed in both Server and
-
Weblogic suspending both datasource in multidatasource when one DB is down
Hi, I'm trying to connect oracle UCM to multi datasource that has 2 datasources each talking to different databases that are kept in sync with oracle streams. when i stopped database connected to first datasource, the other datasource in the multi da
-
How to phone into Skype group call for someone who...
I host a skype group call. Someone who doesn't have Skype wants to call in with her phone? How?
-
10.5.3 will not mount DVD-R burned video discs
I have 5 DVD-R's with burned video from a wedding and they play in my DVD player in the living room fine. They refuse to mount on my iMac or MacBook Pro when booted in Leopard 10.5.3. When I insert them, they spin for a few minutes, then I can hear t
-
Keyboard types different character when login
My bluetooth keyboard types different characters when I try to login