Push button in a table
Hi,
I have an internal table and showing this itab with dialog programing. I have inserted a new column in table, I need that when client has pressed such as 5th line I want to get 5th line's information. I have created a field which's length is one character and gived this field's name as 'see' in itab and I gave the button name as itab-see. But, when user pressed any line I see that the itab-see field has not changed such as a radio button or checkbox. How can I get which line's button has pressed and that line's table information.
Thanks.
if you are using a table-control you can use a pai module like this:
MODULE PICK_UP.
establish which line was selected on the first time through
IF SY-STEPL EQ 1.
GET CURSOR LINE w_selected_line.
IF W_selected_line = 0.
W_selected_line = 1.
ENDIF.
convert the relative line to the actual line number in the table by referring to the table-control
w_absolute_line = w_selected_line + tc_???-top_line - 1.
ENDIF.
In your screen's flow logic you need something like this in the PAI section:
LOOP AT your_table.
MODULE pickup.
ENDLOOP.
However, If you are using a steploop I'm not sure how you do it and am interested in the answer myself!
Similar Messages
-
Push button column in table control
Hi,
I have to add a few push button columns into table control. This columns has to be placed between fields of DDic table. How to do this? Shall I create new DDic structure with all the needed fields from DDic table and add also fields for push button columns? Which data element shal I use in this case for push button field? Or is the better solution to add DDic table fields one by one and then using drag and drop technique to add push button column behind it?
Thanks.Hi ,
Your Last option is better first add columns into DDIC table then Drag and
Drop it on table control .
That will better definitely.................................
if useful rewards the point..............
Thanks .
Nilesh Jain -
How to change the check box with the push button in itrator table rows
Hi all,
I want to change the check box of the itrator table rows with push button/ some thing better as to give
the table view more good look and user friendly.
Does any one has tried any other option in table view in place of check box
Thanks
BhagatThere are various objects which you can create via iterators. Please see the application SBSPEXT_TABLE for more details.
DATA: lo_text TYPE REF TO cl_htmlb_textview,
lo_ddlb TYPE REF TO cl_htmlb_dropdownlistbox,
lo_input TYPE REF TO cl_htmlb_inputfield,
lo_button TYPE REF TO cl_htmlb_button,
lo_chk_bx TYPE REF TO cl_htmlb_checkbox.
row_ref = p_row_data_ref.
CASE p_column_key.
WHEN 'EFF_DATE'. " Input field
CREATE OBJECT lo_input.
lo_input->id = p_cell_id.
lo_input->type = 'DATE'.
lo_input->showhelp = 'TRUE'.
lo_input->width = '60'.
lo_input->invalid = 'true'.
p_class = `ao`.
lo_input->value = get_column_value( p_column_key ).
p_replacement_bee = lo_input.
WHEN 'NEW_LOC'. " Drop down list box
CREATE OBJECT lo_ddlb.
GET REFERENCE OF gt_persa INTO lo_ddlb->table.
lo_ddlb->id = p_cell_id.
lo_ddlb->nameofkeycolumn = 'NAME'.
lo_ddlb->nameofvaluecolumn = 'VALUE'.
lo_ddlb->selection = get_column_value( p_column_key ).
lo_ddlb->selection = 'DUMMY'.
p_replacement_bee = lo_ddlb.
WHEN 'MON' . " Check box
CREATE OBJECT lo_chk_bx.
lo_chk_bx->id = p_cell_id.
lo_chk_bx->checked = get_column_value( p_column_key ).
p_replacement_bee = lo_chk_bx.
WHEN 'NEW_MGR_SRCH'. " Button
CREATE OBJECT lo_button.
lo_button->id = p_cell_id.
lo_button->text = 'Search Mgr'.
lo_button->onclientclick = 'script'.
p_replacement_bee = lo_button.
WHEN OTHERS. " Text
CREATE OBJECT lo_text.
lo_text->id = p_cell_id.
lo_text->wrapping = 'FALSE'.
lo_text->text = get_column_value( p_column_key ).
lo_text->design = 'STANDARD'.
lo_text->textcolor = 'POSITIVE'.
p_replacement_bee = lo_text.
ENDCASE.
Thanks
A -
Hi Gurus,
I have a column of push buttons in my table control, each push button for each line item.
According to my requirement, I disabled the push button column initially, it will only get enable depending
upon each line item's condition.
Like, 1st row, if rad2 = 'x' , then the push button for that line should get enabled.
2nd row, if rad2 = 'X', then the push button for that line should get enabled.
3rd row, if rad2 NE 'X', then the push button for that line should be disabled.
I tried a lot , but its not happening. May be because I disabled the column based on the screen group.
Can anyone please help me on this ?
Thanks
ChandanHi,
First assign some function keys for Radio buttons..
and assign the Logic for enabling and disabling screen logic in the PBO..
Refer:
Take the group1 for the screen fields that you have taken on screen as ABC and then follow code to disable fields, in PBO:-
IF <condition>. "as per your condition
IF screen-group1 = 'ABC'.
LOOP AT SCREEN.
screen-invisible = 0. "to disable screen fields
ENDLOOP.
MODIFY SCREEN.
ENDIF.
ENDIF.
Now say if you want to enable fields on some condition then you may use:-
IF <condition>. "as per your condition
IF screen-group1 = 'ABC'.
LOOP AT SCREEN.
screen-invisible = 1. "to enable Push Button
ENDLOOP.
MODIFY SCREEN.
ENDIF.
ENDIF.
Regards,
Prabhudas
Edited by: Prabhu Das on May 11, 2009 7:51 PM -
Push button in one of the columns of Table Control
Hi,
I have a requirement, where i have to display a push button in one of the columns of table control for long text. When user clicks on the control, a pop up has to be appeared in which user should be able to enter some meaning ful description and save it. please suggest me how to do this requirement.
Best Regards,
Phani Kumar. SHai,
You can drag n drop a button to the required column in the table control and give the required parameters like ok_code , name etc.
You can now place a text field as the heading of the column.
Now when the user clicks the the button in a row, read the corresponding line in which he has clicked.For that u can use
get cursor lines wrk_line.
now u'll get the data in that row using
Read table it_tab into wa_tab index wrk_line.
now u can call the text editor (using FM's READ_TEXT ,EDIT_TEXT and CREATE_TEXT in which the user can enter the meaningful description and save it.
When u save the text entered save it with a key part of the row that was read earlier(keep it as the text name).
So now if u need to get the description which was entered earlier u can easily read the text (using READ_TEXT ).
I hope this will be helpful for u .
Thanks
Neeraj -
How to edit a particular row in the table ctrl when a push button is clickd
Hi Experts,
How to edit a particular row (except the Primary keys) after selecting it in the TABLE CONTROL when a
push button is clicked in the table control.
For Eg. If you have a push button say "Modify", the particular row what we select in the table control should be in a
editable mode after clicking "Modify" Push button.
Please help me out.
Thanks in advance.Hey Ram,
Thanks a ton.
Its working fine...sorry for the late reply.
The reason behind the delay is because i had modified my code as per your logic it worked fine but the thing is that the whole column was in editable mode but not a single row.
For E.g If i want to edit a particular row, first i select the row and then click on "Modify" button. After i click on the button, the whole column gets in a editable mode including the one which i intentionally selected.
Here, the solution is that you have to set a flag in PBO so that once it is done with PBO then it need not come back again after we click on "Modify" button.
And one more query is that after you modify a particular row in the table control ( When it is in editable mode) and click on the "Save" button, it is not getting updated to database.
To update the database, we need to select the row once again after modifying it and click on the "Save" button.
Here, database is updating only when it is selected again. If it is not selected, it is not getting updated.
If you have any alternative solution, then please help me out.( I hope i am clear with the question.)
Thanks,
Ananth. -
Sort up and sort Down push buttons in module pool with table control wizard
hi,
i have created 2 buttons for Sort up and sort Down push buttons in module pool with table control wizard
please any one can help me.
regardsHi
Following code is to enable and disable the tbl control using two buttons. Just alter the code and for each button write the sort code.
REPORT YJAN27_SCREEN .
TABLES: SFLIGHT, YFLIGHT_28.
TYPES: BEGIN OF struct1,
carrid like sflight-carrid,
connid like sflight-connid,
fldate like sflight-fldate,
END OF struct1.
CONTROLS TBL1 TYPE TABLEVIEW USING SCREEN 2700.
DATA: OK_CODE LIKE SY-UCOMM,
CARRID LIKE SFLIGHT-CARRID, "cols in tbl ctrl
CONNID LIKE SFLIGHT-CONNID,
FLDATE LIKE SFLIGHT-FLDATE,
itab TYPE TABLE OF STRUCT1 WITH HEADER LINE,
cols like line of TBL1-COLS,
FLAG TYPE I.
FLAG = 1.
CALL SCREEN 2700.
*& Module STATUS_2700 OUTPUT
* text
MODULE STATUS_2700 OUTPUT.
SET PF-STATUS 'BACK'.
* SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_2700 OUTPUT
*& Module USER_COMMAND_2700 INPUT
* text
MODULE USER_COMMAND_2700 INPUT.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN 'BACK'.
LEAVE PROGRAM.
WHEN 'DIS'. "write code for sort up
loop AT TBL1-COLS INTO COLS.
COLS-SCREEN-INPUT = 0.
MODIFY TBL1-COLS FROM COLS.
ENDLOOP.
FLAG = 2.
WHEN 'ENA'. "write code for sort down
loop AT TBL1-COLS INTO COLS.
COLS-SCREEN-INPUT = 1.
MODIFY TBL1-COLS FROM COLS.
ENDLOOP.
FLAG = 1.
ENDCASE.
ENDMODULE. " USER_COMMAND_2700 INPUT
*& Module GET_DATA OUTPUT
* text
MODULE GET_DATA OUTPUT.
select carrid connid fldate from SFLIGHT into table itab.
ENDMODULE. " GET_DATA OUTPUT
*& Module POPULATE_TBL OUTPUT
* text
MODULE POPULATE_TBL OUTPUT.
MOVE-CORRESPONDING ITAB TO SFLIGHT.
ENDMODULE. " POPULATE_TBL OUTPUT
*& Module CHANGE_SCREEN OUTPUT
* text
MODULE CHANGE_SCREEN OUTPUT. " use this module if you want to hide the other button
CASE FLAG.
WHEN 1.
LOOP AT SCREEN.
IF SCREEN-NAME = 'B_ENA'.
SCREEN-INVISIBLE = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
LOOP AT SCREEN.
IF SCREEN-NAME = 'B_DIS'.
SCREEN-INVISIBLE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
WHEN 2.
LOOP AT SCREEN.
IF SCREEN-NAME = 'B_DIS'.
SCREEN-INVISIBLE = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
LOOP AT SCREEN.
IF SCREEN-NAME = 'B_ENA'.
SCREEN-INVISIBLE = 0.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDCASE.
ENDMODULE. " CHANGE_SCREEN OUTPUT
PROCESS BEFORE OUTPUT.
MODULE STATUS_2700.
MODULE CHANGE_SCREEN. " use this if you want to display one button at a time
MODULE GET_DATA.
loop at itab WITH control TBL1.
MODULE POPULATE_TBL. " populate tbl ctrl
endloop.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_2700. " do the sort operations
loop at itab.
endloop.
Hope this helps
Regards,
Jayanthi.K -
Error in table control push buttons enhancement....
hi all,
iam creating a table control with some push buttons namely Insert, terminate in a enhancement while clicking terminate iam getting error message that
" Flow control: Entry SAPMIEQ0, * , * is missing in T185V " can any one help me to solve this issue.
Thanks in Advance.
Prem.Even in sm30 also its not allowing me to maintain that T185V table. its taking me to VFBS transaction code.pls help me in this issue
Thanks
Prem. -
How To Sort the Table Through Push Buttons (ASC & Desc)???
Hi,
I am facing a problem with regard to 'Push Buttons' that I have created on
my Form. I want the 'Push Button' to sort the table with respect to a
specific column in 'Ascending order' on first push and then in 'Descending
order' on second push and then again in 'Ascending order' on third push and so
on...
please help me to achieve this
regards,
.Hello,
You could try something like this:
Declare
LC$Order Varchar2(128) := Get_Block_Property( 'EMP', ORDER_BY ) ;
Begin
If Instr( LC$Order, 'DESC' ) > 1 Then
Set_Block_Property( 'EMP', ORDER_BY, 'EMPNO ASC' ) ;
Else
Set_Block_Property( 'EMP', ORDER_BY, 'EMPNO DESC' ) ;
End if ;
Execute_Query ;
End ; Francois -
How to get GUI Status(Push Buttons) in ALV Report
Hi Friends
I have a requirement in a way that:
Once selection-screen was processed,an ALV report has to come and above the ALV List,I need a custom GUI Status(4 Push Button) with Push Buttons Logic.
Once I had clicks on thesse push button,I need to display one more ALV List and above this List,again I need a custom GUI Status(2 Push Buttons) with Push Buttons Logic.
Can anyone throw some light how we can achieve this.
Thanks for your cooperation!
Regards,
Madisettydata: rt_extab type slis_t_extab,
g_ucomm like sy-ucomm ,
g_selfield type slis_selfield.
form alv_display .
call function 'REUSE_ALV_LIST_DISPLAY'
exporting
i_callback_program = g_repid
i_callback_pf_status_set = 'PF_STATUS'
i_callback_user_command = 'USER_COMM'
it_fieldcat = it_fldcat
tables
t_outtab = it_final1
perform pf_status using rt_extab.
perform user_comm using g_ucomm g_selfield .
endform.
form pf_status using p_rt_extab.
set pf-status 'PF_STATUS' excluding p_rt_extab.
endform.
form user_comm using p_ucomm like sy-ucomm
p_selfield type slis_selfield.
data: l_row type i.
case p_ucomm.
when 'DISPLAY_PO'.
loop at it_final1 into wa_final1.
if wa_final1-sel eq 'X' .
l_row = l_row + 1.
endif.
if l_row gt 1.
message e004.
endif.
clear wa_final1.
endloop.
p_selfield-fieldname = 'SEL'.
read table it_final1 into wa_final1 index p_selfield-tabindex .
set parameter id 'BES' field wa_final1-ebeln.
call transaction 'ME23N'.
endcase.
endform.
*create user interface for gui status by double clicking on 'PF_STATUS'.
*Check the above sample code . -
Dear Experts,
How to add pushbutton in alv report.....
*& Report ZTT_TEST_ALV
REPORT ZTT_TEST_ALV.
*data declarations
type-pools : SLIS.
* data : BEGIN OF wa_kna1,
* kunnr type kunnr,
* name1 type name1,
* end of wa_kna1,
* it_kna1 like tABLE OF wa_kna1.
data : begin of wa_mara,
matnr type matnr,
end of wa_mara,
it_mara like table of wa_mara.
data : it_fcat type slis_t_fieldcat_alv,
wa_fcat like line of it_fcat.
*selection screen
SELECTION-SCREEN begin of block k with frame title text-001.
* select-OPTIONS : s_kunnr for wa_kna1-kunnr.
select-OPTIONS : s_matnr for wa_mara-matnr.
SELECTION-SCREEN end of block k.
*select auery
*SELECT kunnr name1 INTO table it_kna1 from kna1 where kunnr in s_kunnr.
select matnr into table it_mara from mara where matnr in s_matnr.
*for displaying fieldcatalog
PERFORM fcat using '1' 'MATNR' 'material Number' 'C410' '20'.
* PERFORM fcat using '2' 'NAME1' 'Customer Name' 'C410' '36'.
*for displaying output
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
* I_INTERFACE_CHECK = ' '
* I_BYPASSING_BUFFER = ' '
* I_BUFFER_ACTIVE = ' '
* I_CALLBACK_PROGRAM = ' '
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
* 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 = 'Report for Customer Details'
* I_GRID_SETTINGS =
* IS_LAYOUT =
IT_FIELDCAT = it_fcat[]
* IT_EXCLUDING =
* IT_SPECIAL_GROUPS =
* IT_SORT =
* IT_FILTER =
* IS_SEL_HIDE =
* I_DEFAULT = 'X'
* I_SAVE = ' '
* IS_VARIANT =
* IT_EVENTS =
* IT_EVENT_EXIT =
* IS_PRINT =
* IS_REPREP_ID =
* I_SCREEN_START_COLUMN = 0
* I_SCREEN_START_LINE = 0
* I_SCREEN_END_COLUMN = 0
* I_SCREEN_END_LINE = 0
* I_HTML_HEIGHT_TOP = 0
* I_HTML_HEIGHT_END = 0
* IT_ALV_GRAPHICS =
* IT_HYPERLINK =
* IT_ADD_FIELDCAT =
* IT_EXCEPT_QINFO =
* IR_SALV_FULLSCREEN_ADAPTER =
* IMPORTING
* E_EXIT_CAUSED_BY_CALLER =
* ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = it_mara.
* 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.
*CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
* EXPORTING
**** I_INTERFACE_CHECK = ' '
**** I_CALLBACK_PROGRAM =
**** I_CALLBACK_PF_STATUS_SET = ' '
**** I_CALLBACK_USER_COMMAND = ' '
**** IS_LAYOUT =
* IT_FIELDCAT = it_fcat
**** IT_EXCLUDING =
**** IT_SPECIAL_GROUPS =
**** IT_SORT =
**** IT_FILTER =
**** IS_SEL_HIDE =
**** I_SCREEN_START_COLUMN = 0
**** I_SCREEN_START_LINE = 0
**** I_SCREEN_END_COLUMN = 0
**** I_SCREEN_END_LINE = 0
**** I_DEFAULT = 'X'
**** I_SAVE = ' '
**** IS_VARIANT =
**** IT_EVENTS =
**** IT_EVENT_EXIT =
*** i_tabname_header =
*** i_tabname_item =
**** I_STRUCTURE_NAME_HEADER =
**** I_STRUCTURE_NAME_ITEM =
*** is_keyinfo =
**** IS_PRINT =
**** IS_REPREP_ID =
**** I_BYPASSING_BUFFER =
**** I_BUFFER_ACTIVE =
**** IR_SALV_HIERSEQ_ADAPTER =
**** IT_EXCEPT_QINFO =
**** I_SUPPRESS_EMPTY_DATA = ABAP_FALSE
**** IMPORTING
**** E_EXIT_CAUSED_BY_CALLER =
**** ES_EXIT_CAUSED_BY_USER =
* tables
** t_outtab_header = it_
* t_outtab_item = it_kna1.
**** 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.
*& Form FCAT
* text
* -->P_0052 text
* -->P_0053 text
* -->P_0054 text
form FCAT using fp_col_pos
fp_fieldname
fp_seltext_m
fp_emphasize
fp_outputlen..
wa_fcat-col_pos = fp_col_pos.
wa_fcat-fieldname = fp_fieldname.
wa_fcat-seltext_m = fp_seltext_m.
wa_fcat-emphasize = fp_emphasize.
wa_fcat-outputlen = fp_outputlen.
append wa_fcat to it_fcat.
clear : wa_fcat.
endform. " FCAT
FORM SET_PF_STATUS .
SET PF-STATUS 'ZNEWSTATUS' .
"Copy of 'STANDARD' pf_status from fgroup SALV
endform.
i need one push button in alv output display.
Thanks and Regards,
Thirukumaran. RHI THIRU TRY FOLLOWING CODES:
*& Report ZSAMPLE
REPORT ZSAMPLE.
TABLES:MARA.
TYPE-POOLS: SLIS.
TYPES:BEGIN OF TY_ITAB,
MATNR LIKE MARA-MATNR,
ERSDA LIKE MARA-ERSDA,
END OF TY_ITAB.
DATA:ITAB TYPE STANDARD TABLE OF TY_ITAB WITH HEADER LINE.
DATA:FCAT TYPE SLIS_T_FIELDCAT_ALV,
WA_FCAT TYPE SLIS_FIELDCAT_ALV,
LAYOUT TYPE SLIS_LAYOUT_ALV,
WA_LAYOUT TYPE SLIS_LAYOUT_ALV.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS:P_MATNR TYPE MARA-MATNR.
SELECTION-SCREEN END OF BLOCK B1.
START-OF-SELECTION.
PERFORM FIELDCAT.
LAYOUT-ZEBRA = 'X'.
PERFORM OUTPUT.
*& Form PF_STATUS
text
-->RT_EXTAB text
FORM PF_STATUS USING RT_EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'BUTT'.
ENDFORM. "PF_STATUS
*& Form PUSH_BUTT1
text
-->R_UCOMM text
-->RS_SELFIELD text
FORM GET USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD.
CASE R_UCOMM.
WHEN 'GET'.
IF SY-SUBRC EQ 0.
CALL TRANSACTION 'SE11'.
ELSE.
ENDIF.
WHEN 'EXIT' OR 'CANCEL' .
LEAVE PROGRAM.
ENDCASE.
ENDFORM. "PUSH_BUTT1
*& Form FIELDCAT
text
--> p1 text
<-- p2 text
FORM FIELDCAT .
WA_FCAT-SELTEXT_L = 'Select'.
WA_FCAT-COL_POS = '1'.
WA_FCAT-FIELDNAME = 'CHECK'.
WA_FCAT-CHECKBOX = 'X'.
WA_FCAT-TABNAME = 'ITAB'.
WA_FCAT-OUTPUTLEN = '4'.
WA_FCAT-INPUT(1) = 'X'.
WA_FCAT-EDIT_MASK(1) = 'X'.
WA_FCAT-EDIT(1) = 'X'.
APPEND WA_FCAT TO FCAT.
CLEAR WA_FCAT.
WA_FCAT-SELTEXT_L = 'Material Number'.
WA_FCAT-COL_POS = '2'.
WA_FCAT-FIELDNAME = 'MATNR'.
WA_FCAT-TABNAME = 'ITAB'.
WA_FCAT-OUTPUTLEN = '18'.
APPEND WA_FCAT TO FCAT.
CLEAR WA_FCAT.
WA_FCAT-SELTEXT_L = 'Date'.
WA_FCAT-COL_POS = '3'.
WA_FCAT-FIELDNAME = 'ERSDA'.
WA_FCAT-TABNAME = 'ITAB'.
WA_FCAT-OUTPUTLEN = '8'.
APPEND WA_FCAT TO FCAT.
CLEAR WA_FCAT.
ENDFORM. " FIELDCAT
*& Form OUTPUT
text
--> p1 text
<-- p2 text
FORM OUTPUT .
SELECT MATNR ERSDA FROM MARA
INTO TABLE ITAB
WHERE MATNR EQ P_MATNR.
IF SY-SUBRC EQ 0.
PERFORM GRID.
ELSE.
MESSAGE 'No Records Found' TYPE 'I'.
ENDIF.
ENDFORM. " OUTPUT
*& Form GRID
text
--> p1 text
<-- p2 text
FORM GRID .
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'PF_STATUS'
I_CALLBACK_USER_COMMAND = 'GET'
IS_LAYOUT = LAYOUT
IT_FIELDCAT = FCAT
I_DEFAULT = 'X'
TABLES
T_OUTTAB = ITAB.
ENDFORM. " GRID
REGARDS,
SAKTHIVEL.VT -
Error during creation of push button on selection screen
Hi,
I wanted to create push buttons on selection screen,
Code:
DATA DB1 TYPE VBAP-WERKS.
DATA DB2 TYPE MARA-MATNR.
SELECT-OPTIONS : SPLANT FOR DB1,
SCLASS FOR DB2.
SELECTION-SCREEN: FUNCTION KEY 1,
FUNCTION KEY 2,
FUNCTION KEY 3.
INITIALIZATION.
DATA FUNCTXT TYPE SMP_DYNTXT.
CLEAR FUNCTXT.
DATA: FUNCTXT_01 TYPE SSCRFIELDS-FUNCTXT_01.
FUNCTXT-TEXT = 'DEL'.
SSCRFIELDS-FUNCTXT_01 = FUNCTXT.
CLEAR FUNCTXT.
FUNCTXT-TEXT = 'EDIT'.
SSCRFIELDS-FUNCTXT_02 = FUNCTXT.
CLEAR FUNCTXT.
FUNCTXT-TEXT = 'CRE'.
SSCRFIELDS-FUNCTXT_03 = FUNCTXT.
But during activating, I'm getting the error as : Field "SSCRFIELDS-FUNCTXT_01" is unknown. It is neither in one of the specified tables nor defined by "DATA" statement.
Please suggest solutions to overcome this error.
Regards
Darshan MSHi,
trans. for examples of selection screen : BIBS
regards
Fred -
Post Goods issue after clicking on Load Starting push button
Hi All,
Post goods issue for deliveries, suppose if the shipment document is created for XXXX country do the post goods issue after clicking the push button loading start on. and if the shipment is created other than the XXXX Country do the post goods issue after clicking the shipment start button(Done by Standard SAP).
There will be validation table in background to identify which shipping point to allow Post Goods Issue before shipment completion. This will require enhancement of Delivery User Exit to incorporate above check based on below mentioned Z Table.
Z-Table
- Shipping Point.
- Delivery Type
Any body please suggest the user exit or any function module and how to start code for this particular requirement.
Thanks & Regards,
NarasimhaHi,
You can write your own vaalidation on click of loading start button.
Go to include MV56AI_IS_ENHANCEMENT of program SAPMV56A.
Click on the circular button(Enhance).
Then Edit --> Enhancement Operation --> Create.
Create your enhancement giving it a Z name.
Then in this enhancement you can write your code.
For loading start you can write your code in the following fashion.
IF fcode = 'MM_ST03'.
business logic.....
ENDIF.
Regards,
Firoz. -
I want a push button for line items in my sales order entry screen.
Hi,
I want a push button for line items in my sales order entry screen.
How can I do so?
Thanks.Hi Kumar ,
To have a push buttons you need to first assign a pf-status .
here a sample code for a push button and its handling :
set pf-status 'SELECT' .
at user-command .
describe table t_lpr lines w_lines .
case sy-ucomm .
when 'SELECTALL' .
set pf-status 'SELECT' excluding 'SELECTALL' immediately.
do w_lines times .
read line w_line field value w_check . " INTO W_CHECK .
if w_check = space .
w_check = 'X' .
modify line w_line field value w_check. "INTO W_CHECK .
add 1 to w_line .
endif . " IF W_CHECK = ' '
enddo .
Thus when you say pf-status say 'select' , Double click on that and you find a screen eher you can select icons and assign a function code to it!
Hope it helps!
Much Regards,
Amuktha . -
'Create' Push button is not working in BDC and LSMW while uploading G/L master data
Hello Experts:
I am facing the following problem:
While uploading G/L master data with the BDC program, 'create' push button is not working even after executing following lines.
PERFORM BDC_DYNPRO USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ACC_CRE'.
Create G/L account screen is not coming in BDC. Please suggest me what to do.
Thanks !!Re: 'Create' Push button is not working in BDC and LSMW while uploading G/L master data
Re: 'Create' Push button is not working in BDC and LSMW while uploading G/L master data
Hi Glen Anthony
Thank you for the reply Glen Anthony please take a look at the following code.
REPORT ZFI_BDC_FS00
NO STANDARD PAGE HEADING LINE-SIZE 255.
*INCLUDE BDCRECX1.
TYPES : BEGIN OF STR,
BUKRS TYPE GLACCOUNT_SCREEN_KEY-BUKRS, "Company Code
SAKNR TYPE GLACCOUNT_SCREEN_KEY-SAKNR, "G/L Account Number
KTOKS TYPE GLACCOUNT_SCREEN_COA-KTOKS, "G/L Account Group
XPLACCT TYPE GLACCOUNT_SCREEN_COA-XPLACCT, "P&L statement account
XBILK TYPE GLACCOUNT_SCREEN_COA-XBILK, "Indicator: Account is a balance sheet account?
TXT20_ML TYPE GLACCOUNT_SCREEN_COA-TXT20_ML, "G/L account short text
TXT50_ML TYPE GLACCOUNT_SCREEN_COA-TXT50_ML, "G/L account short text
WAERS TYPE GLACCOUNT_SCREEN_CCODE-WAERS, "Account currency
XSALH TYPE GLACCOUNT_SCREEN_CCODE-XSALH, "Indicator: Only Manage Balances in Local Currency
MWSKZ TYPE GLACCOUNT_SCREEN_CCODE-MWSKZ, "Tax Category in Account Master Record
XMWNO TYPE GLACCOUNT_SCREEN_CCODE-XMWNO, "Indicator: Tax code is not a required field
MITKZ TYPE GLACCOUNT_SCREEN_CCODE-MITKZ, "Account is reconciliation account
XOPVW TYPE GLACCOUNT_SCREEN_CCODE-XOPVW, "Indicator: Open item management?
XKRES TYPE GLACCOUNT_SCREEN_CCODE-XKRES, "Indicator: Can Line Items Be Displayed by Account?
ZUAWA TYPE GLACCOUNT_SCREEN_CCODE-ZUAWA, "Key for sorting according to assignment numbers
FSTAG TYPE GLACCOUNT_SCREEN_CCODE-FSTAG, "Field status group
XINTB TYPE GLACCOUNT_SCREEN_CCODE-XINTB, "Indicator: Is account only posted to automatically?
END OF STR.
DATA : ITAB TYPE TABLE OF STR WITH HEADER LINE,
IT_BDCDATA TYPE TABLE OF BDCDATA WITH HEADER LINE,
TXT(4096) TYPE C OCCURS 0,
MSG TYPE STRING,
COUNT(5) TYPE N.
SELECTION-SCREEN : BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
PARAMETERS : MY_FILE TYPE RLGRAP-FILENAME.
SELECTION-SCREEN : END OF BLOCK B1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR MY_FILE.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
PROGRAM_NAME = SYST-CPROG
DYNPRO_NUMBER = SYST-DYNNR
* FIELD_NAME = ' '
IMPORTING
FILE_NAME = MY_FILE
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
* I_LINE_HEADER =
I_TAB_RAW_DATA = TXT
I_FILENAME = MY_FILE
TABLES
I_TAB_CONVERTED_DATA = ITAB[]
EXCEPTIONS
CONVERSION_FAILED = 1
OTHERS = 2
IF SY-SUBRC <> 0.
* IMPLEMENT SUITABLE ERROR HANDLING HERE
ENDIF.
START-OF-SELECTION.
COUNT = 0.
LOOP AT ITAB.
*PERFORM OPEN_GROUP.
REFRESH IT_BDCDATA.
PERFORM BDC_DYNPRO USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'GLACCOUNT_SCREEN_KEY-BUKRS'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=ACC_CRE'.
*PERFORM BDC_FIELD USING 'BDC_CURSOR'
* 'GLACCOUNT_SCREEN_KEY-BUKRS'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_KEY-SAKNR'
ITAB-SAKNR. "'5'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_KEY-BUKRS'
ITAB-BUKRS. "'TATA'.
PERFORM BDC_DYNPRO USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=2102_GROUP'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'GLACCOUNT_SCREEN_COA-KTOKS'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-KTOKS'
ITAB-KTOKS. "'GL'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-XPLACCT'
ITAB-XPLACCT. "'X'.
PERFORM BDC_DYNPRO USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=2102_BS_PL'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'GLACCOUNT_SCREEN_COA-XBILK'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-KTOKS'
ITAB-KTOKS. "'GL'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-XPLACCT'
ITAB-XPLACCT. "''.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-XBILK'
ITAB-XBILK. "'X'.
PERFORM BDC_DYNPRO USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB02'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-KTOKS'
ITAB-KTOKS. "'GL'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-XBILK'
ITAB-XBILK. "'X'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'GLACCOUNT_SCREEN_COA-TXT50_ML'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-TXT20_ML'
ITAB-TXT20_ML. "'G/L ACCOUNT'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_COA-TXT50_ML'
ITAB-TXT50_ML. "'G/L ACCOUNT'.
PERFORM BDC_DYNPRO USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=TAB03'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-WAERS'
ITAB-WAERS. "'INR'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-XSALH'
ITAB-XSALH. "'X'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-MWSKZ'
ITAB-MWSKZ. "'*'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-XMWNO'
ITAB-XMWNO. "'X'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-MITKZ'
ITAB-MITKZ. "''.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'GLACCOUNT_SCREEN_CCODE-ZUAWA'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-XOPVW'
ITAB-XOPVW. "'X'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-XKRES'
ITAB-XKRES. "'X'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-ZUAWA'
ITAB-ZUAWA. "'1'.
PERFORM BDC_DYNPRO USING 'SAPLGL_ACCOUNT_MASTER_MAINTAIN' '2001'.
PERFORM BDC_FIELD USING 'BDC_OKCODE'
'=SAVE'.
PERFORM BDC_FIELD USING 'BDC_CURSOR'
'GLACCOUNT_SCREEN_CCODE-XINTB'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-FSTAG'
ITAB-FSTAG. "'G019'.
PERFORM BDC_FIELD USING 'GLACCOUNT_SCREEN_CCODE-XINTB'
ITAB-XINTB. "'X'.
*PERFORM BDC_TRANSACTION USING 'FS00'.
CALL TRANSACTION 'FS00' USING IT_BDCDATA MODE 'E' UPDATE 'S'.
COUNT = COUNT + 1.
*PERFORM CLOSE_GROUP.
ENDLOOP.
CONCATENATE COUNT ' RECORDS UPDATED SUCCESSFULLY' INTO MSG.
MESSAGE MSG TYPE 'I'.
FORM BDC_DYNPRO USING PROGRAM DYNPRO.
CLEAR IT_BDCDATA.
IT_BDCDATA-PROGRAM = PROGRAM.
IT_BDCDATA-DYNPRO = DYNPRO.
IT_BDCDATA-DYNBEGIN = 'X'.
APPEND IT_BDCDATA.
ENDFORM.
* INSERT FIELD *
FORM BDC_FIELD USING FNAM FVAL.
* IF FVAL <> NODATA.
CLEAR IT_BDCDATA.
IT_BDCDATA-FNAM = FNAM.
IT_BDCDATA-FVAL = FVAL.
APPEND IT_BDCDATA.
* ENDIF.
ENDFORM.
Maybe you are looking for
-
Ask again: Where can I find source code for CPRM algorithm?
Hi, everyone. Where can I find reference implementation or some sample codes for CPRM(content protection for recordable media) algorithm? Can anyone help? Information about CPRM can be find here, http://www.4centity.com/ JAVA version is preferred and
-
Alert configuration Not working in RWB
Hi, In RWB alertconfiguration is not working, showing the error <b>404 Not Found</b>". I gone through this thread Alert configuration or Alert Inbox-----404 Not Found And my host name is full host name. In exchange profiles my port is 50100 (J2E
-
Hi, I am searching for a user-exit for transaction pp02. Actually I want to enter data in ztable after creation/modification of data in infotype 1008. So please provide me some information regarding this. Thank You
-
Can I put creative student edit cloud on two of my computers
can i put creative student edit cloud on two of my computers
-
Hello All , I am facing authorizations problem when I click on any documnet As I getting an error (-10) occurred message 131-183 , as I am useing SAP 8.8 SP00 PL 18 database : SQL 2008 and Operating system Windows Server 2003 . pl suggest me . reg