Initializing values in an internal table
hi
how to initialize values in a internal table
according to my requirement i need to initialize (both character and currency) values present in the internal table based on certain conditions
vamsi
hi
As i understood you want to clear only selected fileds not the complet record..
create a Field symobl the loop at the table.. inside the loop check the condtion the just clear the filed.
example: you have itab type mara.
then
FIELD-SYMOBOLS <FS_WA_ITAB> TYPE MARA.
LOOP AT ITAB ASSIGNING <FS_WA_ITAB>.
IF X = XXX (YOUR CONDITION)
CLEAR: <FS_WA_ITAB>-FIELD2,
<FS_WA_ITAB>-FIELD3. (If u want to clear only filed2 and field3)
clear <FS_WA_ITAB>. (if you want to cleatr the complete record)
ENDIF.
ENDLOOP.
Why iam suggestin the filed-symobol is.. it is direcltly work on internal table body so u no need to update the table agian
Please Close this thread.. when u r problem is solved
Reward if Helpful
Regards
Naresh Reddy K
Similar Messages
-
Distinct values from dynamic internal tabls
Hi All,
I have a dynamic internal tables like <dy_table> , i want to get distinct values from this internal tables,
how to do that, structure of dynamic internal tables is dynamic acc. to user conditions.
regards,
AnujHi Anuj
Just try this,
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = tb_fields_for_it
IMPORTING
ep_table = gp_dyn_table.
ASSIGN gp_dyn_table->* TO <gt_table>.
ASSIGN LOCAL COPY OF INITIAL LINE OF <gt_table> TO <fs_table>.
LOOP AT tb_output.
*To assign value for serial number.
ASSIGN COMPONENT 1 OF STRUCTURE <fs_table> TO <ls_field>.
<ls_field> = tb_output-sno.
UNASSIGN <ls_field>.
*To assign value for Sales Organization.
ASSIGN COMPONENT 2 OF STRUCTURE <fs_table> TO <ls_field>.
<ls_field> = tb_output-vkorg.
UNASSIGN <ls_field>.
*To assign Rate for its respective Condition type.
LOOP AT tb_konp WHERE knumh = tb_output-knumh.
READ TABLE tb_fieldcat1 WITH KEY fieldname = tb_output-kschl.
IF sy-subrc EQ 0.
lv_count = tb_fieldcat1-col_pos.
ASSIGN COMPONENT lv_count OF STRUCTURE <fs_table> TO <ls_field>.
IF tb_konp-konwa EQ '%'.
tb_konp-kbetr = tb_konp-kbetr / co_10.
<ls_field> = tb_konp-kbetr.
ELSE.
<ls_field> = tb_konp-kbetr.
ENDIF.
ENDIF.
ENDLOOP.
lv_count = lv_count + 1.
APPEND <fs_table> TO <gt_table>.
CLEAR <fs_table>.
ENDLOOP.
Hope this proves helpful to you. -
How to download values in an internal table into an excel file
is there any fn module to download the values in an internal table into an excel file..
hi
the function module "GUI_DOWNLOAD" downloads the data from
an internal table into a file (can be xl, dat ,doc etc) .
Plz follow the usage below ;
Parameters : pa_pfile LIKE rlgrap-filename OBLIGATORY.
Data : lv_filename TYPE STRING.
lv_filename = pa_pfile.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE =
FILENAME = lv_filename
FILETYPE = 'ASC'
APPEND = ' '
WRITE_FIELD_SEPARATOR = 'X'
HEADER = '00'
TRUNC_TRAILING_BLANKS = ' '
WRITE_LF = 'X'
COL_SELECT = ' '
COL_SELECT_MASK = ' '
DAT_MODE = ' '
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
IMPORTING
FILELENGTH =
TABLES
DATA_TAB = tb_download " table data to b downlaoded
EXCEPTIONS
FILE_WRITE_ERROR = 1
NO_BATCH = 2
GUI_REFUSE_FILETRANSFER = 3
INVALID_TYPE = 4
NO_AUTHORITY = 5
UNKNOWN_ERROR = 6
HEADER_NOT_ALLOWED = 7
SEPARATOR_NOT_ALLOWED = 8
FILESIZE_NOT_ALLOWED = 9
HEADER_TOO_LONG = 10
DP_ERROR_CREATE = 11
DP_ERROR_SEND = 12
DP_ERROR_WRITE = 13
UNKNOWN_DP_ERROR = 14
ACCESS_DENIED = 15
DP_OUT_OF_MEMORY = 16
DISK_FULL = 17
DP_TIMEOUT = 18
FILE_NOT_FOUND = 19
DATAPROVIDER_EXCEPTION = 20
CONTROL_FLUSH_ERROR = 21
OTHERS = 22
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Regards
Pankaj -
Hi All,
I have written BDC, in which when i pass value for second screen "Description type field" it's passing '*************************' instead of internal table value.
It's picking correct value for first internal table value. Could anyone please give an idea why it's happening?
Please find the code:
LOOP AT it_record.
header data for BDC
AT NEW CLASS.
IF sy-tabix <> 1.
perform bdc_dynpro using 'SAPLCLMO' '7777'.
perform bdc_field using 'BDC_OKCODE'
'=SAVE'.
CALL TRANSACTION 'CLWM' USING bdcdata
MODE p_mode
UPDATE 'S'
MESSAGES INTO messtab.
clear : bdcdata[],bdcdata.
ENDIF.
perform bdc_dynpro using 'SAPLCLMO' '0200'.
perform bdc_field using 'BDC_CURSOR'
'RMCLM-CLASS'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'RMCLM-CLASS'
it_record-class.
perform bdc_dynpro using 'SAPLCLMO' '7777'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BDC_CURSOR'
'RMCLM-KLBEZ'.
perform bdc_field using 'RMCLM-KLBEZ'
it_record-klbez.
perform bdc_field using 'RMCLM-STATU'
'1'.
perform bdc_dynpro using 'SAPLCLMO' '7777'.
perform bdc_field using 'BDC_OKCODE'
'=MERK'.
perform bdc_field using 'BDC_CURSOR'
'RMCLM-KLBEZ'.
perform bdc_field using 'RMCLM-KLBEZ'
it_record-klbez.
perform bdc_field using 'RMCLM-STATU'
'1'.
MOVE 1 TO IDX.
ENDAT.
line item data for BDC
perform bdc_dynpro using 'SAPLCLMO' '7777'.
perform bdc_field using 'BDC_OKCODE'
'/00'.
perform bdc_field using 'BDC_CURSOR'
'RMCLM-RELEV(02)'.
CONCATENATE 'RMCLM-MERKMA(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
it_record-merkma.
CONCATENATE 'RMCLM-RELEV(' IDX ')' INTO FNAM.
perform bdc_field using FNAM
it_record-relev.
IDX = IDX + 1.
ENDLOOP.
Thanks,
UjjwalHi Ujjwal
The reason behind this is that you are using AT NEW.... ENDAT block in your coding.
When you use AT NEW field statements, the fields in the work area after the field get converted into ********.
Check values in your work area I_RECORD in debugging inside AT NEW statement and you will understand what I am saying.
In your case all the fields from header line of I_RECORDS which come after field CLASS are getting converted into *******,
hence the error.
Try using a temporary work area, say w_record. Pass value of I_record to w_record before AT NEW statement.
And use w_record-fields instead of I_record-fields. And your program should work. -
How to check a field value within an Internal table
Hi Friends,
My requirement is:
I have a line item of PO records, in that each line item of Plant field should not diffe with other line items. If it differs or say the records have different plant values line items, then I have to throw an error message.
Below example for better understanding.
lineitem Plant
010 ABC
020 ABC
030 XYZ
040 LKG
So, my report will throw an error like "All line items must be identical'.
How to do proceed it.Please advise.
Thanks & Regards
Sankar.Hi Sankar
first you need to fetch all the values in one internal table from your PO.
After that create an internal table with only plant field and move all the plan values in this table.
let assume ITAB is a table with all the values. and ITAB1 with plant only.
wa_itab is the work area for ITAB and wa_itab1 is WA for ITAB1.
ITAB has all the values and ITAB1 has all the values only for plant.
delete adjacent duplicate from itab1 compairing plant.
loop at itab1 into wa_itab1. " this will fetch all the plant values in workarea.
read table itab into wa_itab where wa_itab-plant = wa_itab1-plant. " this will fetch only the values matching to the table itab1
if su-subrc <> 0.
message 'plants are not similar' TYPE 'E'.
elseif sy-subrc = 0.
write your code*.
endif.
endloop.
hope this will help you.
Thanks
Lalit Gupta -
Validating 'Initial Values' checkbox in the table
hi all
i have a requirement
i need to put a condition based on the 'Initial values' checkbox of the table.
eg: let us say I have a table KNA1
and i have fields KUNNR, LAND1 and NAME1 in my table
if 'Initial values' checkbox for KUNNR is checked i need to put my condition
and if 'Initial values' checkbox for LAND1 is checked i need to put another condition
and if 'Initial values' checkbox of NAME1 field is checked i need to put some other condition.
in the similar way as per my requirement i need to put conditions for almost all the fields available in the table.
can any one tell me how to write the above logic.Hi vamsi,
1. one way is
2. First take all records with all field values, in one ITAB.
3. Then.
4.
data : tabix like sy-tabix.
data : delflag type c.
LOOP AT ITAB.
<b> tabix = sy-tabix.
clear delflag.</b>
if not condit1.
delflag = 'X'.
endif.
if not condit2.
delflag = 'X'.
endif.
..... other if conditions.
<b> if delflag = 'X'.
delete itab index tabix.
endif.</b>
ENDLOOP.
4
regards,
amit m. -
Transferring checkbox values on ALV to value in the internal table?
Hi,
I'm using an ALV grid (CL_GUI_ALV_GRID) to display an internal table. I want users to be able to select one or many rows and those checked lines to be marked as X in my internal table. I have a field, check(1), in my internal table displayed on the ALV, but when I tick one line on the ALV and debug, I don't see an X in the check field on that line in my internal table.
I've successfully written code to select and deselect all lines and those values copy back to my internal table so why don't the single lines?
CASE sy-ucomm.
WHEN 'SELECT_ALL'.
* select all lines
LOOP AT tbl_data INTO wa_data.
MOVE 'X' TO wa_data-check.
MODIFY tbl_data FROM wa_data.
ENDLOOP.
WHEN 'DESELECT'.
* deselect all lines
LOOP AT tbl_data INTO wa_data.
CLEAR wa_data-check.
MODIFY tbl_data FROM wa_data.
ENDLOOP.
ENDCASE.
Do I have to add some code in the PAI to transfer the values?
Any suggestions welcome,
GillYes, I have.
The checkbox is appearing on the screen and is populated/cleared when I click the select/deselect buttons (this transfers the values in my internal table to the screen). But when I just tick one line and then debug that line isn't showing as having X in the check field in my internal table.
Somehow I need to transfer the tick values on screen to my internal table. -
BRFplus: Problem updating values in an internal table in a loop expression
Hi
I'm looking into the loop expression type of BRFplus and I have come across a problem updating an internal table, I'm trying to create and populate the table using a loop, here is the functionality I'm trying to achieve:
In a rule set create an internal MONTH_TBL table containing 12 rows of two columns: MONTH_NUM containing values 1 through 12 and MONTH_VAL containing an amount (initially 0,00 EUR in all 12 rows).
After initializing the table traverse through SFLIGHT table and for each row add PRICE from the table to MONTH_VAL in the row of MONTH_TBL corresponding to the month of FLDATE field in SFLIGHT.
The initialization of MONTH_TBL works as intended, as does the traversal of and retrieval of values from SFLIGHT. The problem however is the update of the internal table MONTH_TBL (defined as result data object for the function). I don't get an error, but the tables does not get updated, and I cannot seem to find out what the problem is. I would have attached an XML extract of the function + ruleset for information, but it dosen't seem like that is possible, I could e-mail it on request (for SAP employees with access to system QU5 the function is LOOP_TEST in application Z_KLAUS_TEST).
I hope that this is sufficient information to understand the issue that I'm dealing with.
best regards
Klaus Stenbæk, KMDHi Klaus,
The Loop expression is part of NW 7.02 which is not yet released. When you experience the problem as part of a test you should have a contact at SAP for dealing with problems/errors. Usually SAP-internal messages are used for this purpose. Please clarify with your SAP contact how the model is.
BR,
Carsten -
How to search for a field and its value in an internal table
Hi,
I want to search for a field(which i dont know whether it exists or not) in an internal table and on finding that field, I have to update the value of that field. How do I do it? I think its similar to how SEARCH works but i wanted to know the internal table eqivalent of it.Hi Sujay,
this code will help ful to u, just gi through it,
TABLES : KNA1,VBAK,VBAP.
***********INTERNAL TABLE DECLARATIONS****************
DATA : IT_KNA1 TYPE TABLE OF KNA1,
WA_KNA1 TYPE KNA1.
DATA : IT_VBAK TYPE TABLE OF VBAK,
WA_VBAK TYPE VBAK.
DATA : IT_VBAP TYPE TABLE OF VBAP,
WA_VBAP TYPE VBAP.
START-OF-SELECTION.
SELECT * FROM KNA1
INTO TABLE IT_KNA1
WHERE KUNNR = P_CUST.
IF NOT IT_KNA1 IS INITIAL.
SELECT * FROM VBAK
INTO TABLE IT_VBAK
FOR ALL ENTRIES IN IT_KNA1
WHERE KUNNR = IT_KNA1-KUNNR.
IF NOT IT_VBAK IS INITIAL.
SELECT * FROM VBAP
INTO TABLE IT_VBAP
FOR ALL ENTRIES IN IT_VBAK
WHERE VBELN = IT_VBAK-VBELN.
ELSE.
WRITE : / 'Customer',P_CUST,'does not exist ......'.
ENDIF.
ELSE.
WRITE: / 'sales order does not exist for',P_CUST.
ENDIF.
Rewards points plz if useful
Ganesh. -
Is it important to use INITIAL SIZE 0 in internal table
Hi Friends,
I want to know, is it important to use INITIAL SIZE 0 in the time of internal table deceleration.
TYPES: BEGIN OF L_TYP_TAB_VBELN,
VBELN LIKE VBAK-VBELN,
END OF L_TYP_TAB_VBELN.
DATA: L_TAB_VBELN TYPE STANDARD TABLE OF L_TYP_TAB_VBELN.
OR
DATA: L_TAB_VBELN TYPE STANDARD TABLE OF L_TYP_TAB_VBELN INITIAL SIZE 0.
In these two internal tables which one is good as a code and performance?
Please explain also.
Regards
AmitHi Amit,
After the optional addition INITIAL SIZE, you can specify a number of rows n as a numeric literal or numeric constant to adjust the size of the first block in the memory that is reserved by the system for an internal table of the table type. Without this addition, if the number 0 is entered, or the value of n exceeds a maximum value, the system automatically allocates an appropriate memory area. If this is no longer sufficient, the system creates an additional block twice the size of the first block as long as this size does not exceed 8 KB. Additional areas are created where necessary with a size of 12 KB. The maximum value is calculated as 8 KB divided by the memory required for a row. In the case of larger values, a block size of 12 KB is automatically selected.
You are advised to specify the initial memory requirements only when the number of entries in the table has already been specified and the initial main memory requirement has an adequate value. This can be especially important for internal tables that are components of table types and only contain a few rows.
Hope this helps
Regds, -
How To Read Field Values Form Dynamic Internal Table
Hi,
I Created a dynamic internal table using.
FIELD-SYMBOLS: <gt_table> TYPE STANDARD TABLE,
<wa_gt_table>,
<l_fvalue> TYPE ANY.
This Interanl table is working well, and all values are populated to an ALV.
Now I try to set a link
for that I am using below code
READ TABLE <gt_table> ASSIGNING <l_fvalue> index rs_selfield-tabindex.
IF sy-subrc EQ 0.
insplot = <l_fvalue>-prueflos.
Now it is showing a syntax error :
the data object <l_fvalue> has no structure and there for no component called prueflos
Regards
NausalHi,
Refere following code
Local Field Symbol
FIELD-SYMBOLS: <lf_any> TYPE ANY. "Changed data
LOOP AT <gf_dyna_table> ASSIGNING <gf_dyna>.
DO.
ASSIGN COMPONENT sy-index OF STRUCTURE <gf_dyna> TO <lf_any>.
IF sy-subrc NE 0.
EXIT.
ENDIF.
IF ls_attach-line IS INITIAL.
ls_attach-line = <lf_any>.
ELSE.
CONCATENATE ls_attach-line <lf_any> INTO ls_attach-line
SEPARATED BY lc_tab.
ENDIF.
ENDDO.
CONCATENATE lc_cret ls_attach-line INTO ls_attach-line.
Append Changed Data to attachement table
APPEND ls_attach TO gt_attach.
Clear
CLEAR : ls_attach.
ENDLOOP.
Regards,
Prashant -
Display data to edit based on fields and its value defined in internal tabl
I need to display data in a internal table for editing in a screen.
you have a internal table with field name , data types and its value. I need to display data in a screen ( sceen painter not in a report) row by row in vrtical format.
The internal table's structure not fix. you can have any number of fields in the internal table.
Can you please send me code if it is available with you or send me any senario in SAP if any ...so that i can debug to extract the code..
have to display data vertically as below in editable format,
for example,
Airline
Flight Number
Flight date
Flight price
Airline Currency
Plane Type
Maximum capacity
Occupied econ.
Total
No of fields will change.
also F4 help needs to be attached with each field.
I think it can be done through step loop. can anybody give sample code or tell me where to find in SAP or somewhere else?
it will be great help to me..
SanjeevHi
just check out this program DEMO_DYNPRO_STEP_LOOP. -
What is the use of initial value in a database table?
Hi can anyone help me in knowing what is the use of initial value which is present besides primary key while creating a table?
Initial Value:
Indicator that NOT NULL is forced for this field
Use
Select this flag if a field to be inserted in the database is to be filled with initial values. The initial value used depends on the data type of the field.
Please note that fields in the database for which the this flag is not set can also be filled with initial values.
When you create a table, all fields of the table can be defined as NOT NULL and filled with an initial value. The same applies when converting the table. Only when new fields are added or inserted, are these filled with initial values. An exception is key fields. These are always filled automatically with initial values.
Restrictions and notes:
The initial value cannot be set for fields of data types LCHR, LRAW, and RAW. If the field length is greater than 32, the initial flag cannot be set for fields of data type NUMC.
If a new field is inserted in the table and the initial flag is set, the complete table is scanned on activation and an UPDATE is made to the new field. This can be very time-consuming.
If the initial flag is set for an included structure, this means that the attributes from the structure are transferred. That is, exactly those fields which are marked as initial in the definition have this attribute in the table as well.
hope it helps,
Saipriya -
How to Fill values in BAPI internal table ?
I am creating sales order from ABAP Dynpro , all the values are getting passed to bapi except those in internal table, it gives lead selection error and whn i change the cardinality of the Node to 1.1 to shows the page but whenever i create the SO it gives WRONG_DATA error . I debugged it and found the data in the internal table for material is not getting passed.
Hi Jasjit,
Could you be a bit more clear about the issue you are facing.
Try using the cardinality 0:n for node that holds the data that you are passing as internal table to bapi.
Regards,
Sravan Varagani -
Hi all,
I have created 2 tabstrip screns which contain ALV GRID DISPLAY in a container with dynamic internal table and editable columns .I want to capture the edited value from this ALV GRID display.I have used SET_TABLE_FOR_DISPLAY and for this dynamc internal table is passed which is Field symbol and editable columns have to be captured for further updation into another ztable.
When i used check_changed_data i am getting dump as field symbol not assigned.
Below is the code : How can i get edited column value from below code
call method alv_list->set_table_for_first_display
exporting
is_layout = gs_layout
changing
it_outtab = <fs_dynamic_table>
it_fieldcatalog = it_fieldcat[]
exceptions
invalid_parameter_combination = 1
program_error = 2
too_many_lines = 3
others = 4.
if sy-subrc <> 0.
* Implement suitable error handling here
endif.
Kindly help me to solve this.
With Thanks,
Dina.please provide more info about the dump to try to help you
as max said, it could be because the field symbol is not global and if its global maybe you are not refering well to the column
i assume that you are using "ASSIGN COMPONENT comp OF STRUCTURE struc TO <fs>" to capture the value changed
validate always the sy-subrc after the assignment.
but the check changed data have parameters that have the old and new values
please provide more info...
Regards
Maybe you are looking for
-
Hey ya all, I got my N97 3 weeks ago and it was a kinda big upgrade to me since i`m using 7610 previously. I'm already a 8 years Nokia user including models like 8850, 8910 and also 8810. Since 7610 is the last multimedia phone i`m using, I just drag
-
Policy definition corrupted?
I am trying to edit a Group Policy on a server 2012R2 box. I get a popup error which says "Resource '$(string.VerMgmtAuditModeEnable)' referenced in attribute displayName could not be found. File c:\windows\policydefinitions\inetres.admx, line 1495,
-
I updated my Iphone which is successful but it is not activating.
I updated my Iphone which is successful but it is not activating.
-
Problem with Generic datasource from function
I developed generic datasource from function module. But I have problem with the select options. First one is order number OBJECT_ID type char 10. When I input Object_ID = 45755 , no data selected. When input 0000045755, one data record selected. Bu
-
Hi All, J2EE engine is not strating up while installaing ECC6(ABAP + JAVA). std_server0.out details are given below. stdout/stderr redirect node name : server0 pid : 14544 system name : C28 system nr. : 06 started at : Tue Nov 11 10:23:10