Settlement Receiver Value not Saved in Table Control Program
Hi,
I have Table control program regarding to Equipment Log, where in output it show the Equipment details with Account assignment category, General settlement receiver, Shift Hours, Work Hours, Idle Hrs, Maint. Hrs., Production Hours etc...
In report, we have a formula i.e.
Shift Hrs. = Work Hours + Idle Hrs + Maint. Hrs. + Production Hours.
and all those fields are linked to each other.
If we want that Work Hours should be 0, then msg showing - Working Hrs. should be entered. , means without enter Working Hrs. value we cann't save it.
Now we removed the link of Working Hrs to others, means if we insert value 0 of Working Hrs., no msg showing. BUT Problem is this after remove this link, General settlement receiver value should not be saved.
We want Work Hrs. as 0 value and General settlement receiver value must not be BLANK. It should be Saved.
Plz guide..
hi
write a if statement after the Shift Hrs. = Work Hours + Idle Hrs + Maint. Hrs. + Production Hours.
if work hours = 0, message i000 with 'Working Hrs. should be entered'.
else ,write:/ shift hrs.end if. try to create a button for save when you click data will be saved or create a subrountine perform shift hrs than use if loop and select form end form inside keep Shift Hrs. = Work Hours + Idle Hrs + Maint. Hrs. + Production Hours.
thanking you
Similar Messages
-
Storage location Data is not saving in table MARD using BAPI method.
Hi Experts,
TABLES: T001L, "Storage Locations
MARA, "General Material Data
MAKT, "Material Descriptions
MBEW, "Material Valuation
MARC, "Plant Data for Material
MARD. "Storage Location Data for Mate
DATA: BAPI_HEAD LIKE BAPIMATHEAD, "MATERIAL
BAPI_MAKT LIKE BAPI_MAKT, "Material Description
BAPI_MARA1 LIKE BAPI_MARA, "Client Data
BAPI_MARAX LIKE BAPI_MARAX,
BAPI_MARC1 LIKE BAPI_MARC, "Plant View
BAPI_MARCX LIKE BAPI_MARCX,
BAPI_MBEW1 LIKE BAPI_MBEW, "Accounting View
BAPI_MBEWX LIKE BAPI_MBEWX,
BAPI_MARD1 LIKE BAPI_MARD, "Storage location
BAPI_MARDX LIKE BAPI_MARDX,
BAPI_RETURN LIKE BAPIRET2.
DATA: BEGIN OF INT_MAKT OCCURS 100.
INCLUDE STRUCTURE BAPI_MAKT.
DATA: END OF INT_MAKT.
DATA: BEGIN OF INT_MAT OCCURS 100,
WERKS(4), "Plant
LGORT(4), "Storage location
MTART(4), "Material type
MATNR(18), "Material number
MAKTX(40), "Material description
MATKL(9) , "Material group
MBRSH(1), "Industry sector
MEINS(3), "Base unit of measure
GEWEI(3), "Weight Unit
SPART(2), "Division
EKGRP(3), "Purchasing group
VPRSV(1), "Price control indicator
STPRS(12), "Standard price
PEINH(3), "Price unit
SPRAS(2), "Language key
BKLAS(4), "VALUATION CLASS
VERPR TYPE VERPR_BAPI, "MOVING PRICE
BWTTY(1), "Valuation Catogory
MLAST(1), "Price determination
MLMAA(1), "Material Ledger
EKLAS(4), "Valuation Class for sales order stock
QKLAS(4), "Valuation Class for Project Stock
ZKPRS TYPE DZKPRS, "Future price
ZKDAT TYPE DZKDAT, "Valid From Date
BWPRS TYPE BWPRS, "Tax price 1
BWPS1 TYPE BWPS1, "Tax price 2
VJBWS TYPE VJBWS, "Tax price 3
ABWKZ TYPE ABWKZ, "Devaluatin indicator
BWPRH TYPE BWPRH, "Commercial price 1
BWPH1 TYPE BWPH1, "Commercial price 2
VJBWH TYPE VJBWH, "Commercial Price 3
XLIFO(1), "LIFO/FIFO revelant
MYPOL(4), "Pool no for LIFO
MMSTA(2), "Plant specific material status
AUSME TYPE AUSME, "Unit of issue
QMATA(6), "Material Authorization group
RBNRM(9), "Catalog Profile
WEBAZ TYPE WEBAZ, "Goods reciept processing time in days
PRFRQ TYPE PRFRQ, "Recurring Insepction
SSQSS(8), "QM Control key
QZGTP(4), "Certificate Type
QSSYS(4), "Required QM system for vendor
END OF INT_MAT.
DATA: V_MATNR TYPE MARA-MATNR.
SELECT-OPTIONS:
PLANT FOR MARC-WERKS OBLIGATORY MEMORY ID PLT,
S_LGORT FOR MARD-LGORT MEMORY ID STL,
MATERIAL FOR MARA-MATNR MEMORY ID MAT,
MATLTYPE FOR MARA-MTART MEMORY ID MTY,
DIVISION FOR MARA-SPART MEMORY ID DIV.
PARAMETERS: F_FILE LIKE RLGRAP-FILENAME
DEFAULT 'C:\DATA\ZMATERIAL.XLS' MEMORY ID F_FILE,
GETDATA AS CHECKBOX, "Tick to download materials data to local harddisk
UPDDATA AS CHECKBOX. "Tick to update date to Materials Master
IF GETDATA = 'X'.
PERFORM DOWNLOAD_DATA.
PERFORM DOWNLOAD_FILE.
ENDIF.
IF UPDDATA = 'X'.
PERFORM UPLOAD_FILE.
PERFORM UPDATE_MM.
ENDIF.
FORM DOWNLOAD_DATA.
SELECT * FROM MARC WHERE LVORM EQ ' '
AND WERKS IN PLANT
AND MATNR IN MATERIAL.
CLEAR MARA.
SELECT SINGLE * FROM MARA WHERE MATNR = MARC-MATNR.
CHECK MATLTYPE.
CHECK DIVISION.
CLEAR MBEW.
SELECT SINGLE * FROM MBEW WHERE MATNR = MARC-MATNR
AND BWKEY = MARC-WERKS.
CLEAR MAKT.
SELECT SINGLE * FROM MAKT WHERE SPRAS = 'EN'
AND MATNR = MARC-MATNR.
CLEAR MARD.
SELECT SINGLE * FROM MARD WHERE WERKS IN PLANT
AND LGORT IN S_LGORT.
WRITE:/ MARC-WERKS, "Plant
MARD-LGORT, "Storage location
MARA-MTART, "Material type
MARA-MATNR, "Material number
MARA-MATKL, "Material group
MARA-MBRSH, "Industry sector
MARA-MEINS, "Base unit of measure
MARA-GEWEI, "Weight Unit
MARA-SPART, "Division
MARC-EKGRP, "Purchasing group
MBEW-VPRSV, "Price control indicator
MBEW-STPRS, "Standard price
MBEW-PEINH, "Price unit
MBEW-BKLAS, "VALUE CLASS
MAKT-SPRAS, "Language key
MBEW-BKLAS, "Valuation Class
MBEW-VERPR, "Moving price
MAKT-MAKTX, "Material description
MBEW-BWTTY, "Valutaion Catogorey
MBEW-MLAST, "Price Determination
MBEW-MLMAA, "Material Ledger
MBEW-EKLAS, "Valuation class for Sales order stock
MBEW-QKLAS, "Valutaion Class for Project Stock
MBEW-ZKPRS, "Future Price
MBEW-ZKDAT, "Valid From Date
MBEW-BWPRS, "Tax price 1
MBEW-BWPS1, "Tax price 2
MBEW-VJBWS, "Tax price 3
MBEW-ABWKZ, "Devaluatin indicator
MBEW-BWPRH, "Commercial price 1
MBEW-BWPH1, "Commercial price 2
MBEW-VJBWH, "Commercial Price 3
MBEW-XLIFO, "LIFO/FIFO revelant
MBEW-MYPOL, "Pool no for LIFO
MARC-MMSTA, "Plant specific material status
MARC-AUSME, "Unit of issue
MARC-QMATA, "Material Authorization group
MARA-RBNRM, "Catalog Profile
MARC-WEBAZ, "Goods reciept processing time in days
MARC-PRFRQ, "Recurring Insepction
MARC-SSQSS, "QM Control key
MARC-QZGTP, "Certificate Type
MARC-QSSYS. "Required QM system for vendor
INT_MAT-WERKS = MARC-WERKS. "Plant
INT_MAT-LGORT = MARD-LGORT. "Storage Location
INT_MAT-MTART = MARA-MTART. "Material type
INT_MAT-MATNR = MARA-MATNR. "Material number
INT_MAT-MAKTX = MAKT-MAKTX. "Material description
INT_MAT-MATKL = MARA-MATKL. "Material group
INT_MAT-MBRSH = MARA-MBRSH. "Industry sector
INT_MAT-MEINS = MARA-MEINS. "Base unit of measure
INT_MAT-GEWEI = MARA-GEWEI. "Weight Unit
INT_MAT-SPART = MARA-SPART. "Division
INT_MAT-EKGRP = MARC-EKGRP. "Purchasing group
INT_MAT-VPRSV = MBEW-VPRSV. "Price control indicator
INT_MAT-STPRS = MBEW-STPRS. "Standard price
INT_MAT-PEINH = MBEW-PEINH. "Price unit
INT_MAT-SPRAS = MAKT-SPRAS. "Language key
INT_MAT-BKLAS = MBEW-BKLAS. "VALVATION CLASS
INT_MAT-VERPR = MBEW-VERPR. "MOVING price
INT_MAT-BWTTY = MBEW-BWTTY. "Valutaion Catogorey
INT_MAT-MLAST = MBEW-MLAST. "Price Determination
INT_MAT-MLMAA = MBEW-MLMAA. "Material Ledger
INT_MAT-EKLAS = MBEW-EKLAS. "Valuation class forS.O Stock
INT_MAT-QKLAS = MBEW-QKLAS. "Valutaion Class for Project
INT_MAT-ZKPRS = MBEW-ZKPRS. "Future Price
INT_MAT-ZKDAT = MBEW-ZKDAT. "Valid From Date
INT_MAT-BWPRS = MBEW-BWPRS. "Tax price 1
INT_MAT-BWPS1 = MBEW-BWPS1. "Tax price 2
INT_MAT-VJBWS = MBEW-VJBWS. "Tax price 3
INT_MAT-ABWKZ = MBEW-ABWKZ. "Devaluatin indicator
INT_MAT-BWPRH = MBEW-BWPRH. "Commercial price 1
INT_MAT-BWPH1 = MBEW-BWPH1. "Commercial price 2
INT_MAT-VJBWH = MBEW-VJBWH. "Commercial Price 3
INT_MAT-XLIFO = MBEW-XLIFO. "LIFO/FIFO revelant
INT_MAT-MYPOL = MBEW-MYPOL. "Pool no for LIFO
INT_MAT-MMSTA = MARC-MMSTA. "Plant specific material
INT_MAT-AUSME = MARC-AUSME. "Unit of issue
INT_MAT-QMATA = MARC-QMATA. "Material Authorization group
INT_MAT-RBNRM = MARA-RBNRM. "Catalog Profile
INT_MAT-WEBAZ = MARC-WEBAZ. "Goods reciept processing
INT_MAT-PRFRQ = MARC-PRFRQ. "Recurring Insepction
INT_MAT-SSQSS = MARC-SSQSS. "QM Control key
INT_MAT-QZGTP = MARC-QZGTP. "Certificate Type
INT_MAT-QSSYS = MARC-QSSYS. "Required QM system for
APPEND INT_MAT.
CLEAR INT_MAT.
ENDSELECT.
ENDFORM.
FORM DOWNLOAD_FILE.
call function 'WS_DOWNLOAD'
EXPORTING
FILENAME = F_FILE
FILETYPE = 'DAT'
FILETYPE = 'WK1'
tables
data_tab = INT_MAT
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
OTHERS = 10.
IF SY-SUBRC = 0.
FORMAT COLOR COL_GROUP.
WRITE:/ 'Data Download Successfully to your local harddisk'.
SKIP.
ENDIF.
ENDFORM.
FORM UPLOAD_FILE.
call function 'WS_UPLOAD'
EXPORTING
FILENAME = F_FILE
FILETYPE = 'DAT'
FILETYPE = 'WK1'
tables
data_tab = INT_MAT
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_WRITE_ERROR = 2
INVALID_FILESIZE = 3
INVALID_TYPE = 4
NO_BATCH = 5
UNKNOWN_ERROR = 6
INVALID_TABLE_WIDTH = 7
GUI_REFUSE_FILETRANSFER = 8
CUSTOMER_ERROR = 9
OTHERS = 10.
IF SY-SUBRC = 0.
FORMAT COLOR COL_GROUP.
WRITE:/ 'Data Upload Successfully from your local harddisk'.
SKIP.
ENDIF.
ENDFORM.
FORM UPDATE_MM.
LOOP AT INT_MAT.
CALL FUNCTION 'CONVERSION_EXIT_MATN1_INPUT'
EXPORTING
INPUT = INT_MAT-MATNR
IMPORTING
OUTPUT = INT_MAT-MATNR
EXCEPTIONS
LENGTH_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.
Header
BAPI_HEAD-MATERIAL = INT_MAT-MATNR.
BAPI_HEAD-IND_SECTOR = INT_MAT-MBRSH.
BAPI_HEAD-MATL_TYPE = INT_MAT-MTART.
BAPI_HEAD-BASIC_VIEW = 'X'.
BAPI_HEAD-PURCHASE_VIEW = 'X'.
BAPI_HEAD-ACCOUNT_VIEW = 'X'.
Material Description
REFRESH INT_MAKT.
INT_MAKT-LANGU = INT_MAT-SPRAS.
INT_MAKT-MATL_DESC = INT_MAT-MAKTX.
APPEND INT_MAKT.
Client Data - Basic
BAPI_MARA1-MATL_GROUP = INT_MAT-MATKL.
BAPI_MARA1-BASE_UOM = INT_MAT-MEINS.
BAPI_MARA1-UNIT_OF_WT = INT_MAT-GEWEI.
BAPI_MARA1-DIVISION = INT_MAT-SPART.
BAPI_MARAX-MATL_GROUP = 'X'.
BAPI_MARAX-BASE_UOM = 'X'.
BAPI_MARAX-UNIT_OF_WT = 'X'.
BAPI_MARAX-DIVISION = 'X'.
Plant - Purchasing
BAPI_MARC1-PLANT = INT_MAT-WERKS.
BAPI_MARC1-PUR_GROUP = INT_MAT-EKGRP.
BAPI_MARC1-PUR_STATUS = INT_MAT-MMSTA.
BAPI_MARC1-ISSUE_UNIT = INT_MAT-AUSME.
BAPI_MARC1-QM_AUTHGRP = INT_MAT-QMATA.
BAPI_MARC1-GR_PR_TIME = INT_MAT-WEBAZ.
BAPI_MARC1-INSP_INT = INT_MAT-PRFRQ.
BAPI_MARC1-CTRL_KEY = INT_MAT-SSQSS.
BAPI_MARC1-CERT_TYPE = INT_MAT-QZGTP.
BAPI_MARC1-QM_RGMTS = INT_MAT-QSSYS.
BAPI_MARCX-PLANT = INT_MAT-WERKS.
BAPI_MARCX-PUR_GROUP = 'X'.
BAPI_MARCX-PUR_STATUS = 'X'.
BAPI_MARCX-ISSUE_UNIT = 'X'.
BAPI_MARCX-QM_AUTHGRP = 'X'.
BAPI_MARCX-GR_PR_TIME = 'X'.
BAPI_MARCX-INSP_INT = 'X'.
BAPI_MARCX-CTRL_KEY = 'X'.
BAPI_MARCX-CERT_TYPE = 'X'.
BAPI_MARCX-QM_RGMTS = 'X'.
Accounting 1
BAPI_MBEW1-VAL_AREA = INT_MAT-WERKS.
BAPI_MBEW1-PRICE_CTRL = INT_MAT-VPRSV.
BAPI_MBEW1-STD_PRICE = INT_MAT-STPRS.
BAPI_MBEW1-PRICE_UNIT = INT_MAT-PEINH.
BAPI_MBEW1-MOVING_PR = INT_MAT-VERPR.
BAPI_MBEW1-VAL_CLASS = INT_MAT-BKLAS.
BAPI_MBEW1-VAL_CAT = INT_MAT-BWTTY.
BAPI_MBEW1-ML_SETTLE = INT_MAT-MLAST.
BAPI_MBEW1-ML_ACTIVE = INT_MAT-MLMAA.
BAPI_MBEW1-VM_SO_STK = INT_MAT-EKLAS.
BAPI_MBEW1-VM_P_STOCK = INT_MAT-QKLAS.
BAPI_MBEW1-FUTURE_PR = INT_MAT-ZKPRS.
BAPI_MBEW1-VALID_FROM = INT_MAT-ZKDAT.
*ACCOUNTING 2
BAPI_MBEW1-TAXPRICE_1 = INT_MAT-BWPRS.
BAPI_MBEW1-TAXPRICE_2 = INT_MAT-BWPS1.
BAPI_MBEW1-TAXPRICE_3 = INT_MAT-VJBWS.
BAPI_MBEW1-DEVAL_IND = INT_MAT-ABWKZ.
BAPI_MBEW1-COMMPRICE1 = INT_MAT-BWPRH.
BAPI_MBEW1-COMMPRICE2 = INT_MAT-BWPH1.
BAPI_MBEW1-COMMPRICE3 = INT_MAT-VJBWH.
BAPI_MBEW1-LIFO_FIFO = INT_MAT-XLIFO.
BAPI_MBEW1-POOLNUMBER = INT_MAT-MYPOL.
BAPI_MBEWX-VAL_AREA = INT_MAT-WERKS.
BAPI_MBEWX-PRICE_CTRL = 'X'.
BAPI_MBEWX-STD_PRICE = 'X'.
BAPI_MBEWX-PRICE_UNIT = 'X'.
BAPI_MBEWX-MOVING_PR = 'X'.
BAPI_MBEWX-VAL_CLASS = 'X'.
BAPI_MBEWX-VAL_CAT = 'x'.
BAPI_MBEWX-ML_SETTLE = 'X'.
BAPI_MBEWX-ML_ACTIVE = 'X'.
BAPI_MBEWX-VM_SO_STK = 'X'.
BAPI_MBEWX-VM_P_STOCK = 'X'.
BAPI_MBEWX-FUTURE_PR = 'X'.
BAPI_MBEWX-VALID_FROM = 'X'.
BAPI_MBEWX-TAXPRICE_1 = 'X'.
BAPI_MBEWX-TAXPRICE_2 = 'X'.
BAPI_MBEWX-TAXPRICE_3 = 'X'.
BAPI_MBEWX-DEVAL_IND = 'X'.
BAPI_MBEWX-COMMPRICE1 = 'X'.
BAPI_MBEWX-COMMPRICE2 = 'X'.
BAPI_MBEWX-COMMPRICE3 = 'X'.
BAPI_MBEWX-LIFO_FIFO = 'X'.
BAPI_MBEWX-POOLNUMBER = 'X'.
*Storage Locations
BAPI_MARD1-PLANT = INT_MAT-WERKS.
BAPI_MARD1-STGE_LOC = INT_MAT-LGORT.
BAPI_MARDX-PLANT = INT_MAT-WERKS.
BAPI_MARDX-STGE_LOC = INT_MAT-LGORT.
WRITE:/ BAPI_HEAD-MATERIAL, BAPI_MARC1-PLANT ,BAPI_MARD1-STGE_LOC.
call function 'BAPI_MATERIAL_SAVEDATA'
exporting
HEADDATA = BAPI_HEAD
CLIENTDATA = BAPI_MARA1
CLIENTDATAX = BAPI_MARAX
PLANTDATA = BAPI_MARC1
PLANTDATAX = BAPI_MARCX
FORECASTPARAMETERS =
FORECASTPARAMETERSX =
PLANNINGDATA =
PLANNINGDATAX =
<b> STORAGELOCATIONDATA = BAPI_MARD1
STORAGELOCATIONDATAX = BAPI_MARDX</b>
VALUATIONDATA = BAPI_MBEW1
VALUATIONDATAX = BAPI_MBEWX
WAREHOUSENUMBERDATA =
WAREHOUSENUMBERDATAX =
SALESDATA = BAPI_MVKE1
SALESDATAX = BAPI_MVKEX
STORAGETYPEDATA =
STORAGETYPEDATAX =
IMPORTING
RETURN = BAPI_RETURN
TABLES
MATERIALDESCRIPTION = INT_MAKT
UNITSOFMEASURE =
UNITSOFMEASUREX =
INTERNATIONALARTNOS =
MATERIALLONGTEXT =
TAXCLASSIFICATIONS =
RETURNMESSAGES =
PRTDATA =
PRTDATAX =
EXTENSIONIN =
EXTENSIONINX =
IF BAPI_RETURN-TYPE = 'E'.
WRITE:/ 'Error Message ', BAPI_RETURN-MESSAGE.
ENDIF.
ENDLOOP.
ENDFORM.
<b>i am using this bapi method to copy materials from one plant to another plant using storage location so here what happenig is everyting is going correct but only the storage location data is not saving in table mard so any body faced this kind of problem please tell me.... and one more dbt
bapi_marcx-pur_status = 'x' what is 'X' here??? is that mandatory field or required field ???
points wil be rewarded.
reagrds,
sunil k airam.In the HEADDATA structure, STORAGE_VIEW should also be set as 'X' , in order to update storage location data
for example
BAPI_HEAD-STORAGE_VIEW = 'X'.
Also, PUR_STATUS corresponds to field MARA-MSTAE whose domain has value table T141, therefore values in the field are checked against T141
Edited by: Harris Veziris on May 12, 2008 12:37 PM -
Dashboard Prompt using values not from the table
Hi,
I have a requirement from the client to design a dashboard report like the following.
Dashboard prompt will have 4 filters, three filters come from the table, but the fourth filter will have 3 values not from the table. The fourth filter will have values like "Report with Sales Amount", "Report with Purchase Amount", "Report with both Purchase and Sales". I have three different Table reports designed for each of the fourth filter choices. But how do I implement it, both in the dashboard prompt as well as navigating to the rite report based on the selection.
Is my approach correct.
Thanks for your time and help.The fourth prompt where you have "Report with Sales Amount", "Report with Purchase Amount", "Report with both Purchase and Sales" you pull a dummy column into the prompt and write a sql in show.
would be something like
SELECT Case when 1=0 then "Dimension- Customer"."Cust Name" else 'Report with Sales Amount' end FROM Sales UNION SELECT Case when 1=0 then "Dimension- Customer"."Cust Name" else 'Report with Purchase Amount' end FROM Sales
and in the prompt set a presentation variable say var_criteria
Now create report2 for with a some randomn column and another column will have the values that you want to display for example 'Report with Sales Amount'
Create a filter on the 2nd column and reference the presentation variable var_criteria and default it to 'Report with Sales Amount'
On the dashboard page in the section place the report and enable guided navigatoin by selecting report 2.
Please let me know if you have any questions.
thanks,
deep -
Vertical Scroll bar does not appear in table control
Hi ,
I have a table control with both vertical and horizontal scroll bars.
The data which comes is always more than 50 and the visible line size is 8.The vertical scroll bar
does not appear at times..but if i run the program again, it appears..
Sometimes it appears and sometimes no vertical scroll bar comes thought the data is more than the visible lines.
Any suggestions ? why is this happening?
Regards,
SharadhaYou have inserted data in the internal table and not "informed" the table control
In the PBO, use a statement like
DESCRIBE TABLE <itab> LINES <control>-lines.
Regards -
Scroll Vertically should not possible in Table Control
Hi,
In Screen Painter (SE51), we created a Table control program. It's working fine but we want that User cann't able to scroll Vertically.
In Table Control Properties, there is a option for Fix Column. From here, we can fix the columns but we want to Fix the Rows.
Please guide...Hi,
In the PBO of the subscreen. Assign some value to the tablecontrol-lines field as below;
Describe table itab_for_tablecontrol lines tablecontrol-lines.
OR
Tablecontrol_lines = 10.
Regards,
Karthik D -
How do i display input values (POV) for a table control field
Hi guyz !
How do i display input values (POV) for a field in table control,
i mean when user presses F4 on a table control field.
Please help.
Thanks
jahanPROCESS ON VALUE-REQUEST( F4 ) statement
Code to demonstrate how to perform a manual value help(F4) on a particular field using the PROCESS ON VALUE-REQUEST statement and how to return values back to a table control on the screen. For standard screen fields simply move the value to the appropriate screen field name.
* Screen flow logic........
PROCESS BEFORE OUTPUT.
*MODULE PBO_MODULE.
PROCESS AFTER INPUT.
*MODULE PAI_MODULE.
PROCESS ON VALUE-REQUEST. "F4
FIELD EKPO-EBELP MODULE help_ekpo.
MODULE help_ekpo INPUT.
**Transport values to table dynpro/screen table control
DATA: l_stepl LIKE sy-stepl,
l_indx LIKE sy-stepl.
DATA: dynpfields LIKE dynpread OCCURS 5 WITH HEADER LINE.
* Adjust for scroling within table control
CALL FUNCTION 'DYNP_GET_STEPL'
IMPORTING
povstepl = l_stepl
EXCEPTIONS
stepl_not_found = 0
OTHERS = 0.
l_indx = tc_ekpotable-top_line + l_stepl - 1.
"tc_ekpotable should already have been declared
REFRESH dynpfields.
CLEAR dynpfields.
dynpfields-fieldname = 'EKPO-EBELN'.
dynpfields-fieldvalue = '00010' "wa_ekpo-ebeln.
dynpfields-stepl = l_stepl.
APPEND dynpfields.
dynpfields-fieldname = 'EKPO-EBELP'.
dynpfields-fieldvalue = '00020' "wa_ekpo-ebelp.
dynpfields-stepl = l_stepl.
APPEND dynpfields.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = 'SAPLZZ_EKKO' "Program name
dynumb = '0100' "Screen number
TABLES
dynpfields = dynpfields
EXCEPTIONS
OTHERS = 0.
ENDMODULE. " help_ekpo INPUT
reward points if it is usefull ..
Girish -
Table type not defined for table control "T_CONTROL" (Custom table)
Hi All,
I m facing a problem in ITS mobile service.
The Table control designed by me in R/3 (Module pool program) is
not getting displayed in ITS mobile page.
It is giving me an error "Table type not defined for table control "T_CONTROL" (Custom table) ".
Can you please let me how this issue can be resolved.
With Regards,
MaheshCONTROLS: table_ctr TYPE TABLEVIEW USING SCREEN '0010'.
try using this....
Regards
Vasu -
Table control program for updating database table
Does anybody have a sample code for a table control program which can insert/delete/update a database table?
I mean like on the output on table control, if the user insert/delete/update the records, the corresponding records will be updated in database table also.
Appreciate your input.
Thanks.hi nuren,
TABLES: kna1,knbk.
DATA: v_kunnr LIKE kna1-kunnr.
DATA: v_check TYPE c.
DATA: BEGIN OF it_knbk OCCURS 0,
banks LIKE knbk-banks,
bankl LIKE knbk-bankl,
bankn LIKE knbk-bankn,
bkont LIKE knbk-bkont,
koinh LIKE knbk-koinh,
chk TYPE c,
END OF it_knbk.
DATA: v_ucomm TYPE sy-ucomm,
v_dynnr TYPE sy-dynnr.
DATA: l_index TYPE sy-index.
data: count type i.
CONTROLS: tc1 TYPE TABLEVIEW USING SCREEN 0200.
*& Module STATUS_0100 OUTPUT
text
MODULE status_0100 OUTPUT.
SET PF-STATUS 'ABC'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE user_command_0100 INPUT.
v_ucomm = sy-ucomm.
CASE v_ucomm.
WHEN 'DISP' OR 'CHNG'.
IF v_kunnr <> space.
SELECT banks
bankl
bankn
bkont
koinh
FROM knbk
INTO TABLE it_knbk
WHERE kunnr = v_kunnr.
LEAVE TO SCREEN '0200'.
ENDIF.
WHEN 'BACK'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Module MOD_KUNNR INPUT
text
MODULE mod_kunnr INPUT.
IF NOT v_kunnr IS INITIAL.
SELECT SINGLE
kunnr
FROM kna1
INTO v_kunnr
WHERE kunnr = v_kunnr.
IF sy-subrc <> 0.
MESSAGE e000(zz) WITH 'INCORRECT CUSTOMER NUMBER'.
ENDIF.
ENDIF.
IF v_kunnr IS INITIAL.
MESSAGE e000(zz) WITH 'PLEASE ENTER A VALUE'.
ENDIF.
ENDMODULE. " MOD_KUNNR INPUT
*& Module STATUS_0200 OUTPUT
text
MODULE status_0200 OUTPUT.
SET PF-STATUS 'ABC1'.
SET TITLEBAR 'xxx'.
ENDMODULE. " STATUS_0200 OUTPUT
*& Module SCREENMOD OUTPUT
text
MODULE screenmod OUTPUT.
IF v_ucomm = 'DISP'.
LOOP AT SCREEN.
screen-input = 0.
MODIFY SCREEN.
ENDLOOP.
ELSE."if v_UCOMM = 'CHNG'.
LOOP AT SCREEN.
IF screen-group1 = 'G1'.
screen-input = 0.
ELSE.
screen-input = 1.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
endif.
if sy-ucomm = 'INSE'.
loop at screen.
IF ( tc1-current_line <> tc1-lines ).
screen-input = 0.
else.
screen-input = 1.
modify screen.
endif.
endloop.
endif.
ENDMODULE. " SCREENMOD OUTPUT
*& Module EXIT2 INPUT
text
MODULE exit2 INPUT.
LEAVE TO SCREEN 0.
ENDMODULE. " EXIT2 INPUT
*& Module modify INPUT
text
MODULE modify INPUT.
IF v_check = 'X'.
it_knbk-chk = 'X'.
MODIFY it_knbk index tc1-current_line.
ELSE.
CLEAR it_knbk-chk .
ENDIF.
ENDMODULE. " modify INPUT
*& Module USER_COMMAND_0200 INPUT
text
MODULE user_command_0200 INPUT.
v_ucomm = sy-ucomm.
CASE v_ucomm.
WHEN 'DELE'.
DELETE it_knbk where chk eq 'X'.
DESCRIBE TABLE it_knbk LINES tc1-lines.
WHEN 'INSE'.
CLEAR it_knbk.
APPEND it_knbk.
DESCRIBE TABLE it_knbk LINES tc1-lines.
WHEN 'LIST'.
LEAVE TO LIST-PROCESSING AND RETURN TO SCREEN '0200'.
WRITE 'Report'.
WHEN 'BACK'.
LEAVE TO SCREEN '0100'.
ENDCASE.
ENDMODULE. " USER_COMMAND_0200 INPUT
*& Module validate INPUT
text
module validate input.
IF IT_KNBK IS INITIAL.
MESSAGE E000(ZZ) WITH 'A BLANK LINE CANNOT BE SAVED'.
ENDIF.
endmodule. " validate INPUT -
Hi experts,
Please give me information about table control programming.
explain it with example.
Thanks & Regards,
Rajesh KumarHi Rajesh,
Lets say the table has more than 20 fields and at first shot there are say 15 screen fields and to enter the 16th field you have to press page down so in this case you have to have a control on table..
The below example would help you to analyse..
check the example...
*"Selection screen elements............................................
parameters:
p_file like rlgrap-filename.
*" Data declarations...................................................
* Work variables *
data w_file type string.
data wa(80) type c.
data : w_fname(20),
w_tabix(2) type n,
w_table(20),
w_index,
w_fkey(20),
w_ftype(20),
w_flen(20),
w_fdesc(20).
*" Internal table declarations.........................................
* Internal table to hold *
data:
begin of itab_fields occurs 0,
count,
fname(20),
fkey,
ftype(10),
flen(10),
fdesc(30),
end of itab_fields.
data:
begin of itab_header occurs 0,
dbcheck,
tname(20),
tdesc(40),
devclass,
maintain,
end of itab_header.
data t_data like standard table of wa .
data:
t_bdcdata like
standard table of bdcdata with header line.
data w_count type i.
* AT SELECTION-SCREEN ON VALUE-REQUEST EVENT *
at selection-screen on value-request for p_file.
call function 'F4_FILENAME'
* EXPORTING
* PROGRAM_NAME = SYST-CPROG
* DYNPRO_NUMBER = SYST-DYNNR
* FIELD_NAME = ' '
importing
file_name = p_file
w_file = p_file.
* START-OF-SELECTION EVENT *
start-of-selection.
call function 'GUI_UPLOAD'
exporting
filename = w_file
filetype = 'ASC'
* HAS_FIELD_SEPARATOR = 'X'
* HEADER_LENGTH = 0
* READ_BY_LINE = 'X'
* DAT_MODE = ' '
* CODEPAGE = ' '
* IGNORE_CERR = ABAP_TRUE
* REPLACEMENT = '#'
* IMPORTING
* FILELENGTH =
* HEADER =
tables
data_tab = t_data
exceptions
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
invalid_type = 5
no_authority = 6
unknown_error = 7
bad_data_format = 8
header_not_allowed = 9
separator_not_allowed = 10
header_too_long = 11
unknown_dp_error = 12
access_denied = 13
dp_out_of_memory = 14
disk_full = 15
dp_timeout = 16
others = 17
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 at t_data into wa.
if wa+0(1) eq 'H'.
shift wa by 2 places left.
split wa at ',' into itab_header-dbcheck
itab_header-tname
itab_header-tdesc
itab_header-devclass
itab_header-maintain.
append itab_header.
clear itab_header.
add 1 to w_count.
else.
shift wa by 2 places left.
split wa at ',' into itab_fields-fname
itab_fields-fkey
itab_fields-ftype
itab_fields-flen
itab_fields-fdesc.
write w_count to itab_fields-count.
append itab_fields.
clear itab_fields.
endif.
endloop.
call function 'BDC_OPEN_GROUP'
exporting
client = sy-mandt
* DEST = FILLER8
group = 'PADMA'
* HOLDDATE = FILLER8
* KEEP = FILLER1
user = sy-uname
* RECORD = FILLER1
* PROG = SY-CPROG
* IMPORTING
* QID =
exceptions
client_invalid = 1
destination_invalid = 2
group_invalid = 3
group_is_locked = 4
holddate_invalid = 5
internal_error = 6
queue_error = 7
running = 8
system_lock_error = 9
user_invalid = 10
others = 11
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 at itab_header.
w_table = itab_header-tname.
w_index = sy-tabix.
refresh t_bdcdata.
perform populate_se11.
call function 'BDC_INSERT'
exporting
tcode = 'SE11'
* POST_LOCAL = NOVBLOCAL
* PRINTING = NOPRINT
* SIMUBATCH = ' '
* CTUPARAMS = ' '
tables
dynprotab = t_bdcdata
exceptions
internal_error = 1
not_open = 2
queue_error = 3
tcode_invalid = 4
printing_invalid = 5
posting_invalid = 6
others = 7
if sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
refresh t_bdcdata.
perform populate_se13.
call function 'BDC_INSERT'
exporting
tcode = 'SE13'
* POST_LOCAL = NOVBLOCAL
* PRINTING = NOPRINT
* SIMUBATCH = ' '
* CTUPARAMS = ' '
tables
dynprotab = t_bdcdata
exceptions
internal_error = 1
not_open = 2
queue_error = 3
tcode_invalid = 4
printing_invalid = 5
posting_invalid = 6
others = 7
if sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
refresh t_bdcdata.
perform activate.
call function 'BDC_INSERT'
exporting
tcode = 'SE11'
* POST_LOCAL = NOVBLOCAL
* PRINTING = NOPRINT
* SIMUBATCH = ' '
* CTUPARAMS = ' '
tables
dynprotab = t_bdcdata
exceptions
internal_error = 1
not_open = 2
queue_error = 3
tcode_invalid = 4
printing_invalid = 5
posting_invalid = 6
others = 7
if sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
endloop.
call function 'BDC_CLOSE_GROUP'
exceptions
not_open = 1
queue_error = 2
others = 3.
if sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif.
*& Form POPULATE_SE11
* This subroutine is used to populate SE11 transaction data *
* No interface parameters *
form populate_se11 .
perform bdc_dynpro using 'SAPMSRD0' '0102'.
perform bdc_field using 'BDC_CURSOR'
'RSRD1-TBMA_VAL'.
perform bdc_field using 'BDC_OKCODE'
'=ADD'.
perform bdc_field using 'RSRD1-TBMA'
itab_header-dbcheck.
perform bdc_field using 'RSRD1-TBMA_VAL'
itab_header-tname.
perform bdc_dynpro using 'SAPLSD41' '2200'.
perform bdc_field using 'BDC_OKCODE'
'=CHANGE_MAINTFLAG'.
perform bdc_field using 'DD02D-DDTEXT'
itab_header-tdesc.
perform bdc_field using 'BDC_CURSOR'
'DD02D-MAINFLAG'.
perform bdc_field using 'DD02D-CONTFLAG'
itab_header-devclass.
perform bdc_field using 'DD02D-MAINFLAG'
itab_header-maintain.
perform bdc_dynpro using 'SAPLSD41' '2200'.
perform bdc_field using 'BDC_OKCODE'
'=DEF'.
perform bdc_field using 'DD02D-CONTFLAG'
'A'.
perform bdc_field using 'DD02D-MAINFLAG'
'X'.
perform bdc_dynpro using 'SAPLSD41' '2200'.
perform bdc_field using 'BDC_OKCODE'
'=FTYP'.
w_tabix = 0.
loop at itab_fields where count eq w_index.
add 1 to w_tabix.
if w_tabix gt 13.
perform bdc_dynpro using 'SAPLSD41' '2200'.
perform bdc_field using 'BDC_CURSOR'
w_fname.
perform bdc_field using 'BDC_OKCODE'
'=P+'.
w_tabix = 2.
endif.
concatenate 'DD03P-FIELDNAME(' w_tabix ')' into w_fname.
concatenate 'DD03P-KEYFLAG(' w_tabix ')' into w_fkey.
concatenate 'DD03D-DATATYPE(' w_tabix ')' into w_ftype.
concatenate 'DD03P-LENG(' w_tabix ')' into w_flen.
concatenate 'DD03P-DDTEXT(' w_tabix ')' into w_fdesc.
perform bdc_dynpro using 'SAPLSD41' '2200'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using w_fname
itab_fields-fname.
perform bdc_field using w_fkey
itab_fields-fkey.
perform bdc_field using w_ftype
itab_fields-ftype.
perform bdc_field using w_flen
itab_fields-flen.
perform bdc_field using w_fdesc
itab_fields-fdesc.
endloop.
perform bdc_dynpro using 'SAPLSD41' '2200'.
perform bdc_field using 'BDC_OKCODE'
'=WB_SAVE'.
perform bdc_dynpro using 'SAPLSTRD' '0100'.
perform bdc_field using 'BDC_OKCODE'
'=ADD'.
perform bdc_field using 'KO007-L_DEVCLASS'
'Z1139'.
perform bdc_field using 'KO007-L_AUTHOR'
'SAPDEV02'.
perform bdc_dynpro using 'SAPLSTRD' '0300'.
perform bdc_field using 'BDC_OKCODE'
'=LOCK'.
perform bdc_field using 'KO008-TRKORR'
'TR1K900085'.
perform bdc_dynpro using 'SAPLSD41' '2200'.
perform bdc_field using 'BDC_CURSOR'
'DD03P-DDTEXT(03)'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.
perform bdc_dynpro using 'SAPMSRD0' '0102'.
perform bdc_field using 'BDC_CURSOR'
'RSRD1-TBMA_VAL'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.
endform. " POPULATE_SE11
*& Form POPULATE_SE13
* This subroutine is used to populate SE13 data *
* No interface parameters *
form populate_se13 .
perform bdc_dynpro using 'SAPMSEDS' '0010'.
perform bdc_field using 'DD09V-TABNAME'
w_table.
perform bdc_field using 'BDC_OKCODE'
'PFLG'.
perform bdc_dynpro using 'SAPMSEDS' '0050'.
perform bdc_field using 'BDC_OKCODE'
'=SICH'.
perform bdc_field using 'DD09V-TABART'
'APPL0'.
perform bdc_field using 'DD09V-TABKAT'
'0'.
perform bdc_field using 'ALLOWSTATE-NOT_ALLOWED'
'X'.
perform bdc_dynpro using 'SAPMSEDS' '0050'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.
perform bdc_field using 'DD09V-TABART'
'APPL0'.
perform bdc_field using 'DD09V-TABKAT'
'0'.
perform bdc_field using 'ALLOWSTATE-NOT_ALLOWED'
'X'.
perform bdc_field using 'BDC_OKCODE'
'=WB_BACK'.
perform bdc_dynpro using 'SAPMSEDS' '0050'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.
perform bdc_dynpro using 'SAPMSEDS' '0010'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.
endform. " POPULATE_SE13
*& Form ACTIVATE
* This subroutine is used to activate the table from SE11 *
* No interface parameters. *
form activate .
perform bdc_dynpro using 'SAPMSRD0' '0102'.
perform bdc_field using 'RSRD1-TBMA'
'X'.
perform bdc_field using 'RSRD1-TBMA_VAL'
w_table.
perform bdc_field using 'BDC_OKCODE'
'ACT'.
perform bdc_dynpro using 'SAPLSEWORKINGAREA' '0205'.
perform bdc_field using 'BDC_OKCODE'
'=WEIT'.
perform bdc_dynpro using 'SAPMSRD0' '0102'.
perform bdc_field using 'BDC_OKCODE'
'=BACK'.
endform. " ACTIVATE
*& Form bdc_dynpro
* This subroutine is used to populate the screen information *
* -->prgname Program name
* -->screenno Screen number
form bdc_dynpro using value(prgname)
value(screenno).
clear t_bdcdata.
t_bdcdata-program = prgname.
t_bdcdata-dynpro = screenno.
t_bdcdata-dynbegin = 'X'.
append t_bdcdata.
endform. " bdc_dynpro
*& Form bdc_field
* This subroutine is used to populate the field values *
* -->fnam Field name *
* -->fval Field value *
form bdc_field using value(fnam)
value(fval).
clear t_bdcdata.
t_bdcdata-fnam = fnam.
t_bdcdata-fval = fval.
append t_bdcdata.
endform. " bdc_field
******flat file ******
**H,X,Z1139_REC_30,Recorded Table,A,X*
**I,mandt,X,clnt,3,Client*
**I,ENO,X,char,6,Employee Number*
**I,ENAME, ,Char,20,Employee Name*
**I,deptno, ,char,10,Department Number*
**I,salary, ,int4, ,Salary*
**I,deptno,X,char,10,Department Number*
**I,dname, ,char,20,Department Name*
**I,Locate, ,char,20,Location*
**I,deptno,X,char,10,Department Number*
**I,dname, ,char,20,Department Name*
**I,Locate, ,char,20,Location*
**I,deptno,X,char,10,Department Number*
**I,dname, ,char,20,Department Name*
**I,Locate, ,char,20,Location*
**I,deptno,X,char,10,Department Number*
**I,dname, ,char,20,Department Name*
**I,Locate, ,char,20,Location*
**I,deptno,X,char,10,Department Number*
**I,dname, ,char,20,Department Name*
**I,Locate, ,char,20,Location*
**H,X,Z1139_REC_31,Recorded Table,A,X*
**I,mandt,X,clnt,3,Client*
**I,deptno,X,char,10,Department Number*
**I,dname, ,char,20,Department Name*
**I,Locate, ,char,20,Location*
hope the above example would help you and solve your issue.
Regards
Narin Nandivada -
Not setting selected value in column of table control
Hi,
I have MATNR field in table control.
In PAI code is as follow.
PROCESS AFTER INPUT.
MODULE CANCEL AT EXIT-COMMAND.
MODULE VALIDATE.
LOOP WITH CONTROL TC_FORMV.
FIELD /SISLEMCU/CNVADTL-MATNR SELECT *
FROM /SISLEMCU/CNVA01
WHERE WERKS = TXT_PLANT
AND CHARG =
/SISLEMCU/CNVADTL-CHARG.
INTO /SISLEMCU/CNVADTL.
MODULE read_table_control.
ENDLOOP.
MODULE USER_COMMAND_0500.
When i take the help in MATNR column the above query works fine but when i select the entry from help MATNR is not gets set in column in table control.
Plz help me regarding this.
Thankx in adv.
Regards,
Deepak.When you select a value, PBO as well as PAI gets triggered. When PAI gets triggered, your query gets executed which gives sy-subrc <> 0 and due to this it might not filling the data selected..
-
Problem while saveing in Table Control.
Hi
I am geting error while saving data in table control.
This table contol is pop up window at end of screen .
user enter qty & uom in TC..
Error i am getting is...
Field symbol has not been assigned.
Error analysis
The system tried to access an anasigned field symbol (data segment
number 32772).
The field symbol is no longer assigned, because a Unicode program
previously tried to set the field symbol using an ASSIGN statement with
an offset/length declaration. The memory addressed in this offset/length
declaration, however, no longer lay within the valid range.
Information on where terminated
The termination occurred in the ABAP program "SAPLOMCV" in
"CONVERSION_EXIT_MATN1_INPUT".
i Have coded like this..
MODULE USER_COMMAND_0112 INPUT.
CASE OKCODE.
WHEN 'BACK' or 'CANCEL'.
SET SCREEN 0.
This iti is contain data which diplay in TC
when 'DISPLAY'.
LOOP AT ITI.
read table iti with key ingr_code = iti-ingr_code
ingr_desc = iti-ingr_desc.
wka1-ingr_code = iti-ingr_code.
wka1-ingr_desc = iti-ingr_desc.
wka1-conc = iti-conc.
wka1-quantity = iti-quantity.
wka1-uom = iti-uom.
append wka1 to itf.
ENDLOOP.
WHEN 'SAV'.
loop at itf where check = 'x' .
update zacg_ns
set ingr_code = itf-ingr_code
col_name = itf-ingr_desc
conc = itf-conc
quantity = itf-quantity
UOM = itf-UOM
ru = itf-ru
where ingr_code = itf-ingr_code
and col_name = itf-ingr_desc.
zacg_ns-ingr_code = itf-ingr_code.
zacg_ns-col_name = itf-ingr_desc.
zacg_ns-conc = itf-conc.
zacg_ns-quantity = itf-quantity.
zacg_ns-UOM = itf-UOM.
update zacg_ns.
endloop.
leave program.
ENDCASE.
ENDMODULE. " USER_COMMAND_0112 INPUT
MODULE read_table_control INPUT
MODULE read_table_control INPUT.
MODIFY itf INDEX tc-current_line.
ENDMODULE. "read_table_control INPUT
*& Include ZACG_NS_2 *
*& Module STATUS_0111 OUTPUT
text
MODULE STATUS_0111 OUTPUT.
SET PF-STATUS 'ZNEWSHADE'.
SET TITLEBAR 'ZNS'.
ENDMODULE. " STATUS_0111 OUTPUT
*& Module STATUS_0112 OUTPUT
text
MODULE STATUS_0112 OUTPUT.
SET PF-STATUS 'ZTC'.
SET TITLEBAR 'xxx'.
DESCRIBE TABLE itf LINES lines.
tc-lines = lines.
ENDMODULE. " STATUS_0112 OUTPUt
PROCESS BEFORE OUTPUT.
MODULE STATUS_0112.
LOOP at itf WITH CONTROL TC CURSOR tc-current_line.
MODULE TC_PBO .
ENDLOOP.
PROCESS AFTER INPUT.
MODULE CANCEL AT EXIT-COMMAND.
LOOP at itf .
module read_table_control.
ENDLOOP.
MODULE USER_COMMAND_0112.
Can any one help me..Hi,
Did you enter that filed later after creating the table control?
You check in the element list whether for that element u have an entry or not..
Regards,
Nishant -
Last_page button is not working in table control-urgent
hi all,
iam displaying the data in table control.in my pf-status i have first_page,next_page,prev_page and last_page.out of 4 buttons 3 buttons are working finr except last_page. any body can send me the code for this program.iam sending my program below.
REPORT ZMAHI_TABLE_CONTROL .
TABLES : VBAK,VBAP.
DATA : BEGIN OF ITAB OCCURS 0,
VBELN TYPE VBAK-VBELN,
ERDAT TYPE VBAK-ERDAT,
ERNAM TYPE VBAK-ERNAM,
ERZET TYPE VBAK-ERZET,
REASON(40) TYPE C,
END OF ITAB.
DATA : FILL TYPE I VALUE 1.
DATA : N TYPE I .
DATA : BEGIN OF XVALUES OCCURS 50,
BUTXT LIKE T001-BUTXT,
END OF XVALUES.
DATA : BEGIN OF XFIELDS OCCURS 50.
INCLUDE STRUCTURE HELP_VALUE.
DATA : END OF XFIELDS.
DATA : BEGIN OF SEL_VAL OCCURS 50.
INCLUDE STRUCTURE HELP_VTAB.
DATA : END OF SEL_VAL.
TABLE CONTROL DECLARATIONS------
CONTROLS : CONTROL_DATA TYPE TABLEVIEW USING SCREEN '100'.
DATA : OK_CODE TYPE SY-UCOMM,
LIN TYPE I,
LIN1 TYPE I,
LIN2 TYPE I,
LIN3 TYPE I.
DATA: LINES TYPE I,
LIMIT TYPE I VALUE 1.
DATA : LINE_COUNT TYPE I,
LINEI TYPE I,
LINEJ TYPE I,
LINE1 TYPE I,
LINE2 TYPE I,
LN1 TYPE I.
SELECTION-SCREEN : BEGIN OF BLOCK B1.
SELECT-OPTIONS : P_VBELN FOR VBAK-VBELN.
SELECTION-SCREEN : END OF BLOCK B1.
START-OF-SELECTION.
SELECT VBELN
ERDAT
ERNAM
ERZET
FROM VBAK
INTO TABLE ITAB
WHERE VBELN IN P_VBELN.
CALL SCREEN 100.
*& Module F4_HELP INPUT
MODULE F4_HELP INPUT.
FREE : XFIELDS,SEL_VAL,XVALUES.
MOVE : 'ZMAHI' TO XFIELDS-TABNAME,
'REASON' TO XFIELDS-FIELDNAME,
'X' TO XFIELDS-SELECTFLAG.
APPEND XFIELDS.
XVALUES = 'Non Trade F&F'.
APPEND XVALUES .
XVALUES = 'Non Trade Retention'.
APPEND XVALUES .
XVALUES = 'Oldbills Accnt cntmnt'.
APPEND XVALUES .
XVALUES = 'Non Trade Not claimed'.
APPEND XVALUES .
XVALUES = 'Non Trade Dispute'.
APPEND XVALUES .
XVALUES = 'Non Trade Payment Block'.
APPEND XVALUES .
XVALUES = 'N/T Subsntly Cleared'.
APPEND XVALUES .
XVALUES = 'N/T Unstld Advances'.
APPEND XVALUES .
XVALUES = 'N/T OThers'.
APPEND XVALUES .
XVALUES = 'Trade Non Receipt OF BOE'.
APPEND XVALUES .
XVALUES = 'Trade OEM Adjustments'.
APPEND XVALUES .
XVALUES = 'Trade Reject Of Material'.
APPEND XVALUES .
XVALUES = 'Trade NOt Claimed'.
APPEND XVALUES .
XVALUES = 'Trade Dispute'.
APPEND XVALUES .
XVALUES = 'Trade Payment BLock'.
APPEND XVALUES .
XVALUES = 'Trade Subsntly Cleared'.
APPEND XVALUES .
XVALUES = 'Trade Non Submission of bills'.
APPEND XVALUES .
XVALUES = 'Trade others'.
APPEND XVALUES .
CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE_EXT'
EXPORTING
CUCOL = 0
CUROW = 0
DISPLAY = ' '
FIELDNAME = 'REASON'
TABNAME = 'ZIFIOD011'
IMPORTING
SELECT_VALUE = ITAB-REASON
TABLES
FIELDS = XFIELDS
SELECT_VALUES = SEL_VAL
VALUETAB = XVALUES.
ENDMODULE. " F4_HELP INPUT
*& Module STATUS_0100 OUTPUT
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS '0100'.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'CANCEL' OR 'EXIT' OR 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'NEXT_LINE'.
CONTROL_DATA-top_line = CONTROL_DATA-top_line + 1.
limit = fill - lines + 1.
IF CONTROL_DATA-top_line > limit.
CONTROL_DATA-top_line = limit.
ENDIF.
WHEN 'PREV_LINE'.
CONTROL_DATA-top_line = CONTROL_DATA-top_line - 1.
IF CONTROL_DATA-top_line < 0.
CONTROL_DATA-top_line = 0.
ENDIF.
WHEN 'NEXT_PAGE'.
CONTROL_DATA-TOP_LINE = CONTROL_DATA-TOP_LINE + LINES.
LIMIT = LIMIT + 1.
CONTROL_DATA-TOP_LINE = LIMIT.
WHEN 'PREV_PAGE'.
CONTROL_DATA-TOP_LINE = CONTROL_DATA-TOP_LINE - LINES.
LIMIT = LIMIT - 1.
CONTROL_DATA-TOP_LINE = LIMIT.
WHEN 'LAST_PAGE'.
CONTROL_DATA-TOP_LINE = FILL - LINES + 1.
WHEN 'FIRST_PAGE'.
CONTROL_DATA-TOP_LINE = 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Module SCROLL_BAR INPUT
MODULE SCROLL_BAR INPUT.
DESCRIBE TABLE ITAB LINES CONTROL_DATA-LINES.
ENDMODULE. " SCROLL_BAR INPUT
thanks,
maheedhar.THi Ravi,
The code which u sent to me is not working for next page and previous page.
can u plz resend me the code.
iam sending my code below.
REPORT ZMAHI_TABLE_CONTROL .
TABLES : VBAK,VBAP.
DATA : BEGIN OF ITAB OCCURS 0,
VBELN TYPE VBAK-VBELN,
ERDAT TYPE VBAK-ERDAT,
ERNAM TYPE VBAK-ERNAM,
ERZET TYPE VBAK-ERZET,
REASON(40) TYPE C,
END OF ITAB.
DATA : FILL TYPE I VALUE 1.
DATA : N TYPE I .
DATA : BEGIN OF XVALUES OCCURS 50,
BUTXT LIKE T001-BUTXT,
END OF XVALUES.
DATA : BEGIN OF XFIELDS OCCURS 50.
INCLUDE STRUCTURE HELP_VALUE.
DATA : END OF XFIELDS.
DATA : BEGIN OF SEL_VAL OCCURS 50.
INCLUDE STRUCTURE HELP_VTAB.
DATA : END OF SEL_VAL.
TABLE CONTROL DECLARATIONS------
CONTROLS : CONTROL_DATA TYPE TABLEVIEW USING SCREEN '100'.
DATA : OK_CODE TYPE SY-UCOMM,
LIN TYPE I,
LIN1 TYPE I,
LIN2 TYPE I,
LIN3 TYPE I.
DATA: LINES TYPE I,
LIMIT TYPE I VALUE 1.
DATA : LINE_COUNT TYPE I,
LINEI TYPE I,
LINEJ TYPE I,
LINE1 TYPE I,
LINE2 TYPE I,
LN1 TYPE I.
SELECTION-SCREEN : BEGIN OF BLOCK B1.
SELECT-OPTIONS : P_VBELN FOR VBAK-VBELN.
SELECTION-SCREEN : END OF BLOCK B1.
START-OF-SELECTION.
SELECT VBELN
ERDAT
ERNAM
ERZET
FROM VBAK
INTO TABLE ITAB
WHERE VBELN IN P_VBELN.
CALL SCREEN 100.
*& Module F4_HELP INPUT
MODULE F4_HELP INPUT.
FREE : XFIELDS,SEL_VAL,XVALUES.
MOVE : 'ZMAHI' TO XFIELDS-TABNAME,
'REASON' TO XFIELDS-FIELDNAME,
'X' TO XFIELDS-SELECTFLAG.
APPEND XFIELDS.
XVALUES = 'Non Trade F&F'.
APPEND XVALUES .
XVALUES = 'Non Trade Retention'.
APPEND XVALUES .
XVALUES = 'Oldbills Accnt cntmnt'.
APPEND XVALUES .
XVALUES = 'Non Trade Not claimed'.
APPEND XVALUES .
XVALUES = 'Non Trade Dispute'.
APPEND XVALUES .
XVALUES = 'Non Trade Payment Block'.
APPEND XVALUES .
XVALUES = 'N/T Subsntly Cleared'.
APPEND XVALUES .
XVALUES = 'N/T Unstld Advances'.
APPEND XVALUES .
XVALUES = 'N/T OThers'.
APPEND XVALUES .
XVALUES = 'Trade Non Receipt OF BOE'.
APPEND XVALUES .
XVALUES = 'Trade OEM Adjustments'.
APPEND XVALUES .
XVALUES = 'Trade Reject Of Material'.
APPEND XVALUES .
XVALUES = 'Trade NOt Claimed'.
APPEND XVALUES .
XVALUES = 'Trade Dispute'.
APPEND XVALUES .
XVALUES = 'Trade Payment BLock'.
APPEND XVALUES .
XVALUES = 'Trade Subsntly Cleared'.
APPEND XVALUES .
XVALUES = 'Trade Non Submission of bills'.
APPEND XVALUES .
XVALUES = 'Trade others'.
APPEND XVALUES .
CALL FUNCTION 'HELP_VALUES_GET_WITH_TABLE_EXT'
EXPORTING
CUCOL = 0
CUROW = 0
DISPLAY = ' '
FIELDNAME = 'REASON'
TABNAME = 'ZIFIOD011'
IMPORTING
SELECT_VALUE = ITAB-REASON
TABLES
FIELDS = XFIELDS
SELECT_VALUES = SEL_VAL
VALUETAB = XVALUES.
ENDMODULE. " F4_HELP INPUT
*& Module STATUS_0100 OUTPUT
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS '0100'.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'CANCEL' OR 'EXIT' OR 'BACK'.
LEAVE TO SCREEN 0.
WHEN 'NEXT_LINE'.
CONTROL_DATA-top_line = CONTROL_DATA-top_line + 1.
limit = fill - lines + 1.
IF CONTROL_DATA-top_line > limit.
CONTROL_DATA-top_line = limit.
ENDIF.
WHEN 'PREV_LINE'.
CONTROL_DATA-top_line = CONTROL_DATA-top_line - 1.
IF CONTROL_DATA-top_line < 0.
CONTROL_DATA-top_line = 0.
ENDIF.
WHEN 'NEXT_PAGE'.
CONTROL_DATA-TOP_LINE = CONTROL_DATA-TOP_LINE + LINES.
LIMIT = LIMIT + 1.
CONTROL_DATA-TOP_LINE = LIMIT.
WHEN 'PREV_PAGE'.
CONTROL_DATA-TOP_LINE = CONTROL_DATA-TOP_LINE - LINES.
LIMIT = LIMIT - 1.
CONTROL_DATA-TOP_LINE = LIMIT.
WHEN 'LAST_PAGE'.
DESCRIBE TABLE ITAB LINES LIMIT.
CONTROL_DATA-TOP_LINE = LIMIT.
WHEN 'FIRST_PAGE'.
CONTROL_DATA-TOP_LINE = 0.
WHEN 'P--'.
CLEAR ok_code.
PERFORM paging USING 'P--'.
WHEN 'P-'.
CLEAR ok_code.
PERFORM paging USING 'P-'.
WHEN 'P+'.
CLEAR ok_code.
PERFORM paging USING 'P+'.
WHEN 'P++'.
CLEAR ok_code.
PERFORM paging USING 'P++'.
ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Module SCROLL_BAR INPUT
MODULE SCROLL_BAR INPUT.
DESCRIBE TABLE ITAB LINES CONTROL_DATA-LINES.
ENDMODULE. " SCROLL_BAR INPUT
*& Form paging
text
-->P_0356 text
*FORM paging USING VALUE(P_0356).
FORM paging USING code.
DATA: i TYPE i,
j TYPE i.
CASE code.
WHEN 'P--'.
CONTROL_DATA-top_line = 1.
WHEN 'P-'.
CONTROL_DATA-top_line = CONTROL_DATA-top_line - line_count.
IF CONTROL_DATA-top_line LE 0.
CONTROL_DATA-top_line = 1.
ENDIF.
WHEN 'P+'.
i = CONTROL_DATA-top_line + line_count.
j = CONTROL_DATA-lines - line_count + 1.
IF j LE 0. j = 1. ENDIF.
IF i LE j.
CONTROL_DATA-top_line = i.
ELSE.
CONTROL_DATA-top_line = j.
ENDIF.
WHEN 'P++'.
CONTROL_DATA-top_line = CONTROL_DATA-lines - line_count + 1.
IF CONTROL_DATA-top_line LE 0.
CONTROL_DATA-top_line = 1.
ENDIF.
ENDCASE.
ENDFORM. " PAGING
*ENDFORM. " paging
thanks,
maheedhar.t -
Footer is not visible in Table control?
Hi All
I am using Table control, Footer is not visible. It is shhowing in layout, but in browser it is not showing. In properties it is checked. And Right side scrolling is working fine, but footer is not visible. We have to set programitically?? Help Please
Cheers,
Venkys.>
sarbjeet singh wrote:
> From EHP4 onwards paginator has been replaced by this right scroll bar.
>
> if you want that back
>
> adding the following two parameters to the Web Dynpro Application will bring it back
>
> WDLIGHTSPEED (leave the value field blank)
> WDTABLENAVIGATION set to PAGINATOR
>
>
> thanks
> sarbjeet singh
Althought this technically will bring back the paginator; I really strongly recommend against doing this. By turning off lightspeed you resort back to the old rendering engine. You give up all the performance improvements that lightspeed provides. You also give up access to new UI elements and features - like drag and drop, flashIslands, threshold slider, etc. It seems to me like way too high a price to pay just to go back the paginator. -
Module pool program - populating values for columns in Table control
Hi all,
In my module pool program Table control i am having 10 columns fields.
in one of the column field i have used 'PROCESS ON VALUE-REQUEST' to get the material no.
in that F4 search help list is having releated information of the material like material group, company code, description etc.
user while searching for material they will use F4 search help and in that list they will select the material .
From the list I need releated information of the materials like material group, company code, description etc
to be populated in other columns while selecting the material .( User is not ready to enter all the values for the fileds)
I appended the releated values for the material in the Table control Internal table in the Process on value-request Module.
(after selecting material by the user from F4 search help)
even then I am not getting the data in the screen.
kindly help me how to proceed to get the data in other columns.
Thanks in advance,
sharmaHi Himanshu Verma ,
Thanks for fast reply.
but i tried with field names available in F4 Internal table.
even then I am not getting.
T_DYNPFLD_MAPPING-FLDNAME = ' MTART.
APPEND T_DYNPFLD_MAPPING TO ITAB_DYNPFLD_MAPPING.
T_DYNPFLD_MAPPING-FLDNAME = 'MBRSH'.
APPEND T_DYNPFLD_MAPPING TO ITAB_DYNPFLD_MAPPING.
SELECT
MATNR
MTART
MBRSH
MATKL
BISMT
MEINS
BSTME
FROM MARA
INTO TABLE INT_F4
up to 5000 rows
CLEAR INT_F4.
****function module to get pop-up window of f4.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'MATNR'
DYNPPROG = W_PROGNAME
DYNPNR = W_SCR_NUM
DYNPROFIELD = 'V_TAB-MATNR'
VALUE_ORG = 'S'
TABLES
VALUE_TAB = INT_F4
RETURN_TAB = RETURN_VALUES
DYNPFLD_MAPPING = ITAB_DYNPFLD_MAPPING
EXCEPTIONS
PARAMETER_ERROR = 1
NO_VALUES_FOUND = 2
OTHERS = 3.
IF SY-SUBRC NE 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ELSE .
V_TAB-matnr = RETURN_VALUES-FIELDVAL.
endif.
I have used the above code. I am not getting the field values available in ITAB_DYNPFLD_MAPPING.
kindly help me how to get the exact row for the F4 table.
Thanks in advance.
sharma -
I need more than 255 charater value return from the table control screen.
Hi guys,
I used this function module to get the dynamic table control value changes, but it export me back only 255 character value.
because the 'DYNPFIELDS' internal table structure hold only 255 character. kindly help me in this reg to get more than 255 character length.
or any other solution.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
DYNAME = '/A1SSPC/USR_RALG_FILL'
DYNUMB = '1000'
TABLES
DYNPFIELDS = TBDYNPFIELDS.
kindly provide me if you have any solution.
reg,
hariHi,
Try using the Text Editor for more info go throught the Control Examples
Utilities--> Examples --> Control Examples in SE38
Regards
Ramchander Rao.K
Maybe you are looking for
-
Vendor in condition type/purch info record
hi, in condition type, i notice in account determination, there is a vendor field. but this vendor field not exist in all condition type. only freight/customs related with this vendor field. 1) may i know how does the system know whether the conditio
-
Hi Community I have the Adobe Reader XI and I can not find how to extract one or more pages in a document. Can any one help please!
-
Tables for threshold value in GTS 11
Good morning, to get away from our old ERP preference calculation we bought a license for GTS. At the moment we are discussing implementing version 10.1 or even 11. I am worrying as I am not sure, how to put data out of GTS to BI (BW) with version 11
-
How do I get my iphone to send/sync contacts to my new computer?
How do I send my iphone contacts to my new computer outlook that does not have my contacts. I have a pc not a mac.
-
my safari screen is locked with a big grey patch over it,no way the touch is working,a small lock icon is display by the battery icon,what can i do to unlock the safari screen?