REPORT_COLUMNS Values In APEX_APPLICATION_PAGE_IR_RPT
Hi,
We have created several IR reports and they work well, we are just a dding a button so the users can mail out the contents of the report however we have a problem with some of the reports.
We use the REPORT_COLUMNS in the APEX_APPLICATION_PAGE_IR_RPT table however we are getting a ORA-01489: result of string concatenation is too long error.
We have tracked this down to some strange values in the REPORT_COLUMNS column in APEX_APPLICATION_PAGE_IR_RPT
My understanding is the column contavins all the columns names for that table/view but they the values are seperated by a : but for some reason we are getting some values that are greater that 30 chars e.g.
HAS_REGIONS_BOO_SAME_NAME_SAME_NAME_DIFF_NAME_DIFF_NAME
This value doesn't come close to any of the columns names which are
DATASET, BILL_DISCOUNT_ID, THRESHOLD_MNY, STARTDATE, CATC_ID, ENDDATE, DISCPCT, DISCAMT, REVCODE, CHG, HCH, CUR
In fact the REPORT_COLUMNS seems to contain over 250 values.
the report runs fine and if we remove then add all the columns using select column option then it seems to work fine.
Is this normal behavior if not is there anything we can we do anything to stop it happeneing on future reports.
Thanks Andy
We now have the same issue on production, is this just something specific to our instance?
Similar Messages
-
Hi everyone,
I discovered the following:
I created an IR in my application. First I define the following query for the IR:
SELECT *
FROM apex_application_page_ir_rpt
WHERE application_id = 22333
AND page_id = 2
That works fine.
Then, I change my region source to exclude just one column (the last one: last_updated_by):
SELECT WORKSPACE,WORKSPACE_DISPLAY_NAME,APPLICATION_ID,APPLICATION_NAME,PAGE_ID,INTERACTIVE_REPORT_ID,REPORT_ID,APPLICATION_USER,REPORT_NAME,REPORT_ALIAS,SESSION_ID,BASE_REPORT_ID,REPORT_DESCRIPTION,DISPLAY_SEQUENCE,REPORT_VIEW_MODE,STATUS,CATEGORY_ID,REPORT_TYPE,REPORT_LINK_EXAMPLE,DISPLAY_ROWS,REPORT_COLUMNS,SORT_COLUMN_1,SORT_DIRECTION_1,SORT_COLUMN_2,SORT_DIRECTION_2,SORT_COLUMN_3,SORT_DIRECTION_3,SORT_COLUMN_4,SORT_DIRECTION_4,SORT_COLUMN_5,SORT_DIRECTION_5,SORT_COLUMN_6,SORT_DIRECTION_6,BREAK_ON,BREAK_ENABLED_ON,SUM_COLUMNS_ON_BREAK,AVG_COLUMNS_ON_BREAK,MAX_COLUMNS_ON_BREAK,MIN_COLUMNS_ON_BREAK,MEDIAN_COLUMNS_ON_BREAK,COUNT_COLUMNS_ON_BREAK,COUNT_DISTNT_COL_ON_BREAK,FLASHBACK_MINUTES,FLASHBACK_ENABLED,CHART_TYPE,CHART_LABEL_COLUMN,CHART_LABEL_TITLE,CHART_VALUE_COLUMN,CHART_AGGREGATE,CHART_VALUE_TITLE,CHART_SORT_ORDER,CREATED_ON,CREATED_BY,LAST_UPDATED_ON
FROM apex_application_page_ir_rpt
WHERE application_id = 22333
AND page_id = 2
However, in the apex datadictionary view "apex_application_page_ir_rpt", in the column "report_columns" it still shows the column "last_updated_by".
We run APEX 4.1 on production, but I see on my OTN apex application the same problem occurs. As you can see here:
http://apex.oracle.com/pls/apex/f?p=22333:2
Can anybody tell me if this is a known defect?
The only solution is to completely remove the region and define it again. But this is something we do not want to do, because we end up with all new report id's.
Edit: when I use APEX_IR.GET_REPORT to generate the SQL on 4.2, the column is not selected:
select "WORKSPACE", "WORKSPACE_DISPLAY_NAME", "APPLICATION_ID", "APPLICATION_NAME", "PAGE_ID", "INTERACTIVE_REPORT_ID", "REPORT_ID", "APPLICATION_USER", "REPORT_NAME", "REPORT_ALIAS", "SESSION_ID", "BASE_REPORT_ID", "REPORT_DESCRIPTION", "DISPLAY_SEQUENCE", "REPORT_VIEW_MODE", "STATUS", "CATEGORY_ID", "REPORT_TYPE", "REPORT_LINK_EXAMPLE", "DISPLAY_ROWS", "REPORT_COLUMNS", "SORT_COLUMN_1", "SORT_DIRECTION_1", "SORT_COLUMN_2", "SORT_DIRECTION_2", "SORT_COLUMN_3", "SORT_DIRECTION_3", "SORT_COLUMN_4", "SORT_DIRECTION_4", "SORT_COLUMN_5", "SORT_DIRECTION_5", "SORT_COLUMN_6", "SORT_DIRECTION_6", "BREAK_ON", "BREAK_ENABLED_ON", "SUM_COLUMNS_ON_BREAK", "AVG_COLUMNS_ON_BREAK", "MAX_COLUMNS_ON_BREAK", "MIN_COLUMNS_ON_BREAK", "MEDIAN_COLUMNS_ON_BREAK", "COUNT_COLUMNS_ON_BREAK", "COUNT_DISTNT_COL_ON_BREAK", "FLASHBACK_MINUTES", "FLASHBACK_ENABLED", "CHART_TYPE", "CHART_LABEL_COLUMN", "CHART_LABEL_TITLE", "CHART_VALUE_COLUMN", "CHART_AGGREGATE", "CHART_VALUE_TITLE", "CHART_SORT_ORDER", "CREATED_ON", "CREATED_BY", "LAST_UPDATED_ON" from ( select * from ( SELECT WORKSPACE,WORKSPACE_DISPLAY_NAME,APPLICATION_ID,APPLICATION_NAME,PAGE_ID,INTERACTIVE_REPORT_ID,REPORT_ID,APPLICATION_USER,REPORT_NAME,REPORT_ALIAS,SESSION_ID,BASE_REPORT_ID,REPORT_DESCRIPTION,DISPLAY_SEQUENCE,REPORT_VIEW_MODE,STATUS,CATEGORY_ID,REPORT_TYPE,REPORT_LINK_EXAMPLE,DISPLAY_ROWS,REPORT_COLUMNS,SORT_COLUMN_1,SORT_DIRECTION_1,SORT_COLUMN_2,SORT_DIRECTION_2,SORT_COLUMN_3,SORT_DIRECTION_3,SORT_COLUMN_4,SORT_DIRECTION_4,SORT_COLUMN_5,SORT_DIRECTION_5,SORT_COLUMN_6,SORT_DIRECTION_6,BREAK_ON,BREAK_ENABLED_ON,SUM_COLUMNS_ON_BREAK,AVG_COLUMNS_ON_BREAK,MAX_COLUMNS_ON_BREAK,MIN_COLUMNS_ON_BREAK,MEDIAN_COLUMNS_ON_BREAK,COUNT_COLUMNS_ON_BREAK,COUNT_DISTNT_COL_ON_BREAK,FLASHBACK_MINUTES,FLASHBACK_ENABLED,CHART_TYPE,CHART_LABEL_COLUMN,CHART_LABEL_TITLE,CHART_VALUE_COLUMN,CHART_AGGREGATE,CHART_VALUE_TITLE,CHART_SORT_ORDER,CREATED_ON,CREATED_BY,LAST_UPDATED_ON FROM apex_application_page_ir_rpt WHERE application_id = 22333 AND page_id = 2 ) r ) r where rownum <= to_number(:APXWS_MAX_ROW_CNT)
So apperently it's not using the same data dictionary I use.
Edited by: Voxie2 on Nov 14, 2012 11:01 AMI can reproduce this, in 4.1. Put a select in the source, run page, save primary default. Select on the view and see the columns for APXWS_DEFAULT (primary) and also your own session (which will just have copied the primary report settings). Now alter the sql to remove a column which was displayed in the report. Querying the view again shows the columns are still there. However, display is correct.
I assume this is because in apex_application_page_ir_col the column is actually removed, and thus a column in the _rpt would not be able to retrieve metadata, which probably explains that everything still works alright.
Saving the report again will alter the columns in the _rpt view only when you went through "Select columns" (just open it, hit apply, then save primary report). If you don't and you would add the column again to the source, the column will also be displayed again in the report, as though it never was gone. -
Search bar value from Interactive Report
Could someone help me to acces the value entered in the search bar and pass it to another page?
Basically our apex interactive reports has a link which allows to edit single records. However customer is looking to edit multiple records at the same time and I am thinking if I can pass the search bar value to an tabular form, then it will allow to update multiple records
Thanks
Rajesh AlexHi Rajesh,
There are a set of views that seem to contain the data for the IR:
APEX_APPLICATION_PAGE_IR
APEX_APPLICATION_PAGE_IR_CAT
APEX_APPLICATION_PAGE_IR_CGRPS
APEX_APPLICATION_PAGE_IR_COL
APEX_APPLICATION_PAGE_IR_COND
APEX_APPLICATION_PAGE_IR_RPT
You could have a look through these to see if any help.
Andy -
Get all values from request.getParameter
In ASP, I can do something like that...
For each item in Request.Form
Response.write "Name is:" & item & " value is:" & Request(item)
Next
How about in JSP? How do i get the names and values of the form using a loop?You can use request.getParameterNames() which will return an enumeration, then you can iterate through the enumeration and use request.getParameterValue(String paramName) method to get the values.
-
Error while assigning a character value to a numeric variable.
I fire a sql statement and check the number of rows returned by the sql.
I check this result with the application logs.
The application logs keeps the sqls fired by the application and the no of rows returned, in the example below the sql returned 8454 rows.
My script compares the two results.
***********Application Log***********
4/14/2008 11:15:01 AM: 0059 SQL SELECT "CLUSTER_CD",
4/14/2008 11:15:01 AM: 0060 "PRODUCT_DESC",
4/14/2008 11:15:01 AM: 0061 "TEAM_CD"
4/14/2008 11:15:01 AM: 0062 FROM "OPS$TMS"."MAP_CLUSTER_TEAM_PROD"
4/14/2008 11:15:01 AM: 3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD, 8,454 lines fetched
***********Application Log***********
My script:
#!/bin/ksh
typeset -i resA
typeset -i resB
opstms_conn_string="abc/[email protected]"
set `sqlplus -s $opstms_conn_string << EOF
set pages 0
WHENEVER SQLERROR CONTINUE
SELECT count(*)
FROM MAP_CLUSTER_TEAM_PROD;
exit
EOF`
resA=$1 ##returns 8454
resB=`grep '3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD,' BCVP_Main_Loader.qvw.log | awk '{print $10}'`
##resB returns 8,454
## here i get syntax error
if [ $resA -eq $resB ]; then
echo "QA passed for sql1"
else
echo "QA failed for sql1"
fi
The problem is as resB is integer variable it does not accept character value: 8,454 so returns a syntax error:
How do I change the value assigned to resB into a numeric variable?
error:
+ grep 3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD, BCVP_Main_Loader.qvw.log
run.ksh[52]: 8,454: syntax errorChange:
resB=`grep '3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD,' BCVP_Main_Loader.qvw.log | awk '{print $10}'`
to this:
resB=`grep '3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD,' BCVP_Main_Loader.qvw.log | awk '{print $10}' | tr -d ,`
to drop the comma. Or you could do it in awk(1):
resB=`grep '3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD,' BCVP_Main_Loader.qvw.log | awk '{ gsub( /,/, "", $10 ); print $10}'`
Or you could to it all in awk(1):
resB=`awk '
/3 fields found: CLUSTER_CD, PRODUCT_DESC, TEAM_CD/ {
gsub( /,/, "", $10 )
print $10
' BCVP_Main_Loader.qvw.log`
(This example was not tested, it's just for a model.)
Someone more of an SQL guru than I can probably tell you how to change your numeric locale to avoid presenting those commas in the first place and avoid the problem.
HTH -
Issue in Creation of new Value Field in CO-PA
Hi,
I have a query in CO-PA Value Field Linking.
In my Development Client,
1. Created a New Value Field (No Transport Request Generated)
2. Linked to the above to new Conditon type created in SD. (Tranport request was generated) i.e. in Flow of Actual Values->Transfer of Billing Documents->Assign Value Fields
However then i try creating a new Value Field in my Production Client it throws a message 'You have no authorization to change Fields".
Is this an issue with authorization or i need to transport the Value field too from Development to Production client.
Please Advise.
Thanks in Advance,
SafiThanks Phaneendra for the response.
The creation of Value field did not create any tranportation request. Will this too be transported if i transport the Operating Concern.
Please Advise.
Thanks,
Safi -
Query help : Query to get values SYSDATE-1 18:00 hrs to SYSDATE 08:00 hrs
Hi Team
I want the SQl query to get the data for the following comparison : -
Order Created is a Date Column , and i want to find out all the values from (SYSDATE-1) 18:00 hours to SYSDATE 08:00 hours
i.e.
(SYSDATE-1) 18:00:00 < Order.Created < SYSDATE 08:00:00.
RegardsHi, Rohit,
942281 wrote:
If i want the data in the below way i.e.
from (SYSDATE-1) 18:00 hours to SYSDATE 17:59 hours ---> (SYSDATE-1) 18:00:00 < Order.Created < SYSDATE 07:59:00.If you want to include rows from exactly 18:00:00 yesterday (but no earlier), and exclude rows from exatly 08:00:00 today (or later), then use:
WHERE ord_dtl.submit_dt >= TRUNC (SYSDATE) - (6 / 24)
AND ord_dtl.submit_dt < TRUNC (SYSDATE) + (8 / 24)
So can i use the below format : -
ord_dtl.submit_dt BETWEEN trunc(sysdate)-(6/24) and trunc(sysdate)+(7.59/24) . Please suggest . .59 hours is .59 * 60 * 60 = 2124 seconds (or .59 * 60 = 35.4 minutes), so the last time included in the range above is 07:35:24, not 07:59:59.
If you really, really want to use BETWEEN (which includes both end points), then you could do it with date arithmentic:
WHERE ord_dtl.submit_dt BETWEEN TRUNC (SYSDATE) - (6 / 24)
AND TRUNC (SYSDATE) + (8 / 24)
- (1 / (24 * 60 * 60))but it would be simpler and less error prone to use INTERVALs, as Karthick suggested earlier:
WHERE ord_dtl.submit_dt BETWEEN TRUNC (SYSDATE) - INTERVAL '6' HOUR
AND TRUNC (SYSDATE) + INTERVAL '8' HOUR
- INTERVAL '1' SECONDEdited by: Frank Kulash on Apr 17, 2013 9:36 AM
Edited by: Frank Kulash on Apr 17, 2013 11:56 AM
Changed "- (8 /24)" to "+ (8 /24)" in first code fragment (after Blushadown, below) -
Unable to capture return values in web services api
At the time of login to web services if my server is down ,
it returns following error :
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1438)
at java.lang.String.substring(String.java:1411)
I want to capture this error so that i can try another server to login. how do i capture this error
Another place where i want to capture the return Value is when i look for a report on the server
rh = boBIPlatform.get("path://InfoObjects/Root Folder/"src_folder"/" + reportName +
"@SI_SCHEDULEINFO,SI_PROCESSINFO" ,oGetOptions);
oInfoObjects = rh.getInfoObjects();
CrystalReport = (CrystalReport)oInfoObjects.getInfoObject(0);
Here if the report is not there on the server , it returns a null handler exception.
but if i try catching it by checking my responsehandler is null like rh == null it does not catch it.
Any help will be appreciated
thanks
Rakesh GuptaTed : i have two cases
1) server = server_st.nextToken();
providerURL = "http://"server"/dswsbobje/services";
sessConnURL = new URL(providerURL + "/session");
Connection boConnection = new Connection(sessConnURL);
Session boSession = new Session(boConnection);
EnterpriseCredential boEnterpriseCredential = new EnterpriseCredential();
boEnterpriseCredential.setLogin(userid);
boEnterpriseCredential.setPassword(pwd);
boEnterpriseCredential.setAuthType(auth);
SessionInfo boSI = boSession.login(boEnterpriseCredential);
I have got a list of servers running web servcies stored in my tokens. when i pass the first server name say " test:8080" and that server is down , i want to catch somewhere in the code above that it did not get the connection so that i can loop back and try with the second server say test1:8080
This is for failover purposes.
at present when i was trying to capture return value of boSI it breaks giving the error
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
at java.lang.String.substring(String.java:1438)
at java.lang.String.substring(String.java:1411)
2nd case :
I am geeting reports from the server and scheduling them:
i run the following code which works fine if reports is there
rh = boBIPlatform.get("path://InfoObjects/Root Folder/"src_folder"/" + reportName +
"@SI_SCHEDULEINFO,SI_PROCESSINFO" ,oGetOptions);
oInfoObjects = rh.getInfoObjects();
CrystalReport = (CrystalReport)oInfoObjects.getInfoObject(0);
Here if the report is not there on the server then i should be able to catch from the response handle rh that it has got a null value.
but rh does not return a null value
the code ultimately throws a null handle at the following line
CrystalReport = (CrystalReport)oInfoObjects.getInfoObject(0);
i am not able to catch the null value there also.
hope you got my issue. -
Unable to capture the parameter values from a PL/SQL procedure
hi.
i'm trying to capture the parameter values of a PL/SQL procedure by calling inside a anonymous block but i'm getting a "reference to uninitialized collection error" ORA-06531.
Please help me regarding.
i'm using following block for calling the procedure.
declare
err_cd varchar2(1000);
err_txt VARCHAR2(5000);
no_of_recs number;
out_sign_tab search_sign_tab_type:=search_sign_tab_type(search_sign_type(NULL,NULL,NULL,NULL,NULL));
cntr_var number:=0;
begin
rt843pq('DWS','3000552485',out_sign_tab,no_of_recs,err_cd,err_txt);
dbms_output.put_line('The error is ' ||err_cd);
dbms_output.put_line('The error is ' ||err_txt);
dbms_output.put_line('The cntr is ' ||cntr_var);
for incr in 1 .. OUT_SIGN_TAB.count
loop
cntr_var := cntr_var + 1 ;
Dbms_output.put_line(OUT_SIGN_TAB(incr).ref_no||','||OUT_SIGN_TAB(incr).ciref_no||','||OUT_SIGN_TAB(incr).ac_no||','||OUT_SIGN_TAB(incr).txn_type||','||OUT_SIGN_TAB(incr).objid);
end loop;
end;
Error is thrown on "for incr in 1 .. OUT_SIGN_TAB.count" this line
Following is some related information.
the 3rd parameter of the procedure is a out parameter. it is a type of a PL/SQL table (SEARCH_SIGN_TAB_TYPE) which is available in database as follows.
TYPE "SEARCH_SIGN_TAB_TYPE" IS TABLE OF SEARCH_SIGN_TYPE
TYPE "SEARCH_SIGN_TYPE" AS OBJECT
(ref_no VARCHAR2(22),
ciref_no VARCHAR2(352),
ac_no VARCHAR2(22),
txn_type VARCHAR2(301),
objid VARCHAR2(1024))............We don't have your rt843pq procedure, but when commenting that line out, everything works:
SQL> create TYPE "SEARCH_SIGN_TYPE" AS OBJECT
2 (ref_no VARCHAR2(22),
3 ciref_no VARCHAR2(352),
4 ac_no VARCHAR2(22),
5 txn_type VARCHAR2(301),
6 objid VARCHAR2(1024))
7 /
Type is aangemaakt.
SQL> create type "SEARCH_SIGN_TAB_TYPE" IS TABLE OF SEARCH_SIGN_TYPE
2 /
Type is aangemaakt.
SQL> declare
2 err_cd varchar2(1000);
3 err_txt VARCHAR2(5000);
4 no_of_recs number;
5 out_sign_tab search_sign_tab_type:=search_sign_tab_type(search_sign_type(NULL,NULL,NULL,NULL,NULL));
6 cntr_var number:=0;
7 begin
8 -- rt843pq('DWS','3000552485',out_sign_tab,no_of_recs,err_cd,err_txt);
9 dbms_output.put_line('The error is ' ||err_cd);
10 dbms_output.put_line('The error is ' ||err_txt);
11 dbms_output.put_line('The cntr is ' ||cntr_var);
12 for incr in 1 .. OUT_SIGN_TAB.count
13 loop
14 cntr_var := cntr_var + 1 ;
15 Dbms_output.put_line(OUT_SIGN_TAB(incr).ref_no||','||OUT_SIGN_TAB(incr).ciref_no||','||OUT_SIGN_TAB(incr).ac_no||','||OUT_SIGN
TAB(incr).txntype||','||OUT_SIGN_TAB(incr).objid);
16 end loop;
17 end;
18 /
The error is
The error is
The cntr is 0
PL/SQL-procedure is geslaagd.Regards,
Rob. -
Unable to capture field values in Master agreement Line Items
I am trying to get the field values from master agreement line items page. I have written the following code to get the line item details which is working fine to capture part number and quantity->
agreementBean = doc.getRootParentIBean();
lineItemCollection = agreementBean.getLineItems();
collectionsize = lineItemCollection.size();
for(i=0;i<collectionsize;i++){
collectionbean = lineItemCollection.get(i);
partNum = ""+collectionbean.getPartNumber() ;
Quantity = ""+collectionbean.getQuantity();
throw doc.createApplicationException(null,partNum + " , " + Quantity );
Now, my problem is that I am unable to capture the following field item values in the master agreement > line items page.
1. Price Unit
2. Unit Price
3. Product Category
4. Plant
Please help me to find the values.
Thankx in Advance.
Su
Edited by: subrataindra on Aug 10, 2010 11:11 AMThis will return the name of the plant.
.getExtensionField("PLANT").get().getDisplayName(session);
Check if this returns the product category
collectionbean.getExtensionField("ITEM_CAT").get().getDisplayName();
This will Return the Price
collectionbean.getExtensionField("PRICE").get().getPrice();
(return type :BigDecimal)
This will return the currency
collectionbean.getExtensionField("PRICE").get().getCurrency;
(Return type:String)
Similarly to retrieve other fields for which there are no standard functions, use .getExtensionField("Field ID")
Hope this helps
Regards,
Immanuel -
Unable to capture value inside parameter T_LFBK of FK03 in display mode
Hi Experts,
I have to trigger a mail whenever there is a change in fields that are captured in parameter t_ffbk.
However i am unable to capture the the screen values for this parameter as FK03 is in display mode.Please tell me how can i capture the screen field values in parameter T_LFBK.
<Point offer removed by moderator>
Thanks in advance.
Edited by: Vinod Kumar on Jul 28, 2011 5:48 PMHi Experts,
I have to trigger a mail whenever there is a change in fields that are captured in parameter t_ffbk.
However i am unable to capture the the screen values for this parameter as FK03 is in display mode.Please tell me how can i capture the screen field values in parameter T_LFBK.
<Point offer removed by moderator>
Thanks in advance.
Edited by: Vinod Kumar on Jul 28, 2011 5:48 PM -
Unable to capture Input field value on BSP page
Hi
I have copied ROS (SRM) standard application ROS_PRESCREEN3 into custom and added one input field .
Now when user enters some value in it , i am not able to get that value in my back-hand code.
I have treid the availble code on Fourm , its not working .
Regards
RaulHi ,
I am getting the input field values in my back hand using MVC .
Regards
Raul -
Sy-tabix value has changed...
Hi Gurus,
I am using a code like dis...this is not the actual code m using instad m sendin u a sample program so that u can understand the problem
There is a selecvtion for Customer.
sort itab by kunnr.
loop at itab.
on change of itab-kunnr.
wkunnr = itab-kunnr.
read table zitab with key kunnr = itab-kunnr.
endon.
if itab-kunnr = wkunnr.
wdmbtr = wdmbtr + itab-dmbtr.
endif.
at end of kunnr.
ftab-kunnr = wkunnr.
ftab-dmbtr = wdmbtr.
append ftab.
endat.
endloop.
Now my problem is that AT END OF Kunnr is working fine for the first customer or say for single customer but when there are multiple customers AT END OF kunnr is triggring for each entry.......
In debug MOdei can see that as soon as read table syntax is used the tabix value is changed....
So Can anyone suggest what is the solution....
Regards,
RamanThis is the Declaration
DATA: BEGIN OF ITAB OCCURS 0,
KUNNR LIKE BSID-KUNNR,
BELNR LIKE BSID-BELNR,
BUKRS LIKE BSID-BUKRS,
GJAHR LIKE BSID-GJAHR,
BUZEI LIKE BSID-BUZEI,
SHKZG LIKE BSID-SHKZG,
VALUT LIKE BSID-ZFBDT,
SGTXT(70) TYPE C,
ZFBDT LIKE BSID-ZFBDT,
ZBD1T TYPE BSID-ZBD1T,
ZBD2T TYPE BSID-ZBD2T,
ZBD3T TYPE BSID-ZBD3T,
REBZG TYPE BSID-REBZG,
NETDT TYPE BSID-BUDAT,
ZUONR LIKE BSID-ZUONR,
BLART LIKE BSID-BLART,
DMBTR LIKE BSID-DMBTR,
SPART TYPE VBRK-SPART,
DAY TYPE RFPOSX-VERZN,
FLAG TYPE C,
CITY TYPE KNA1-ORT01,
NAME1 TYPE LFA1-NAME1,
CR_DR1(4) TYPE C,
PSWSL LIKE BSID-PSWSL,
ZTERM LIKE BSID-ZTERM,
VBELN LIKE BSID-VBELN,
UMSKZ LIKE BSID-UMSKZ,
KLIMK LIKE KNKK-KLIMK,
VTEXT LIKE TVZBT-VTEXT,
ADV LIKE BSID-DMBTR,
REBZT TYPE BSID-REBZT,
XBLNR LIKE BSID-XBLNR,
VTEXT1(70) TYPE C,
FKLIMK LIKE KNKK-KLIMK,
ABC(4) TYPE C,
AGRO(4) TYPE C,
BIO(4) TYPE C,
SKFOR LIKE KNKK-SKFOR,
SSOBL LIKE KNKK-SSOBL,
CTLPC LIKE KNKK-CTLPC,
OEIKW LIKE S066-OEIKW,
OLIKW LIKE S067-OLIKW,
OFAKW LIKE S067-OFAKW,
NAME1 LIKE LFA1-NAME1,
BUDAT LIKE BKPF-BUDAT,
D_DMBTR LIKE BSID-DMBTR,
S_DMBTR LIKE BSID-DMBTR,
VORGN LIKE BSEG-VORGN,
WERKS LIKE BSEG-WERKS,
NAMESO LIKE KNA1-NAME1,
NAMEAM LIKE KNA1-NAME1,
NAMERM LIKE KNA1-NAME1,
NAMEDR LIKE KNA1-NAME1,
END OF ITAB. -
SY-TABIX value of a loop in other loop in other loop.
Hello Gurus,
I have a problem i want to modify some columns in final internal table and it is possible by using Transporting and Index but when i see SY-TABIX value it is not really giving particular loop iteration value. Because my present loop is in another loop and it is in another loop. Please gurus help me out
or
How to Insert particular filed columns and how to use where clause in insert..
Thanks.Hi !
Here are things you could do:
1. You can use nested loops with the WHERE statement on the inner loop. But this can be slow.
This will look like this
loop at i_tab1 into wa1
loop at i_tab2 into wa2 where cond1 = wa1-cond1....
( move wa2-field3 to wa1-field3.....)
modify i_tab1.
endloop.
endloop.
2. You can use the parallel cursor technique as suggested above.
This technique speeds up processing of data significantly. Here it is:
data lv_tabix type i.
sort i_tab1 by field1 ascending.
sort i_tab2 by field1 ascending.
loop at i_tab1 into wa1
read table i_tab2 transporting no fields with key cond1 = wa1-cond1 binary search.
lv_tabix = sy-tabix.
loop at i_tab2 into wa2 from lv_tabix.
if wa2-cond1 <> wa1-cond1.
exit.
endif.
( move wa2-field3 to wa1-field3.....)
modify i_tab1.
endloop.
endloop.
Please let me know if you want more explanation -
What the Initial value for sy-tabix & sy-index
Hi Folks
I have a small doubt.
What the Initial value for sy-tabix & sy-index?
Can anyone please clarify me?
Regards,
Sreehi sree,
both values are initialized to 0 before processing and after processing values are changed according to used scenarios.
if helpful reward some points.
with regards,
suresh babu aluri.
Maybe you are looking for
-
Changedocu_archive_object
hi there, i am developing an achiving object but have a problem with implementing the archiving class changedocu. it does not save the changedocuments into the archive file. according to the manual, to write the changedocs i only have to use the func
-
Hi all, Will u please tell me the how to import export the client step by step. and prereqisites for the import and export.
-
How to find the Transport request for table entry
Hi , There was certain entry made in the SAP std table and which got transported to subsequent system. I want to find the Transport Request Number which was containign that table entry and which gor transported. Please suggest how can I find that tra
-
HTML code to ABAP in WD for OCI
Hello All, How can I convert the below code in ABAP. The example below is what needs to be generated by the catalog engine, after the user is done with picking items in his shopping basket. But, this code is in ITS in HTML format and I need to accomp
-
Hi! I'd like to ask how to erase all content and settings if your iphone was stolen? Please help.