Show results per unique identifier
Dear community,
I have stranded on something I am not sure how to figure it out.
What I want is a page which contains an empty report and a LOV. When I select something from the LOV (which is a primary key), the empty report should be filled with the information stored/related to the LOV selection.
That possible. because I could not find or get any examples for this.
Explanation:
I have a page 1.
I have a region in page 1.
I have a report in page 1.
I have a LOV item in page 1.
When LOV item selection is pressed the report should be filled with tabledata linked to the lov selection.
Thank you!
"What I need on page 1 is that I want to all results per student.
I figured out it could be done while having 1 LOV and a report based on a table ( this report automatically shows all data out of the table, which not a real problem ).
But when I select a student out of the LOV, the report should update with only the results of that student."
Let's say your LOV page item is P1_STUDENT and your Primary Key column on the table is STUDENT_ID.
Your query then would be
Select column1, 2, 3,....
FROM Student_Table
WHERE STUDENT_ID = :P1_STUDENT OR :P1_STUDENT IS NULL
This is where your "select list item fits into the query's Where Clause"So, following the previous advice to have your P1_STUDENT LOV item submit the page when it is changed by the user, your report will run and data will be selected based on its new value and the new report details will be generated.
The - OR :P1_STUDENT IS NULL - allows the report to initially run and select all rows for all student ID's
Similar Messages
-
Getting a unique identifier per portlet (portlet id or something)
I have a custom build ADF portlet in my webcenter space application.
When i add 2 of these portlets (which are the same task flow) i need to identify them.
Is their a way so i can get a unique identifier from the portlet so i can know which portlet is which? Is their for example an API so i can get the portlet ID or something like that?I think this http://forums.adobe.com/community/livecycle will help more so than this forumAdobe LiveCycle
Gramps -
[CS3][JS] Uniquely identifying documents with common names - possible?
Hi!
Is there no way to refer directly to a document in app.documents when there are several documents with the same name open at the same time (located in different folders)?
I have tried to assign unique labels to the documents when opening them, but have not succeeded in referring to documents by their labels, only by name - and the name not being unique, I get just one document reference (the first).
I also tried using the documents.itemByRange function, supposedly returning an array of all documents in the range defined by the parameters sent to the function. However, sending in the same name in the "from" and "to" parameters, returned only one document:
app.documents.itemByRange('test.indd', 'test.indd').getElements().length
Result: 1
//(I would have expected to get both of them)
// Referring directly by the name:
app.documents.item('test.indd').getElements().length
Result: 1
// Checking the name of the documents by their indexes:
app.documents.item(0).name
Result: test.indd
app.documents.item(1).name
Result: test.indd
Do you really have to loop through all open documents and check their fullName to be able to uniquely identify a document if the names are not unique?
Kind regards,
Andreas JanssonHi Dave,
Make that three or four... ;)
Kris at Rorohiko created a method to get unique references to two
different documents with the same name. It's usable if you have the free
APID ToolAssistant version 1.0.44 or higher. (it doesn't need to be
licensed...)
Here's an excerpt from the reference manual:
The get doc GUID function is used as follows:
guid =
app.callExtension(0x90B6C,10008,document);
This function returns a GUID (Globally Unique Identifier) for a
document. This is a string of the form
{nnnnnnnn-nnnn-nnnnnnnnnnnnnnnnnnnn}
where all 'n' stand for a hexadecimal digit.
These GUID allow you to work with same-name documents that
are concurrently open without getting tangled in the confusion
that occurs when using resolve calls.
As long as a document is not moved from its original location on
disk, it will keep the same GUID. Two documents with the same
name but different paths will have different GUID.
Opening, closing, (re)saving to the same location will NOT
change the GUID.
Moving a document to another location will change the GUID.
The find open doc by GUID function is used as follows:
doc = app.callExtension(0x90B6C,10009,guid);
This function retrieves a reference to an already open document
based on its GUID string.
These GUID strings are unique and persistent and allow
persistent references to same-name documents without resolvelike
issues (but the documents are meant to be 'unmovable' i.e.
they cannot be renamed or moved to another folder). Once the
document is open, it can be retrieved via its GUID.
HTH,
Harbs -
Problem using SQL-LOADER and Unique Identifiers
I'm trying to load a fixed-length records file containing people names and phone numbers. Data is specified as follows
Toni Tomas66666666669999999999
Jose Luis 33333333330000000000
Notice that a maximum of 2 numbers can follow a person name, and 0000000000 means "no number specified".
I want to assign a unique identifier to people (instead of using the NAME field as a Primary Key) using an Oracle Sequence. I did that, but I don't know
how to assign the same id to each number.
Considering the 2 previous lines, desired result should be:
PEOPLE
======
1 Toni Tomas
2 Jose Luis
TEL_NUMBERS
===========
1 6666666666
1 9999999999
2 3333333333
In order to achieve that, my Control File looks like this
LOAD DATA
INFILE phonenumbers.txt
INTO TABLE people
personID "mySequenceName.nextval", --an Oracle sequence
name POSITION(1:10) CHAR
INTO TABLE tel_numbers
WHEN phonenumber !='0000000000'
personID !!!DON'T KNOW HOW TO REFERENCE THE SAME ID!!!!
phonenumber POSITION(11:20) CHAR
INTO TABLE tel_numbers
WHEN phonenumber !='0000000000'
personID !!!DON'T KNOW HOW TO REFERENCE THE SAME ID!!!!
phonenumber POSITION(21:30) CHAR
I tried lots of things, but anyone works:
a) reference the ID using something like ":\"people.personID\" (or similar aproaches)
b) using a BEFORE INSERT TRIGGER getting the CURRVAL value of the Sequence. This solution
does not work because it seems that all people is loaded before any telephone number. Hence,
all phone numbers are associated, wrongly, to the last person in the data file.
Does anyone know how can I solve this issue?
Help would be appreciated. Thank you.Hi V Garcia.
Information within the file is correct. Each line represents a COMPLETE record (Part of the line represents parent information and the rest is children data). As you can see in my first message, you can have more than one detail for a given master (i.e. two phone numbers):
Toni Tomas66666666669999999999
(10 chars for the name, 10 for each phone number. Thus, 2 children records to be created)
With the solution given by Sreekanth Reddy Bandi (use of CURRVALUE within the SQL-Loader Control File), not all the details are linked to the parent record on the DB tables. It seems SLQ-Loader gets crazy when there is such amount of information. -
Adding a unique identifier in file name
Dear all,
In one of the scenario(n IDOCs to 1File),
IDOCs keep coming from SAP and at XI we are appending it in one file.
XI transmits this file on particular time of a day(say everyday at 6 PM) to the receiver system. It implies that it is a per day interface.
XI creates the file with the this convention: <DocName>>_<Date>.txt
Now a new requirement has come up to add a unique identifier to this filename for every transmission, Say for ex:
<UniqueIdentifier>_<DocName>_<Date>.txt
The receiver system wants this, UniqueIdentifier to be in sequence, say
0001_OrderData_20090224.txt
0002_OrderData_20090224.txt
Is it possible to achieve this in XI, Do we have any standard feature. or is there any workaround.
Kindly drop in your comments.
Thanks in advance,
YounusMohammed.
Your interface won't work like this. If this is the situation you want to archieve then you should use the IDOC.txt as a secondary input as well.
if you do an append on the file there is no way you can duplicate that.
else i'd suggest you create a CMD function which does a copy and append number to that. There is a function within SAP Xi to execute a CMD line function when done.
In this batch (or.sh) file you can copy the last file and append a number to that. Alllthough i'm not sure how dynamically that is.
greets -
Override content by search Web Part's limit of 50 results per page
Hello ,
Happy New year 2015.
SharePoint 2013 search webPart renders a maximum of 50 search results per page and it
is not possible to change this hardwired limit by configuring the web part.
If i set it to greater than 50, it throws an error.
How to override this limit of 50 so that i display all result in the same page ( no need to pagination).
I look for a client side solution if possible.
Note : i have applied the solution proposed by Matt
Stark int this work around Blog and i set the limit to 700 but the webPart still get it limit number 50 in stead
of 700.
in my display template , i see that ctx.ClientControl.get_numberOfItems()=700 and in my html i see only 50 items per page.
Any help will be appreciated.
ThanksHi PiingPoint,
According to your description, my understanding is that you want to show more than 50 results in a page in core search web part.
The "Results Per Page" maximum value 50 is hard-code in OOB Search Core Results Web Part by design, so it could only return maximum 50 items per page, when"Result Per Page" value is larger than 50, it will display default 10 items
per page.
It's for end user experience and performance. Webpart is mostly used as a portion of a page view which users won't want to scroll too much, its not considered to be a good end user experience. Additionally beyond a point we would need
to consider performance aspects to display thousands of items on web page views, hence a maximum value of 50 items without paging has been made available by design to take care of these aspects.
If you want to show more than 50 results per page, you need to develop a custom core search web part to do it.
Best Regards,
Wendy
Wendy Li
TechNet Community Support -
IProcurement Search Results Per Page
Hi to All,
Was looking for a profile option that controls the search results per page. We know there is the iProcurement section that a user can set the search results per page. But we are looking for a global profile option.
In researching this option within ML found the following profile: POR: Result Set Size. But this profile doesnt change the results per page.
Does anyone have thoughts on what the correct profile is or why the POR: Result Set Size is not working as expected.
ThanksHi,
Thanks for your response. In Robohelp 8 there are no options for hiding the search results per page feature while generating the output. Can you please guide me. I tried removing the content from the output by commenting out the followig code from the whform.htm file. However, the text box showing 10 remains. I cannot remove that. Can you suggest?
gsMaxSearchTitle = "Search results per page" ;
gsMaxSearchTitle = "Search results per page";
if (window.gbWhForm)
RegisterListener2(this, WH_MSG_SHOWTOC);
RegisterListener2(this, WH_MSG_SHOWIDX);
RegisterListener2(this, WH_MSG_SHOWFTS);
RegisterListener2(this, WH_MSG_SHOWGLO);
RegisterListener2(this, WH_MSG_SEARCHTHIS);
RegisterListener2(this, WH_MSG_BACKUPSEARCH);
RegisterListener2(this, WH_MSG_HILITESEARCH);
RegisterListener2(this, WH_MSG_GETSEARCHSTR);
RegisterListener2(this, WH_MSG_SETSYNSTR);
RegisterListener2(this, WH_MSG_GETMAXRSLT);
RegisterListener2(this, WH_MSG_SETNUMRSLT);
RegisterListener2(this, WH_MSG_GETNUMRSLT);
gfunLookUp = ftsLookup;
gfunInit = null;
gstrFormName = "FtsInputForm"
gsTitle = "Type in the word(s) to search for:";
gsTitle = "Type in the word(s) to search for:";
gsHiliteSearchTitle = "Highlight search results";
gsHiliteSearchTitle = "Highlight search results";
gsMaxSearchTitle = "Search results per page" ;
gsMaxSearchTitle = "Search results per page";
setGoImage1("wht_go.gif");
setBackgroundcolor("White"); -
How to shows result as Alias name.
Dear All,
I am having following query and output, in that inside query showing one record check another query, that result i want to show as Alias, Can we show result as alias ?
select SPL.speciality_description,Emp.FIRSTNAME,DT.full_date
,max(decode(diagnosis_description,
(SELECT DIAGNOSIS_DESCRIPTION
FROM (SELECT row_number() OVER (ORDER BY DIAGNOSIS_DESCRIPTION DESC) r,
DG.DIAGNOSIS_DESCRIPTION
FROM A_PERFORMANCEDOCTORWISE PD
INNER JOIN D_DATE DT ON DT.DATE_ID = PD.DATEID
INNER JOIN D_DIAGNOSIS DG ON DG.DIAGNOSISID = PD.DIAGNOSISID
WHERE DT.FULL_DATE between (select TO_CHAR(sysdate-15,'DD/MON/YYYY') from dual)
and (select TO_CHAR(sysdate,'DD/MON/YYYY') from dual) and ROWNUM < 6
) WHERE r=1),patientcount)) as First
,max(decode(diagnosis_description,
(SELECT DIAGNOSIS_DESCRIPTION FROM (
SELECT row_number() OVER (ORDER BY DIAGNOSIS_DESCRIPTION DESC) r,
DG.DIAGNOSIS_DESCRIPTION
FROM A_PERFORMANCEDOCTORWISE PD
INNER JOIN D_DATE DT ON DT.DATE_ID = PD.DATEID
INNER JOIN D_DIAGNOSIS DG ON DG.DIAGNOSISID = PD.DIAGNOSISID
WHERE DT.FULL_DATE between (select TO_CHAR(sysdate-15,'DD/MON/YYYY') from dual)
and (select TO_CHAR(sysdate,'DD/MON/YYYY') from dual) and ROWNUM < 6
) WHERE r=2),patientcount)) as Second
,max(decode(diagnosis_description,
(SELECT DIAGNOSIS_DESCRIPTION FROM (
SELECT row_number() OVER (ORDER BY DIAGNOSIS_DESCRIPTION DESC) r,
DG.DIAGNOSIS_DESCRIPTION
FROM A_PERFORMANCEDOCTORWISE PD
INNER JOIN D_DATE DT ON DT.DATE_ID = PD.DATEID
INNER JOIN D_DIAGNOSIS DG ON DG.DIAGNOSISID = PD.DIAGNOSISID
WHERE DT.FULL_DATE between (select TO_CHAR(sysdate-15,'DD/MON/YYYY') from dual)
and (select TO_CHAR(sysdate,'DD/MON/YYYY') from dual) and ROWNUM < 6
) WHERE r=3),patientcount)) as Third
,max(decode(diagnosis_description,
(SELECT DIAGNOSIS_DESCRIPTION FROM (
SELECT row_number() OVER (ORDER BY DIAGNOSIS_DESCRIPTION DESC) r,
DG.DIAGNOSIS_DESCRIPTION
FROM A_PERFORMANCEDOCTORWISE PD
INNER JOIN D_DATE DT ON DT.DATE_ID = PD.DATEID
INNER JOIN D_DIAGNOSIS DG ON DG.DIAGNOSISID = PD.DIAGNOSISID
WHERE DT.FULL_DATE between (select TO_CHAR(sysdate-15,'DD/MON/YYYY') from dual)
and (select TO_CHAR(sysdate,'DD/MON/YYYY') from dual) and ROWNUM < 6
) WHERE r=4),patientcount)) as Forth
,max(decode(diagnosis_description,
(SELECT DIAGNOSIS_DESCRIPTION FROM (
SELECT row_number() OVER (ORDER BY DIAGNOSIS_DESCRIPTION DESC) r,
DG.DIAGNOSIS_DESCRIPTION
FROM A_PERFORMANCEDOCTORWISE PD
INNER JOIN D_DATE DT ON DT.DATE_ID = PD.DATEID
INNER JOIN D_DIAGNOSIS DG ON DG.DIAGNOSISID = PD.DIAGNOSISID
WHERE DT.FULL_DATE between (select TO_CHAR(sysdate-15,'DD/MON/YYYY') from dual)
and (select TO_CHAR(sysdate,'DD/MON/YYYY') from dual) and ROWNUM < 6
) WHERE r=5),patientcount)) as Fifth
FROM A_PERFORMANCEDOCTORWISE PD
INNER JOIN D_SPECIALITY SPL ON SPL.SPECIALITYID = PD.SPECIALITYID
INNER JOIN D_EMPLOYEEMASTER EMP ON EMP.EMPID = PD.DOCTORID
INNER JOIN D_DATE DT ON DT.DATE_ID = PD.DATEID
INNER JOIN D_DIAGNOSIS DG ON DG.DIAGNOSISID = PD.DIAGNOSISID
WHERE DT.FULL_DATE between (select TO_CHAR(sysdate-15,'DD/MON/YYYY') from dual)
and (select TO_CHAR(sysdate,'DD/MON/YYYY') from dual)
group by SPL.speciality_description, Emp.FIRSTNAME, DT.full_date
order by SPL.speciality_description,Emp.FIRSTNAME,DT.full_date
Output:
REGISTRATION Dr.POOJA 19-JUL-10 12:00 AM 56 74 99 32 96
REGISTRATION Dr.POOJA 21-JUL-10 12:00 AM 93 74 45 43 69
REGISTRATION Dr.POOJA 22-JUL-10 12:00 AM 34 34 76 66 24
REGISTRATION Dr.POOJA 24-JUL-10 12:00 AM 99 75 97 78 69
REGISTRATION Dr.POOJA 26-JUL-10 12:00 AM 54 34 76 66 24
REGISTRATION Dr.POOJA 28-JUL-10 12:00 AM 76 75 97 78 33
REGISTRATION Dr.POOJA 30-JUL-10 12:00 AM 54 23 34 65 23
Travel Clinic Dr.PRAN 19-JUL-10 12:00 AM 56 74 99 32 96
Travel Clinic Dr.PRAN 21-JUL-10 12:00 AM 93 74 45 43 69
Anothe Query :
SELECT DIAGNOSIS_DESCRIPTION
FROM (SELECT row_number() OVER (ORDER BY DIAGNOSIS_DESCRIPTION DESC) r,
DG.DIAGNOSIS_DESCRIPTION
FROM A_PERFORMANCEDOCTORWISE PD
INNER JOIN D_DATE DT ON DT.DATE_ID = PD.DATEID
INNER JOIN D_DIAGNOSIS DG ON DG.DIAGNOSISID = PD.DIAGNOSISID
WHERE DT.FULL_DATE between (select TO_CHAR(sysdate-15,'DD/MON/YYYY') from dual)
and (select TO_CHAR(sysdate,'DD/MON/YYYY') from dual) and ROWNUM < 6
) WHERE r=1
Output:
Neurocytoma
I want to show this result as Alias name. Can anybody tell me how to do that ?
Thanks and Regard's
Harish PatilHi,
If I've understood the intention of your code correctly, you are trying to pivot the rows into columns and assign a "nice" header to the resulting columns.
You cannot dynamically assign a column name to a pivoted row. You need to know beforehand what row you are pivoting so you can assign a column name to it. This isn't as difficult as it sounds, there are a number of ways you could know what row will become what column.
Since I have no way to test using your code, I am posting an example for you that uses the EMP table that is part of the standard example databases shipped with Oracle.
Also, notice that, the code I am presenting is enclosed between the tags (which you cannot see) [ code ] and [ / code ] which is why it appears nicely formatted. Your code would be much easier to read and folks would be much more likely to understand what you want and therefore help you if you take the time to format your code so it is comprehensible.
See the basics of using tags to format your code at this page:
http://wiki.oracle.com/page/Oracle+Discussion+Forums+FAQ
Now the example that will help you get what you want:
/* this query calculates the total salaries per deptno */
SELECT job,
deptno,
sum(sal) sal
FROM emp
GROUP BY job, deptno;
/* output is */
JOB SUM(SAL)
CLERK 4150
SALESMAN 5600
PRESIDENT 5000
MANAGER 8275
ANALYST 6000
/* this query pivots the above query (which is what you're trying to do) */
SELECT *
FROM (
SELECT job,
deptno,
sum(sal) sal
FROM emp
GROUP BY job, deptno
PIVOT (sum(sal) FOR deptno IN (10, 20, 30, 40));
/* output is */
CLERK SALESMAN PRESIDENT MANAGER ANALYST
4150 5600 5000 8275 6000If you are not using 11g, there are ways of doing the above without using the PIVOT clause. There are lots of examples in this forum on how to pivot rows. Here is one that pretty much does manually what the PIVOT clause does:
select max(case when job='CLERK'
then ename else null end) as clerks,
max(case when job='ANALYST'
then ename else null end) as analysts,
max(case when job='MANAGER'
then ename else null end) as mgrs,
max(case when job='PRESIDENT'
then ename else null end) as prez,
max(case when job='SALESMAN'
then ename else null end) as sales
from (
select job,
ename,
row_number()over(partition by job order by ename) rn
from emp
) x
group by rn
/* outputs */
CLERKS ANALYSTS MGRS PREZ SALES
MILLER FORD CLARK KING TURNER
JAMES SCOTT BLAKE MARTIN
ADAMS JONES WARD
SMITH ALLENHTH,
John.
Edited by: 440bx - 11gR2 on Aug 2, 2010 9:28 AM - added missing verb "is" in sentence
Edited by: 440bx - 11gR2 on Aug 2, 2010 9:32 AM - missing "s" in select. -
Hi guys,
we created a custom WIM Image (Windows 8 Enterprise) with MDT 2012.
Sysprept the Image, Deployed via SCCM 2012 SP1.
Computers are Domainjoined. Error with standard Domain User.
On some computers (not every computer) and not with every user on the first logon following error message arises:
The Group Policy Client service failed the sign-in The universal unique identifier (UUID) type is not supported
It works, when you log in a second time but this error isn't very nice.
Is there a solution for that?
Kind Regards
MartinHi,
The service is responsible for applying settings configured by administrators for the computer and users through the Group Policy component. This issue can be caused by various reasons based on the computer environment.
Can you find any information in event log about this issue?
Here is the related blog in which the steps can solve most of such issues if the issue continuously happen.
http://blogs.msdn.com/b/moiqubal/archive/2012/03/04/how-to-fix-quot-the-group-policy-client-service-failed-the-logon-access-denied-quot-error.aspx
Also, you can refer to the similar thread about this issue:
http://social.technet.microsoft.com/Forums/en-US/4a644219-50ee-494d-b965-e64a8555109e/the-group-policy-client-service-failed-the-signin-the-universal-unique-identifier-uuid-type-is
Since this issue can be related to SCCM, to better help you, please submit a new thread for further help:
https://social.technet.microsoft.com/Forums/en-US/home?category=systemcenter2012configurationmanager
Hope these could be helpful.
Kate Li
TechNet Community Support -
Problem with store ResultSet and show result in table
Hi, I'm kind of new in ADF, I need to store ResultSet and show result in table-component. I have two problems:
1) I get my ResultSet by calling callStoredProcedure(...) and this returns actually ref_cursor as ResultSet.
When I try to println() contains of this result set in this method - it works OK (commented part),
but when I want to println() somewhere else (eg. in retrieveRefCursor() method) it doesn't work.
The problem is that the scrollability of the ResultSet is lost - it becomes a TYPE_FORWARD_ONLY ResultSet.
Is there any way to store data from ref_cursor for a long time?
2) My second problem is "store any result set and show this data in table". I have tried use method storeNewResultSet() but
without result (table contains only "No rows yet" and everything seems to be OK - no exception, no warning, no error...).
I have tried to call this method with ResultSet from select on dbs (without resultSet as ref_cursor ) - no result with createRowFromResultSet(),
storeNewResultSet(), setUserDataForCollection()...
I've tried a lot of ways to do this, but it doesn't work. I really don't know how to make it so it can work.
Thanks for your help.
ADF BC, JDev 11.1.1.0
This is my code from ViewObjectImpl
package tp.model ;
import com.sun.jmx.mbeanserver.MetaData ;
import java.sql.CallableStatement ;
import java.sql.Connection ;
import java.sql.PreparedStatement ;
import java.sql.ResultSet ;
import java.sql.ResultSetMetaData ;
import java.sql.SQLException ;
import java.sql.Statement ;
import java.sql.Types ;
import oracle.jbo.JboException ;
import oracle.jbo.server.SQLBuilder ;
import oracle.jbo.server.ViewObjectImpl ;
import oracle.jbo.server.ViewRowImpl ;
import oracle.jbo.server.ViewRowSetImpl ;
import oracle.jdbc.OracleCallableStatement ;
import oracle.jdbc.OracleConnection ;
import oracle.jdbc.OracleTypes ;
public class Profiles1ViewImpl extends ViewObjectImpl {
private static final String SQL_STM = "begin Pkg_profile.get_profile_list(?,?,?,?);end;" ;
public Profiles1ViewImpl () {
/* 0. */
protected void create () {
getViewDef ().setQuery ( null ) ;
getViewDef ().setSelectClause ( null ) ;
setQuery ( null ) ;
public Connection getCurrentConnection () throws SQLException {
// Note that we never execute this statement, so no commit really happens
Connection conn = null ;
PreparedStatement st = getDBTransaction ().createPreparedStatement ( "commit" , 1 ) ;
conn = st.getConnection () ;
st.close () ;
return conn ;
/* 1. */
protected void executeQueryForCollection ( Object qc , Object[] params , int numUserParams ) {
storeNewResultSet ( qc , retrieveRefCursor ( qc , params ) ) ;
// callStoredProcedure ( qc , SQL_STM ) ;
super.executeQueryForCollection ( qc , params , numUserParams ) ;
/* 2. */
private ResultSet retrieveRefCursor ( Object qc , Object[] params ) {
ResultSet rs = null ;
rs = callStoredProcedure ( qc , SQL_STM ) ;
return rs ;
/* 3. */
public ResultSet callStoredProcedure ( Object qc , String stmt ) {
CallableStatement st = null ;
ResultSet refCurResultSet = null ;
try {
st = getDBTransaction ().createCallableStatement ( stmt , 0 ) ; // call
st.setObject ( 1 , 571 ) ; //set id of my record to 571
st.registerOutParameter ( 2 , OracleTypes.CURSOR ) ; // my ref_cursor
st.registerOutParameter ( 3 , Types.NUMERIC ) ;
st.registerOutParameter ( 4 , Types.VARCHAR ) ;
st.execute () ; //executeUpdate
System.out.println ( "Numeric " + st.getObject ( 3 ) ) ;
System.out.println ( "Varchar " + st.getObject ( 4 ) ) ;
refCurResultSet = ( ResultSet ) st.getObject ( 2 ) ; //set Cursoru to ResultSet
// setUserDataForCollection(qc, refCurResultSet); //don't work
// createRowFromResultSet ( qc , refCurResultSet ) ; //don't work
/* this works but only one-time call - so my resultSet(cursor) really have a data
while ( refCurResultSet.next () ) {
String nameProfile = refCurResultSet.getString ( 2 ) ;
System.out.println ( "Name profile: " + nameProfile ) ;
return refCurResultSet ;
} catch ( SQLException e ) {
System.out.println ( "sql ex " + e ) ;
throw new JboException ( e ) ;
} finally {
if ( st != null ) {
try {
st.close () ; // 7. Close the statement
} catch ( SQLException e ) {
System.out.println ( "sql exx2 " + e ) ;
/* 4. Store a new result set in the query-collection-private user-data context */
private void storeNewResultSet ( Object qc , ResultSet rs ) {
ResultSet existingRs = getResultSet ( qc ) ;
// If this query collection is getting reused, close out any previous rowset
if ( existingRs != null ) {
try {
existingRs.close () ;
} catch ( SQLException s ) {
System.out.println ( "sql err " + s ) ;
setUserDataForCollection ( qc , rs ) ; //should store my result set
hasNextForCollection ( qc ) ; // Prime the pump with the first row.
/* 5. Retrieve the result set wrapper from the query-collection user-data */
private ResultSet getResultSet ( Object qc ) {
return ( ResultSet ) getUserDataForCollection ( qc ) ;
// createRowFromResultSet - overridden for custom java data source support - also doesn't work
protected ViewRowImpl createRowFromResultSet ( Object qc , ResultSet resultSet ) {
ViewRowImpl value = super.createRowFromResultSet ( qc , resultSet ) ;
return value ;
}Hi I have the same problem like you ...
My SQL Definition:
CREATE OR REPLACE TYPE RMSPRD.NB_TAB_STOREDATA is table of NB_STOREDATA_REC
CREATE OR REPLACE TYPE RMSPRD.NB_STOREDATA_REC AS OBJECT (
v_title VARCHAR2(100),
v_store VARCHAR2(50),
v_sales NUMBER(20,4),
v_cost NUMBER(20,4),
v_units NUMBER(12,4),
v_margin NUMBER(6,2),
v_ly_sales NUMBER(20,4),
v_ly_cost NUMBER(20,4),
v_ly_units NUMBER(12,4),
v_ly_margin NUMBER(6,2),
v_sales_variance NUMBER(6,2)
CREATE OR REPLACE PACKAGE RMSPRD.NB_SALES_DATA
AS
v_sales_format_tab nb_tab_storedata;
FUNCTION sales_data_by_format_gen (
key_value IN VARCHAR2,
l_to_date IN DATE DEFAULT SYSDATE-1,
l_from_date IN DATE DEFAULT TRUNC (SYSDATE, 'YYYY')
RETURN nb_tab_storedata;
I have a PLSQL function .. that will return table ..
when i use this in sql developer it is working fine....
select * from table (NB_SALES_DATA.sales_data_by_format_gen('TSC',
'05-Aug-2012',
'01-Aug-2012') )
it returning table format record.
I am not able to call from VO object. ...
Hope you can help me .. please tell me step by step process...
protected Object callStoredFunction(int sqlReturnType, String stmt,
Object[] bindVars) {
System.out.println("--> 1");
CallableStatement st = null;
try {
st = getDBTransaction().createCallableStatement("begin ? := " +"NB_SALES_DATA.sales_data_by_format_gen('TSC','05-Aug-2012','01-Aug-2012') ; end;", 0);
System.out.println("--> 2");
st.executeUpdate();
System.out.println("--> 3");
return st.getObject(1);
catch (SQLException e) {
e.printStackTrace();
throw new JboException(e); -
Hi!
I am unable to get the result for my one of the item as checkbox. Other two are working properly .Please check and let me know wheres the problem please.
***INCLUDE ZSD_CONTRACT_LIST_T01_RENTAL1 .
TABLES: vbak, vbap, wbrk, zsdsched,vbkd, fplt, fpla, tvlvt.
TYPE-POOLS: slis.
data: BEGIN OF gt_report occurs 0,
vbeln LIKE vbak-vbeln, "Sales Document
posnr LIKE vbap-posnr, "Item
ernam LIKE vbak-ernam, "Created by
erdat LIKE vbak-erdat, "Created on
audat LIKE vbak-audat, "Document Date
vbtyp LIKE vbak-vbtyp, "SD document category
auart LIKE vbak-auart, "Sales Document type
vkorg LIKE vbak-vkorg, "Sales Org
vtweg LIKE vbak-vtweg, "Distribution Channel
spart LIKE vbak-spart, "Division
vkbur LIKE vbak-vkbur, "Sales Office
guebg LIKE vbak-guebg, "Valid from date
gueen LIKE vbak-gueen, "Valid to date kunnrt LIKE kna1-name1, "Sold-to Name
kunwet LIKE kna1-name1, "Ship-to Name
kunnrt LIKE kna1-name1, "Sold-to Name
kunret LIKE kna1-name1, "Bill-to Name
kunnr LIKE vbak-kunnr, "Sold-to party
kunnrt LIKE kna1-name1, "Sold-to Name
kvgr4 LIKE vbak-kvgr4, "Territory
matnr LIKE vbap-matnr, "Material
arktx LIKE vbap-arktx, "Material Short Text
charg LIKE vbap-charg, "Batch
matkl LIKE vbap-matkl, "Material Group
pstyv LIKE vbap-pstyv, "Item Category
zmeng LIKE vbap-zmeng, "Target Quantity
zieme LIKE vbap-zieme, "Target Unit
kdmat LIKE vbap-kdmat, "Customer Material Number
werks LIKE vbap-werks, "Plant
lgort LIKE vbap-lgort, "Storage Location
vstel LIKE vbap-vstel, "Shipping Point
route LIKE vbap-route, "Route
netpr LIKE vbap-netpr, "Net Price
kpein LIKE vbap-kpein, "Condition Price Unit
kmein LIKE vbap-kmein, "Condition Unit
shkzg LIKE vbap-shkzg, "Returns Item
oidrc LIKE vbap-oidrc, "DRC Code
kunwe LIKE vbap-oid_ship, "Ship-to
aufnr LIKE vbap-aufnr, "Order Number
vkaus LIKE vbap-vkaus, "Usage
kunwet LIKE kna1-name1, "Ship-to Name
zzwprofid LIKE vbap-zzwprofid, "Waste Profile ID
kunre LIKE wbrk-kunre, "Bill-to
kunret LIKE kna1-name1, "Bill-to Name
addl_schd LIKE icon-id, "Push Button For addl line
datab LIKE zsdsched-datab, "Valid-From Date
datbi LIKE zsdsched-datbi, "Valid To Date
zschdfreq LIKE zsdsched-zschdfreq, "Contract schedule frequency
frequency LIKE zsdsched-frequency, "Frequency
monday LIKE zsdsched-monday, "Mondays
tuesday LIKE zsdsched-tuesday, "Tuesdays
wednesday LIKE zsdsched-wednesday, "Wednesdays
thursday LIKE zsdsched-thursday, "Thursdays
friday LIKE zsdsched-friday, "Fridays
saturday LIKE zsdsched-saturday, "Saturdays
sunday LIKE zsdsched-sunday, "Sundays
dzieme LIKE zsdsched-dzieme, "Target quantity UoM
comments LIKE zsdsched-comments, "Comments
END OF gt_report.
data: Begin of gt_report1 occurs 0,
fksaf LIKE fplt-fksaf,
afdat LIKE fplt-afdat,
fakwr LIKE fplt-fakwr,
fkdat LIKE fplt-fkdat,
nfdat LIKE fplt-nfdat,
fpart LIKE fpla-fpart,
bedat LIKE fpla-bedat,
endat LIKE fpla-endat,
horiz LIKE fpla-horiz,
bezei LIKE tvlvt-bezei,
vbeln LIKE vbak-vbeln,
erdat LIKE vbak-erdat,
ernam LIKE vbak-ernam,
guebg LIKE vbak-guebg,
gueen LIKE vbak-gueen,
auart LIKE vbak-auart,
kunnr LIKE vbak-kunnr,
kvgr4 LIKE vbak-kvgr4,
vkbur LIKE vbak-vkbur,
vkorg LIKE vbak-vkorg,
vtweg LIKE vbak-vtweg,
vbtyp LIKE vbak-vbtyp,
name1 LIKE kna1-name1,
pstyv LIKE vbap-pstyv,
matnr LIKE vbap-matnr,
werks LIKE vbap-werks,
oid_ship LIKE vbap-oid_ship,
kpein LIKE vbap-kpein,
kmein LIKE vbap-kmein,
netpr LIKE vbap-netpr,
kdmat LIKE vbap-kdmat,
posnr LIKE vbap-posnr,
matkl LIKE vbap-matkl,
aufnr LIKE vbap-aufnr,
vkaus LIKE vbap-vkaus,
route LIKE vbap-route,
kunre LIKE wbrk-kunre, "Bill-to
kunwe LIKE vbap-oid_ship, "Ship-to
kunwet LIKE kna1-name1, "Ship-to Name
kunnrt LIKE kna1-name1, "Sold-to Name
kunret LIKE kna1-name1, "Bill-to Name
End of gt_report1.
data: gs_report LIKE LINE OF gt_report,
gs_report1 LIKE LINE OF gt_report1,
gt_sched TYPE TABLE OF zsdsched,
gt_sched_tmp TYPE TABLE OF zsdsched,
gs_sched TYPE zsdsched,
gt_sel LIKE gt_report OCCURS 0,
gt_sel1 LIKE gt_report1 OCCURS 0,
gt_vbpa TYPE TABLE OF vbpa,
gs_vbpa TYPE vbpa,
gv_auart TYPE auart,
gv_counter TYPE i.
**-- ALV variables
DATA: ls_fieldcat TYPE slis_fieldcat_alv, "Field Catalog list
gt_fieldcat TYPE slis_t_fieldcat_alv, "Field Catalog
ls_sort TYPE slis_sortinfo_alv, "Sorting list
gt_sort TYPE slis_t_sortinfo_alv, "Sort
gs_layout TYPE slis_layout_alv, "List Layout
gs_variant TYPE disvariant, "Display Variant
gv_repid LIKE sy-repid,
gv_save(1) TYPE c,
ls_fieldcat1 TYPE slis_fieldcat_alv, "Field Catalog list
gt_fieldcat1 TYPE slis_t_fieldcat_alv, "Field Catalog
ls_sort1 TYPE slis_sortinfo_alv, "Sorting list
gt_sort1 TYPE slis_t_sortinfo_alv, "Sort
gs_layout1 TYPE slis_layout_alv, "List Layout
gs_variant1 TYPE disvariant, "Display Variant
gv_repid1 LIKE sy-repid,
gv_exit(1) TYPE c.
CONSTANTS: gc_a TYPE c VALUE 'A',
gc_g TYPE c VALUE 'G',
gc_re(2) TYPE c VALUE 'RE'.
Screen-control Variables
CONTROLS:
tctrl_sched TYPE TABLEVIEW USING SCREEN 1010. " Schedule lines.
*& Report ZSD_CONTRACT_LIST
*& Created on: January 21, 2007
*& Description: List of Contracts - ALV
REPORT zsd_contract_list_rental1.
INCLUDE zsd_contract_list_t01_rental1.
Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK m1 WITH FRAME TITLE text-t01.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t02.
SELECT-OPTIONS: s_vkorg FOR vbak-vkorg MEMORY ID vko,
s_vtweg FOR vbak-vtweg MEMORY ID vtw,
s_spart FOR vbak-spart MEMORY ID spa,
s_vkbur FOR vbak-vkbur MEMORY ID vkb.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS: s_vbeln FOR vbak-vbeln,
s_erdat FOR vbak-erdat,
s_ernam FOR vbak-ernam,
s_guebg FOR vbak-guebg,
s_gueen FOR vbak-gueen,
s_auart FOR gv_auart MEMORY ID vta
MATCHCODE OBJECT h_vakz,
s_fkarv FOR fplt-fkarv.
SELECTION-SCREEN SKIP 1.
SELECT-OPTIONS:
s_kunnr FOR vbak-kunnr,
s_kunwe FOR vbap-oid_ship,
s_kunre FOR wbrk-kunre.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t03.
SELECT-OPTIONS: s_werks FOR vbap-werks MEMORY ID wrk,
s_lgort FOR vbap-lgort MEMORY ID lag,
s_vstel FOR vbap-vstel MEMORY ID vst,
s_route for vbap-route,
s_matnr FOR vbap-matnr.
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t04.
PARAMETERS: p_varia TYPE disvariant-variant MEMORY ID wrk,
p_all AS CHECKBOX DEFAULT 'X',
p_group AS CHECKBOX DEFAULT 'X',
p_rental AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK b3.
SELECTION-SCREEN END OF BLOCK m1.
Start of Selection
START-OF-SELECTION.
PERFORM get_data.
Display ALV
END-OF-SELECTION.
IF gt_report[] IS INITIAL.
MESSAGE s419(brain).
ELSE.
PERFORM create_alv.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST *
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_varia.
PERFORM f01_f4_variant CHANGING p_varia.
*& Form get_data
text
FORM get_data .
select the appropriate rental data.
IF p_rental IS NOT INITIAL AND ( ( p_all IS INITIAL ) AND ( p_group IS INITIAL ) ).
SELECT avbeln aerdat aernam aaudat avbtyp aauart a~vkorg
avtweg aspart avkbur aguebg agueen akunnr a~kvgr4
bpstyv bmatnr bwerks boid_ship bkpein bkmein
bnetpr bkdmat bposnr bmatkl baufnr bvkaus b~route
dbezei efkarv eafdat efakwr efkdat enfdat e~fksaf
ffpart fbedat fendat fhoriz flodat ftndat b~oid_ship AS kunwe
INTO CORRESPONDING FIELDS OF TABLE gt_sel1
FROM vbak AS a
INNER JOIN vbap AS b ON avbeln = bvbeln
INNER JOIN vbpa as c ON avbeln = cvbeln
INNER JOIN vbkd AS g ON avbeln = gvbeln
INNER JOIN fplt AS e ON gfplnr = efplnr
INNER JOIN fpla AS f ON efplnr = ffplnr
INNER JOIN tvlvt AS d ON bvkaus = dabrvw
WHERE a~vbeln IN s_vbeln
AND a~erdat IN s_erdat
AND a~vbtyp = gc_g
AND a~ernam IN s_ernam
AND a~vkorg IN s_vkorg
AND a~vtweg IN s_vtweg
AND a~spart IN s_spart
AND a~vkbur IN s_vkbur
AND a~guebg IN s_guebg
AND a~gueen IN s_gueen
AND a~auart IN s_auart
AND a~kunnr IN s_kunnr
AND b~oid_ship IN s_kunwe
AND b~werks IN s_werks
AND b~lgort IN s_lgort
AND b~vstel IN s_vstel
and b~route in s_route
AND b~matnr IN s_matnr
AND e~fkarv IN s_fkarv
AND e~fksaf = 'A'
OR e~fksaf = 'B'.
sort gt_sel1.
*ENDIF.
IF NOT gt_sel1[] IS INITIAL.
Get Bill-to Party's for Item Lines
SELECT vbeln posnr parvw kunnr INTO CORRESPONDING FIELDS OF TABLE gt_vbpa
FROM vbpa
FOR ALL ENTRIES IN gt_sel1
WHERE vbeln = gt_sel1-vbeln
AND parvw = gc_re.
Loop through captured data for additional information
LOOP AT gt_sel1 INTO gs_report1.
Find the bill-to party
READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report1-vbeln
posnr = gs_report1-posnr
parvw = gc_re.
IF sy-subrc <> 0.
READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report1-vbeln
parvw = gc_re.
CHECK sy-subrc = 0 AND gs_vbpa-kunnr IN s_kunre.
ELSE.
CHECK gs_vbpa-kunnr IN s_kunre.
ENDIF.
gs_report1-kunre = gs_vbpa-kunnr.
Get the Customer's Name
gs_report1-kunnrt = zcl_kna1=>get_name1( itp_kunnr = gs_report1-kunnr ).
gs_report1-kunwet = zcl_kna1=>get_name1( itp_kunnr = gs_report1-kunwe ).
gs_report1-kunret = zcl_kna1=>get_name1( itp_kunnr = gs_report1-kunre ).
Get the scheduling lines for the item line.
CLEAR gv_counter.
APPEND gs_report1 TO gt_report1.
ENDLOOP.
DELETE ADJACENT DUPLICATES FROM gt_report1.
*ENDIF.
ELSE.
IF ( ( p_all IS NOT INITIAL ) OR ( p_group IS NOT INITIAL ) ) AND p_rental IS INITIAL.
Select the appropriate contract data.
SELECT a~vbeln a~erdat a~ernam a~audat a~vbtyp a~auart a~vkorg
a~vtweg a~spart a~vkbur a~guebg a~gueen a~kunnr a~kvgr4
b~posnr b~matnr b~charg b~matkl b~arktx b~pstyv b~zmeng
b~zieme b~kdmat b~werks b~lgort b~vstel b~netpr b~kpein
b~kmein b~shkzg b~oid_extbol b~oid_miscdl b~oidrc b~oid_ship AS kunwe
b~zzwprofid c~datbi c~datab b~route
baufnr bvkaus d~bezei
INTO CORRESPONDING FIELDS OF TABLE gt_sel
FROM vbak AS a
INNER JOIN vbap AS b ON a~vbeln = b~vbeln
INNER JOIN tvlvt AS d ON bvkaus = dabrvw
LEFT OUTER JOIN zsdsched AS c ON b~vbeln = c~vbeln AND
b~posnr = c~posnr
WHERE a~vbeln IN s_vbeln
AND a~erdat IN s_erdat
AND a~vbtyp = gc_g
AND a~ernam IN s_ernam
AND a~vkorg IN s_vkorg
AND a~vtweg IN s_vtweg
AND a~spart IN s_spart
AND a~vkbur IN s_vkbur
AND a~guebg IN s_guebg
AND a~gueen IN s_gueen
AND a~auart IN s_auart
AND a~kunnr IN s_kunnr
AND b~oid_ship IN s_kunwe
AND b~werks IN s_werks
AND b~lgort IN s_lgort
AND b~vstel IN s_vstel
and b~route in s_route
AND b~matnr IN s_matnr.
SORT gt_sel.
ENDIF.
IF NOT gt_sel[] IS INITIAL.
Get Bill-to Party's for Item Lines
SELECT vbeln posnr parvw kunnr INTO CORRESPONDING FIELDS OF TABLE gt_vbpa
FROM vbpa
FOR ALL ENTRIES IN gt_sel
WHERE vbeln = gt_sel-vbeln
AND parvw = gc_re.
endif.
Select the remaining records from the ZSDSCHED Table.
IF p_group IS NOT INITIAL.
SELECT * FROM zsdsched
INTO TABLE gt_sched
FOR ALL ENTRIES IN gt_sel
WHERE vbeln = gt_sel-vbeln
AND posnr = gt_sel-posnr.
SORT gt_sched.
ENDIF.
Loop through captured data for additional information
LOOP AT gt_sel INTO gs_report.
Find the bill-to party
READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report-vbeln
posnr = gs_report-posnr
parvw = gc_re.
IF sy-subrc <> 0.
READ TABLE gt_vbpa INTO gs_vbpa WITH KEY vbeln = gs_report-vbeln
parvw = gc_re.
CHECK sy-subrc = 0 AND gs_vbpa-kunnr IN s_kunre.
ELSE.
CHECK gs_vbpa-kunnr IN s_kunre.
ENDIF.
gs_report-kunre = gs_vbpa-kunnr.
Get the Customer's Name
gs_report-kunnrt = zcl_kna1=>get_name1( itp_kunnr = gs_report-kunnr ).
gs_report-kunwet = zcl_kna1=>get_name1( itp_kunnr = gs_report-kunwe ).
gs_report-kunret = zcl_kna1=>get_name1( itp_kunnr = gs_report-kunre ).
Get the scheduling lines for the item line.
CLEAR gv_counter.
IF NOT p_group IS INITIAL.
If we are grouping the lines add the icon button.
LOOP AT gt_sched INTO gs_sched WHERE vbeln = gs_report-vbeln
AND posnr = gs_report-posnr.
IF gv_counter > 0.
gs_report-addl_schd = '@1E@'.
CONTINUE.
ENDIF.
MOVE-CORRESPONDING gs_sched TO gs_report.
ADD 1 TO gv_counter.
ENDLOOP.
ELSE.
Otherwise get the rest of the schedule information
READ TABLE gt_sched INTO gs_sched
WITH KEY vbeln = gs_report-vbeln
posnr = gs_report-posnr
datbi = gs_report-datbi
datab = gs_report-datab.
IF sy-subrc = 0.
MOVE-CORRESPONDING gs_sched TO gs_report.
ENDIF.
ENDIF.
APPEND gs_report TO gt_report.
ENDLOOP.
Remove any duplicates from the reporting table
DELETE ADJACENT DUPLICATES FROM gt_report.
If Show all records is initial, delete non-scheduled lines (ex. Sub-items)
IF p_all IS INITIAL.
DELETE gt_report WHERE datbi = 0
AND datab = 0.
ENDIF.
endif.
endif.
ENDFORM. " get_data
*& Form create_alv
text
FORM create_alv .
if ( ( p_all is not initial ) or ( p_group is not initial ) ) and p_rental is initial.
PERFORM initialize_fieldcat USING gt_fieldcat[].
PERFORM populate_layout CHANGING gs_layout
gs_variant.
PERFORM populate_sort USING gt_sort[].
PERFORM display_alv_report.
else.
if p_rental is not initial and ( ( p_all is initial ) and ( p_group is initial ) ).
PERFORM initialize_fieldcat1 USING gt_fieldcat1[].
PERFORM populate_layout1 CHANGING gs_layout1
gs_variant1.
PERFORM populate_sort1 USING gt_sort1[].
PERFORM display_alv_report1.
*endif.
*endif.
ENDFORM. " create_alv
*& Form initialize_fieldcat
Get and enhance the field catalog data
-->L_FIELDCAT[] text
FORM initialize_fieldcat USING l_fieldcat TYPE slis_t_fieldcat_alv.
IF p_rental IS NOT INITIAL .
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'ZSD_CONTRACT_LIST_RENTAL1'
i_internal_tabname = 'GT_REPORT1'
i_inclname = 'ZSD_CONTRACT_LIST_T01_RENTAL1'
CHANGING
ct_fieldcat = l_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'VBELN'.
ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Contract'.
ls_fieldcat-hotspot = 'X'.
MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNNRT'.
ls_fieldcat-seltext_s =
ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sold-to Name'.
MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNWET'.
ls_fieldcat-seltext_s =
ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Ship-to Name'.
MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNRET'.
ls_fieldcat-seltext_s =
ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Bill-to Name'.
MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'ADDL_SCHD'.
IF NOT p_group IS INITIAL.
ls_fieldcat-seltext_s = 'Schd'.
ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Additional Scheduling Lines'.
ls_fieldcat-icon = 'X'.
CLEAR: ls_fieldcat-key,
ls_fieldcat-ref_fieldname,
ls_fieldcat-ref_tabname,
ls_fieldcat-reptext_ddic,
ls_fieldcat-ddic_outputlen.
ls_fieldcat-hotspot = 'X'.
MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
ELSE.
DELETE l_fieldcat INDEX sy-tabix.
ENDIF.
READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'DATAB'.
ls_fieldcat-seltext_s = 'Schd From'.
ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. From Date'.
CLEAR: ls_fieldcat-key.
MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
READ TABLE l_fieldcat INTO ls_fieldcat1 WITH KEY fieldname = 'DATBI'.
ls_fieldcat-seltext_s = 'Schd To'.
ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. To Date'.
CLEAR: ls_fieldcat-key.
MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
ELSE.
IF p_rental IS INITIAL.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'ZSD_CONTRACT_LIST_RENTAL1'
i_internal_tabname = 'GT_REPORT'
i_inclname = 'ZSD_CONTRACT_LIST_T01_RENTAL1'
CHANGING
ct_fieldcat = l_fieldcat
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'VBELN'.
ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Contract'.
ls_fieldcat-hotspot = 'X'.
MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNNRT'.
ls_fieldcat-seltext_s =
ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sold-to Name'.
MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNWET'.
ls_fieldcat-seltext_s =
ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Ship-to Name'.
MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'KUNRET'.
ls_fieldcat-seltext_s =
ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Bill-to Name'.
MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'ADDL_SCHD'.
IF NOT p_group IS INITIAL.
ls_fieldcat-seltext_s = 'Schd'.
ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Additional Scheduling Lines'.
ls_fieldcat-icon = 'X'.
CLEAR: ls_fieldcat-key,
ls_fieldcat-ref_fieldname,
ls_fieldcat-ref_tabname,
ls_fieldcat-reptext_ddic,
ls_fieldcat-ddic_outputlen.
ls_fieldcat-hotspot = 'X'.
MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
ELSE.
DELETE l_fieldcat INDEX sy-tabix.
ENDIF.
READ TABLE l_fieldcat INTO ls_fieldcat WITH KEY fieldname = 'DATAB'.
ls_fieldcat-seltext_s = 'Schd From'.
ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. From Date'.
CLEAR: ls_fieldcat-key.
MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
READ TABLE l_fieldcat INTO ls_fieldcat1 WITH KEY fieldname = 'DATBI'.
ls_fieldcat-seltext_s = 'Schd To'.
ls_fieldcat-seltext_m = ls_fieldcat-seltext_l = 'Sched. To Date'.
CLEAR: ls_fieldcat-key.
MODIFY l_fieldcat FROM ls_fieldcat INDEX sy-tabix.
ENDIF.
ENDIF.
ENDFORM. " initialize_fieldcat
*& Form populate_layout
text
<--GS_LAYOUT
<--GS_VARIANT
FORM populate_layout CHANGING gs_layout TYPE slis_layout_alv
gs_variant TYPE disvariant.
gs_layout-colwidth_optimize = 'X'.
gs_layout-allow_switch_to_list = 'X'.
gs_layout-zebra = 'X'.
gs_variant-report = sy-repid.
ENDFORM. " populate_layout
*& Form populate_sort
text
-->l_SORT[] text
FORM populate_sort USING l_sort TYPE slis_t_sortinfo_alv.
ENDFORM. " populate_sort
*& Form display_alv_report
FORM display_alv_report .
gv_repid = sy-repid.
IF p_rental IS INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
i_callback_program = gv_repid
I_CALLBACK_PF_STATUS_SET = ' '
i_callback_user_command = 'USER_COMMAND'
i_structure_name = 'GT_REPORT'
is_layout = gs_layout
it_fieldcat = gt_fieldcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
it_sort = gt_sort
IT_FILTER =
IS_SEL_HIDE =
i_default = 'X'
i_save = gc_a
is_variant = gs_variant
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = gt_report
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.
ENDIF.
ELSE.
IF p_rental IS NOT INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
i_callback_program = gv_repid
I_CALLBACK_PF_STATUS_SET = ' '
i_callback_user_command = 'USER_COMMAND'
i_structure_name = 'GT_REPORT1'
is_layout = gs_layout
it_fieldcat = gt_fieldcat
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
it_sort = gt_sort
IT_FILTER =
IS_SEL_HIDE =
i_default = 'X'
i_save = gc_a
is_variant = gs_variant
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = GT_REPORT1
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.
endif.
endif.
ENDFORM. " display_alv_report
*& Form initialize_fieldcat1
Get and enhance the field catalog data for rental fields
-->L_FIELDCAT[] text
*FORM initialize_fieldcat1 USING l_fieldcat1 TYPE slis_t_fieldcat_alv.
**if ***
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'ZSD_CONTRACT_LIST_rental1'
i_internal_tabname = 'GT_SEL1'
i_inclname = 'ZSD_CONTRACT_LIST_T01_rental1'
CHANGING
ct_fieldcat = l_fieldcat1
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
**else.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = 'ZSD_CONTRACT_LIST_rental1'
i_internal_tabname = 'GT_SEL1'
i_inclname = 'ZSD_CONTRACT_LIST_T01_rental1'
CHANGING
ct_fieldcat = l_fieldcat1
EXCEPTIONS
inconsistent_interface = 1
program_error = 2
OTHERS = 3.
***endfi.
*ENDFORM. " initialize_fieldcat
*& Form populate_layout
text
<--GS_LAYOUT
<--GS_VARIANT
*FORM populate_layout1 CHANGING gs_layout1 TYPE slis_layout_alv
gs_variant1 TYPE disvariant.
gs_layout1-colwidth_optimize = 'X'.
gs_layout1-allow_switch_to_list = 'X'.
gs_layout1-zebra = 'X'.
gs_variant1-report = sy-repid.
*ENDFORM. " populate_layout
***& Form populate_sort
text
-->l_SORT[] text
*FORM populate_sort1 USING l_sort TYPE slis_t_sortinfo_alv.
*ENDFORM. " populate_sort
***& Form display_alv_report
*FORM display_alv_report1 .
gv_repid = sy-repid.
if p_rental is not initial and ( ( p_all is initial ) and ( p_group is initial ) ).
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER =
I_BUFFER_ACTIVE = ' '
i_callback_program = gv_repid
I_CALLBACK_PF_STATUS_SET = ' '
i_callback_user_command = 'USER_COMMAND'
i_structure_name = 'gt_sel1'
is_layout = gs_layout1
it_fieldcat = gt_fieldcat1
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
it_sort = gt_sort1
IT_FILTER =
IS_SEL_HIDE =
i_default = 'X'
i_save = gc_a
is_variant = gs_variant1
IT_EVENTS =
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = gt_sel1
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.
*endif.
*ENDFORM. " display_alv_report
*& Form f01_f4_variant
Get the Layout variant for the user.
FORM f01_f4_variant CHANGING c_variant TYPE disvariant-variant.
DATA: ls_variant TYPE disvariant,
l_exit TYPE char1.
ls_variant-report = sy-repid.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
is_variant = ls_variant
i_save = 'A'
it_default_fieldcat =
IMPORTING
e_exit = l_exit
es_variant = ls_variant
EXCEPTIONS
not_found = 2.
IF sy-subrc = 2.
MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ELSE.
IF l_exit EQ space.
c_variant = ls_variant-variant.
ENDIF.
ENDIF.
ENDFORM. " f01_f4_variant
FORM USER_COMMAND *
--> R_UCOMM *
--> RS_SELFIELD *
FORM user_command USING r_ucomm LIKE sy-ucomm
rs_selfield TYPE slis_selfield.
Check function code
CASE r_ucomm.
WHEN '&IC1'.
READ TABLE gt_report INTO gs_report INDEX rs_selfield-tabindex.
CHECK sy-subrc = 0.
CASE rs_selfield-fieldname.
WHEN 'VBELN'.
Set parameter ID for transaction screen field
CHECK NOT gs_report-vbeln IS INITIAL.
SET PARAMETER ID 'KTN' FIELD gs_report-vbeln.
CALL TRANSACTION 'VA43' AND SKIP FIRST SCREEN.
WHEN 'ADDL_SCHD'.
CHECK NOT gs_report-addl_schd IS INITIAL.
REFRESH gt_sched_tmp.
LOOP AT gt_sched INTO gs_sched
WHERE vbeln = gs_report-vbeln
AND posnr = gs_report-posnr.
APPEND gs_sched TO gt_sched_tmp.
ENDLOOP.
CHECK sy-subrc = 0.
CALL SCREEN '1010' STARTING AT 5 5.
ENDCASE.
ENDCASE.
ENDFORM. "user_command
*& Module STATUS_1010 OUTPUT
text
MODULE status_1010 OUTPUT.
SET PF-STATUS 'MAIN_1010'.
SET TITLEBAR '1010' WITH gs_report-vbeln gs_report-posnr.
ENDMODULE. " STATUS_1010 OUTPUT
*& Module USER_COMMAND_1010 INPUT
text
MODULE user_command_1010 INPUT.
CASE sy-ucomm.
WHEN 'BACK' OR 'CANC'.
LEAVE TO SCREEN 0.
ENDCASE.
ENDMODULE. " USER_COMMAND_1010 INPUTHi !
This report shows the schedule line items , group schedule line items and rental contact (billing plan) lines when particular checkbox is checked. The checkboxs p_all(non-schedule line) , p_group(group schedule line items) are working in my above alv report and showing result but unfortunately when p_rental is checked it dosent give me result , it says no data selected. This when checked has to show result based on a different set of selections as I have done, but its not shwoing me the result .
Kindly help please.
Thanks -
The bytes from MachineID.getBytes() are not to be treated as a unique identifier for a device. It is unique, but is volatile and not suitable to be used as an identifier. There are various system/hardware events which can cause the MachineID bytes to change over time. The same rule applies to MachineID.getUniqueID(). If you do .getBytes() and then compare that to AnotherMachineID.getBytes(), even though they can be the same device (but different runtime or browser), you will get a "false" if you're doing a direct byte-by-byte comparison. This is because during the device individualization process, the device's hardware attributes are interrogated to get a hardware "fingerprint" of the device. This is stored as a data structure in the MachineID data structure.
The only resilient way (with limtiations, as stated in the next section) to compare to different devices to determine if they are the same device is to use MachineID.matches(). That comparison is resilient against machine hardware upgrades (changing hard drives, upgrading your video card, upgrading your CPU, reformatting your machine, changing user accounts, using different browsers, etc…).
(NOTE): There are 2 known limitations to using MachineID.matches():
1. MachineID in the Chrome browser (on any platform) a randomly-generated ID string that is not tied to the hardware. The reason for this is that with the release of Chrome Version 28 browser introduced a sandbox, where code in the browser is not allowed to communicate directly with the hardware layer. This will cause .matches() to fail if comparing a MachineID from Chrome against a MachineID from Firefox, even from the same machine. This also means that if a user "resets Adobe Access DRM/Licenses", they will lose their ID, and it will be re-generated (as a new ID) the next time DRM content is consumed and their machine has to create a new MachineID.
2. A similar limitation applies to iOS devices running iOS7 and higher, as a sandbox was also introduced to that platform, preventing applications from directly accessing the hardware. If you are using iOS7 with a the Primetime Player SDK (PSDK) 1.0 or 1.1, the MachineID for all devices will be the same value, as Apple blocked the device-access APIs (which Adobe Access uses) and caused them to return a static string. Since all iOS7 devices will return the same string when the device hardware interrogation happens, all iOS7 devices using the the PSDK 1.1 or earlier will return true when MachineID.matches() is called. Adobe is working on a high-priority fix to this issue, which will be released in a PSDK 1.1 patch/hotfix, where another persistent API is used to bind the MachineID to the device, instead of the blocked device-access APIs. This new binding mechanism will be persistent across application uninstall/re-installs.
What is consistent between iOS7 and Chrome 28 (and higher), is that the MachineID will no longer be tied to the hardware attributes of the device.
cheers,
/Eric.In case you would like to find some way to do something that requires concurrency monitoring (e.g. You run a service and wish to limit the # of devices that can access a your service), the best way to do this would be to move towards a "# of concurrent streams" model, similar to Netflix.
To do this, you can use Adobe Pass technology called Mai Tai, or implement your own technology (via cookies or authentication tokens) to limit user accounts to no more than XX concurrent streams.
cheers,
/Eric. -
Custom field not getting populated in the "Show Results where" drop down
Hi all,
In appointment detail page by clicking on Add button on the user related information section , it takes us to a search layout showing the list of available users.
Here we have to filter the user's based on a custom field which has already been created in the user object. But I am not able to add the custom field in the "Show results where" drop down for which the search has to be done.
It is getting reflected in the normal search layouts.So Can any one tell me why the change is not getting reflected in the user related info search layout?I tested your use case and you are correct. I would recommend that you submit a service request to CRM On Demand customer care in reference to this issue.
-
How can I uniquely identify computers on the same network/account specifically for airdrop use? When I change name on one computer under contacts it changes on all computers. I would like to change icon and name for each computer.
you would need to setup a VPN and tunnel into your office.
FYI..the default ports are 3283 and 5900. -
Hello,
Please could you tell me if it is possible to get a unique identifier in an FBL3N report? (I would want the unique identifier to remain unchanged for each line item if new line items are entered into SAP.)
(i.e. if staff write commentaries for each line item in an FBL3N report and then new line items are present in later FBL3N reports I want to be able to identify which line items in the new report each of our commentaries relate to).
Thanks,
StuHi,
Please could you tell me whether accounting entry date is different to document date and posting date? My understanding is that the document date and posting dates can be manually set by the data entry clerk and therefore I can not guarantee that posting dates will always increase for each new line item (even then would I need to sort by time of day within each date to be sure the order of line items are in chronological order?) Is accounting entry date the date that the data is entered into SAP and not changeable by the user?
Unfortnately in this case it will be impractical to ask people to use unique text or header text fields.
If it is possible to sort by the date (and time) that data is 'physically' entered into SAP then we can be sure that any new line items will occur at the bottom of the report, irrespective of document date or posting date?
I assume an unique identifier just doesn't exist (without entering one manually)?
Many thanks,
Stewart
Maybe you are looking for
-
Incorrect PO Split in SoCo? (which FM should I debug ?) :-(
Hi, Im using SRM 4.0 sp8 with ECS. THE PROBLEM: when the purchaser guy selects several items in the Sourcing Cockpit, the SRM is creating several PO. The weird thing is that those items came from the same Shopping Cart ! they have the same re
-
RAM issues - 1.25 GB registering when 2GB installed
Hi, I'm trying to upgrade the RAM on my Macbook but have encountered a strange issue. I installed 2 x 1GB 667MHz DDR2 SDRAM, but only 1.25 GB is being recognised when I click on 'About this mac'. This is divided between 256MB in Bank 0 and 1 GB in Ba
-
On Mouse Text Appear/Fade IE Problem
Hello Dreamweaver Sages, I'm having an odd problem I was hoping someone might be able to help me with. First, I am using CS6 and the latest of all browsers. I have applied the same Spry Appear/Fade effect to a images having <a href> links and text wi
-
http://amyedit.sourceforge.net/ Anyone willing to make me a pkg ? i tried to compile but cant quite seem to get it.. :-/ thnx in advance (even thou i'll thank you again when you give a link) hehe..
-
LSMW for material master using Batch input recording method
Dears, I am using Batch input recording method to upload material master data. But while selecting views , I need to scroll to select the vies lets say Plant storage loc view. While scrolling and selecting ,views are not recorded propelry . That is w