How to pass more than 3 Items in link of report attribute?
I have a report with edit link.
After user click link, then go to next page. I want to pass more than 3 items in this link, item 1 name=xxx and value=#xxx#.
How can I do this?
Thanks.
Why wouldn't you pass item values through links...is it not why they were created?1. Item values may contain characters that are not URL safe in general ('#') or in APEX (':'), causing the link to fail.
2. Recognisable item values that are visible in the URL are a security issue, and invite URL tampering that in a poorly designed and implemented system may allow unauthorised access to data.
3. There are limits on the length of URL APEX, user agents and servers are capable of handling.
4. Lots of long URLs in links drives up page weight and bandwidth usage.
5. General housekeeping problems and maintainenance issues: think about going backwards and forwards in single-row APEX URL text item showing 60 chars when making changes to a 2000-character URL.
Best practice when passing parameters through a URL is to use as few as possible: preferably single, unique, "meaningless" sequence- or sys_guid-generated references.
Similar Messages
-
How to pass more than one value for one column in procedure
hi
select id, name from col_tab where dept_name in ('ECE','CIVIL');
when i was running this it is working well.
CREATE OR REPLACE PACKAGE pack_str
AS
TYPE type_refcur IS REF CURSOR;
PROCEDURE str(char_in VARCHAR2,ans OUT type_refcur);
END pack_str;
CREATE OR REPLACE PACKAGE BODY pack_str
AS
PROCEDURE str(char_in VARCHAR2,ans OUT type_refcur)
IS
BEGIN
OPEN ans FOR
select id,name from col_tab where dept_name in char_in ;
END str;
END pack_str;
the package was created.
my doubt is
1.how to pass more than one value for char_in (e.g ('ECE','CIVIL'))
2. when i was storing the value in string like val = 'ECE,CIVIL' ,
how to get the id,name for ECE and CIVIL.
plz help meHi Rebekh ,
I am recreating your packages for the desired output.
CREATE OR REPLACE PACKAGE pack_str
AS
TYPE type_refcur IS REF CURSOR;
PROCEDURE str(char_in VARCHAR2,ans OUT type_refcur);
END pack_str;
CREATE OR REPLACE PACKAGE BODY pack_str
AS
PROCEDURE str(char_in VARCHAR2,ans OUT type_refcur)
IS
lv_t varchar2(200);
BEGIN
lv_t := REPLACE(char_in,',',''',''');
lv_t := 'select id,name from col_tab where dept_name in (''' || lv_t || ''')' ;
OPEN ans FOR lv_t;
END str;
END pack_str;
Note:-
Input Parameter char_in is a comma seperated value for dept_name
-Debamalya -
How to pass more than one parameter
Hello,
This is my code.
How to pass more than one parameter:
SELECT:responsibility_name responsibility_name,
LPAD(' ', 6*(LEVEL-1))
|| menu_entry.entry_sequence sequence ,
LPAD(' ', 6*(LEVEL-1))
|| menu.user_menu_name SubMenu_Description ,
LPAD(' ', 6*(LEVEL-1))
|| func.user_function_name Function_Description ,
LPAD(' ', 6*(LEVEL-1))
|| menu_entry.prompt prompt
,menu.menu_id ,
func.function_id
--menu_entry.grant_flag Grant_Flag ,
--DECODE( menu_entry.sub_menu_id , NULL, 'FUNCTION' , DECODE( menu_entry.function_id , NULL, 'SUBMENU' , 'BOTH') ) Type
FROM fnd_menu_entries_vl menu_entry ,
fnd_menus_tl menu ,
fnd_form_functions_tl func
WHERE menu_entry.sub_menu_id = menu.menu_id(+)
AND menu_entry.function_id = func.function_id(+)
AND MENU.LANGUAGE(+) = 'US'
AND FUNC.LANGUAGE(+) = 'US'
--AND func.user_function_name LIKE '%Primary Care Providers%'
AND grant_flag = 'Y'
START WITH menu_entry.menu_id =
(SELECT menu2.menu_id
FROM fnd_menus_tl menu2,apps.fnd_responsibility_vl resp
WHERE menu2.menu_id=resp.menu_id
and resp.responsibility_name= :responsibility_name
--and menu2.user_menu_name = ('ATCO HR INQ USER'
AND LANGUAGE = 'US'
CONNECT BY MENU_ENTRY.MENU_ID = PRIOR MENU_ENTRY.SUB_MENU_ID
and menu_entry.function_id not in (select func.function_id
from --fnd_form_functions_vl fnc,
apps.fnd_resp_functions exc,
apps.fnd_responsibility_vl res
where func.function_id = exc.action_id
and res.responsibility_name =:responsibility_name
and res.responsibility_id=exc.responsibility_id)
and menu_entry.sub_menu_id not in (select menu.menu_id
from --fnd_menus_vl imn,
apps.fnd_resp_functions exc,
apps.fnd_responsibility_vl res
where menu.menu_id = exc.action_id
and res.responsibility_name =:responsibility_name
and res.responsibility_id=exc.responsibility_id)
ORDER SIBLINGS BY menu_entry.entry_sequence;
Thank you for your help
ShuishenmingHi, Ming,
One way is to put the "parameters" in a table, and join to that table in your query. If you make it a Global Temporary Table, then multiple sessions can run the query at the same time, and each can be seeing different responsibilities.
I hope this answers your question.
If not, post a little sample data (CREATE TABLE and INSERT statements, relevant columns only) for all the tables involved, and the results you want from that data. Since this problem involves parameters, you should give a couple of different sets of parameters, and the results you want from the same sample data for each set.
Explain, using specific examples, how you get those results from that data.
Always say what version of Oracle you're using (e.g. 11.2.0.2.0).
See the forum FAQ: https://forums.oracle.com/message/9362002 -
How to create more than 21 lists in interactive reports
hello everyone,
I am new to ABAP as well as this site. Kindly help, I want to know how to create more than 21 lists in interactive reports.
Also, how can i create them without using WHEN 1, wHEN 2 and so on...
Kindly help.
thank youHello,
Using Intracive Reports its not possible to cretate more than 21 lists.
But its possible to create more than 21 using ALV concept.
for sample ALV u can serch in SDN.
Regards,
Anil. -
How to pass more than one value to the procedure
How can I pass more than one letting date to this procedure. If it is only one letting date, I do not have a problem but when it is more than one letting date at the same time then I am stuck. please help
example I would like to pass this three letting dates : '01/17/2010', '01/27/2010','05/22/2010'
CEATE OR REPLACE PROCEDURE TPLCP.PLANHOLDERSLIST
P_LettingDate IN VARCHAR2,
p_results OUT sys_refcursor
AS
BEGIN
OPEN p_results FOR
SELECT DISTINCT DECODE (TRIM (MIN (j.route)), NULL, 'N/A',TRIM (MIN (j.route))) rt,l.lcontid conid,
SUBSTR (q.cprojnum, 1, 10) pr, SUBSTR (l.letting, 3, 2)|| '-'|| SUBSTR (l.letting, 5, 2)|| '-'|| SUBSTR (l.letting, 1, 2) lt,
(q.cdescr) jbtyp, INITCAP (q.clocat1 || q.clocat2) loc
FROM vendor v,
vendaddr r,
letprop l,
planhold p,
proposal q,
project j,
propproj k,
bidlet bd
WHERE v.vendor = r.vendor
AND k.contid = q.contid
AND k.pcn = j.pcn
AND l.lcontid = k.contid
AND p.vendor = v.vendor
AND l.letting = p.letting
AND TO_CHAR (bd.datelet, 'MM/DD/YYYY') IN P_LettingDate
AND l.CALL = p.CALL
AND r.addrnum = p.billto
AND bd.letting = l.letting
GROUP BY v.vendor,
r.addrnum,
v.vnamel,
r.aaddr1,
p.billto,
r.acity,
r.astate,
q.cdescr,
q.clocat1,
q.clocat2,
bd.letting,
r.azipcode,
r.vasst1,
r.aphone,
l.letting,
l.lcontid,
q.cprojnum;
END PLANHOLDERSLIST;you can create your on array type and then pass that as the parameter. I use the suffix of ttyp to represent a table type. The name of the column when using the table() syntax is columnvalue.
I altered my session to set the default date format to match your format. you could have used the to_date function to set the values for the arr type.
Hope this helps.
create type msw_ttyp as table of date
create or replace
procedure msw_test(p_arr in msw_ttyp) as
v integer;
begin
select count(*)
into v
from table(p_arr);
dbms_output.put_line('count: '||v);
for rec in (select column_value
from table(p_arr))
loop
dbms_output.put_line(rec.column_value);
end loop;
end msw_test;
alter session set nls_date_format = 'MM/DD/YYYY';
set serveroutput on size 1000000
exec msw_test(msw_ttyp('01/17/2010', '01/27/2010','05/22/2010'));
begin
msw_test(msw_ttyp(to_date('01/17/2010', 'MM/DD/YYYY'),
to_date('01/27/2010', 'MM/DD/YYYY'),
to_date('05/22/2010', 'MM/DD/YYYY')));
end;
/ -
How to pass more than one parameter using common...
Hi,
I am using ODP.NET with my 2005 VB
I want to create function from where I can pass more than one parameter to execute SP, or query just like i created for SQL SERVER as below
Public shared Function CreateParameter(ByVal paramname As String, ByVal paramvalue As Object) As DbParameter
Dim param As DbParameter
param = New SqlParameter
param.ParameterName = paramname
param.Value = paramvalue
Return param
End Function
Public Shared Function ExecuteQuery(ByVal sql As String, ByVal commtype As CommandType, ByVal ParamArray parameter As DbParameter())
Dim cmd As DbCommand = New SqlCommand()
cmd.Connection = OpenConnection()
cmd.CommandType = commtype
cmd.CommandText = sql
cmd.Parameters.AddRange(parameter)
Dim RetVal As Integer = cmd.ExecuteNonQuery()
Return RetVal
End Function
specially part is in bold to be converted
I tried like but oracleCommand.parameters doesnt support AddRange
please help me out
RegardsHello,
I used the following way:
pCommand.CommandText = "Update " + sDataTable + " set "
+ sColumnName + " = :1 ";
pCommand.Parameters.Add("ValueToDb",
this.DefaultDbType,
this.m_Value,
System.Data.ParameterDirection.Input);
Of course, you can add :2,... to your command text, too.
The way back is:
sEndOfTheClause += " RETURNING " + sDataTable + "." + sColName + " INTO :iNewValue";
pCommand.CommandText = ... + sEndOfTheClause;
pCommand.Parameters.Add("iNewValue", this.DefaultDbType,
ParameterDirection.Output);
bool bReturn = (pCommand.ExecuteNonQuery() != 0);
if ((bReturn == true) && (pCommand.Parameters.Count > 0))
this.Value = DataService.Convert<DATA_TYPE>(pCommand.Parameters[0].Value);
.... -
How to display more than 60 columns in a report
I have a table defined as follows
id
column_name
column_value
data sample
id col_name column_value
1 col1 val1
1 col2 val2
1 col3 val3
2 col1 val1
2 col2 val2
2 col3 val3
now I want to display the data in a report as follows
id col1 col2 col3
1 val1 val2 val3
2 val1 val2 val3
I was able to generate output using pivots [http://technology.amis.nl/blog/1197/pivot-dynamic-data]
the problem is that I can have more that 60 columns retrieved in each row, the pivot solution will retrieve them correctly but I can't display more than 60 columns in apex reports, why this restriction in apex, any solutionHello:
In the Source section of the report definition choose 'Use Generic Column Names (parse query at runtime only)' and then specify a suitable value for 'Maximum number of generic report columns:'
Varad -
How to pass more than 1000 entries in 'IN' clause, Oracle 11g
Hi All,
I know this is a very common question in Oracle discussion forum. But, Im in different zone.
I use C#, .NET and Oracle 11g. I have a situation where I will create a query statement using 'IN' clause in C# code based on my requirement and execute that statement from code itself with oracle connection object. I do not have any procedures. I must phrase my query statement and pass it on to OracleConnection object to execute it.
My code looks like this....
List<decimal> x_Ids = new List<decimal>();
I will load my IDs into x_Ids here;
string whereInClause = ........I will prepare a 'IN' clause (All IDs separated by ',')
My query would looks like this....
string query = select * from MYTABLE where X_ID in [ whereInClause with more than 1000 entries]
oraConn.ExecuteQuery(query);
I have a workaround with OR operator with 'IN' clause like below.
X_ID in [ Ids till 1000 entries] OR X_ID in [Next 1000 entries] OR X_ID in [Next 1000 entries] ....so on.....
It is working, but, I heard that this may slowdown the performance of the application. Is this really a performance hit to my application?
Can you please suggest any other workaround to overcome this situation?>
I have a workaround with OR operator with 'IN' clause like below.
X_ID in [ Ids till 1000 entries] OR X_ID in [Next 1000 entries] OR X_ID in [Next 1000 entries] ....so on.....
It is working, but, I heard that this may slowdown the performance of the application. Is this really a performance hit to my application?There should be no performance difference between a statement like
select * from myTab
where ID in (1,2,3,4,5)
OR ID in (6,7,8,10,12) and
select * from myTab
where ID in (1,2,3,4,5,6,7,8,10,12) The execution plan should be identical.
However those values might better be send as a single object (collection or table of numbers type).
I think the ODP or OO4O connectivity allows to create and such oracle object types.
Another way could be to think about how all the values are created? Did any user enter them manually? Certainly not. Then maybe you can apply the same logic to the SQL statement that created those values in your .Net application.
something like
select * from myTab
where ID in (select t2.FK_ID from otherTab t2 where t2.Col1 = 100) This approach would probably beat all others performancewise. Since you avoid the overhead of constructing the in-lists. -
How to pass more than 10 parameters to OnDemand process?
If have created some application items to use as parameters.
When I do in my javascript
get.addParam('F_PAR_REPORT',pReport);
and I use this parameter in onDemand process as :F_PAR_REPORT , I get
The requested URL /pls/apex/<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><HTML><HEAD><TITLE>404 Not Found</TITLE></HEAD><BODY><H1>Not Found</H1>The requested URL /pls/apex/wwv_flow.show was not found on this server.<P><HR><ADDRESS>Oracle-Application-Server-10g/10.1.2.0.0 Oracle-HTTP-Server Server at kor.ofisa.ch Port 7777</ADDRESS></BODY></HTML> was not found on this server.
If I use x01 - x10, with iwwv_flow.g_x01, it works, but I need to pass more that 10 parameters.
Can anyone give me correct syntax? I remember that before v3, there was a possibility, but I don't remember what it was.
IgorHi Igor
I'd recommend that you try the following, as this is how I work around the problem:
Put your items and values into two delimited strings (use javascript arrays and the join function to simplify the process) and set g_x01 for the items and g_x02 for the values, ensuring each named item has a value and vice versa. On thr processing side use the apex_util.string_to_table function and process them, i.e. set session state etc.
Hope that helps!
Cheers
Matt -
How to pass more than one value in RfcRequest ?
Hi Experts,
I have a FModule (addition) which is exposed as an Enterprise Service. This FM takes two values as input(VAL1 and VAL2) and gives the result (RESULT). I have done the configuration to connect to the backend system via SAP Widget Foundation. When i tried to test in URL :
http://localhost:7531/SapMiddleTier/REST/ewcs/service/rfct/form , i gave the input for the RFC Query Parameters as : <VAL1>10</VAL1><VAL2>20</VAL2> , but i get an error "Expecting Expression" .
Am i giving the input in the wrong format ?
I wrote another FM which doesnt take any input but returns some text as output and when i queried it via the above URL, i get the correct result. I again tested with changing the Fmodule that accepts one input and returns one output and i find that it returning perfectly. But when i try with more than one input i get the below error.
Could some one please help ?
See the error :
<?xml version="1.0" encoding="UTF-8"?>
<root>
<Status text="expecting expression" code="-1" type="E"/>
<StatusDetailList>
<StatusDetail type="I" text="expecting expression" code="0"/>
<StatusDetail text="" code="0" type="I" source="net.axyana.qizxopen.xquery.XQEvalException: expecting expression at net.axyana.qizxopen.xquery.ext.XfnEval$Exec.eval(XfnEval.java:62) at net.axyana.qizxopen.xquery.op.Expression.evalAsEvents(Expression.java:556) at net.axyana.qizxopen.xquery.op.ElementConstructor.evalAsEvents(ElementConstructor.java:105) at net.axyana.qizxopen.xquery.op.FLWRExpr.evalAsEvents(FLWRExpr.java:423) at net.axyana.qizxopen.xquery.impl.CompiledQuery.evalAsEvents(CompiledQuery.java:82) at net.axyana.qizxopen.xquery.impl.XQueryExprImpl.doExecuteQuery(XQueryExprImpl.java:267) at
Best Regards,
Sam..Hi John,
Thank you for your reply.
Am trying to test my FM(using http://localhost:7531/SapMiddleTier/REST/ewcs/service/rfct/form) as mentioned in this link:
http://nvpal168.pal.sap.corp:1080/widgetgallery/staticPage.seam?pageId=staticPage9
I had downloaded the SAP Widget Foundation and its running.
Using the link : http://localhost:7531/SapMiddleTier/REST/ewcs/service/rfct/form we can test exposed function modules . If you are using SAP Widget Foundation, then the above link will open up a form
where in the user gives RFC parameters.
I gave it as <VAL1>10</VAL1><VAL2>20</VAL2> and click on Query RFC = > i get the above mentioned error. If this works, then i can call my function module via Adobe flex using HTTP Service with the service url as "http://localhost:7531/SapMiddleTier/REST/ewcs/service/rfct/form".
Best Regards,
Sam. -
How to pass more than one email address in email template
Hi all.
I need to pass email address list in TO field of email template.I passed the list with comma delimeter but even though mail is trigerring only to the first email address in the list...
If any one come across this please mail me...
It is bit urgent....
Thanks in advance....Hi Thanks for your reply.
No there is no space between two mail ids and also i tried by hardcoding the email id's in TO field even though mail is not triggering....
Through rules i am pasisng the notifer list.Just i am calling the rules in variable and passing that variable in TO field....
Is there any other way to solve this problem... -
How to display more than 255 characters in the report
Hi all,
In my program, i try to output a variable type c length 500 in the report. But this report still keep on display 255 characters only although i had set the line-size to 500.
Is there any method output all characters?
thanks,
JaniceHi Janice Yeoh,
I am assuming this is classical report......And just need to do is increase the line-size in report statement. Find below for small example which i ve tried..
REPORT ytest1 LINE-SIZE 500.
DATA : BEGIN OF it OCCURS 500,
v TYPE c,
END OF it.
DO 503 TIMES.
IF sy-index = 500.
WRITE '500'.
ELSE.
WRITE : 'X' NO-GAP.
ENDIF.
ENDDO.
Dont forgot to Reward me points .....All the very best....
Regards,
Sreenivasa sarma K. -
How to pass more that 3 items in Column Link
Hi,
I need to pass 4 items as link values from page 1 to page 2 . Under Report Attributes-> Column
Attributes -> Link I cannot set more than 3 items. Can some please advice the best method of passing more than 3 values from page 1 to page 2.
Thanks in advance
AaliHi,
If you report have unique key/primary key, you can just pass that to another page.
Then computation other items before header e.g. selecting by that key.
Br,Jari -
How can I pass more than one parameters in PDK-URL services?
Hi all,
How can I pass more than one parameters in PDK-URL service? All samples on Portal Center shows just one parameter passing.
<inputParameter class="oracle.portal.provider.v1.URLPortletParameter">
<name>csz</name>
<isMandatory>false</isMandatory>
<displayName>What location do you want a map for (City, State or Zip)?</displayName>
</inputParameter>
How can I write the privider.xml file for passing multiple parameters?I answer to my question. I've got the answer.
I repeatly write down the <inputParameter> tags, and it works. -
How to insert more than 12 items using BDC for MB1C
Hi,
When we use LSMW for data transfer of MB1C transaction, more than 12 items can be inserted in a document.
But using BDC only 12 and below is possible, if the flat file system has more that 12 item, then the document is not created.
How to insert more than 12 item in a document.
RegardsHi Gow,
I have uploaded the MB1C through a BDC and it is working fine for n no of items.
Here is the code. May be this will be of your help.
*& Report ZMB1C
report ZMB1C
no standard page heading line-size 255.
type-pools : slis.
tables : t100.
data: begin of record,
MATNR(018),
ERFMG(017),
EXBWR(016),
end of record.
data : itab like table of record with header line.
data : w_bdcdata type bdcdata.
data : t_bdcdata type standard table of bdcdata initial size 1.
data : messtab type standard table of bdcmsgcoll with header line.
data : mstring(300).
data : vf_index type i,
no_lines type i,
count type i value 0.
data : v_bldat(20),
v_budat(20).
*Excel Sheet Data Upload Details
data : vf_start_col type i value '1', "start column
vf_start_row type i value '2', "start row
vf_end_col type i value '100', "maximum column
vf_end_row type i value '10000'. "maximum row
*/ Internal Table For Excel Data
data : it_excel type kcde_cells occurs 0 with header line.
*/ Field symbol
field-symbols : <fs>.
data : begin of it_messtab occurs 0,
plant(10) type c,
status(10) type c,
message(90) type c,
end of it_messtab.
*Data for ALV display
data : wa_fcat type slis_fieldcat_alv,
colcnt type i.
data : it_fieldcat type slis_t_fieldcat_alv,
i_events type slis_t_event.
data : l_title type sychar70.
data : l_repid like sy-repid.
* Selction Screen
selection-screen begin of block b1 with frame title text-000.
parameters : p_file like ibipparms-path obligatory,
p_mode like ctu_params-dismode default 'A'.
selection-screen end of block b1.
selection-screen begin of block b2 with frame title text-001.
parameters : p_bldat like MKPF-BLDAT obligatory,
p_budat like MKPF-BUDAT obligatory,
p_bwart like RM07M-BWARTWA obligatory,
p_werks like RM07M-WERKS obligatory,
p_lgort like RM07M-LGORT obligatory.
selection-screen end of block b2.
* At Selction Screen
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.
*Start of Selection Event
start-of-selection.
call function 'KCD_EXCEL_OLE_TO_INT_CONVERT'
EXPORTING
filename = p_file
i_begin_col = vf_start_col
i_begin_row = vf_start_row
i_end_col = vf_end_col
i_end_row = vf_end_row
TABLES
intern = it_excel
EXCEPTIONS
inconsistent_parameters = 1
upload_ole = 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.
if it_excel[] is initial.
MESSAGE I000(ZCL_TCSABAP).
else.
sort it_excel by row col.
loop at it_excel.
move : it_excel-col to vf_index.
assign component vf_index of structure itab to <fs>.
move : it_excel-value to <fs>.
at end of row.
append itab.
clear itab.
endat.
endloop.
endif.
if not itab[] is initial.
DESCRIBE TABLE itab LINES no_lines.
clear messtab.
refresh messtab.
CONCATENATE p_bldat+6(2) '.' p_bldat+4(2) '.' p_bldat(4) into v_bldat.
CONCATENATE p_budat+6(2) '.' p_budat+4(2) '.' p_budat(4) into v_budat.
perform map_rec.
call transaction 'MB1C' using t_bdcdata mode p_mode update 'A'
messages into messtab .
clear t_bdcdata.
refresh t_bdcdata.
loop at messtab where msgtyp = 'E' or msgtyp = 'S' .
select single * from t100 where sprsl = messtab-msgspra
and arbgb = messtab-msgid
and msgnr = messtab-msgnr.
if sy-subrc = 0.
mstring = t100-text.
if mstring cs '&1'.
replace '&1' with messtab-msgv1 into mstring.
replace '&2' with messtab-msgv2 into mstring.
replace '&3' with messtab-msgv3 into mstring.
replace '&4' with messtab-msgv4 into mstring.
else.
replace '&' with messtab-msgv1 into mstring.
replace '&' with messtab-msgv2 into mstring.
replace '&' with messtab-msgv3 into mstring.
replace '&' with messtab-msgv4 into mstring.
endif.
condense mstring.
it_messtab-message = mstring(300).
it_messtab-plant = p_werks.
if messtab-msgtyp = 'E'.
it_messtab-status = 'Error'.
else.
it_messtab-status = 'Success'.
endif.
append it_messtab.
clear it_messtab.
endif.
endloop. "messtab
if not it_messtab[] is initial.
perform buildcatalog.
perform display.
endif.
endif.
*& Form Map_Rec
* text
form map_rec.
perform bdc_dynpro using 'SAPMM07M' '0400'.
perform bdc_field using 'BDC_CURSOR'
'RM07M-WVERS3'.
perform bdc_field using 'BDC_OKCODE'
'NPE'.
perform bdc_field using 'MKPF-BLDAT'
v_bldat.
perform bdc_field using 'MKPF-BUDAT'
v_budat.
perform bdc_field using 'RM07M-BWARTWA'
p_bwart.
perform bdc_field using 'RM07M-WERKS'
p_werks.
perform bdc_field using 'RM07M-LGORT'
p_lgort.
perform bdc_field using 'XFULL'
perform bdc_field using 'RM07M-XNAPR'
'X'.
perform bdc_field using 'RM07M-WVERS2'
perform bdc_field using 'RM07M-WVERS3'
'X'.
loop at itab.
count = count + 1.
perform bdc_dynpro using 'SAPMM07M' '0410'.
perform bdc_field using 'BDC_CURSOR'
'MSEG-EXBWR'.
if count <> no_lines.
perform bdc_field using 'BDC_OKCODE'
'=NPE'.
elseif count = no_lines.
perform bdc_field using 'BDC_OKCODE'
'=BU'.
endif.
perform bdc_field using 'MSEG-MATNR'
itab-MATNR.
perform bdc_field using 'MSEG-ERFMG'
itab-ERFMG.
perform bdc_field using 'MSEG-EXBWR'
itab-EXBWR.
endloop. "itab
endform. "Map_Rec
** Form BDC_DYNPRO
form bdc_dynpro using program dynpro.
clear w_bdcdata.
w_bdcdata-program = program.
w_bdcdata-dynpro = dynpro.
w_bdcdata-dynbegin = 'X'.
append w_bdcdata to t_bdcdata.
endform. "bdc_dynpro
** Form BDC_FIELD
form bdc_field using fnam fval.
if fval <> space.
clear w_bdcdata.
w_bdcdata-fnam = fnam.
w_bdcdata-fval = fval.
append w_bdcdata to t_bdcdata.
else.
clear w_bdcdata.
w_bdcdata-fnam = fnam.
w_bdcdata-fval = fval.
append w_bdcdata to t_bdcdata.
endif.
endform. "bdc_field
* FORM buildcatalog *
form buildcatalog.
clear wa_fcat.
clear it_fieldcat.
colcnt = colcnt + 1.
wa_fcat-col_pos = colcnt.
wa_fcat-fieldname = 'PLANT'.
wa_fcat-tabname = it_messtab.
wa_fcat-seltext_l = 'PLANT'.
wa_fcat-key = 'X'.
wa_fcat-outputlen = '10'.
append wa_fcat to it_fieldcat.
clear wa_fcat.
colcnt = colcnt + 1.
wa_fcat-col_pos = colcnt.
wa_fcat-fieldname = 'STATUS'.
wa_fcat-tabname = it_messtab.
wa_fcat-seltext_l = 'STATUS'.
wa_fcat-outputlen = '10'.
append wa_fcat to it_fieldcat.
clear wa_fcat.
colcnt = colcnt + 1.
wa_fcat-col_pos = colcnt.
wa_fcat-fieldname = 'MESSAGE'.
wa_fcat-tabname = it_messtab.
wa_fcat-seltext_l = 'Message'.
wa_fcat-outputlen = '90'.
append wa_fcat to it_fieldcat.
endform. "buildcatalog
* FORM display *
form display.
l_title = text-002.
l_repid = sy-repid.
call function 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = l_repid
i_grid_title = l_title
it_fieldcat = it_fieldcat
it_events = i_events[]
TABLES
t_outtab = it_messtab
EXCEPTIONS
program_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.
endform. "display
Regards,
Amit
Maybe you are looking for
-
Connecting my MBP Unibody, to a VGA monitor.
As the subject says, i'm so confused with all the adapter options are out there for connecting my mbp to a vga monitor. Do i buy the expensive, apple branded cable, or the substitute? In many of the product descriptions it says the adapter works with
-
Hi all, I am having an issue with my Photoshop CS4 version 11.0.2 I am running it in a Macintosh environment. Mac Pro 2.8 GHz Quad-Core Intel Xeon with 12 GB ram. OS Snow Leopard 10.6.8, the scratch disk is set to an empty partition on an external La
-
I need a driver for Canon MP950. Canon or Apple do not have it
I moved up from OS X 10.6 to 10.9 and lost the driver for my printer (Canon Pixma MP950) .Canon does not have a driver for this printer on Maverick and. Apple does not have one either. Do I have to buy a new printer? Any other solution?
-
I've searched for some time, but have yet to find a solution to this: I wish to hide items ( html help item associated with each node) in a tree with a xmlListCollection data provider . I found this article: http://www.axelscript.com/2008/02/20/using
-
Need Help! Ospprearm.exe not working with Windows 8 and Micorsoft Office 2013
I am running 64 bit win 8 and office 2013. I searched in my whole PC and I found Ospprearm.exe in this location C:\Program Files (x86)\Microsoft Office\Office15 That was the only place I found ospprearm.exe. When I opened it I got this error There