Can we catch the dynamic item value in Apex?
Hi All,
In my application i am using SELECT_LIST_FROM_QUERY_XL Function. The select list will be populated based on some product group id.
Some times the list will be 2 or 5 based on prgr id. Now how to catch the dynamic list item name. Is it possible?
Thanks,
Anoo..
Not directly. You can have two items and then dynamically switch between those two items. This can lead to other issues of cause. For example if the item value should be stored in the database, you have to decide which item to store and how to do that.
The field type itself should not be changed. There are a lot of other things that depend on that. Possible ? Yes. Advisable? No. Check the page source text to see the difference between a select item and a normal text field. Then think if you want to set all this dynamically.
Maybe a popup list would be better suited?
One more point: In my experience adding too many dynamic stuff onto a page will not improve the user experience, but will decrease it. So you should carefully consider if this is something. Dynamic actions are great, but they are not always the best tool for the job.
Similar Messages
-
Can we set the dynamic data source when using getReportParameters() ?
Hello!
I have a report where one of its parameters refers to a list of values (LOVs). This list of values is an SQL Query type. When the data source used in the report is defined in the BI Publisher server, I'm able to get the report parameters using the getReportParameters() function in my application. However, if the data source is not defined the function throws an exception, which is understandable.
I decided to dynamically set the data source so that even if the data source used by the report is not defined in the BI Publisher server, it still will be able to get the LOVs for the parameter. I tried setting the JDBCDataSource of the dynamicDataSource for the ReportRequest object that I passed to the getReportParameters() function. Please see the sample code below:
reportRequest.dynamicDataSource = new BIP10.BIPDataSource();
reportRequest.dynamicDataSource.JDBCDataSource = new BIP10.JDBCDataSource();
setReportDataSource(reportRequest.dynamicDataSource.JDBCDataSource, connectstr, jdbc, dc); //function to set the values for JDBCDataSource object
reportParams = webrs.getReportParameters(reportRequest, uid, pwd); //call the getReportParameters
I was expecting this to work as this is what I did to dynamically set the data source before calling the runReport function. So, my question is -- can we set the dynamic data source when using getReportParameters() ? I tried this both in versions 10g and 11g. It does not seem to work on both versions.
Regards,
Stephaniereport_id column of apex_application_page_ir_rpt can help us uniquely identify each saved report.
We can assign this report_id value to a page item and this page item can be put in the Report ID Item text box of the Advanced section of the Report Attributes page of the IR.
This should load the saved report identified by report_id and you can get rid of javascript
Regards,
Vishal
http://obiee-oracledb.blogspot.com
http://www.packtpub.com/oracle-apex-4-2-reporting/book
Kindly mark the reply as helpful/correct if it solves your problem -
ROCANCEL field in R3 extraction program can't catch the LOEKZ (deletion ind
Why the ROCANCEL field in R3 extraction program can't catch the LOEKZ (deletion indicator) value in EKPO for some item (not all item) deletions in a purchasing doc?
We deleted some purchasing document items on R3, e.g.,
doc 1
item 1 deleted
item 2
item 3
item 4 deleted
item 5
doc 2
item 1 deleted
item 2 deleted
Run RSA3 on the datasource 2LIS_02_ITM, find the extraction program field ROCANCEL(Indicator: Cancel Data Record) for doc1 are all null for each doc1 item that this field ROCANCEL fails to catch EKPO deletion indicator field LOEKZ value for these two deleted item 1 and item 4 showed in table EKPO with value of 'L' for item 1 and item 4.
However this extraction program field ROCANCEL does catches the correct values for doc2 though. Sounds like if all the doc items get deleted then ROCANCEL shows correct value 'R', if only deleting some items of a doc, then ROCANCEL doesn't indicate the deletion!
Any idea? We have searched OSS Notes, but find something which are only for BW other than for R3. The problem starts at R3 extraction program!
Thanks
Message was edited by: Kevin Smithhi AHP,
There is sth wrong with the website that I can't see the Reply button next to your post.
I check the System Status on our R3, it lists quite a few below:
Software Comp. Release Level
SAP_BASIS 620 0051
SAP_ABA 620 0051
SAP_APPL 470 0024
SAP_HR 470 0046
EA-IPPE 110 0019
PI 2003_1_470 0009
PI_BASIS 2003_1_620 0007
EA-APPL 110 0020
BTW, I checked the OSS Note 886716, find the 4th tab called "Correction Instructions" contains the following lines below. Which line should we use in our system?
Correction Instruction Valid from Valid to Installation Soft. Component ID
Ref. Correction Modification Status Last Changed on
0000419802 600 600 0120031469 SAP_APPL 1
P7DK006929 Released 07.10.2005 07:43:39
0000420067 500 500 0120031469 SAP_APPL 1
P6DK060509 Released 09.10.2005 22:50:11
0000420068 470 470 0120031469 SAP_APPL 1
P6BK206659 Released 09.10.2005 23:02:38
0000420253 46C 46C 0120031469 SAP_APPL 1
P9CK458509 Released 10.10.2005 00:33:01
Download
Thanks
Message was edited by: Kevin Smith
hi AHP,
I run se38 to check the form XMCEKPO_ERGAENZEN_LIS_NEW, but find it doesn't exist at all in our R3 system!
Thanks -
How can i restrict the Expenditure Type values at a specific OU ?
Dear Guys,
I would like to ask about the Expenditure Types,
I have implemented two projects for different Operating Units ,
when navigating to any Projects responsibilty,and navigating the Expenditure Type field
the values exist are all the values implemented across the OU not the values entered at this OU
How can i restrict the Expenditure Type values at a specific OU
Regards
Amr HussienHello
When you set up a project there is an option called Transaction Control.
This option allow you to list the allowed or restricted elements of costs for the project.
You may enter the transaction control on a project template and that will be copied to any new project.
The cost elements may be expenditure types, expenditures categories, suppliers, employees, etc.
In your case, I suggest to set up specific project templates for each operating units. On each template enter the list of allowed expenditures types for that OU.
Doing so, the system restricts users from entering any expenditure item, supplier invoice, purchase cost etc, against an expenditure type, which is not allowed.
Dina -
How can i catch the jsp checking event ?
As we know, there are three parameters which is about checking in the weblogic.xml, pageCheckSeconds,*servlet-reload-check-secs*,*resource-reload-check-secs*, but how can i catch the checking event when the webapp is active.
The fellowing is my simple test, i deployed a webapp on a weblogic server instance, and it was actived. I wrote a simple bash shell to try to catch the event, but fail. i througnt it may be dependent on the webapp's stage mode. but i change the mode, and try again, it was fail too.
[weblogic@tdy218 ~]$ ls
getLastAccessTime.sh webapps
[weblogic@tdy218 ~]$ ./getLastAccessTime.sh ~/webapps/Test/login.jsp
The file's last access time is: 2011-05-22 11:10:21.000000000 +0800
The file's last access time is: 2011-05-22 11:10:21.000000000 +0800
The file's last access time is: 2011-05-22 11:10:21.000000000 +0800
The file's last access time is: 2011-05-22 11:10:21.000000000 +0800
The file's last access time is: 2011-05-22 11:10:21.000000000 +0800
The file's last access time is: 2011-05-22 11:10:21.000000000 +0800
The file's last access time is: 2011-05-22 11:10:21.000000000 +0800
[weblogic@tdy218 ~]$ ./getLastAccessTime.sh
/bea/wls924/user_projects/domains/base_domain/servers/AdminServer/stage/Test/Test/login.jsp
The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
The file's last access time is: 2011-05-22 11:11:37.000000000 +0800
[weblogic@tdy218 ~]$ stat
/bea/wls924/user_projects/domains/base_domain/servers/AdminServer/stage/Test/Test/login.jsp
File: `/bea/wls924/user_projects/domains/base_domain/servers/AdminServer/stage/Test/Test/login.jsp'
Size: 634 Blocks: 8 IO Block: 4096 regular file
Device: 804h/2052d Inode: 583725 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 502/weblogic) Gid: ( 500/ bea)
Access: 2011-05-22 11:11:37.000000000 +0800
Modify: 2010-05-24 14:49:08.000000000 +0800
Change: 2011-05-22 11:10:21.000000000 +0800
The jsp file's last access time didn't changed in the past.
[weblogic@tdy218 ~]$ more getLastAccessTime.sh
#!/bin/bash
declare -i m=1
declare -i n=100
while [ $m -le $n ]; do
echo "The file's last access time is: $(stat -c %x $1)"
m=m+1
sleep 3
done
weblogic.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE weblogic-web-app PUBLIC "-//BEA Systems, Inc.//DTD Web Application 8.1//EN" "http://www.oracle.com/technology/weblogic/servers/wls810/dtd/weblogic810-web-jar.dtd">
<weblogic-web-app>
<jsp-descriptor>
<jsp-param>
<param-name>pageCheckSeconds</param-name>
<param-value>2</param-value>
</jsp-param>
</jsp-descriptor>
<container-descriptor>
<servlet-reload-check-secs>2</servlet-reload-check-secs>
<resource-reload-check-secs>2</resource-reload-check-secs>
</container-descriptor>
<context-root>/jdbc</context-root>
</weblogic-web-app>
env :
WebLogic 9.2 MP4、Redhat Linux AS 4 Update 8 x86.I tested on WLS 11g ps2(10.3.3) which is running in Development Mode also, but it was the same as WLS 9.2 MP4.
During the weblogic server running, it don't check the application resources , but it will check the $Domain_Home/autodeploy directory every three seconds in Development Mode , the following is the result.
[weblogic@tdy218 ~]$ ./getLastAccessTime.sh /bea/wls924/user_projects/domains/base_domain/autodeploy
The file's last access time is: 2011-05-22 12:01:43.000000000 +0800
The file's last access time is: 2011-05-22 12:01:43.000000000 +0800
The file's last access time is: 2011-05-22 12:01:43.000000000 +0800
The file's last access time is: 2011-05-22 12:01:46.000000000 +0800
The file's last access time is: 2011-05-22 12:01:46.000000000 +0800
The file's last access time is: 2011-05-22 12:01:46.000000000 +0800
The file's last access time is: 2011-05-22 12:01:49.000000000 +0800
The file's last access time is: 2011-05-22 12:01:49.000000000 +0800
The file's last access time is: 2011-05-22 12:01:49.000000000 +0800
The file's last access time is: 2011-05-22 12:01:52.000000000 +0800
Ctrl + ^
[weblogic@tdy218 ~]$ ./getLastAccessTime.sh ~/webapps/Test
The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
The file's last access time is: 2011-05-22 17:26:25.000000000 +0800
Ctrl + ^
[weblogic@tdy218 ~]$ ./getLastAccessTime.sh ~/webapps/Test/
insert.jsp login.jsp query.jsp tdy218.sql WEB-INF/
[weblogic@tdy218 ~]$ ./getLastAccessTime.sh ~/webapps/Test/login.jsp
The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
The file's last access time is: 2011-05-22 11:44:31.000000000 +0800
Ctrl + ^
I set the frequency to every one seconds this time by using sleep method in my Bash Shell script.
#!/bin/bash
declare -i m=1
declare -i n=100
while [ $m -le $n ]; do
echo "The file's last access time is: $(stat -c %x $1)"
m=m+1
sleep 1
done -
How to validate the line item values in OFR - quantity , unit price and UOM
Hi All,
Is there any possibility to validate the line items like quantity, unit price and UOM against the DB and stops those invoices at verifier (1 batch =10 invoices) level if yes could you please let me know the process how to proceed further.
due to this some the invoices are coming to OFR is with incorrect quantity, UOM and unit price different from PO lines information like quantity , UOM and unit price and those invoices are not validating from the DB and these are processed to EBS and it's effecting the GL and reporting.
Regards,
AnilHi ,
I did not get the exact requirement.Let me bit:
In standard AP project lines validation will try to compare the quantity , unit price and UOM of line against the database for match which actually performed on export.
So even if match fails batch will be exported.Now if you want to correct it before EBS,i think you can do it in the business process easily that you are consuming whether BPEL/BPM process.
We have done this in several projects
=========================
But If you want that to be done from OFR side i think we need to code UserExitPONumberValidate event to compare the line items values against database.I need to test this also. -
How can I catch the exception type c = type i?
How can I catch the exception and display the error message when I assign the u2018ABC123u2019 value to an int data type.
Code is as follow.
REPORT zfsl_sum_functions.
DATA: cin(50),
cout(50),
iin TYPE i,
iout TYPE i,
etext TYPE string.
cin = '123ABC'. " how can i catch this
iout = cin.
WRITE: iout.The CATCH-ENDCATCH statement is obsolete as of release was620. You should use TRY. CATCH. ENDCATCH.
The exception that will be raise is CX_SY_CONVERSION_NO_NUMBER, so you have to catch that exception or a super class of this exception class.
REPORT zfsl_sum_functions.
DATA: cin(50),
cout(50),
iin TYPE i,
iout TYPE i,
etext TYPE string.
DATA: rf_cx_error TYPE REF TO CX_SY_CONVERSION_NO_NUMBER,
errortxt TYPE string.
TRY.
cin = '123ABC'. " how can i catch this
iout = cin.
WRITE: iout.
CATCH CX_SY_CONVERSION_NO_NUMBER INTO rf_cx_error.
errortxt = rf_cx_error->get_text( ).
WRITE errortxt.
ENDTRY. -
Why can not catch the standard BACK event in ALV's USER_COMMAND event,
Hi expert, why i can not catch the standard BACK event in ALV's USER_COMMAND event,
Code:
DATA G_CON_UC_FORM TYPE SLIS_FORMNAME VALUE 'F_USER_COMMAND',
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_TOP_OF_PAGE = G_CON_FORM
I_CALLBACK_USER_COMMAND = G_CON_UC_FORM
IT_FIELDCAT = G_TAB_FIELDCAT
IT_SORT = G_TAB_SORT_INF
I_SAVE = G_CON_U
*<<<Liang
IT_EVENTS = G_TAB_ALV_EVENTS
*<<<Liang
TABLES
T_OUTTAB = G_TAB_OUTPUT_DATA
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.
*& Form F_USER_COMMAND
ALV USER COMMAND processing
FORM F_USER_COMMAND .
IF SY-UCOMM = '&FO3'.
LEAVE TO SCREEN 0.
ENDIF.
ENDFORM. " F_USER_COMMAND
When I set breakpoint on this subrouting ,and try to click stardard BACK or CANCEL button, the callback form do not run, but if double click one of line of alv report, the callback form works well,
so why??hi
good
check this report and change your code accordingly.
THESE LINES ARE FOR THE MAIN PROGRAM ***
SAP V40B ***
REPORT Z_PICK_LIST .
TABLES: RESB.
SELECTION-SCREEN BEGIN OF BLOCK BL1 WITH FRAME TITLE TEXT-BL1.
SELECT-OPTIONS: S_WERKS FOR RESB-WERKS," Plant
S_AUFNR FOR RESB-AUFNR," Order number
S_BDTER FOR RESB-BDTER." Req. date
SELECTION-SCREEN END OF BLOCK BL1.
PARAMETERS: P_VARI LIKE DISVARIANT-VARIANT DEFAULT '/STANDARD'.
DATA: BEGIN OF OUT OCCURS 10,
AUFNR LIKE RESB-AUFNR, " Order number
MATNR LIKE RESB-MATNR, " Material
BDMNG LIKE RESB-BDMNG, " Requirements in UM
MEINS LIKE RESB-MEINS, " Unit of Measure (UM)
ERFMG LIKE RESB-ERFMG, " Requirements in UE
ERFME LIKE RESB-ERFME, " Unit of Entry (UE)
MAKTX LIKE MAKT-MAKTX, " Mat. description
END OF OUT.
INCLUDE Z_ALV_VARIABLES.
INITIALIZATION.
REPNAME = SY-REPID.
PERFORM INITIALIZE_FIELDCAT USING FIELDTAB[].
PERFORM BUILD_EVENTTAB USING EVENTS[].
PERFORM BUILD_COMMENT USING HEADING[].
PERFORM INITIALIZE_VARIANT.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_VARI.
PERFORM F4_FOR_VARIANT.
AT SELECTION-SCREEN.
PERFORM PAI_OF_SELECTION_SCREEN.
START-OF-SELECTION.
PERFORM GET_ORDERS.
PERFORM GET_MATERIAL_DESCRIPTION.
END-OF-SELECTION.
PERFORM BUILD_LAYOUT USING LAYOUT.
PERFORM BUILD_PRINT USING PRINTS.
PERFORM WRITE_USING_ALV.
FORM INITIALIZE_FIELDCAT *
--> P_TAB *
FORM INITIALIZE_FIELDCAT USING P_TAB TYPE SLIS_T_FIELDCAT_ALV.
DATA: CAT TYPE SLIS_FIELDCAT_ALV.
CLEAR CAT.
ENDFORM. " INITIALIZE_FIELDCAT
*& Form GET_ORDERS
text
FORM GET_ORDERS.
SELECT AUFNR MATNR BDMNG MEINS ERFMG ERFME
FROM RESB
APPENDING TABLE OUT
WHERE XLOEK EQ SPACE " deletion indicator
AND XWAOK EQ 'X' " goods movement indicator
AND WERKS IN S_WERKS " plant
AND BDTER IN S_BDTER " req. date
AND AUFNR IN S_AUFNR. " pr. order
ENDFORM. " GET_ORDERS
*& Form GET_MATERIAL_DESCRIPTION
text
FORM GET_MATERIAL_DESCRIPTION.
SORT OUT BY MATNR.
LOOP AT OUT.
SELECT SINGLE MAKTX
INTO OUT-MAKTX
FROM MAKT
WHERE MATNR EQ OUT-MATNR
AND SPRAS EQ 'EN'.
MODIFY OUT.
ENDLOOP.
SORT OUT BY AUFNR MATNR.
ENDFORM. " GET_MATERIAL_DESCRIPTION
FORM TOP_OF_PAGE *
FORM TOP_OF_PAGE.
DATA: L_POS TYPE P.
first line
WRITE:/ TEXT-001. " Plant:
IF S_WERKS-HIGH NE SPACE.
WRITE: S_WERKS-LOW, TEXT-TO1, S_WERKS-HIGH.
ELSEIF S_WERKS-LOW NE SPACE.
LOOP AT S_WERKS.
WRITE: S_WERKS-LOW.
ENDLOOP.
ELSEIF S_WERKS-LOW EQ SPACE.
WRITE: TEXT-ALL.
ENDIF.
L_POS = ( SY-LINSZ DIV 2 ) - ( STRLEN( TEXT-TIT ) DIV 2 ).
POSITION L_POS. WRITE: TEXT-TIT.
L_POS = SY-LINSZ - 20.
POSITION L_POS. WRITE: TEXT-011, SY-UNAME RIGHT-JUSTIFIED. " User:
second line
WRITE:/ TEXT-002. " Order:
IF S_AUFNR-HIGH NE SPACE.
WRITE: S_AUFNR-LOW, TEXT-TO1, S_AUFNR-HIGH.
ELSEIF S_AUFNR-LOW NE SPACE.
LOOP AT S_AUFNR.
WRITE: S_AUFNR-LOW.
ENDLOOP.
ELSEIF S_AUFNR-LOW EQ SPACE.
WRITE: TEXT-ALL.
ENDIF.
L_POS = SY-LINSZ - 20.
POSITION L_POS. WRITE: TEXT-012,SY-DATUM. " Date:
third line
WRITE:/ TEXT-003. " Req. Date:
IF S_BDTER-HIGH(1) NE '0'.
WRITE: S_BDTER-LOW, TEXT-TO1, S_BDTER-HIGH.
ELSEIF S_BDTER-LOW(1) NE '0'.
LOOP AT S_BDTER.
WRITE: S_BDTER-LOW.
ENDLOOP.
ELSEIF S_BDTER-LOW(1) EQ '0'.
WRITE: TEXT-ALL.
ENDIF.
L_POS = SY-LINSZ - 20.
POSITION L_POS. WRITE: TEXT-013, SY-PAGNO. " Page:
ENDFORM. " TOP_OF_PAGE
FORM END_OF_LIST *
FORM END_OF_LIST.
DATA: L_POS TYPE P.
ULINE.
WRITE:/ '|', TEXT-021. " Delivered by:
L_POS = SY-LINSZ DIV 2.
POSITION L_POS. WRITE: '|', TEXT-031. " Received by:
L_POS = SY-LINSZ.
POSITION L_POS. WRITE: '|'.
WRITE:/ '|'.
L_POS = SY-LINSZ DIV 2.
POSITION L_POS. WRITE: '|'.
L_POS = SY-LINSZ.
POSITION L_POS. WRITE: '|'.
ULINE.
WRITE:/ '|', TEXT-012. " Date:
L_POS = SY-LINSZ DIV 2.
POSITION L_POS. WRITE: '|', TEXT-012. " Date:
L_POS = SY-LINSZ.
POSITION L_POS. WRITE: '|'.
WRITE:/ '|'.
L_POS = SY-LINSZ DIV 2.
POSITION L_POS. WRITE: '|'.
L_POS = SY-LINSZ.
POSITION L_POS. WRITE: '|'.
ULINE.
ENDFORM. " END_OF_LIST
*& Form WRITE_USING_ALV
text
FORM WRITE_USING_ALV.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
I_PROGRAM_NAME = REPNAME
I_INTERNAL_TABNAME = 'OUT'
I_INCLNAME = REPNAME
CHANGING
CT_FIELDCAT = FIELDTAB.
IF SY-SUBRC <> 0.
WRITE: 'SY-SUBRC: ', SY-SUBRC, 'REUSE_ALV_FIELDCATALOG_MERGE'.
ENDIF.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = REPNAME
i_callback_pf_status_set = 'PF_STATUS_SET'
i_callback_user_command = 'USER_COMMAND'
I_STRUCTURE_NAME = 'OUT'
IS_LAYOUT = LAYOUT
IT_FIELDCAT = FIELDTAB
I_DEFAULT = 'A'
I_SAVE = G_SAVE
IS_VARIANT = G_VARIANT
IT_EVENTS = EVENTS[]
IS_PRINT = PRINTS
TABLES
T_OUTTAB = OUT.
IF SY-SUBRC <> 0.
WRITE: 'SY-SUBRC: ', SY-SUBRC, 'REUSE_ALV_LIST_DISPLAY'.
ENDIF.
ENDFORM. " WRITE_USING_ALV
THESE LINES ARE FOR THE INCLUDE ***
***INCLUDE Z_ALV_VARIABLES .
TYPE-POOLS: SLIS.
DATA: FIELDTAB TYPE SLIS_T_FIELDCAT_ALV,
HEADING TYPE SLIS_T_LISTHEADER,
LAYOUT TYPE SLIS_LAYOUT_ALV,
EVENTS TYPE SLIS_T_EVENT,
REPNAME LIKE SY-REPID,
F2CODE LIKE SY-UCOMM VALUE '&ETA',
PRINTS TYPE SLIS_PRINT_ALV,
TITLE(40) TYPE C,
G_SAVE(1) TYPE C,
G_EXIT(1) TYPE C,
G_VARIANT LIKE DISVARIANT,
GX_VARIANT LIKE DISVARIANT.
CONSTANTS: FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'TOP_OF_PAGE',
FORMNAME_END_OF_PAGE TYPE SLIS_FORMNAME VALUE 'END_OF_PAGE',
FORMNAME_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'END_OF_LIST',
FORMNAME_BEFORE_LINE TYPE SLIS_FORMNAME VALUE 'BEFORE_LINE',
FORMNAME_AFTER_LINE TYPE SLIS_FORMNAME VALUE 'AFTER_LINE'.
FORM MAIN_STATEMENTS *
THIS IS THE CODE THAT MUST BE INSERTED IN THE MAIN PROGRAM
FORM MAIN_STATEMENTS.
Declare the parameter P_VARI wherever you want it. If you don't
want it, hide it with NO-DISPLAY, but it must exist.
parameters: p_vari like disvariant-variant. " ALV Variant
You have to add the following line after the data and parameter
declaration:
include z_alv_variables.
Then, after the data/parameter declaration, add these lines:
*initialization.
repname = sy-repid.
perform initialize_fieldcat using fieldtab[].
perform build_eventtab using events[].
perform build_comment using heading[].
perform initialize_variant.
If you are using the variable P_VARI (ALV Variant), also add this:
*at selection-screen on value-request for p_vari.
perform f4_for_variant.
*at selection-screen.
perform pai_of_selection_screen.
After the "END-OF-SELECTION" statement, add these lines:
perform build_layout using layout.
perform build_print using prints.
perform write_using_alv.
You also have to create the following forms: (you can find samples
in this program)
INITIALIZE_FIELDCAT
USER_COMMAND (only if you are creating a STATUS)
WRITE_USING_ALV
ENDFORM.
*& Form INITIALIZE_FIELDCAT_SAMPLE
THIS IS A SAMPLE, DO NOT USE THIS FORM IN YOUR PROGRAM
-->P_FIELDTAB[] text *
FORM INITIALIZE_FIELDCAT_SAMPLE USING P_TAB TYPE SLIS_T_FIELDCAT_ALV.
DATA: CAT TYPE SLIS_FIELDCAT_ALV.
CLEAR CAT. " Always clear before use
CAT-TABNAME = 'I'. " Your internal table
CAT-REF_TABNAME = 'ZCUSTMAS'. " The data dictionary reference table
CAT-FIELDNAME = 'KUNNR'. " Name of your field in the itable.
CAT-COL_POS = 1. " Output position
APPEND CAT TO P_TAB.
CAT-FIELDNAME = 'NAME1'. " Next field
CAT-COL_POS = 2.
APPEND CAT TO P_TAB.
CAT-FIELDNAME = 'STRAS'. " and the next
CAT-COL_POS = 3.
APPEND CAT TO P_TAB.
CAT-FIELDNAME = 'LOEVM'.
CAT-SELTEXT_S = 'Del'. " You can always override the descrip-
CAT-SELTEXT_M = 'Delivery'. " tion (short, medium, large)
CAT-SELTEXT_L = 'Delivery Num'.
CAT-COL_POS = 4.
APPEND CAT TO P_TAB.
CAT-FIELDNAME = 'FKIMG'.
CAT-DO_SUM = 'X'. " You want totals calculated.
CAT-NO_OUT = 'X'. " and hidden.
APPEND CAT TO P_TAB.
ENDFORM. " INITIALIZE_FIELDCAT
*& Form BUILD_EVENTTAB
THIS IS THE SAME FOR ALL THE PROGRAMS
-->P_EVENTS[] text *
FORM BUILD_EVENTTAB USING P_EVENTS TYPE SLIS_T_EVENT.
DATA: LS_EVENT TYPE SLIS_ALV_EVENT.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = P_EVENTS.
READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_TOP_OF_PAGE
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM.
APPEND LS_EVENT TO P_EVENTS.
ENDIF.
CLEAR LS_EVENT.
READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_END_OF_LIST
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE FORMNAME_END_OF_LIST TO LS_EVENT-FORM.
APPEND LS_EVENT TO P_EVENTS.
ENDIF.
CLEAR LS_EVENT.
READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_BEFORE_LINE_OUTPUT
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE FORMNAME_BEFORE_LINE TO LS_EVENT-FORM.
APPEND LS_EVENT TO P_EVENTS.
ENDIF.
CLEAR LS_EVENT.
READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_AFTER_LINE_OUTPUT
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE FORMNAME_AFTER_LINE TO LS_EVENT-FORM.
APPEND LS_EVENT TO P_EVENTS.
ENDIF.
CLEAR LS_EVENT.
READ TABLE P_EVENTS WITH KEY NAME = SLIS_EV_END_OF_PAGE
INTO LS_EVENT.
IF SY-SUBRC = 0.
MOVE FORMNAME_END_OF_PAGE TO LS_EVENT-FORM.
APPEND LS_EVENT TO P_EVENTS.
ENDIF.
ENDFORM. " BUILD_EVENTTAB
*& Form BUILD_COMMENT
NOT REALLY NEEDED, BUT I'LL LEAVE IT THERE, JUST IN CASE...
-->P_HEADING[] text *
FORM BUILD_COMMENT USING P_HEADING TYPE SLIS_T_LISTHEADER.
DATA: HLINE TYPE SLIS_LISTHEADER,
TEXT(60) TYPE C,
SEP(20) TYPE C.
CLEAR: HLINE, TEXT.
HLINE-TYP = 'H'.
write: text-101 to text+23.
HLINE-INFO = TEXT.
APPEND HLINE TO P_HEADING.
ENDFORM. " BUILD_COMMENT
*& Form INITIALIZE_VARIANT
VERY IMPORTANT WHEN YOU USE VARIANTS!!!
FORM INITIALIZE_VARIANT.
G_SAVE = 'A'.
CLEAR G_VARIANT.
G_VARIANT-REPORT = REPNAME.
GX_VARIANT = G_VARIANT.
CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
EXPORTING
I_SAVE = G_SAVE
CHANGING
CS_VARIANT = GX_VARIANT
EXCEPTIONS
NOT_FOUND = 2.
IF SY-SUBRC = 0.
P_VARI = GX_VARIANT-VARIANT.
ENDIF.
ENDFORM. " INITIALIZE_VARIANT
*& Form PAI_OF_SELECTION_SCREEN
ALSO FOR VARIANTS
FORM PAI_OF_SELECTION_SCREEN.
IF NOT P_VARI IS INITIAL.
MOVE G_VARIANT TO GX_VARIANT.
MOVE P_VARI TO GX_VARIANT-VARIANT.
CALL FUNCTION 'REUSE_ALV_VARIANT_EXISTENCE'
EXPORTING
I_SAVE = G_SAVE
CHANGING
CS_VARIANT = GX_VARIANT
EXCEPTIONS
WRONG_INPUT = 1
NOT_FOUND = 2
PROGRAM_ERROR = 3.
IF SY-SUBRC EQ 0.
G_VARIANT = GX_VARIANT.
ELSE.
PERFORM INITIALIZE_VARIANT.
ENDIF.
ELSE.
PERFORM INITIALIZE_VARIANT.
ENDIF.
ENDFORM. " PAI_OF_SELECTION_SCREEN
*& Form F4_FOR_VARIANT
text
FORM F4_FOR_VARIANT.
CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
EXPORTING
IS_VARIANT = G_VARIANT
I_SAVE = G_SAVE
IMPORTING
E_EXIT = G_EXIT
ES_VARIANT = GX_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 G_EXIT = SPACE.
P_VARI = GX_VARIANT-VARIANT.
ENDIF.
ENDIF.
ENDFORM. " F4_FOR_VARIANT
*& Form BUILD_LAYOUT
STANDARD LAYOUT
-->P_LAYOUT text *
FORM BUILD_LAYOUT USING P_LAYOUT TYPE SLIS_LAYOUT_ALV.
P_LAYOUT-F2CODE = F2CODE.
P_LAYOUT-ZEBRA = 'X'.
p_layout-detail_popup = 'X'.
P_LAYOUT-TOTALS_TEXT = SPACE.
P_LAYOUT-SUBTOTALS_TEXT = SPACE.
ENDFORM. " BUILD_LAYOUT
FORM BUILD_PRINT *
STANDARD PRINT OPTIONS *
--> P_PRINT *
FORM BUILD_PRINT USING P_PRINT TYPE SLIS_PRINT_ALV.
P_PRINT-NO_PRINT_LISTINFOS = 'X'.
P_PRINT-NO_PRINT_SELINFOS = ' '.
ENDFORM. " BUILD_PRINT
FORM PF_STATUS_SET *
NAME YOUR STATUS ALV. IF YOU NEED IT.. *
FORM PF_STATUS_SET USING EXTAB TYPE SLIS_T_EXTAB.
SET PF-STATUS 'ALV' EXCLUDING EXTAB.
ENDFORM. " PF_STATUS_SET
FORM USER_COMMAND_SAMPLE *
--> UCOMM *
--> SELFIELD *
FORM USER_COMMAND_SAMPLE USING UCOMM LIKE SY-UCOMM
SELFIELD TYPE SLIS_SELFIELD.
CASE UCOMM.
WHEN 'MSXL'. " Export to Excel
perform set_excel_export.
CLEAR UCOMM.
WHEN 'MM03'.
set parameter id 'MAT' field selfield-value.
call transaction 'MM03' and skip first screen.
CLEAR UCOMM.
WHEN 'BGR1'.
perform fill_available.
perform graph_available.
CLEAR UCOMM.
WHEN 'DOCU'.
call function 'Z_HELP' exporting repname = repname.
ENDCASE.
ENDFORM. " USER_COMMAND
*& Form WRITE_USING_ALV_SAMPLE
*THIS IS A SAMPLE AND MUST BE WRITTEN DIRECTLY IN THE MAIN PROGRAM
FORM WRITE_USING_ALV_SAMPLE.
YOU CAN MERGE WITH A DATA DICTIONARY TABLE USING THIS:
call function 'REUSE_ALV_FIELDCATALOG_MERGE'
exporting
i_program_name = repname
i_internal_tabname = 'I'
i_inclname = repname
changing
ct_fieldcat = fieldtab.
if sy-subrc <> 0.
write: 'SY-SUBRC: ', sy-subrc, 'REUSE_ALV_FIELDCATALOG_MERGE'.
endif.
OR JUST DISPLAY IT USING THIS:
call function 'REUSE_ALV_LIST_DISPLAY'
exporting
i_callback_program = repname
i_callback_pf_status_set = 'PF_STATUS_SET'
i_callback_user_command = 'USER_COMMAND'
i_structure_name = 'I'
is_layout = layout
it_fieldcat = fieldtab
i_default = 'A'
i_save = g_save
is_variant = g_variant
it_events = events[]
is_print = prints
tables
t_outtab = i.
if sy-subrc <> 0.
write: 'SY-SUBRC: ', sy-subrc, 'REUSE_ALV_LIST_DISPLAY'.
endif.
ENDFORM. " WRITE_USING_ALV
thanks
mrutyun^ -
How can i show the first item in the list as selected item
Aslam o Alikum (Hi)
Dear All
How can i show the first item in the list as selected item when user click on the list. Right now when user click the list the list shows the last item in the list as selected or highlighted. Furthermore if the list item have large no of value and a scroll bar along with it then the list scroll to last item when user click it with mouse. I want that when user click the list item with mouse list should show the first item as highlighted.
Take Care
Allah HafizHi!
You can set list "initial value" using When-Create-Record trigger.
I.g.
:<Block_name>.<list_item_name> := Get_List_Element_Value('<Block_name>.<list_item_name>', 1); -
Get the first item value of previous record in a multi record block
Hai,
I have a multi record block with four items.I should get the first item value of the previous record so that I can increment its value in the current record.
Thanks.........If you want a distinct value in each row or to be able to retrieve the records in the same order they were written then you should use a sequence.
If you want to retrieve the records in the same order they were created in the block then you will need a diffferent solution to the one you outline here since a user could enter a new record between two others.
I posted this a while back in response to someone who was using a sort_key item and resetting it for each row when a new record was inserted:
If you make the sort_key bigger then you have much more room to insert new rows in between existing rows without having to reset all the sort_keys.
Eg. you have rows with sort_keys of 129282000000000000 and 129283000000000000 (you can have more zeros if you want) and you want to insert a row in between. if you're using oracle forms then the user would have to click on the first of these rows and then do 'insert'. in your insert process you would store the sort keys of the current record and the one below, create a blank record in between and set the sort_key of that record to the average of the other two. you will be able to insert many new rows in between the original 2 before running out of space in the sort_key field.
the method above is not sufficient, there are some other cases to consider:
1) when the user is on the last record of the block then you will just create a new record with sort_key set to a greater number than the row before. you can have the sort_key defined as number(38) and to safely allow you to enter 1000 rows each new row would normally be 10E33 greater than the previous one.
2) when the user is entering the first record then just set the sort_key to 10E33.
3) on the off-chance that you do insert a great number of records and cannot insert another in between then you would need to alert the user, process the records so that the sort_keys are evenly spaced and requery the block. this processing could be scheduled nightly to make this eventuality even less likely.
4) make sure the user cannot run the default 'clear_record' procedure. this would break my method as well as yours!
James. -
Can't catch the exception when transaction rollback ,BPEL/SOA 11G,updated!
Hi Guys ,
I have two insert/update invoke actions through dbadpter in my BPEL process .
When I set the GetActiveUnitOfWork property of those two db adapters to true ,it successfully makes the global transaction work . any of them failed will cause the other rollback.
But the CatchAll brunch can't catch the exception in that case,
I can only see exception message from the system output :
02/11/2009 11:36:46 AM oracle.toplink.transaction.AbstractSynchronizationListener beforeCompletion
WARNING:
Local Exception Stack:
Exception [TOPLINK-4002] (Oracle TopLink - 11g Release 1 (11.1.1.1.0) (Build 090527)): oracle.toplink.exceptions.DatabaseException
Internal Exception: java.sql.SQLIntegrityConstraintViolationException: ORA-00001: unique constraint (Table1_PK) violated
from BPEL console , you can't even see the error , the process finished with no exception.
When I set GetActiveUnitOfWork to false, CatchAll brunch is able to catch the exception , but global rollback is not working .
I try all the other method like set the transaction property of BPEL to required , using checkpoint() in java embedding . it looks like only way is set GetActiveUnitOfWork to true, but can't catch exception.
Here are some updated:
Here is my process
Main Sequence
Invoke (dbadapter update)
Invoke (dbadapter insert)
Global CatchAll
Invoke(jmsAdapter sendjms)
if I disable the CatchAll branch , when insert failed , the insert will rollback as well, even GetActiveUnitOfWork set to false.
enable CatchAll branch , even doing nothing in this branch , the update won't rollback when insert failed. it looks like when catch the exception , bpel seems not rollback , I try to add throw rollback in catchall branch, no any effect.
any clue ?
Kevin
Edited by: kyi on Nov 5, 2009 10:10 AMHi All,
We are also facing a similar kind of issue.
We have a simple BPEL which will makes use of JAva embedding to call an end point to check its availibility.
The Java code for cheking the enpoint connectivity is below
try{
boolean endpointAvailable = false;
long start = System.currentTimeMillis();
int endpointTestURL_port = 8445 ;
int endpointTestURL_timeout = 500;
String endpointTestURL_queryString = "" ;
String endpointTestURL_protocol = (String)getVariableData ("endpointProtocol");
addAuditTrailEntry("endpointTestURL_protocol: " + endpointTestURL_protocol);
String endpointTestURL_host = (String)getVariableData ("endpointHost");
addAuditTrailEntry("endpointTestURL_hostl: " + endpointTestURL_host);
URL endpoint = new URL(endpointTestURL_protocol, endpointTestURL_host, 8445, endpointTestURL_queryString);
addAuditTrailEntry("endpoint object is created" );
String endpointTestURL = endpoint.toExternalForm();
addAuditTrailEntry("Checking availability of endpoint at URL: " + endpointTestURL);
// Configure connection
HttpURLConnection connection = (HttpURLConnection)endpoint.openConnection();
connection.setRequestMethod("GET");
addAuditTrailEntry("The Method is Get");
connection.setConnectTimeout(5000);
addAuditTrailEntry("Timeout is 500 ms");
// Open connection
connection.connect();
addAuditTrailEntry("Open Connection");
String responseMessage = connection.getResponseMessage();
addAuditTrailEntry("Recieved availability response from endpoint as: " + responseMessage);
// Close connection
connection.disconnect();
endpointAvailable = true;
if (endpointAvailable)
setVariableData("crmIsAvailable", "true");
else
setVariableData("crmIsAvailable", "false");
catch(Exception e)
System.out.println ("Error in checking endpoint availability " + e) ;
addAuditTrailEntry("error message is : " +e);
When we run the above as a seperate java program it runs fine i.e goes to the catch block and catches the exception.
But when we run it within the java embedding in BPEL(11G) it gives us the follwoing error.
The reason was The execution of this instance "490001" for process "default/GMDSSalesLeadsBackMediationInterface!1.0*soa_e1a6362f-c148-417c-819c-9327017ebfa4" is supposed to be in an active jta transaction, the current transaction status is "ROLLEDBACK" .
Consult the system administrator regarding this error.
at com.oracle.bpel.client.util.TransactionUtils.throwExceptionIfTxnNotActive(TransactionUtils.java:119)
at com.collaxa.cube.engine.CubeEngine.store(CubeEngine.java:4055)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4372)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:4281)
at com.collaxa.cube.engine.CubeEngine._createAndInvoke(CubeEngine.java:713)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:545)
at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:654)
at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:355)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at com.bea.core.repackaged.springframework.jee.intercept.MethodInvocationInvocationContext.proceed(MethodInvocationInvocationContext.java:104)
at oracle.security.jps.ee.ejb.JpsAbsInterceptor$1.run(JpsAbsInterceptor.java:88)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:414)
at oracle.security.jps.wls.JpsWeblogicEjbInterceptor.runJaasMode(JpsWeblogicEjbInterceptor.java:61)
at oracle.security.jps.ee.ejb.JpsAbsInterceptor.intercept(JpsAbsInterceptor.java:106)
at oracle.security.jps.ee.ejb.JpsInterceptor.intercept(JpsInterceptor.java:106)
at sun.reflect.GeneratedMethodAccessor960.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
at com.bea.core.repackaged.springframework.jee.intercept.JeeInterceptorInterceptor.invoke(JeeInterceptorInterceptor.java:69)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
at weblogic.ejb.container.injection.EnvironmentInte
we also get
BEA1-108EA2A88DAF381957FF
weblogic.transaction.internal.TimedOutException: Transaction timed out after 301 seconds
BEA1-108EA2A88DAF381957FF
at weblogic.transaction.internal.ServerTransactionImpl.wakeUp(ServerTransactionImpl.java:1733)
at weblogic.transaction.internal.ServerTransactionManagerImpl.processTimedOutTransactions(ServerTransactionManagerImpl.java:1578)
at weblogic.transaction.internal.TransactionManagerImpl.wakeUp(TransactionManagerImpl.java:1900)
at weblogic.transaction.internal.ServerTransactionManagerImpl.wakeUp(ServerTransactionManagerImpl.java:1488)
at weblogic.transaction.internal.WLSTimer.timerExpired(WLSTimer.java:35)
at weblogic.timers.internal.TimerImpl.run(TimerImpl.java:273)
at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
javax.ejb.EJBException: Transaction Rolledback.: weblogic.transaction.internal.TimedOutException: Transaction timed out after 301 seconds
BEA1-108EA2A88DAF381957FF
We tried the following
Increase the JTA timeout in the EM console to a larger value like 600 secs.
The BPEL instance is not getting created.
Any help would be appreciated
Thanks
Lalit -
How to select and store the dynamically clicked values in the checkboxes?
Hi Gurus
How to select and store the dynamically clicked values in the checkboxes?
Scenario:-
I am having a tree structure but I am not getting that user has clicked the which nodes.
So how to do it.
Pls.Hi,
Once again, this is dependent on what your implementation expects. It would seem that your implementation is expecting all of the API to be coded in Java Card so it would make sense that you would load these packages like any other package. Loading an applet is not a special case, it just has an extra step of installing instances of it (and can actually be installed). Any other Java package just needs to be loaded. As such, just load your CAP files for each package of the API before loading any code that depends on it.
Cheers,
Shane -
How can we pass the select-option value to modulepool program?
hi,
how can we pass the select-option value to modulepool program ?
Because if i declared select-options in executable program and i used SSCRFIELDS to define push buttons in selection screen.
My requirement if enter the values to select-options and press UPDATE pussbotton then i want call screen which contains tablecontrol.
How i get select-option values to PAI of call screen for getting the data from database table to my internal table?Oh I thought that you have selection-screen and again you are working on dialog programming.
if you want to use select-option directly in module pool then it is not possible.
but you can do other way.
create two varaiables
data : v_kun_low like kna1-kunnr,
v_kun_high like kna1-kunnr.
use these two variables in layout ,let user knows that he can not give options like gt,lt,eq ,it will be always BT.
and also when you see normal report program,you can use multiple values in either low or high,but here it is not possibel.
use can enter only low value and high value.
when you come to program point of view
declare one range
ranges r_kunnr for kna1-kunnr.
do the coding like
r_kunnr-low = v_kun_low.
r_kunnr-high = v_kun_high.
r_kunnr-options = 'BT'.
r_kunnr-sign = 'I'.
append r_kunnr.
now you can use r_kunnr in select query ,it will work like select-option.
other than this there is no option.
Thanks
Seshu -
How can we read the screen field values from the report selection screen wi
Hi expart,
How can we read the screen field values from the report selection screen with out having an ENTER button pressed .
Regards
Razzuse this code...
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_posnr.
**Read the Values of the SCREEN FIELDs
CALL FUNCTION 'DYNP_VALUES_READ' -
How can we pass the master report value in to detail report
Hi All,
My question is how can I pass the master report value in to detail (Child) report filter?
I mean I have one master report if I click on employee name then I have to pass the employee id in to details report filter. Then detail report will display data for that particular employee.
How can I achieve this one in OBIEE?
Please help me to resolve this issue. Thanks in advance for your time and support.In that case, you should look at using Go Url. In your column formula for the employee name, create a hyperlink to the detail report and pass the employee id.
Take a look at this post: Re: Dyanmic display of the Image Link URL
Thanks!
Maybe you are looking for
-
Can I back up my LaCie and mbp on my time capsule
Hi to you all I have a MBP and am backing it up on my time capsule. Works perfect. Now i have bought a LaCie external hard drive for my photos. Can I use my time capsule to back up both? (MBP and LaCie) There will be times that I make backups having
-
Report Comparing Purchase Requisition Qty vs Delivery /Receipt Qty
There is a requirement for comparison of Purchase Requirement Qty vs Delivery Qty . The Purchse order will be created with ref to Purchase Requisition but change of PO Qty is allowed . There is also an option to make Po without ref to PR . Thanks San
-
Requirement, alt conditiion base value,alt .caluculatin type
Hai, Suppose a business requirment in pricing is to develop a routine.How can i come to a decision that i need to write a routine in "REQUIREMENT" "ALT CAL TYPE" "ALT CONDITION BASE VALUE" fields. Plz suggest me;
-
JDev 9.04 ActionListener Not Found Errror
I created a Java class in JDev 9.0.4.13.8 running Java version 1.4.2_03 on WinXP. When I attempt to rebuild it, I get "Error(9,52): class ActionListener not found in class testclient.TestClient. I am trying to create an application to upload a user-s
-
After Effects 2014 mocha start error
Bonjour, Je viens d'installer la nouvelle version 2014. Au lancement de Mocha en passant par le menu Animation/Suivi dans Mocha, j'ai le message d'erreur suivant : Cela fonctionne dans l'ancienne version After Effect CC. Merci d'avance pour votre aid