LSMW -t-code Po13-Recording Table control-SCroll down
Hi,
How do we process Scrolling in LSMW?
I am trying to record T-code Po13 where I have a table control in which I need to SCroll down and select a infoset and hit Create button.The Infoset which i am selecting is not present on direct screen thats why i need to scroll down.
Any ideas?
Or shall i choose dierent methods for this requirement?
Regards
Praveen
Hi,
I'd suggest to use BAPI or DI program if it's available, instead of recording.
BAPI BAPI_HRMASTER_SAVE_REPL_MULT might help you.
Best regards,
Peter
Similar Messages
-
Problem with a Table Control Scroll Down.
Hi,
I´m working with a table control in which I select one of the many lines the table contains and I move it into a structure, I delete the data of the table control internal table and I move the selected line back into the internal table to show only that record. My problem is the following:
Whenever I have to scroll down to select a line, the selected line doesn´t appear afterwards. I believe that it´s because the scroll bar disappears and keeps on showing the line where the record I selected used to be and because the selected record is added in the fist line of the TC.
Is there any way of avoiding the disappearrance of the vertical scroll bar? Or how can I show the record added in the first line if the TC only displays the position where the selected record used to be?
This is the logic I use to show the single record.
READ TABLE TI_ASIGLOT WITH KEY PUSH = 'X'.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING TI_ASIGLOT TO ST_ASIG.
CLEAR TI_ASIGLOT.
REFRESH TI_ASIGLOT.
MOVE-CORRESPONDING ST_ASIG TO TI_ASIGLOT.
ST_ASIG-CPEND = ST_ASIG-GAMNG.
MOVE ST_ASIG-CPEND TO TI_ASIGLOT-CPEND.
APPEND TI_ASIGLOT.
Thank´s and regards.
LucilaWell, I´m going to anwser my own question. The problem was that in my TC the top field value was the line number of the record I've selected. So the only thing I had to do to fix it was to asign 1 to the field TC-top_line inside the form where I select the record.
READ TABLE TI_ASIGLOT WITH KEY PUSH = 'X'.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING TI_ASIGLOT TO ST_ASIG.
CLEAR TI_ASIGLOT.
REFRESH TI_ASIGLOT.
MOVE-CORRESPONDING ST_ASIG TO TI_ASIGLOT.
ST_ASIG-CPEND = ST_ASIG-GAMNG.
MOVE ST_ASIG-CPEND TO TI_ASIGLOT-CPEND.
APPEND TI_ASIGLOT.
W_INI = 1.
ELSE.
MESSAGE I889(100) WITH TEXT-T07.
EXIT.
ENDIF.
z_result-top_line = 1.
(z_result is my TC )
Best regards,
Lucila -
Table controls (scroll bars) with LSMW
Hi,
I have to fill a table control from a lsmw project, my problem appears when we need to scroll down table control because there are no more free lines.
My question is if it's possible to manage table control scroll bars to scroll down when all rows will be taken, using lsmw.
Any idea about it would be very appreciated
Thanks in advanceHi Javier,
I suggest you is that you should loop at the internal table from which you are filling the data into the table control or use a counter for number of rows comming up at a time in the table control. And then put code for ADD+ button. Do this till the end of file or table.
I hope this helps.
Also you can use TCode for the LSMW to upload one record at a time. U can try this also.
Regards,
Usha. -
hi,
I am having a issue with table control scrolling. When i was passing less number of records (say 19 records becuase table control is having 19 lines) to table control in BDC call transaction, everything is working fine. after filling the 19 line items its not taking the next line item the page is not scrolling down. T.code is <b>GS02</b>. please suggest me. following is my code
REPORT ZLOCK_WBS_ELEMENTS MESSAGE-ID ZFI_RESTMT.
TYPES *
*types declaration for final internal table
types: begin of ty_final,
ryear like zupi5a-ryear, "Fiscal year
rbukrs like zupi5a-rbukrs, "Company code
racct like zupi5a-racct, "Account number
rzzps_posid like zupi5a-rzzps_posid, "WBS element
rzzmtit like zupi5a-rzzmtit, "MPM title
rzzmfor like zupi5a-rzzmfor, "MPM format
rzzmatnr like zupi5a-rzzmatnr, "Material number
rzzcou like zupi5a-rzzcou, "Country
rzzfow like zupi5a-rzzfow, "Financial owner
rzzoow like zupi5a-rzzoow, "Operational owner
rzzcon like zupi5a-rzzcon, "Licensee Contract
rzzloc like zupi5a-rzzloc, "Licensor Contract
kostl like zupi5a-kostl, "Cost center
zzfam like zupi5a-zzfam, "Fame Number
zzfor like zupi5a-zzfor, "Format
zzprd like zupi5a-zzprd, "Product Line
zzwin like zupi5a-zzwin, "Window group
zzwig like zupi5a-zzwig, "Window
rtcur like zupi5a-rtcur, "Currency Key
tsl like zupi5a-tsl, "Amount Transaction currency
hsl like zupi5a-hsl, "Amount Co. code currency
ksl like zupi5a-ksl, "Amount Group currency
msl like zupi5a-msl, "Quantity
end of ty_final.
Data
data: j_final2 type standard table of ty_final,
v_final2 type standard table of ty_final.
data: wa_final2 type ty_final.
data: bdcdata like bdcdata occurs 0 with header line,
messtab like bdcmsgcoll occurs 0 with header line.
data :begin of i_values occurs 0.
include structure setvalues.
data :end of i_values.
data: v_counter(3) type n value '0',
v_from like rgsbl-from,
V_FROM(30) TYPE C,
v_setname like zfi_setid_cc-setid,
v_setid like sethier-setid,
n type i,
l type i,
k type i value '1',
p_rbukrs like zupi5a-rbukrs.
import p_rbukrs from memory id 'bukrsid'.
import i_final2 to j_final2 from memory id 'table'.
To eliminate duplicate WBS elements to be stored into the sets
v_final2 = j_final2.
sort v_final2 by rzzps_posid.
delete adjacent duplicates from v_final2 comparing rzzps_posid.
select single setid into v_setname
from zfi_setid_cc
where rbukrs EQ p_rbukrs.
IF sy-subrc <> 0.
MESSAGE E005.
ENDIF.
*write 'ZFIRESTATEMENT' to v_setname.
call function 'G_SET_GET_ID_FROM_NAME'
EXPORTING
shortname = v_setname
IMPORTING
new_setid = v_setid.
call function 'G_SET_TREE_IMPORT'
EXPORTING
client = sy-mandt
langu = sy-langu
setid = v_setid
TABLES
set_values = i_values.
describe table i_values lines n.
describe table v_final2 lines l.
write n to v_counter.
clear bdcdata.
refresh bdcdata.
perform bdc_dynpro using 'SAPMGSBM' '0105'.
perform bdc_field using 'BDC_CURSOR'
'RGSBM-SHORTNAME'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
*perform bdc_field using 'RGSBM-SHORTNAME'
'ZFIRESTATEMENT'.
perform bdc_field using 'RGSBM-SHORTNAME'
v_setname.
loop at v_final2 into wa_final2.
v_counter = v_counter + 1.
perform bdc_dynpro using 'SAPMGSBM' '0115'.
concatenate 'RGSBL-FROM(' v_counter ')' into v_from.
perform bdc_field using 'BDC_CURSOR'
v_from.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RGSBS-TITLE'
'FI Restatement-WBS locking'.
perform bdc_field using v_from
wa_final2-rzzps_posid.
endloop.
perform bdc_dynpro using 'SAPMGSBM' '0115'.
perform bdc_field using 'BDC_CURSOR'
v_from.
perform bdc_field using 'BDC_OKCODE'
'=SAVE'.
perform bdc_field using 'RGSBS-TITLE'
'FI Restatement-WBS locking'.
perform bdc_dynpro using 'SAPMGSBM' '0105'.
perform bdc_field using 'BDC_OKCODE'
'/EBACK'.
perform bdc_field using 'BDC_CURSOR'
'RGSBM-SHORTNAME'.
call transaction 'GS02'
using bdcdata
mode 'A'
update 'S'
messages into messtab.
Start new screen *
form bdc_dynpro using program dynpro.
clear bdcdata.
bdcdata-program = program.
bdcdata-dynpro = dynpro.
bdcdata-dynbegin = 'X'.
append bdcdata.
endform.
Insert field *
form bdc_field using fnam fval.
if fval <> ' '.
clear bdcdata.
bdcdata-fnam = fnam.
bdcdata-fval = fval.
append bdcdata.
endif.
endform.
this is working fine when they r less than 19 line items. please suggest me with the logic when it is more than 19 line items.Hi,
Just try to increase the table control lines before display.
v_counter = n + 10. -
Table Control Scrolling issue in Module Pool
Hi,
I've done table control. From Selection screen i've 3 buttons, if we'll press on one button one table control is visible. There if i do scrolling up to 10 records and i come back to selection and press another button again in table control scrolling is at previous place only. May be its nt refreshing.
Kinldy help on this issue.
With Regards,
jack.hi,
i've done like below. But no result. -
Vertical scrollbar not showing all the records when I scroll down.
Vertical scrollbar not showing all the records when I scroll down.
Using Oracle forms 10g , operating system windows
I have two fields with number of items dispayed = 15.
I have a vertical scroll bar with them. There are 34 records in the table but the scrollbar only shows 15 records.
Here are the properties for block / scrollbar.
WORK_CATEGORY
- Subclass Information
- Comments
* Navigation Style Same Record
- Previous Navigation Data Block
- Next Navigation Data Block
- Current Record Visual Attribute Group
- Query Array Size 0
- Number of Records Buffered 0
* Number of Records Displayed 60
* Query All Records No
- Record Orientation Vertical
* Single Record No
- Database Data Block Yes
- Enforce Primary Key No
- Query Allowed Yes
- Query Data Source Type Table
* Query Data Source Name WORK_CATEGORY
* Query Data Source Columns
* Column Name JOB_TYPE
* Column Type VARCHAR2
- Column Type Name
- Parent Column
* Length 30
* Precision 0
* Scale 0
* Mandatory Yes
* Column Name WORK_CATEGORY
* Column Type VARCHAR2
- Column Type Name
- Parent Column
* Length 30
* Precision 0
* Scale 0
* Mandatory Yes
- Query Data Source Arguments
- Alias
- Include REF Item No
* WHERE Clause
* ORDER BY Clause job_type
- Optimizer Hint
- Insert Allowed Yes
- Update Allowed Yes
- Locking Mode Automatic
- Delete Allowed Yes
- Key Mode Automatic
- Update Changed Columns Only No
- Enforce Column Security No
- Maximum Query Time 0
* Maximum Records Fetched 0
- DML Data Target Type Table
- DML Data Target Name
- Insert Procedure Name
- Insert Procedure Result Set Columns
- Insert Procedure Arguments
- Update Procedure Name
- Update Procedure Result Set Columns
- Update Procedure Arguments
Don't know where am I going wrong. I'll really appreciate if you can help me in this.
Thanks.
Edited by: 831050 on Sep 14, 2011 8:05 AMOne of the items is a list item.. here are it's properties:
* Name JOB_TYPE
* Item Type List Item
- Subclass Information
- Comments
- Help Book Topic
- Enabled Yes
* Elements in List
* Label
* List Item Value LIST20
* List Style Combo Box
- Mapping of Other Values
- Implementation Class
- Case Restriction Mixed
- Popup Menu
- Keyboard Navigable Yes
- Mouse Navigate Yes
- Previous Navigation Item
- Next Navigation Item
- Data Type Char
- Data Length Semantics Null
- Maximum Length 30
- Initial Value
* Required Yes
* Copy Value from Item
- Synchronize with Item
- Calculation Mode None
- Formula
- Summary Function None
- Summarized Block
- Summarized Item
- Current Record Visual Attribute Group
- Distance Between Records 0
* Number of Items Displayed 15
- Database Item Yes
* Column Name JOB_TYPE
- Primary Key No
- Query Only No
- Query Allowed Yes
- Insert Allowed Yes
- Update Allowed Yes
- Update Only if NULL No
- Visible Yes
* Canvas CANVAS2
- Tab Page
* X Position 47
* Y Position 137
* Width 187
* Height 18
- Visual Attribute Group DEFAULT
- Prompt Visual Attribute Group DEFAULT
- Foreground Color
* Background Color white
- Fill Pattern
- Font
* Font Name Tahoma
* Font Size 10
* Font Weight Demilight
* Font Style Plain
* Font Spacing Normal
* Prompt Job Type
- Prompt Display Style First Record
* Prompt Justification Start
* Prompt Attachment Edge Top
- Prompt Alignment Start
* Prompt Attachment Offset 10
* Prompt Alignment Offset 0
- Prompt Reading Order Default
- Prompt Foreground Color
- Prompt Font
* Prompt Font Name Tahoma
* Prompt Font Size 10
* Prompt Font Weight Bold
* Prompt Font Style Plain
* Prompt Font Spacing Normal
- Hint
- Display Hint Automatically No
- Tooltip
- Tooltip Visual Attribute Group
- Direction Default
- Initial Keyboard State Default
- Keyboard State Any
-
BDC Recording For J1IG with Table Control Scroll bar
Dear Friends,
I am doing BDC program for J1IG Transaction after done recording.
As you knows that, In J1IG transaction max. 11 materials are shows in table control at a time and if more records are there, then we have to scroll down manually so after that, we can see the records.
Now my BDC program runs upto 11 materials but when more than 11 materials, selection is coming on first material only and cursor not showing 12th material.
So i think page down is not working for that issue.
I have seen lots of search forum for that but not getting the proper answer.
Please reply.
Regards,
Shivam.Dear Dinu,
For better understanding please see the code.
So you suggest what should i have to do?.
LOOP AT jtab INTO wb.
LOOP AT itab INTO wa WHERE mblnr EQ wb-mblnr.
CLEAR : flag.
AT NEW mblnr.
flag = 'X'.
CLEAR : cnt, var1, var2.
ENDAT.
cnt = cnt + 1.
IF flag EQ 'X'.
PERFORM bdc_dynpro USING 'SAPMJ1IG' '0100'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ECAP'.
PERFORM bdc_dynpro USING 'SAPMJ1IG' '0200'.
PERFORM bdc_field USING 'BDC_CURSOR'
'T_HEADER-EXDAT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'J_1IEXCHDR-EXGRP'
wa-exgrp.
PERFORM bdc_field USING 'T_HEADER-MBLNR'
wa-mblnr.
PERFORM bdc_field USING 'T_HEADER-MJAHR'
wa-mjahr.
PERFORM bdc_field USING 'T_HEADER-EXNUM'
wa-exnum.
PERFORM bdc_field USING 'T_HEADER-EXDAT'
wa-exdat.
PERFORM bdc_dynpro USING 'SAPMJ1IG' '0200'.
PERFORM bdc_field USING 'BDC_CURSOR'
'J_1IEXCHDR-EXGRP'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=DETL'.
ENDIF.
CONCATENATE 'T_ITEM-ZEILE(' cnt ')' INTO var1.
CONCATENATE 'T_ITEM-SELECTION(' cnt ')' INTO var2.
PERFORM bdc_dynpro USING 'SAPMJ1IG' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
var1. "'T_ITEM-ZEILE(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=MORE'.
PERFORM bdc_field USING var2 "'T_ITEM-SELECTION(01)'
'X'. "record-selection_01_019.
PERFORM bdc_dynpro USING 'SAPMJ1IG' '0400'.
PERFORM bdc_field USING 'BDC_CURSOR'
'T_LOCAL_EXC-EXADDRATE1(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'T_LOCAL_EXC-MENGE(01)'
wa-menge.
PERFORM bdc_field USING 'T_LOCAL_EXC-EXBAS(01)'
wa-exbas.
PERFORM bdc_field USING 'T_LOCAL_EXC-EXBED(01)'
wa-exbed.
PERFORM bdc_field USING 'T_LOCAL_EXC-BEDRATE(01)'
wa-bedrate.
PERFORM bdc_field USING 'T_LOCAL_EXC-EXAED(01)'
wa-exaed.
PERFORM bdc_field USING 'T_LOCAL_EXC-AEDRATE(01)'
wa-aedrate.
PERFORM bdc_field USING 'T_LOCAL_EXC-ECS(01)'
wa-ecs.
PERFORM bdc_field USING 'T_LOCAL_EXC-ECSRATE(01)'
wa-ecsrate.
PERFORM bdc_field USING 'T_LOCAL_EXC-EXADDTAX1(01)'
wa-exaddtax1.
PERFORM bdc_field USING 'T_LOCAL_EXC-EXADDRATE1(01)'
wa-exaddrate1.
PERFORM bdc_dynpro USING 'SAPMJ1IG' '0400'.
PERFORM bdc_field USING 'BDC_CURSOR'
'T_LOCAL_EXC-RG23ASER(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=BACK'.
ENDLOOP.
PERFORM bdc_dynpro USING 'SAPMJ1IG' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'T_ITEM-DOCNO(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=SAVE'.
CLEAR opt.
opt-dismode = 'A'.
opt-updmode = 'S'.
* opt-defsize = '12'.
* CLEAR: it_messages[], it_messages.
CALL TRANSACTION 'J1IG' USING it_bdcdata OPTIONS FROM opt
MESSAGES INTO it_messages.
REFRESH it_bdcdata.
ENDLOOP.
CHECK it_messages[] IS NOT INITIAL.
LOOP AT it_messages.
PERFORM fill_messages USING it_messages-msgtyp
it_messages-msgid
it_messages-msgnr
it_messages-msgv1
it_messages-msgv2
it_messages-msgv3
it_messages-msgv4.
ENDLOOP.
PERFORM display_messages TABLES tmsg. -
Problem in module pool with table control scrolling
hi,
i am using the table control in module pool,in the table control i have radion button for all the rows.
After i got the data into the table control ,if i select radio button and if i press vertical scroll bar button, that radio button is deselecting,how to solve this issue.
Please help me.Hi
Generally we don't keep radiobuttons in table control for selecting the records
We keep check boxes for selecting the records
Radio button is used to select a single from a group of records and at a time only one is selected, where as checkboxes at a time you can select a single or multiple.
So use checkboxes and code correctly see the doc for Table control
syntax:
CONTROLS .
if you only want to determine the row of the table control. SY´-SUBRC allows you to check if the cursor is placed in a row of a table control.
u need to comment the performs of table control fields and write ur own perform statements. And u have to declare the table control fields as separate internal tables.
Go through this urls.
www.****************
www.sap-img.com
Check the below links.
http://www.planetsap.com/howdo_a.htm
http://help.sap.com/saphelp_nw2004s/helpdata/en/9f/dbac5135c111d1829f0000e829fbfe/content.htm
http://sap.niraj.tripod.com/id25.html
Reward points if useful
Regards
Anji -
Issue in table control scroll bar
Hi experts,
In Table control I used the following code,
Refresh control 'TCDATA' from screen '200'.
If i use this code i cant able to scroll the data when the table control having multiple lines.
Can any one suggest me?. what i need to do for this..
Edited by: sai.bala on Sep 17, 2010 12:22 PMHi ,
try this...
Refresh control 'TCDATA' from screen '200'.
"write this statement below refresh table control
* Describe lines of internal table to extend the table control Vertical
* scroll bar
DESCRIBE TABLE <tablename> LINES TCDATA-lines.
prabhudas -
Table Control Scroll Bar inactive
Hi All,
I am facing a strange problem. I have placed a table control on my screen and have added the columns. Rest of the functionality is also fine. However, even when the number of rows in the table exceeds its height, the Vertical Scroll bar is inactive and I cannot scroll down to the hidden line items. The horizontal scroll bar is working perfectly.The color of the Vertical Scroll bar is also Dark grey (as in inactive.)
I fail to understand what could be the reason for this? Helpful answers will be suitably rewarded
Regards,
MadhurHi Madur,
Try this code :
(assume that the name of your table control is T1)
In the screen logic you will have:
Loop with control T1.
module get_Looplines.
Endloop.
Module get_looplines.
Looplines = sy-loopc.
Endmodule.
In the PBO of the screen you will have a module that loads the itab and determines the total number of lines read.
Module load_itab.
. (select database table and
append to itab)
describe table itab lines linecount.
Endmodule.
We now have all the values to construct a scroll module.
MODULE SCROLL INPUT.
CASE SAVE_OK_CODE.
WHEN 'P--'.
T1-TOP_LINE = 1.
WHEN 'P-'.
T1-TOP_LINE = T1-TOP_LINE - LOOPLINES.
IF T1-TOP_LINE < 1.
T1-TOP_LINE = 1.
ENDIF.
WHEN 'P+'.
T1-TOP_LINE = T1-TOP_LINE + LOOPLINES.
IF T1-TOP_LINE > LINECOUNT.
T1-TOP_LINE = LINECOUNT - LOOPLINES + 1.
ENDIF.
WHEN 'P++'.
T1-TOP_LINE = LINECOUNT - LOOPLINES + 1.
ENDCASE.
ENDMODULE. " SCROLL INPUT
WHEN 'P--'.
CLEAR SY-UCOMM.
CTR1-TOP_LINE = 1.
WHEN 'P-'.
CLEAR SY-UCOMM.
CTR1-TOP_LINE = CTR1-TOP_LINE - LINECOUNT1.
IF CTR1-TOP_LINE < 1.
CTR1-TOP_LINE = 1.
ENDIF.
WHEN 'P+'.
DESCRIBE TABLE ITAB1 LINES N1.
CTR1-TOP_LINE = CTR1-TOP_LINE + LINECOUNT1.
IF CTR1-TOP_LINE > N1.
CTR1-TOP_LINE = N1.
ENDIF.
CLEAR SY-UCOMM.
WHEN 'P++'.
DESCRIBE TABLE ITAB1 LINES N1.
CLEAR SY-UCOMM.
CTR1-TOP_LINE = N1.
Cheers
Sunny
Rewrd points, if helpful -
Table control scroll bar issue
how to set the scroll bar for table control for the transaction code va42 for billing plan tab.
i have added few custom fileds for the table control, when i m re-arranging the columns for the table control, the scroll bar is fixed for one field( as standard) and the scroll bar starts from that place. how to fix the scroll bar or control the scroll bar and sets it position for the desired column.HI,
Table control ahs a property called FIXED_COLS. You ave to pass the column number to this property. -
Hello,
There is table control in my program and screen.
This object with created table control wizard.
This object on scroll bar(ver.-hor.)
I want to not see scroll bar.(visible = false)
Pleace help me.
Thanks.Hello Melih
I do not think that we can effect the scroll bars. If the size of the screen/dynpro is sufficient to display the entire table control then there should be no scroll bar. If the screen is smaller than the table control then the GUI automatically displays the scroll bars (which makes perfect sense).
Regards
Uwe -
Table controls -page down and page up options
Hi Gurus,
I created one module pool program with table controls. I have to enter multiple records into table control so that it has to save in database table.Now iam able to enter only 15 to 16 records in table. I mean i have to write apgedown code so that i can able to insert more number of records. please tell me how to write the code.Send what to write in pAI and PBO.Hi,
There are two options to work with scrolling in table controls:
1) Using table control Wizard: By using wizard we can automatically create table controls in screen. Please check the scroll in the wizard steps. No need to write any code for scrolling(pageup and pagedown).
2) writing the code:
Very good example programs are given in SAP on Table controls. Please look at those you will get good idea. Below is the code which i have copied from example(Table Control with Scrolling):
REPORT demo_dynpro_tabcont_loop.
CONTROLS flights TYPE TABLEVIEW USING SCREEN 100.
DATA: ok_code TYPE sy-ucomm,
save_ok TYPE sy-ucomm.
DATA: itab TYPE TABLE OF demo_conn,
fill TYPE i.
TABLES demo_conn.
DATA: lines TYPE i,
limit TYPE i.
SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE itab.
CALL SCREEN 100.
MODULE status_0100 OUTPUT.
SET PF-STATUS 'SCREEN_100'.
DESCRIBE TABLE itab LINES fill.
flights-lines = fill.
ENDMODULE.
MODULE fill_table_control OUTPUT.
READ TABLE itab INTO demo_conn INDEX flights-current_line.
ENDMODULE.
MODULE cancel INPUT.
LEAVE PROGRAM.
ENDMODULE.
MODULE read_table_control INPUT.
lines = sy-loopc.
MODIFY itab FROM demo_conn INDEX flights-current_line.
ENDMODULE.
MODULE user_command_0100 INPUT.
save_ok = ok_code.
CLEAR ok_code.
CASE save_ok.
WHEN 'NEXT_LINE'.
flights-top_line = flights-top_line + 1.
limit = fill - lines + 1.
IF flights-top_line > limit.
flights-top_line = limit.
ENDIF.
WHEN 'PREV_LINE'.
flights-top_line = flights-top_line - 1.
IF flights-top_line < 0.
flights-top_line = 0.
ENDIF.
WHEN 'NEXT_PAGE'.
flights-top_line = flights-top_line + lines.
limit = fill - lines + 1.
IF flights-top_line > limit.
flights-top_line = limit.
ENDIF.
WHEN 'PREV_PAGE'.
flights-top_line = flights-top_line - lines.
IF flights-top_line < 0.
flights-top_line = 0.
ENDIF.
WHEN 'LAST_PAGE'.
flights-top_line = fill - lines + 1.
WHEN 'FIRST_PAGE'.
flights-top_line = 0.
ENDCASE.
ENDMODULE. -
Selection of records in TABLE CONTROL.
hello friends, this is venkat.
I have been using a table contrlo to display the contents of a custom table.
my table control can display 10 records in one shot and my custom table had more than that. vertical scroll bar has been working properly so i can see all the records in the table control area.
now my problam is after i selecting one record, to select another record i am using the vertical scroll bar. but the moment i am scrolling the vertical scroll bar the previously selected one becomes non selected..
how can i select a record and still scroll down or up to select some more records..
another doubt i had is when ever i use vertical scroll bar PAI is geeting triggered but i am not gettig any information in SY-UCOM... how can i catch this event...
just like checking for function code when we click on PUSH BUTTON.
i will be very thanful if any one can give me some guidance.....
Venkat.Hi Venkat,
Basically there are 2 ways in which u can create a table control either for a internal table or for database table.
u can use the wizard from within the screen painter OR
create a table control manually adding individual fields and handling the table control on your own.
in the former method, SAP generates the code behind automatically which is not really comprehendable.
I prefer the later method where u code and have a lot of flexibility of changing the table control at a later stage.
For information on creating table controls, please refer SAP library under
ABAP Programming>ABAP User dialogs>Screens>Complex screen elements>Table controls -
Bdc recording of screen having table control
hi all,
how to trap scroll in bdc recording of table control.
regards deepakHi..,
<b>I found this program in one of the BDC links !! Hope this helps u !!</b>
Following is a sample code of handling table control in BDC.
REPORT Y730_BDC5 .
*HANDLING TABLE CONTROL IN BDC
DATA : BEGIN OF IT_DUMMY OCCURS 0,
DUMMY(100) TYPE C,
END OF IT_DUMMY.
DATA : BEGIN OF IT_XK01 OCCURS 0,
LIFNR(10) TYPE C,
BUKRS(4) TYPE C,
EKORG(4) TYPE C,
KTOKK(4) TYPE C,
NAME1(30) TYPE C,
SORTL(10) TYPE C,
LAND1(3) TYPE C,
SPRAS(2) TYPE C,
AKONT(6) TYPE C,
FDGRV(2) TYPE C,
WAERS(3) TYPE C,
END OF IT_XK01,
BEGIN OF IT_BANK OCCURS 0,
BANKS(3) TYPE C,
BANKL(10) TYPE C,
BANKN(10) TYPE C,
KOINH(30) TYPE C,
LIFNR(10) TYPE C,
END OF IT_BANK.
DATA : IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
IT_BDCMSGCOLL LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
FILENAME = 'C:\VENDOR.TXT'
FILETYPE = 'ASC'
TABLES
DATA_TAB = IT_DUMMY.
LOOP AT IT_DUMMY.
IF IT_DUMMY-DUMMY+0(2) = '11'.
IT_XK01-LIFNR = IT_DUMMY-DUMMY+2(10).
IT_XK01-BUKRS = IT_DUMMY-DUMMY+12(4).
IT_XK01-EKORG = IT_DUMMY-DUMMY+16(4).
IT_XK01-KTOKK = IT_DUMMY-DUMMY+20(4).
IT_XK01-NAME1 = IT_DUMMY-DUMMY+24(30).
IT_XK01-SORTL = IT_DUMMY-DUMMY+54(10).
IT_XK01-LAND1 = IT_DUMMY-DUMMY+64(3).
IT_XK01-SPRAS = IT_DUMMY-DUMMY+67(2).
IT_XK01-AKONT = IT_DUMMY-DUMMY+69(6).
IT_XK01-FDGRV = IT_DUMMY-DUMMY+75(2).
IT_XK01-WAERS = IT_DUMMY-DUMMY+77(3).
APPEND IT_XK01.
ELSE.
IT_BANK-BANKS = IT_DUMMY-DUMMY+2(3).
IT_BANK-BANKL = IT_DUMMY-DUMMY+5(10).
IT_BANK-BANKN = IT_DUMMY-DUMMY+15(10).
IT_BANK-KOINH = IT_DUMMY-DUMMY+25(30).
IT_BANK-LIFNR = IT_DUMMY-DUMMY+55(10).
APPEND IT_BANK.
ENDIF.
ENDLOOP.
LOOP AT IT_XK01.
REFRESH IT_BDCDATA.
perform bdc_dynpro using 'SAPMF02K' '0100'.
perform bdc_field using 'BDC_CURSOR'
'RF02K-REF_LIFNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RF02K-LIFNR'
IT_XK01-LIFNR.
perform bdc_field using 'RF02K-BUKRS'
IT_XK01-BUKRS.
perform bdc_field using 'RF02K-EKORG'
IT_XK01-EKORG.
perform bdc_field using 'RF02K-KTOKK'
IT_XK01-KTOKK.
perform bdc_dynpro using 'SAPMF02K' '0110'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-TELX1'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFA1-NAME1'
IT_XK01-NAME1.
perform bdc_field using 'LFA1-SORTL'
IT_XK01-SORTL.
perform bdc_field using 'LFA1-LAND1'
IT_XK01-LAND1.
perform bdc_field using 'LFA1-SPRAS'
IT_XK01-SPRAS.
perform bdc_dynpro using 'SAPMF02K' '0120'.
perform bdc_field using 'BDC_CURSOR'
'LFA1-KUNNR'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02K' '0130'.
perform bdc_field using 'BDC_CURSOR'
'LFBK-KOINH(02)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
DATA : FNAM(20) TYPE C,
IDX TYPE C.
MOVE 1 TO IDX.
LOOP AT IT_BANK WHERE LIFNR = IT_XK01-LIFNR.
CONCATENATE 'LFBK-BANKS(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
IT_BANK-BANKS.
CONCATENATE 'LFBK-BANKL(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
IT_BANK-BANKL.
CONCATENATE 'LFBK-BANKN(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
IT_BANK-BANKN.
CONCATENATE 'LFBK-KOINH(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
IT_BANK-KOINH.
IDX = IDX + 1.
ENDLOOP.
perform bdc_dynpro using 'SAPMF02K' '0130'.
perform bdc_field using 'BDC_CURSOR'
'LFBK-BANKS(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_dynpro using 'SAPMF02K' '0210'.
perform bdc_field using 'BDC_CURSOR'
'LFB1-FDGRV'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFB1-AKONT'
IT_XK01-AKONT.
perform bdc_field using 'LFB1-FDGRV'
IT_XK01-FDGRV.
perform bdc_dynpro using 'SAPMF02K' '0215'.
perform bdc_field using 'BDC_CURSOR'
'LFB1-ZTERM'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02K' '0220'.
perform bdc_field using 'BDC_CURSOR'
'LFB5-MAHNA'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_dynpro using 'SAPMF02K' '0310'.
perform bdc_field using 'BDC_CURSOR'
'LFM1-WAERS'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'LFM1-WAERS'
IT_XK01-WAERS.
perform bdc_dynpro using 'SAPMF02K' '0320'.
perform bdc_field using 'BDC_CURSOR'
'WYT3-PARVW(01)'.
perform bdc_field using 'BDC_OKCODE'
'=ENTR'.
perform bdc_dynpro using 'SAPLSPO1' '0300'.
perform bdc_field using 'BDC_OKCODE'
'=YES'.
CALL TRANSACTION 'XK01' USING IT_BDCDATA
MODE 'A'
UPDATE 'S'
MESSAGES INTO IT_BDCMSGCOLL.
ENDLOOP.
FORM BDC_DYNPRO USING PROG SCR.
CLEAR IT_BDCDATA.
IT_BDCDATA-PROGRAM = PROG.
IT_BDCDATA-DYNPRO = SCR.
IT_BDCDATA-DYNBEGIN = 'X'.
APPEND IT_BDCDATA.
ENDFORM.
FORM BDC_FIELD USING FNAM FVAL.
CLEAR IT_BDCDATA.
IT_BDCDATA-FNAM = FNAM.
IT_BDCDATA-FVAL = FVAL.
APPEND IT_BDCDATA.
ENDFORM.
regards,
sai ramesh
Maybe you are looking for
-
How to best transfer files?
What is the best way to transfer applications and files from an older Mac running Tiger to a new Mac running Leopard? Thanks.
-
Superdrive not recognising DVD
It seems I'm in a similar boat as several others in this forum. Have an eMac OSX10.3.9 with superdrive and have been burning and playing movies with no problems. In the last couple of months it will not recognise ANY DVD at all - including DVDs I hav
-
Hi all , what are the QOS available for idoc adapter Regards, Tarang
-
is it possible to set a passcode like the iphone everytime i try to use the phone Solved! Go to Solution.
-
Is any way to install only Export utility without installing oracle
how in can install only Export utility in windows server or in windows xp and if not is it possible to use Export utility in oracle 10g to export data from oracle 9i