How to put scrol bar in table viw control in module pool programming
how to put scrool bar in table-view control in module pool programming
Hi Rani,
You need not insert Scrollbar in the table control, it appears automcatically once the amount of data vertical or horizontal limit of table control.
Regards,
Sathish
Note : Reward useful Answers
Similar Messages
-
TABLE VIEW CONTROL IN MODULE POOL PROGRAMMING
Hai Friends,
<b>My problem is i design table view control using se51. I entered the data on table view and when i press ENTER button on keyboard the total data is disapears from the screec(i.e table view).
but i do not want this functionality. when i press ENTER button on keyboard that data is must be on the screen only.....................
please tell me how it is possible
</b>Hello,
Fill the data of the table control in PBO event of the screen.
CHeck this sample report:
DEMO_DYNPRO_TABCONT_LOOP
Vasanth -
How to save Custom control records module pool program ?
Hi guru ,
1. How to save Custom control records module pool program ?
I wrote multiple lines of record in custom control
Who to save that records ?
thanking you.
Regards,
Subash.Hi Subasha,
Please check the format below since it is based on a working code
**************data declarations
TYPES: BEGIN OF TY_EDITOR,
EDIT(254) TYPE C,
END OF TY_EDITOR.
data: int_line type table of tline with header line.
data: gw_thead like thead.
data: int_table type standard table of ty_editor.
You should create a text for uniquely identifying the text you are saving each time so that it doesn't get overwritten
For this a key combination must be decidedd to uniquely identify the test..here it is loc_nam
****************fill header..from SO10( t-code )
GW_THEAD-TDNAME = loc_nam. " unique key for the text
GW_THEAD-TDID = 'ST'. " Text ID
GW_THEAD-TDSPRAS = SY-LANGU.
GW_THEAD-TDOBJECT = 'ZXXX'. "name of the text object created
*Read Container and get data to int_table
CALL METHOD EDITOR ->GET_TEXT_AS_R3TABLE
IMPORTING
TABLE = int_table
EXCEPTIONS
ERROR_DP = 1
ERROR_CNTL_CALL_METHOD = 2
ERROR_DP_CREATE = 3
POTENTIAL_DATA_LOSS = 4
others = 5.
IF SY-SUBRC 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
loop data from int_table and save to int_line-tdline appending it.
*save the text
CALL FUNCTION 'SAVE_TEXT'
EXPORTING
HEADER = GW_THEAD
TABLES
LINES = InT_LINE
EXCEPTIONS
ID = 1
LANGUAGE = 2
NAME = 3
OBJECT = 4
OTHERS = 5.
IF SY-SUBRC 0.
ENDIF.
The code shown above is ok and working fine for save also,hope that the above sample with helps you solve the problem
Please check and revert,
Reward if helpful
Regards
Byju -
How to create a gui pf status and guititle in module pool programming?
hi frnds,
how to create a gui pf status and gui title in module pool programming?
my problem is i created a screen and wen execute the screen by a tcode.am nt able to activate SAVE BACK EXIT CANCEL COMMANDS?.how to do this can any one explain in detail procedure?
plz gve step by step process.Hi,
For Title:In PBO...just write
SET TITLEBAR 'ZTITLE'.
double click on 'ZTITLE'....give whatever title u want...save it...activate...and check...reward points if useful...
PF means FUNCTION CODE
ex; set pf-status 'zrstatus'.
double click on the zrstatus expand the application server ,
at the time of execution the default menu(ie system,help),application toolbar buttons like enter,help etc and function keys(by default there will be no function keys)as are there on the normal
will appear on the screen.
Details:
PF-STATUS is used to set the GUI Status of a screen, ie you can control the options on your menu bar, application toolbar, the function keys assigned to various options etc.
Implementing the status for a screen can be done in 2 ways:
1) Create the GUI status using the object list of the program or by using the transaction SE41. Then, assign it to the screen using SET PF-STATUS statement.
2) Create the GUI status by means of forward navigation, ie, use the SET PF-STATUS 'XXX' statement where 'XXX' is the name of the GUI status and double click on it to create it.
Status names can have a maximum of 20 characters.
After assigning a GUI status to a screen, this is inherited to all subsequent screens. In order to have a different status for each of the subsequent screens, you have to set a separate status for each screen.
In transaction SE41,
1) Give the program name and the status name and click on the Create button.
2) Go to 'Function keys' and expand.
3) On top of the save icon type SAVE, on top of the back icon type BACK, on top the the exit icon type EXIT etc ie on top of all the icons that you want to use, type the respective names that you want to give.
Whatever you have typed now becomes the function codes of these icons and can be used in your program.
For example you have a screen 100.
In the 'Element list' tab of the screen, give "ok_code" as the name where "OK" is the type of screen element. Activate screen.
The flow logic for the screen looks like this:
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
Create the modules STATUS_0100 and USER_COMMAND_0100 in the main program by simply double clicking on them.
The code for these modules can be something like this:
MODULE status_0100 OUTPUT.
SET PF-STATUS 'Example'. "Example is the name of the GUI status
ENDMODULE.
MODULE user_command_0100 INPUT.
CASE ok_code.
WHEN 'SAVE'.
"call a subroutine to save the data or give statements to save data.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'EXIT'.
LEAVE PROGRAM.
ENDCASE.
ENDMODULE.
Regards,
Shiva Kumar (Reward If helpful) -
How to give the application server file path in the module pool programming
Hi,
Could somebody help me how to provide the application server file path in module pool programming once the logo is uploaded to sap system.
For eg I have imported a logo name owens into sap system by using transaction se78; now I need to call the path in the below url,
if container2 is initial.
CREATE OBJECT CONTAINER2
EXPORTING
CONTAINER_NAME = 'PICTURE_CONTAINER2'.
CREATE OBJECT PICTURE2
EXPORTING
PARENT = CONTAINER2.
CALL METHOD PICTURE2->SET_DISPLAY_MODE
EXPORTING
DISPLAY_MODE = CL_GUI_PICTURE=>display_mode_fit_center
EXCEPTIONS
ERROR = 1.
CALL METHOD PICTURE2->LOAD_PICTURE_FROM_URL
EXPORTING
URL = " ? "
EXCEPTIONS
ERROR = 1
Others = 2.
endif.
Thanks in advance
Deepuhi Deepu,
Use FM '/SAPDMC/LSM_F4_FRONTEND_FILE' for fetching the data from the application server path/presentation server path
Regards,
Santosh -
Table Control in Module Pool Programming
In my Module Pool program I have created a Table Control on my screen. In my Table one column is the Checkbox. When I make changes in any of the Checkbox and scroll the Table or scroll with mouse,the data is lost.I am updating the database table and for that I have created a 'SAVE' button.But to make the changes I have to Scroll the Table on the screen and the changed data is lost.
Please guide me or if possible then tell me the Flow Logic of Module Pool with Table Control??
Thanks for the Help....PROCESS BEFORE OUTPUT.
MODULE INITIALIZE.
*&spwizard: pbo flow logic for tablecontrol 'TBLALLOC_CYC'
module TBLALLOC_CYC_change_tc_attr.
*&spwizard: module TBLALLOC_CYC_change_col_attr.
loop at GT_NEW_ALLOC
into GT_NEW_ALLOC_WA
with control TBLALLOC_CYC
cursor TBLALLOC_CYC-current_line.
module TBLALLOC_CYC_get_lines.
*&spwizard: module TBLALLOC_CYC_change_field_attr
endloop.
MODULE STATUS_9003.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_9003.
*MODULE USER_COMMAND_9003.
*&spwizard: pai flow logic for tablecontrol 'TBLALLOC_CYC'
loop at GT_NEW_ALLOC.
chain.
field GT_NEW_ALLOC_WA-/BIC/ZALLOCCYC.
field GT_NEW_ALLOC_WA-/BIC/UFACT_FLG.
field GT_NEW_ALLOC_WA-CHANGEDBY.
field GT_NEW_ALLOC_WA-CH_ON.
field GT_NEW_ALLOC_WA-/BIC/ECHAT.
module TBLALLOC_CYC_modify on chain-request.
endchain.
endloop.
module TBLALLOC_CYC_user_command.
*&spwizard: module TBLALLOC_CYC_change_tc_attr.
*&spwizard: module TBLALLOC_CYC_change_col_attr.
module TBLALLOC_CYC_user_command.
MODULE USER_COMMAND_9003.
MODULE INITIALIZE OUTPUT.
At the time of initialization of the screen data is to be displayed
by calling Function Module ZUFACTS_FETCH_ALLOC_CYC.
CALL FUNCTION 'ZUFACTS_FETCH_ALLOC_CYC'
TABLES
T_ALLOC = GT_NEW_ALLOC
Pass the value displayed in Internal Table GT_OLD_ALLOC.
GT_OLD_ALLOC[] = GT_NEW_ALLOC[].
MOVE GT_OLD_ALLOC TO GT_OLD_ALLOC.
*****Initialize the ok_code.
CLEAR OK_CODE .
ENDMODULE. " INITIALIZE OUTPUT
MODULE USER_COMMAND_9003 INPUT.
CASE : OK_CODE.
WHEN 'SAVE'.
CALL FUNCTION 'ZUFACTS_UPDATE_ALLOC_CYC'
TABLES
T_OLD_ALLOC = GT_OLD_ALLOC
T_NEW_ALLOC = GT_NEW_ALLOC
EXCEPTIONS
NO_FIELD_UPDATED = 1
UNSUCCESSFUL_UPDATION = 2
OTHERS = 3
IF SY-SUBRC = 1.
MESSAGE I005 .
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
IF SY-SUBRC = 2.
MESSAGE E006.
ENDIF.
WHEN 'CANCEL' OR 'BACK' OR '%EX' OR 'RW'.
LEAVE TO SCREEN 0.
ENDCASE.
CLEAR OK_CODE.
ENDMODULE. " USER_COMMAND_9003 INPUT -
Table control of Module Pool Program
Hi,
I need a help in the table control of Module pool.
Here I am using 40 columns in the table control. Out of 40, 30 columns are numeric type.
Now the client need only 5 columns total in the last row. I made it as per requirement.
But it is giving 5 columns total and the remaining 25 columns are filled zero value of total row.
Now the client doesnt want to display the zero for these 25 columns in the Total row.
Its very urgent. Please help on this.
Reward points will be providing for useful answers.
Advance Thanks 4 all.
Regards,
KBS REDDYHi,
In your PBO, inside LOOP ENDLOOP, have a module for screen modifications and for the last row that has totals, you set screen-invisible = 1 inside LOOP AT SCREEN. ENDLOOP.
For example,
If your screen has following PBO Logic,
MODULE ...
MODULE ...
LOOP ...
****New module here for screen modification if does not ****exist already.
MODULE modify_screen.
ENDLOOP.
and then in MODULE modify_screen.
MODULE modify_screen.
****Basically check MATNR EQ 'TOTAL' or some thing like ****that
IF <your condition for totals line>.
LOOP AT SCREEN.
****Note instead of screen-name, you can assign a screen ****group to all columns w/o totals and then use
****SCREEN-GROUP1 EQ <your grp> logic
IF screen-name EQ <your column name w/o totals>.
screen-invisible = 1.
MODIFY SCREEN.
ENDIF.
ENDLOOP.
ENDIF.
ENDMODULE.
On another note, since you are already disabling this fields in the last row, you have all the screen modification logic already I guess, so just add SCREEN-INVISIBLE = 1 for all fields w/o totals..
Hope this helps..
Sri
Message was edited by: Srikanth Pinnamaneni -
Table maintenance by using module pool program
Hi
Please give me step by step procedure to generate table maintenance by using module pool programWhile creating table maintenance, you can go thro' the module pool program used for that.In that,in PBO part,just try making particular field active = 1 inside loop at screen.
Girish Kumar Lo...
Posts: 1,518
Questions: 2
Registered: 4/19/07
Forum points: 1,982
Re: Regarding Table maintanence generator
Posted: Jun 26, 2007 9:02 AM in response to: Younus Khan Reply E-mail this post
here is the code for that
REPORT ZTAB_MAINT
NO STANDARD PAGE HEADING
MESSAGE-ID ZZ.
T Y P E D E C L A R A T I O N S
*--Types declaration for selection to be passed as parameter into
*--VIEW_MAINTENANCE_CALL FM
TYPES: BEGIN OF TP_RANGETAB.
INCLUDE STRUCTURE VIMSELLIST.
TYPES: END OF TP_RANGETAB.
D A T A D E C L A R A T I O N S
DATA: V_MATNR TYPE MATNR, " Material Number
V_WERKS TYPE WERKS_D, " Plant
V_KONOB TYPE KONOB, " Product allocation object
V_ZCPLT(40) TYPE C. " Message
I N T E R N A L T A B L E D E C L A R A T I O N S
Internal table to subroutine code
*Internal table used as selection for VIEW_MAINTENANCE_CALL FM
DATA: IT_RANGETAB TYPE STANDARD TABLE OF TP_RANGETAB WITH HEADER LINE.
*--Internal table used for getting the tablefields
DATA: BEGIN OF IT_HEADER OCCURS 1.
INCLUDE STRUCTURE VIMDESC.
DATA: END OF IT_HEADER.
*--Name Tabel
DATA: BEGIN OF IT_NAMTAB OCCURS 50.
INCLUDE STRUCTURE VIMNAMTAB.
DATA: END OF IT_NAMTAB.
*--Used for handling 'BT' option
DATA: BEGIN OF IT_MATNR OCCURS 0,
MATNR TYPE MATNR,
END OF IT_MATNR.
*--Used for handling 'BT' option
DATA: BEGIN OF IT_WERKS OCCURS 0,
WERKS TYPE WERKS,
END OF IT_WERKS.
*--Used for handling 'BT' option
DATA: BEGIN OF IT_KONOB OCCURS 0,
KONOB TYPE KONOB,
END OF IT_KONOB.
*--Used for handling 'BT' option
DATA: BEGIN OF IT_ZCPLT OCCURS 0,
ZCPLT(40) TYPE C,
END OF IT_ZCPLT.
I N P U T S C R E E N
SELECTION-SCREEN BEGIN OF BLOCK SELSCR WITH FRAME TITLE TEXT-001.
RANGES: R_MATNR FOR V_MATNR.
RANGES: R_WERKS FOR V_WERKS.
RANGES: R_KONOB FOR V_KONOB.
RANGES: R_ZCPLT FOR V_ZCPLT.
Select Options
SELECT-OPTIONS: S_MATNR FOR V_MATNR NO-EXTENSION, " Material
S_WERKS FOR V_WERKS NO-EXTENSION, " Plant
S_KONOB FOR V_KONOB NO-EXTENSION,
" Product allocation object
S_ZCPLT FOR V_ZCPLT NO-EXTENSION. " Plant
SELECTION-SCREEN END OF BLOCK SELSCR.
A T S E L E C T I O N S C R E E N
AT SELECTION-SCREEN.
Validate user inputs
PERFORM FRM_VALIDATIONS.
S T A R T O F S E L E C T I O N
START-OF-SELECTION.
Fetch Data from Data Base
PERFORM FRM_GET_DATA.
S U B R O U T I N E S
*& Form frm_get_data
Call the function module VIEW_MAINTENNACE_CALL to get data
based on selection criteria
FORM FRM_GET_DATA .
CALL FUNCTION 'VIEW_GET_DDIC_INFO'
EXPORTING
VIEWNAME = 'ZTAB'
TABLES
X_HEADER = IT_HEADER
X_NAMTAB = IT_NAMTAB
SELLIST = IT_RANGETAB
EXCEPTIONS
NO_TVDIR_ENTRY = 1
TABLE_NOT_FOUND = 2.
IF SY-SUBRC <> 0.
MESSAGE E002 WITH 'Error in ZTAB table'(005).
ENDIF.
CLEAR: IT_RANGETAB,
IT_RANGETAB[].
LOOP AT IT_NAMTAB.
CASE IT_NAMTAB-VIEWFIELD.
WHEN 'MATNR'.
CLEAR IT_RANGETAB.
IT_RANGETAB-VIEWFIELD = 'MATNR'.
IT_RANGETAB-TABIX = SY-TABIX.
IT_RANGETAB-DDIC = IT_NAMTAB-READONLY.
LOOP AT S_MATNR.
CASE S_MATNR-OPTION.
WHEN 'EQ'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'EQ'.
IT_RANGETAB-VALUE = S_MATNR-LOW.
APPEND IT_RANGETAB.
WHEN 'BT'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'GE'.
IT_RANGETAB-VALUE = S_MATNR-LOW.
APPEND IT_RANGETAB.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'LE'.
IT_RANGETAB-VALUE = S_MATNR-HIGH.
APPEND IT_RANGETAB.
WHEN 'NB'.
CLEAR: R_MATNR,
R_MATNR[].
R_MATNR-SIGN = 'I'.
R_MATNR-OPTION = 'BT'.
R_MATNR-LOW = S_MATNR-LOW.
R_MATNR-HIGH = S_MATNR-HIGH.
APPEND R_MATNR.
SELECT MATNR
INTO TABLE IT_MATNR
FROM ZTAB
WHERE MATNR IN R_MATNR.
DELETE ADJACENT DUPLICATES FROM IT_MATNR COMPARING MATNR
LOOP AT IT_MATNR.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = IT_MATNR-MATNR.
APPEND IT_RANGETAB.
ENDLOOP.
WHEN 'NE'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = S_MATNR-LOW.
APPEND IT_RANGETAB.
WHEN OTHERS.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = S_MATNR-OPTION.
IT_RANGETAB-VALUE = S_MATNR-LOW.
APPEND IT_RANGETAB.
ENDCASE.
ENDLOOP.
WHEN 'WERKS'.
CLEAR IT_RANGETAB.
IT_RANGETAB-VIEWFIELD = 'WERKS'.
IT_RANGETAB-TABIX = SY-TABIX.
IT_RANGETAB-DDIC = IT_NAMTAB-READONLY.
LOOP AT S_WERKS.
CASE S_WERKS-OPTION.
WHEN 'EQ'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'EQ'.
IT_RANGETAB-VALUE = S_WERKS-LOW.
APPEND IT_RANGETAB.
WHEN 'BT'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'GE'.
IT_RANGETAB-VALUE = S_WERKS-LOW.
APPEND IT_RANGETAB.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'LE'.
IT_RANGETAB-VALUE = S_WERKS-HIGH.
APPEND IT_RANGETAB.
WHEN 'NB'.
CLEAR: R_WERKS,
R_WERKS[].
R_WERKS-SIGN = 'I'.
R_WERKS-OPTION = 'BT'.
R_WERKS-LOW = S_WERKS-LOW.
R_WERKS-HIGH = S_WERKS-HIGH.
APPEND R_WERKS.
SELECT WERKS
INTO TABLE IT_WERKS
FROM MARC
WHERE WERKS IN R_WERKS.
DELETE ADJACENT DUPLICATES FROM IT_WERKS COMPARING WERKS
LOOP AT IT_WERKS.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = IT_WERKS-WERKS.
APPEND IT_RANGETAB.
ENDLOOP.
WHEN 'NE'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = S_WERKS-LOW.
APPEND IT_RANGETAB.
WHEN OTHERS.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = S_WERKS-OPTION.
IT_RANGETAB-VALUE = S_WERKS-LOW.
APPEND IT_RANGETAB.
ENDCASE.
ENDLOOP.
WHEN 'KONOB'.
CLEAR IT_RANGETAB.
IT_RANGETAB-VIEWFIELD = 'KONOB'.
IT_RANGETAB-TABIX = SY-TABIX.
IT_RANGETAB-DDIC = IT_NAMTAB-READONLY.
LOOP AT S_KONOB.
CASE S_KONOB-OPTION.
WHEN 'EQ'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'EQ'.
IT_RANGETAB-VALUE = S_KONOB-LOW.
APPEND IT_RANGETAB.
WHEN 'BT'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'GE'.
IT_RANGETAB-VALUE = S_KONOB-LOW.
APPEND IT_RANGETAB.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'LE'.
IT_RANGETAB-VALUE = S_KONOB-HIGH.
APPEND IT_RANGETAB.
WHEN 'NB'.
CLEAR: R_KONOB,
R_KONOB[].
R_KONOB-SIGN = 'I'.
R_KONOB-OPTION = 'BT'.
R_KONOB-LOW = S_KONOB-LOW.
R_KONOB-HIGH = S_KONOB-HIGH.
APPEND R_KONOB.
SELECT KONOB
INTO TABLE IT_KONOB
FROM T190
WHERE KONOB IN R_KONOB.
DELETE ADJACENT DUPLICATES FROM IT_KONOB COMPARING KONOB
LOOP AT IT_KONOB.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = IT_KONOB-KONOB.
APPEND IT_RANGETAB.
ENDLOOP.
WHEN 'NE'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = S_KONOB-LOW.
APPEND IT_RANGETAB.
WHEN OTHERS.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = S_KONOB-OPTION.
IT_RANGETAB-VALUE = S_KONOB-LOW.
APPEND IT_RANGETAB.
ENDCASE.
ENDLOOP.
WHEN 'ZCPLT'.
CLEAR IT_RANGETAB.
IT_RANGETAB-VIEWFIELD = 'ZCPLT'.
IT_RANGETAB-TABIX = SY-TABIX.
IT_RANGETAB-DDIC = IT_NAMTAB-READONLY.
LOOP AT S_ZCPLT.
CASE S_ZCPLT-OPTION.
WHEN 'EQ'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'EQ'.
IT_RANGETAB-VALUE = S_ZCPLT-LOW.
APPEND IT_RANGETAB.
WHEN 'BT'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'GE'.
IT_RANGETAB-VALUE = S_ZCPLT-LOW.
APPEND IT_RANGETAB.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'LE'.
IT_RANGETAB-VALUE = S_ZCPLT-HIGH.
APPEND IT_RANGETAB.
WHEN 'NB'.
CLEAR: R_ZCPLT,
R_ZCPLT[].
R_ZCPLT-SIGN = 'I'.
R_ZCPLT-OPTION = 'BT'.
R_ZCPLT-LOW = S_ZCPLT-LOW.
R_ZCPLT-HIGH = S_ZCPLT-HIGH.
APPEND R_ZCPLT.
SELECT ZCPLT
INTO TABLE IT_ZCPLT
FROM ZTAB
WHERE ZCPLT IN R_ZCPLT.
DELETE ADJACENT DUPLICATES FROM IT_ZCPLT COMPARING ZCPLT
LOOP AT IT_ZCPLT.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = IT_ZCPLT-ZCPLT.
APPEND IT_RANGETAB.
ENDLOOP.
WHEN 'NE'.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = 'NE'.
IT_RANGETAB-VALUE = S_ZCPLT-LOW.
APPEND IT_RANGETAB.
WHEN OTHERS.
IT_RANGETAB-AND_OR = 'AND'.
IT_RANGETAB-OPERATOR = S_ZCPLT-OPTION.
IT_RANGETAB-VALUE = S_ZCPLT-LOW.
APPEND IT_RANGETAB.
ENDCASE.
ENDLOOP.
ENDCASE.
ENDLOOP.
IF S_ZCPLT[] IS INITIAL.
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
ACTION = 'U'
VIEW_NAME = 'ZTAB'
TABLES
DBA_SELLIST = IT_RANGETAB
EXCEPTIONS
CLIENT_REFERENCE = 1
FOREIGN_LOCK = 2
INVALID_ACTION = 3
NO_CLIENTINDEPENDENT_AUTH = 4
NO_DATABASE_FUNCTION = 5
NO_EDITOR_FUNCTION = 6
NO_SHOW_AUTH = 7
NO_TVDIR_ENTRY = 8
NO_UPD_AUTH = 9
ONLY_SHOW_ALLOWED = 10
SYSTEM_FAILURE = 11
UNKNOWN_FIELD_IN_DBA_SELLIST = 12
VIEW_NOT_FOUND = 13
MAINTENANCE_PROHIBITED = 14
OTHERS = 15.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.
CALL FUNCTION 'VIEW_MAINTENANCE_CALL'
EXPORTING
ACTION = 'U'
VIEW_NAME = 'ZTAB_ZTEST'
TABLES
DBA_SELLIST = IT_RANGETAB
EXCEPTIONS
CLIENT_REFERENCE = 1
FOREIGN_LOCK = 2
INVALID_ACTION = 3
NO_CLIENTINDEPENDENT_AUTH = 4
NO_DATABASE_FUNCTION = 5
NO_EDITOR_FUNCTION = 6
NO_SHOW_AUTH = 7
NO_TVDIR_ENTRY = 8
NO_UPD_AUTH = 9
ONLY_SHOW_ALLOWED = 10
SYSTEM_FAILURE = 11
UNKNOWN_FIELD_IN_DBA_SELLIST = 12
VIEW_NOT_FOUND = 13
MAINTENANCE_PROHIBITED = 14
OTHERS = 15.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
ENDFORM. " frm_get_data
*& Form frm_validations
Validating field values
FORM FRM_VALIDATIONS .
Material number should not be validated (10/17/2005)
CLEAR V_MATNR.
SELECT SINGLE MATNR
INTO V_MATNR
FROM MARA
WHERE MATNR IN S_MATNR.
IF SY-SUBRC <> 0.
MESSAGE E002 WITH 'Material not found'.
ENDIF.
CLEAR V_WERKS.
SELECT SINGLE WERKS
INTO V_WERKS
FROM ZTAB
WHERE WERKS IN S_WERKS.
IF SY-SUBRC <> 0.
MESSAGE E002 WITH 'Plant (WERKS) not found'(002).
ENDIF.
CLEAR V_KONOB.
SELECT SINGLE KONOB
INTO V_KONOB
FROM ZTAB
WHERE KONOB IN S_KONOB.
IF SY-SUBRC <> 0.
MESSAGE E002 WITH ' Product allocation object not found'(003).
ENDIF.
CLEAR V_WERKS.
SELECT SINGLE WERKS
INTO V_WERKS
FROM ZTAB
WHERE WERKS IN S_ZCPLT.
IF SY-SUBRC <> 0.
MESSAGE E002 WITH 'Plant (ZCPLT) not found'(004).
ENDIF.
ENDFORM. " frm_validations
reward points if it is usefull ...
Regarding Table maintanence generator -
Table control in Module pool Program
Hi All,
here i have a small requirement on module pool application.
i will explain my scenario more in detail.Here i have one delivery number.if i give this delivery number and click on capture it will capture all the materials for that delivery numeber in a table control.here the material may be one or more than one.we can select table control records.so if the material is more than one user has to select only one material once.if he will try to select the second material we want to display an error message will display.how to handle this requirement.
please give me suggestions regarding coding also.
Thanks in advance,
swami
Edited by: swaminath kamasani on Oct 1, 2008 11:50 PMDo you need to know how to display an error message if multiple lines are selected or the coding for the entire requirnment??
For error message part:
Dont set the Table control attributes - multiple selection. -
How to use table control in module pool programming
Hi
I want to use a table control to fetch some data from mara table.
Please guide me with the procedure and the steps which I can follow to complete my program correctly.
thanks
Lalit GuptaAs [vinraaj|http://forums.sdn.sap.com/profile.jspa?userID=3968041] wrote, call transaction SE51, there is a Wizard to help you generate the table control, it will create the table control and some includes with PBO/PAI modules > Read [Using the Table Control Wizard|http://help.sap.com/saphelp_bw/helpdata/en/6d/150d67da1011d3963800a0c94260a5/frameset.htm]
Also there is a tutorial in the wiki, read [Learn Making First Table Control |http://wiki.sdn.sap.com/wiki/display/ABAP/LearnMakingFirstTableControl] by [Krishna Chauhan|http://wiki.sdn.sap.com/wiki/display/~nc0euof]
Regards,
Raymond -
How can we select multiple rows in table control for module pool program?
hi guru's
i cannt able to select multiple table control rows for deletion of records please give any code to select rows?
regrards,
satheesh.On the Table Control attributes there is a "Selectability" option where you choose one of: None, Single, or Multiple. In your code you then need to pick up which rows have the selection column set to 'X'.
-
Suppress table control in module pool programming
Hi Frnds
I need your help to find out if is possible to suppress a table control by configuration in SPRO.
I am able to suppress all the other fields on the screen using the configuration in SPRO,but for table control it is not working that ways.
By programming in PBO I am able to proceed but I need to find out if it possible to do the same through configuration.
Thanks
Mitesh
nulladd module vertical_scroll in PBO and try.
module vertical_scroll output.
data n type i.
describe table it_div lines n.
tabctrl-lines = n.
endmodule.
reward if useful. -
Table controls in module pool programing
hello all,
i am a novice in ABAP. i am not able to save the details i gave in the table control. i am giving the material number(MATNR) in a seperate text box and the fileds like ERNAM,LAEDA,AENAM in the table control. but when i am saving i am able to find only the MATNR value in the mara table.
what is the syntax to save the values of the table control into the MARA table.
thanks & regards,
seenuHI,
Step 1 : TO move the values from the screen to ABAP Program.
The values of all the input fields will be available in ABAP when PAI event is triggered. To access the values in a table control, you will need to follow the below mentioned procedure....
<b>in PAI Event
( ITAB is Table Control and WA_ITAB is work area)</b>
LOOP AT ITAB INTO WA_ITAB.
MODULE READ_SCRN_VALUES
ENDLOOP
MODULE READ_SCRN_VALUES INPUT
move WA_ITAB to WS_ITAB.
WS_ITAB is another Work area.
ENDMODULE
This way you can moves from screen to ABAP Program. Pass WS_ITAB and MATNR (Matnr - material number on the screen) to MARA.
After updating MARA Table, check the table to view the values of the required fields.
Click the link below to know more about Passing Values from Screen to Program.
http://help.sap.com/saphelp_47x200/helpdata/en/9f/dba9e735c111d1829f0000e829fbfe/content.htm
To know about controlling the data transfer from Screen to Program
http://help.sap.com/saphelp_47x200/helpdata/en/9f/dbabb035c111d1829f0000e829fbfe/content.htm
Also check if you are using MODIFY or INSERT or UPDATE command in your program to update MARA Table, then click the link below to know more about these commands.
Insert
http://help.sap.com/saphelp_47x200/helpdata/en/fc/eb3a6d358411d1829f0000e829fbfe/content.htm
Update
http://help.sap.com/saphelp_47x200/helpdata/en/fc/eb3a94358411d1829f0000e829fbfe/content.htm
Modify
http://help.sap.com/saphelp_47x200/helpdata/en/fc/eb3ac8358411d1829f0000e829fbfe/content.htm
Hope this answers your question.
Regards,
Vara -
How to Draw a graph Using layout In a module pool Program
Hello Friends
How to Represent a Graph in the layout in a module pool program.
Plz suggest me.
Thanking you all
lavanyaTHIS IS AN EXAMPLE PROGRAM FOR GRAPHICS.
Run this program & see whether it will be useful for u or not.
before running dont forget to set the pf status.
after copying double click the pf status & in application tool bar. give function code like this.
PF07 - for 2d graph.
PF06 - for 3d
PF05 - for 4d
DATA: BEGIN OF DATA OCCURS 1,
P TYPE P,
END OF DATA.
--- options-table -
DATA: BEGIN OF OPTS OCCURS 1,
C(80) TYPE C,
END OF OPTS.
DATA: BEGIN OF TDIM1 OCCURS 1,
C(80) TYPE C,
END OF TDIM1.
DATA: BEGIN OF TDIM2 OCCURS 1,
C(80) TYPE C,
END OF TDIM2.
DATA: BEGIN OF TDIM3 OCCURS 1,
C(80) TYPE C,
END OF TDIM3.
DATA: BEGIN OF MAX OCCURS 1,
D1(3) TYPE P VALUE 4,
D2(3) TYPE P VALUE 5,
D3(3) TYPE P VALUE 6,
END OF MAX.
DATA: TYEAR1(5) VALUE '#1991',
TYEAR2(5) VALUE '#1992',
TYEAR3(5) VALUE '#1993',
TYEAR4(5) VALUE '#1994'.
DATA: TPROD1(9),
TPROD2(9),
TPROD3(9),
TPROD4(9),
TPROD5(9).
TPROD1 = TEXT-P01.
TPROD2 = TEXT-P02.
TPROD3 = TEXT-P03.
TPROD4 = TEXT-P04.
TPROD5 = TEXT-P05.
DATA: TLAND1(20),
TLAND2(20),
TLAND3(20),
TLAND4(20),
TLAND5(20),
TLAND6(20).
TLAND1 = TEXT-L01.
TLAND2 = TEXT-L02.
TLAND3 = TEXT-L03.
TLAND4 = TEXT-L04.
TLAND5 = TEXT-L05.
TLAND6 = TEXT-L06.
DATA: INDEX LIKE SY-INDEX.
DATA: MAXD(3) TYPE P.
DATA: TYP.
FIELD-SYMBOLS: <F>.
SET PF-STATUS 'GRAF'.
PERFORM FILL_DATA.
MAXD = MAX-D1 * MAX-D2.
*{listdisplay
display of a list: *
for 5 countries each 4 colums (years) and 5 lines (products)
WRITE: / TLAND1.
INDEX = 1.
PERFORM LISTE.
SKIP.
ULINE.
WRITE: / TLAND2.
INDEX = MAXD + 1.
PERFORM LISTE.
NEW-PAGE.
WRITE: / TLAND3.
INDEX = 2 * MAXD + 1.
PERFORM LISTE.
SKIP.
ULINE.
WRITE: / TLAND4.
INDEX = 3 * MAXD + 1.
PERFORM LISTE.
NEW-PAGE.
WRITE: / TLAND5.
INDEX = 4 * MAXD + 1.
PERFORM LISTE.
SKIP.
ULINE.
WRITE: / TLAND6.
INDEX = 5 * MAXD + 1.
PERFORM LISTE.
PF05: 4D-graphic, general function-module *
AT PF05.
REFRESH OPTS.
--- first screen: selection -
WRITE 'FIFRST = PU' TO OPTS-C. APPEND OPTS.
--- 2D-graphic-type: perspective bars -
WRITE 'P2TYPE = TD' TO OPTS-C. APPEND OPTS.
--- kind of colours: regular -
WRITE 'P3CTYP = PL' TO OPTS-C. APPEND OPTS.
*--- dimension 1
REFRESH TDIM1.
MOVE TYEAR1 TO TDIM1.
APPEND TDIM1.
MOVE TYEAR2 TO TDIM1.
APPEND TDIM1.
MOVE SPACE TO TDIM1.
APPEND TDIM1.
MOVE TYEAR4 TO TDIM1.
APPEND TDIM1.
*--- dimension 2
REFRESH TDIM2.
MOVE SPACE TO TDIM2.
APPEND TDIM2.
MOVE TPROD2 TO TDIM2.
APPEND TDIM2.
MOVE TPROD3 TO TDIM2.
APPEND TDIM2.
MOVE TPROD4 TO TDIM2.
APPEND TDIM2.
MOVE SPACE TO TDIM2.
APPEND TDIM2.
*--- dimension 3
REFRESH TDIM3.
MOVE TLAND1 TO TDIM3.
APPEND TDIM3.
MOVE SPACE TO TDIM3.
APPEND TDIM3.
MOVE TLAND3 TO TDIM3.
APPEND TDIM3.
MOVE TLAND4 TO TDIM3.
APPEND TDIM3.
MOVE SPACE TO TDIM3.
APPEND TDIM3.
MOVE SPACE TO TDIM3.
APPEND TDIM3.
CALL FUNCTION 'GRAPH_MATRIX'
EXPORTING
TITL = TEXT-VGL
VALT = 'DM'
DIM1 = TEXT-J00
DIM2 = TEXT-P00
DIM3 = TEXT-L00
TABLES
DATA = DATA
TDIM1 = TDIM1
TDIM2 = TDIM2
TDIM3 = TDIM3
OPTS = OPTS.
PF06: 3D-graphic general function-module *
AT PF06.
REFRESH OPTS.
--- first screen: selection -
WRITE 'FIFRST = PU' TO OPTS-C. APPEND OPTS.
--- 2D-graphic-Type: perspective bars -
WRITE 'P2TYPE = TD' TO OPTS-C. APPEND OPTS.
--- kind of colours: regular -
WRITE 'P3CTYP = PL' TO OPTS-C. APPEND OPTS.
*--- dimension 1
REFRESH TDIM1.
MOVE TYEAR1 TO TDIM1.
APPEND TDIM1.
MOVE SPACE TO TDIM1.
APPEND TDIM1.
MOVE TYEAR3 TO TDIM1.
APPEND TDIM1.
MOVE TYEAR4 TO TDIM1.
APPEND TDIM1.
*--- dimension 2
REFRESH TDIM2.
MOVE TPROD1 TO TDIM2.
APPEND TDIM2.
MOVE SPACE TO TDIM2.
APPEND TDIM2.
MOVE TPROD3 TO TDIM2.
APPEND TDIM2.
MOVE SPACE TO TDIM2.
APPEND TDIM2.
MOVE TPROD5 TO TDIM2.
APPEND TDIM2.
REFRESH TDIM3.
CALL FUNCTION 'GRAPH_MATRIX'
EXPORTING
TITL = TEXT-VGL
VALT = 'DM'
DIM1 = TEXT-J00
DIM2 = TEXT-P00
TABLES
DATA = DATA
TDIM1 = TDIM1
TDIM2 = TDIM2
TDIM3 = TDIM3
OPTS = OPTS.
PF07: 2D-graphic general function-module *
AT PF07.
REFRESH OPTS.
--- first screen: selection -
WRITE 'FIFRST = PU' TO OPTS-C. APPEND OPTS.
--- 2D-graphic-type perspective bars -
WRITE 'P2TYPE = TD' TO OPTS-C. APPEND OPTS.
--- kind of colour: regular -
WRITE 'P3CTYP = PL' TO OPTS-C. APPEND OPTS.
*--- dimension 1
REFRESH TDIM1.
MOVE TYEAR1 TO TDIM1.
APPEND TDIM1.
MOVE SPACE TO TDIM1.
APPEND TDIM1.
MOVE TYEAR3 TO TDIM1.
APPEND TDIM1.
MOVE TYEAR4 TO TDIM1.
APPEND TDIM1.
REFRESH TDIM2.
REFRESH TDIM3.
CALL FUNCTION 'GRAPH_MATRIX'
EXPORTING
TITL = TEXT-VGL
VALT = 'DM'
DIM1 = TEXT-J00
TABLES
DATA = DATA
TDIM1 = TDIM1
TDIM2 = TDIM2
TDIM3 = TDIM3
OPTS = OPTS.
FORM LISTE *
displays a list with turnover figures *
(products and years) *
FORM LISTE.
DATA: CNT_MOD LIKE SY-TABIX.
DATA: CNT_DIV LIKE SY-TABIX.
WRITE: / TEXT-P00,22 TYEAR1,39 TYEAR2,56 TYEAR3, 73 TYEAR4.
SKIP 2.
DO MAXD TIMES.
READ TABLE DATA INDEX INDEX.
IF SY-SUBRC NE 0. EXIT. ENDIF.
INDEX = INDEX + 1.
CNT_MOD = SY-INDEX MOD MAX-D1.
CNT_DIV = SY-INDEX DIV MAX-D1.
IF CNT_MOD EQ 1.
CASE CNT_DIV.
WHEN 0.
WRITE: / TPROD1, ' '.
WHEN 1.
WRITE: / TPROD2, ' '.
WHEN 2.
WRITE: / TPROD3, ' '.
WHEN 3.
WRITE: / TPROD4, ' '.
WHEN 4.
WRITE: / TPROD5, ' '.
ENDCASE.
ENDIF.
WRITE: DATA-P.
ENDDO.
ENDFORM.
FORM FILL_DATA *
fills the datatable *
FORM FILL_DATA.
DATA-P = 153470.
APPEND DATA.
DATA-P = 243470.
APPEND DATA.
DATA-P = 124567.
APPEND DATA.
DATA-P = 179037.
APPEND DATA.
DATA-P = 234980.
APPEND DATA.
DATA-P = 287513.
APPEND DATA.
DATA-P = 253430.
APPEND DATA.
DATA-P = 223440.
APPEND DATA.
DATA-P = 24567.
APPEND DATA.
DATA-P = 180037.
APPEND DATA.
DATA-P = 129830.
APPEND DATA.
DATA-P = 145530.
APPEND DATA.
DATA-P = 132470.
APPEND DATA.
DATA-P = 453470.
APPEND DATA.
DATA-P = 24456.
APPEND DATA.
DATA-P = 119807.
APPEND DATA.
DATA-P = 288710.
APPEND DATA.
DATA-P = 166656.
APPEND DATA.
DATA-P = 300430.
APPEND DATA.
DATA-P = 723110.
APPEND DATA.
DATA-P = 22767.
APPEND DATA.
DATA-P = 195522.
APPEND DATA.
DATA-P = 38970.
APPEND DATA.
DATA-P = 89635.
APPEND DATA.
DATA-P = 166970.
APPEND DATA.
DATA-P = 401470.
APPEND DATA.
DATA-P = 29967.
APPEND DATA.
DATA-P = 112957.
APPEND DATA.
DATA-P = 37860.
APPEND DATA.
DATA-P = 77450.
APPEND DATA.
DATA-P = 253150.
APPEND DATA.
DATA-P = 343570.
APPEND DATA.
DATA-P = 768867.
APPEND DATA.
DATA-P = 236790.
APPEND DATA.
DATA-P = 122750.
APPEND DATA.
DATA-P = 328760.
APPEND DATA.
DATA-P = 292150.
APPEND DATA.
DATA-P = 356570.
APPEND DATA.
DATA-P = 268867.
APPEND DATA.
DATA-P = 36790.
APPEND DATA.
DATA-P = 125680.
APPEND DATA.
DATA-P = 178893.
APPEND DATA.
DATA-P = 333150.
APPEND DATA.
DATA-P = 373570.
APPEND DATA.
DATA-P = 168867.
APPEND DATA.
DATA-P = 226790.
APPEND DATA.
DATA-P = 278940.
APPEND DATA.
DATA-P = 177784.
APPEND DATA.
DATA-P = 234150.
APPEND DATA.
DATA-P = 296570.
APPEND DATA.
DATA-P = 233867.
APPEND DATA.
DATA-P = 16790.
APPEND DATA.
DATA-P = 125590.
APPEND DATA.
DATA-P = 208760.
APPEND DATA.
DATA-P = 113150.
APPEND DATA.
DATA-P = 388570.
APPEND DATA.
DATA-P = 565867.
APPEND DATA.
DATA-P = 211790.
APPEND DATA.
DATA-P = 277480.
APPEND DATA.
DATA-P = 277489.
APPEND DATA.
DATA-P = 53470.
APPEND DATA.
DATA-P = 321560.
APPEND DATA.
DATA-P = 452456.
APPEND DATA.
DATA-P = 174695.
APPEND DATA.
DATA-P = 277590.
APPEND DATA.
DATA-P = 177490.
APPEND DATA.
DATA-P = 153470.
APPEND DATA.
DATA-P = 467560.
APPEND DATA.
DATA-P = 222456.
APPEND DATA.
DATA-P = 198695.
APPEND DATA.
DATA-P = 99470.
APPEND DATA.
DATA-P = 100340.
APPEND DATA.
DATA-P = 11470.
APPEND DATA.
DATA-P = 323560.
APPEND DATA.
DATA-P = 434456.
APPEND DATA.
DATA-P = 224695.
APPEND DATA.
DATA-P = 277490.
APPEND DATA.
DATA-P = 467890.
APPEND DATA.
DATA-P = 953470.
APPEND DATA.
DATA-P = 67560.
APPEND DATA.
DATA-P = 298456.
APPEND DATA.
DATA-P = 98695.
APPEND DATA.
DATA-P = 577900.
APPEND DATA.
DATA-P = 199490.
APPEND DATA.
DATA-P = 18470.
APPEND DATA.
DATA-P = 390560.
APPEND DATA.
DATA-P = 411456.
APPEND DATA.
DATA-P = 94695.
APPEND DATA.
DATA-P = 182000.
APPEND DATA.
DATA-P = 260570.
APPEND DATA.
DATA-P = 367356.
APPEND DATA.
DATA-P = 231850.
APPEND DATA.
DATA-P = 436645.
APPEND DATA.
DATA-P = 346650.
APPEND DATA.
DATA-P = 82500.
APPEND DATA.
DATA-P = 300560.
APPEND DATA.
DATA-P = 467109.
APPEND DATA.
DATA-P = 161850.
APPEND DATA.
DATA-P = 356470.
APPEND DATA.
DATA-P = 198840.
APPEND DATA.
DATA-P = 199000.
APPEND DATA.
DATA-P = 340570.
APPEND DATA.
DATA-P = 127356.
APPEND DATA.
DATA-P = 591850.
APPEND DATA.
DATA-P = 287460.
APPEND DATA.
DATA-P = 299770.
APPEND DATA.
DATA-P = 12500.
APPEND DATA.
DATA-P = 230560.
APPEND DATA.
DATA-P = 437109.
APPEND DATA.
DATA-P = 191850.
APPEND DATA.
DATA-P = 36780.
APPEND DATA.
DATA-P = 78789.
APPEND DATA.
DATA-P = 282000.
APPEND DATA.
DATA-P = 270570.
APPEND DATA.
DATA-P = 567356.
APPEND DATA.
DATA-P = 31850.
APPEND DATA.
DATA-P = 92410.
APPEND DATA.
DATA-P = 121350.
APPEND DATA.
DATA-P = 67356.
APPEND DATA.
DATA-P = 431891.
APPEND DATA.
ENDFORM. -
How to put drop down in table control ?
Hi All,
I m writing one module pool program to edit table.
I want dropdown to one field so that user can select the appropriate value. And also I want to save that record.
So how to get the dropdown list and after editing that record how to save that in the database?
Thanx in advance.
-UmeshHi Umesh,
Please check this demo program RSDEMO_TABLE_CONTROL on how to add drop down list in table control. Also check this program DEMO_DYNPRO_TABCONT_LOOP_AT as well.
To save to database you can code something like this in PAI.
MODULE USER_COMMAND_0100 INPUT.
SAVE_OK = OK_CODE.
CLEAR OK_CODE.
CASE SAVE_OK.
WHEN 'SAVE'.
MODIFY <database table> FROM TABLE <table control>.
IF SY-SUBRC = 0.
ELSE.
ENDIF.
WHEN OTHERS.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
Hope this will help.
Regards,
Ferry Lianto
Maybe you are looking for
-
Is there a way to remove the GNome border for Firefox in Fedora 20 (gnome desktop)
Hi I have Fedora 20 with Gnome 3 desktop. The Firefox 31.0 has a bar above the tabs where it displays a bar and it shows the page title. Is there any way to remove it as it uses some space and I hate it. Is there any way to hide it or remove it. I ha
-
Is there a way to force which wifi network and proxy clients connect to from WGM?
is there a way to force which wifi network and proxy clients connect to from WGM?
-
after updating to the latest operating system on my iPhone 5s, often my screen goes blank and I am unable to unlock my phone. The phone becomes completely non responsive . Since I have the soft touch home button enabled I will either call Siri and as
-
Is it possible to float Master Slide objects above all slide content?
I would like to have text on my master slide to always show above content on each individual slides? I just started using Keynote, so I'm kind of a beginner, although I've know how to do this in something like inDesign. Obviously Keynote is not a des
-
Lightroom 5.6 don't see Canon 7d raw files
I use a Canon 7D. I've got Lightroom 5.6. When I try to import files from the 7D to LR, I can see only movies and JPG files but not the raw file (CR2). What can I do? Thanks