ALV problem.pls
hi ,
1.i have a toolbar in the alv output,,,but according to my client requirement ,i have to add 4 more standard functions to the toolbar...how can we achieve this?
2.I need to download the alv output in Excel format..there is a standard function in the toolbar where we can download....but now the problem is while downloading the alv output to the excel sheet , the first column/field in the alv output is coming in the last in the excel sheet.....that means second column in the alv output is coming as first colum in th excel sheet..which is not meeting the requirement
pls help me in this regard
regards
jack
hi,
1) <a href="http://www.sapdevelopment.co.uk/reporting/alv/alvgrid_pfstatus.htm">Adding PF Status to ALV</a>
2) Add the Button for the download in the PF Status.. and Use GUI_Download Function Module for this button.
Thanks
Mahesh
Similar Messages
-
Urgent: Sessions problem pls help me
Hi all,
Its already late to post this problem.pls help me urgently.
I have a servlet & two jsp's. first i request servlet, it processes something and forwards request to my first jsp. In that jsp on a button click, i'm displaying a new popup by calling showModalDialog. this dialog gets data from the same servlet but it forwards to my second jsp.(second jsp can be seen in dialog)
Now if i submit form from my second(dialog) jsp, the servlet reports that session has expired. I tried a lot but invain. any one who helps me is appreciated well by all of our forum.
waiting 4 u r reply,It could be that you have cookies turned off and you're not using URL Rewriting.
In J2EE, the first time your browser makes a request to the server, the server responds and appends a SESSION_ID parameter to the request as well as storing a cookie with the SESSION_ID.
The second time your browser makes a request, the server checks for the cookie. If it doesn't exist it checks for the parameter. If neither exist the server assumes its the first time your browser has made a request and behaves as describe in the previous paragraph.
In your case when you submit the form if you have disabled cookies and the action attribute doesn't have the SESSION_ID paramter appended to the url, the browser will assume it's a first request. The user will not be logged in, hence your session has expired error.
To fix this you need to encode the URL in your JSP. You can use the struts html:rewrite tag or the HttpServletReponse.encodeURL method, or if you're using JSP 2.0 the JSTL c:url tag. -
Boot problem == pls HELP
I have use the utility disk and format the machintos drive , and use Extended (Journaled , Encrypted) , it ask me for a password (typed the password, confirmed the password - done) , after that i tried to install a fresh copy of Lion (i waited to be downloded from apple.com - done) after that it said that the fresh copy it will be installed and it will reboot by itself -> done ... from here the problem it's starting .... now my macbook air , it dosent start anymore it keep showming me, instaid of the apple sign from the start , a sign like the one from ghost busters (but without the ghost in it ) , i have tried to boot from cd , from usb , nothing dosent seams to be working.
If anyone know a solution to this problem, pls HELP! Thank you in advance...
p.s. before i had 2 hard drives that show up when i press the ALT button (machintos hd and utility drive, or something like that) now.. the only thing that it's showing me is : mac os base system , and if i try to use partition magic or something else, from a usb, it will tell me something about a bootguard , but i don't know how to insert the password.Glad your issue is fixed. Thanks for the update!
Click if you want to Thank someone. If Problem is resolved, so that others can make use of it. -
How to solve this problem, pls help when, I try to see remote camera system(spec dvr) from home. The Error I get is "Dual streaming is required for HTML viewing"
I had the same probelm and found that the problem lies with 64bit programs such as safari and microsoft internet explorer. I have resolved the issue on my PC based server by using a 32 bit ie and same on my mac by using the same running windows under parallels.
So far the problem with the 64 bit side of it is still to be resolved.
Hope this helps and gets you guys up and running until suchtime a 64 bit solution is found.
Craig -
hey guys
I am facing a small problem:
i written a code in to display the output in alv format.
In that i have two tables in nested format. That is during declaration i have two tables see the sample of field-catalog declaration.
fieldcat-tabname = 'IITEM'.
fieldcat-fieldname = 'KUNNR'.
fieldcat-ref_fieldname ='KUNNR'.
fieldcat-ref_tabname ='ZVBRKVBRP'.
fieldcat-col_pos = '1'.
fieldcat-seltext_m = 'Billing Doc'.
fieldcat-seltext_l = 'Billing Doc'.
fieldcat-seltext_s = 'Billing Doc'.
APPEND fieldcat TO fieldtab.
CLEAR fieldcat.
fieldcat-tabname = 'IVBELN'.
fieldcat-fieldname = 'POSNR'.
fieldcat-col_pos = '2'.
fieldcat-seltext_m = 'Billing Item'.
fieldcat-seltext_l = 'Billing Item'.
fieldcat-seltext_s = 'Billing Item'.
APPEND fieldcat TO fieldtab.
CLEAR fieldcat.
here IITEM is outer internal table and
IVBELN is inner internal table.
Although my final output of the program is working fine, but the problem is:
i cant able to do subtotal (ctlshiftf6) according to inner internal table. is there any problem in settings or it should be hard-coded.
I am using TYPE-POOLS : SLIS.
Pls help me.
DeepakHi Depaak,
I am going to assume you are using the basic function module REUSE_ALV_LIST_DISPLAY, have you tried to use the function module REUSE_ALV_HIERSEQ_LIST_DISPLAY instead? This FM allows you to define 2 internal tables with a "header" and "item" relationship.
Here is some code demonstrating how to use this FM. You can sort and do totaling and subtotaling the usual way. Let me know if you get any problems.
Cheers,
Pat
*& Report ZPAT2 *
Modification History
Date | Author | Chg Req # | Description
15.08.2001| Pat Yee | $TMP | Program Creation
This program is an example of how the ALV Hierarchy Display works.
It will display a sales order and it's associated line items
REPORT zpat2.
Types
TYPE-POOLS: kkblo.
Database Tables
TABLES: vbak, vbap.
Structures
DATA: st_fieldcat TYPE slis_fieldcat_alv.
DATA: st_keyinfo TYPE slis_keyinfo_alv.
DATA: st_sort TYPE slis_sortinfo_alv.
DATA: st_layout TYPE slis_layout_alv.
Internal tables
DATA: tbl_fieldcat TYPE slis_t_fieldcat_alv.
DATA: tbl_sort TYPE slis_t_sortinfo_alv.
DATA: BEGIN OF tbl_header OCCURS 0.
INCLUDE STRUCTURE vbak.
DATA: END OF tbl_header.
DATA: BEGIN OF tbl_item OCCURS 0.
INCLUDE STRUCTURE vbap.
DATA: END OF tbl_item.
Constants
CONSTANTS: c_y VALUE 'X'. "Yes
CONSTANTS: c_n VALUE ' '. "No
Simple Variables
DATA: field_name(30) TYPE c,
g_repid like sy-repid.
Selection Screen
SELECTION-SCREEN BEGIN OF BLOCK sel_options WITH FRAME TITLE text-tt1.
SELECT-OPTIONS s_vbeln FOR vbak-vbeln.
SELECTION-SCREEN END OF BLOCK sel_options.
Start of Selection
START-OF-SELECTION.
Get the Report ID
g_repid = sy-repid.
Select data from the Sales Document Header Table
SELECT * FROM vbak INTO TABLE tbl_header
WHERE vbeln IN s_vbeln.
Select the relevant Sales Document Item data
SELECT * FROM vbap INTO TABLE tbl_item
FOR ALL ENTRIES IN tbl_header
WHERE vbeln = tbl_header-vbeln.
End of Selection
END-OF-SELECTION.
PERFORM get_keyinfo.
PERFORM get_layout.
PERFORM get_sort.
PERFORM get_fieldcat.
PERFORM create_report.
*& Form get_fieldcat
text
FORM get_fieldcat.
Here the field catalog is created. To display more fields simply
'uncomment' the additional lines and add the field name. Also note
that the field catalog is much more powerful than this. You can
intensify fields, change the colour, assign reference fields, etc.
Look at type slis_fieldcat_alv for more options.
Header
PERFORM write_fieldcat USING 'VBELN' 'TBL_HEADER' 'VBAK' c_y 1
c_n c_y c_n c_n.
PERFORM write_fieldcat USING 'ERDAT' 'TBL_HEADER' 'VBAK' c_n 2
c_n c_n c_n c_y.
PERFORM write_fieldcat USING 'AUDAT' 'TBL_HEADER' 'VBAK' c_n 3
c_n c_n c_n c_n.
PERFORM write_fieldcat USING 'VBTYP' 'TBL_HEADER' 'VBAK' c_n 4
c_n c_n c_n c_n.
PERFORM write_fieldcat USING 'WAERK' 'TBL_HEADER' 'VBAK' c_n 5
c_n c_n c_n c_n.
PERFORM write_fieldcat USING 'VKBUR' 'TBL_HEADER' 'VBAK' c_n 6
c_n c_n c_n c_y.
perform write_fieldcat using ' ' 'TBL_HEADER' 'VBAK' ' ' 7.
perform write_fieldcat using ' ' 'TBL_HEADER' 'VBAK' ' ' 8.
perform write_fieldcat using ' ' 'TBL_HEADER' 'VBAK' ' ' 9.
perform write_fieldcat using ' ' 'TBL_HEADER' 'VBAK' ' ' 10.
Item
PERFORM write_fieldcat USING 'POSNR' 'TBL_ITEM' 'VBAP' c_y 1
c_n c_n c_n c_n.
PERFORM write_fieldcat USING 'MATNR' 'TBL_ITEM' 'VBAP' c_n 2
'C411' c_n c_n c_n.
PERFORM write_fieldcat USING 'NETPR' 'TBL_ITEM' 'VBAP' c_n 3
'C300' c_n c_y c_n.
PERFORM write_fieldcat USING 'PRCTR' 'TBL_ITEM' 'VBAP' c_n 4
c_n c_n c_n 'X'.
PERFORM write_fieldcat USING 'GSBER' 'TBL_ITEM' 'VBAP' c_n 5
c_n c_n c_n 'X'.
PERFORM write_fieldcat USING 'WERKS' 'TBL_ITEM' 'VBAP' c_n 6
c_n c_n c_n 'X'.
PERFORM write_fieldcat USING 'AUFNR' 'TBL_ITEM' 'VBAP' c_n 7
'C611' c_n c_n c_n.
perform write_fieldcat using ' ' 'TBL_ITEM' 'VBAP' ' ' 8.
perform write_fieldcat using ' ' 'TBL_ITEM' 'VBAP' ' ' 9.
perform write_fieldcat using ' ' 'TBL_ITEM' 'VBAP' ' ' 10.
perform write_fieldcat using ' ' 'TBL_ITEM' 'VBAP' ' ' 11.
perform write_fieldcat using ' ' 'TBL_ITEM' 'VBAP' ' ' 12.
ENDFORM. " get_fieldcat
*& Form write_fieldcat
text
-->name Field name
-->tab Table name
-->st Structure Name
-->key Is this field a Key?
-->pos Position Number
-->emp Emphasize
-->hot Hotspot
-->sum Do_sum
-->hide No_out
FORM write_fieldcat USING name tab st key pos emp hot sum hide.
st_fieldcat-fieldname = name.
st_fieldcat-tabname = tab.
st_fieldcat-ref_tabname = st.
st_fieldcat-key = key.
st_fieldcat-col_pos = pos.
st_fieldcat-emphasize = emp.
st_fieldcat-hotspot = hot.
st_fieldcat-do_sum = sum.
st_fieldcat-no_out = hide.
APPEND st_fieldcat TO tbl_fieldcat.
CLEAR st_fieldcat.
ENDFORM. " write_fieldcat
*& Form create_report
Hummmm I wonder what this subroutine does?
FORM create_report.
Here we call the Function Module to create the Hierarchical
Sequential List
CALL FUNCTION 'REUSE_ALV_HIERSEQ_LIST_DISPLAY'
EXPORTING
i_interface_check = ' '
i_callback_program = g_repid
i_callback_user_command = 'PROCESS_USER_COMMANDS'
is_layout = st_layout
it_fieldcat = tbl_fieldcat
it_sort = tbl_sort
i_default = 'X'
i_save = 'A'
is_variant = ' '
i_tabname_header = 'TBL_HEADER'
i_tabname_item = 'TBL_ITEM'
is_keyinfo = st_keyinfo
TABLES
t_outtab_header = tbl_header
t_outtab_item = tbl_item
EXCEPTIONS
program_error = 1
OTHERS = 2
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " create_report
*& Form get_keyinfo
text
FORM get_keyinfo.
This defines the "link" between the "header" and "item" tables
st_keyinfo-header01 = 'VBELN'.
ENDFORM. " get_keyinfo
*& Form get_sort
text
FORM get_sort.
Here we sort the report by the Document Number...why not?
REFRESH tbl_sort.
CLEAR st_sort.
st_sort-spos = 1.
st_sort-fieldname = 'VBELN'.
st_sort-up = 'X'.
APPEND st_sort TO tbl_sort.
ENDFORM. " get_sort
FORM process_user_commands *
Interactive Reporting commands
--> SYST-UCOMM *
--> SELFIELD *
FORM process_user_commands USING syst-ucomm LIKE syst-ucomm
selfield TYPE slis_selfield.
This subroutine is called when there is user interaction in the output
In this case if the user double clicks the Document Number then the
program will call transaction VA03 and display the Sales Document
CASE syst-ucomm.
WHEN '&IC1'.
GET CURSOR FIELD field_name.
IF field_name = 'TBL_HEADER-VBELN'.
READ TABLE tbl_header INDEX selfield-tabindex.
CHECK tbl_header-vbeln NE 0.
SET PARAMETER ID 'AUN' FIELD tbl_header-vbeln.
CALL TRANSACTION 'VA03' AND SKIP FIRST SCREEN.
ENDIF.
WHEN OTHERS.
ENDCASE.
ENDFORM. "process_user_commands
*& Form get_layout
text
FORM get_layout.
Here we manipulate the layout of the list. In this instance we are
giving the list a 'zebra' format. Once again like the field catalog
there are many more options available. Look at type slis_layout_alv
for more options.
CLEAR st_layout.
st_layout-zebra = 'X'.
ENDFORM. " get_layout -
hi experts, in my ALV report, layout selected from select-options(F4) is not displaying, after the initial list dispaly if i select from the layouts then it is comming, pls help me,
i did all the required things like i_save = 'X' ,is_variant = alv_variant, in FM reuse_alv_grid_display,
i also use the FM in this order
1)INITIALIZATION -> REUSE_ALV_VARIANT_DEFAULT_GET
2)AT SELECTION-SCREEN ON VALUE-REQUEST FOR -
>REUSE_ALV_VARIANT_F4
3)AT SELECTION-SCREEN---->REUSE_ALV_VARIANT_DEFAULT_GET
4)start-of-selection.
perform f001-data_retrieval.
perform f002-build_fieldcatalog.
perform f003-build_layout.
perform f004-display_alv_report.
thanks & regardsREPORT z_demo_alv_event_exit_1.
>********************************************************************
This report reads and displays data from table TRDIR, *
using the FM : REUSE_ALV_LIST_DISPLAY *
The columns are displayed in the same order than the Sort Order *
There is an underline if the sort is by UNAM or UDAT *
Author : Michel PIOUD *
Email : [email protected] HomePage : http://www.geocities.com/mpioud *
SELECTION-SCREEN :
BEGIN OF LINE,COMMENT 5(27) v_1 FOR FIELD p_max. "#EC NEEDED
PARAMETERS p_max(3) TYPE n DEFAULT '99' OBLIGATORY.
SELECTION-SCREEN END OF LINE.
TYPE-POOLS slis. " ALV Global Types
TYPES:
BEGIN OF ty_trdir,
name TYPE trdir-name, " ABAP program name
cnam TYPE trdir-cnam, " Created by
cdat TYPE trdir-cdat, " Created on
unam TYPE trdir-unam, " Last changed by
udat TYPE trdir-udat, " Last changed on
END OF ty_trdir.
DATA:
gt_trdir TYPE TABLE OF ty_trdir. " Data displayed
INITIALIZATION.
v_1 = 'Maximum of records to read'.
START-OF-SELECTION.
PERFORM f_read_data.
PERFORM f_display_data.
Form f_read_data
FORM f_read_data.
SELECT name cnam cdat unam udat
INTO TABLE gt_trdir
UP TO p_max ROWS
FROM trdir
WHERE name LIKE 'Z%'.
ENDFORM. " F_READ_DATA
Form f_display_data
FORM f_display_data.
Macro definition
DEFINE m_fieldcat.
add 1 to ls_fieldcat-col_pos.
ls_fieldcat-fieldname = &1.
ls_fieldcat-ref_tabname = 'TRDIR'.
append ls_fieldcat to lt_fieldcat.
END-OF-DEFINITION.
DEFINE m_event_exit.
clear ls_event_exit.
ls_event_exit-ucomm = &1.
ls_event_exit-after = 'X'.
append ls_event_exit to lt_event_exit.
END-OF-DEFINITION.
DATA :
ls_layout TYPE slis_layout_alv,
ls_fieldcat TYPE slis_fieldcat_alv,
lt_fieldcat TYPE slis_t_fieldcat_alv,
lt_event_exit TYPE slis_t_event_exit,
ls_event_exit TYPE slis_event_exit.
Build Field Catalog
m_fieldcat 'NAME'.
m_fieldcat 'CNAM'.
m_fieldcat 'CDAT'.
m_fieldcat 'UNAM'.
m_fieldcat 'UDAT'.
Build Event Exit Table
m_event_exit '&OUP'. " Sort up
m_event_exit '&ODN'. " Sort Down
ls_layout-zebra = 'X'.
CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
EXPORTING
i_callback_program = sy-cprog
i_callback_user_command = 'USER_COMMAND'
is_layout = ls_layout
it_fieldcat = lt_fieldcat
it_event_exit = lt_event_exit
TABLES
t_outtab = gt_trdir.
ENDFORM. " F_DISPLAY_DATA
FORM USER_COMMAND *
FORM user_command USING u_ucomm TYPE syucomm
us_selfield TYPE slis_selfield. "#EC CALLED
CASE u_ucomm.
WHEN '&OUP' OR '&ODN'. " Sort
PERFORM f_modif_fieldcat.
us_selfield-refresh = 'X'.
ENDCASE.
ENDFORM. " USER_COMMAND
Form F_MODIF_FIELDCAT
FORM f_modif_fieldcat.
DATA:
lt_fieldcat TYPE slis_t_fieldcat_alv,
lt_sort TYPE slis_t_sortinfo_alv.
FIELD-SYMBOLS :
<sort> TYPE slis_sortinfo_alv,
<fieldcat> TYPE slis_fieldcat_alv.
Read current ALV list information
CALL FUNCTION 'REUSE_ALV_LIST_LAYOUT_INFO_GET'
IMPORTING
et_fieldcat = lt_fieldcat
et_sort = lt_sort
EXCEPTIONS
no_infos = 1
program_error = 2
OTHERS = 3.
IF sy-subrc NE 0.
EXIT.
ENDIF.
CHECK NOT lt_sort[] IS INITIAL.
Fieldcat modification
DESCRIBE TABLE lt_fieldcat.
LOOP AT lt_fieldcat ASSIGNING <fieldcat>.
<fieldcat>-col_pos = <fieldcat>-col_pos + sy-tfill.
ENDLOOP.
LOOP AT lt_fieldcat ASSIGNING <fieldcat>.
READ TABLE lt_sort ASSIGNING <sort>
WITH KEY fieldname = <fieldcat>-fieldname.
CHECK sy-subrc EQ 0.
<fieldcat>-col_pos = <sort>-spos.
ENDLOOP.
SORT lt_fieldcat BY col_pos.
LOOP AT lt_fieldcat ASSIGNING <fieldcat>.
<fieldcat>-col_pos = sy-tabix.
ENDLOOP.
Underline if the sort is by UNAM or UDAT
READ TABLE lt_sort ASSIGNING <sort> INDEX 1.
IF <sort>-fieldname = 'UNAM' OR
<sort>-fieldname = 'UDAT'.
<sort>-group = 'UL'.
ENDIF.
CALL FUNCTION 'REUSE_ALV_LIST_LAYOUT_INFO_SET'
EXPORTING
it_sort = lt_sort
it_fieldcat = lt_fieldcat.
ENDFORM. " F_MODIF_FIELDCAT
END OF PROGRAM Z_DEMO_ALV_EVENT_EXIT_1 *********************** -
ALV: Problem in exporting to excel with too many columns
Hi,
While exporting from ALV report to excel following issue was faced:
ALV report contains 81 columns out of which 67 columns are displayed properly but from 68th column onwards data is dispalyed on next row
I want all columns displayed on single row..
Any help will greatly appreciated..
Thanks,
DeepakHi Deepak,
I was browsing through these threads to find anwer for the same issue.
So thought of putting my analysis which helped me resolve my problem.
Analysis/Solution:
When we export ALV data to excel worksheet, as sap notes say the maximum lenght allowed is 1023 charaters and the max no of columns supported is 90.
(I never faced any issue related to no of columns as it worked fine for columns >90 too)
Issue occured when row size of exported data gets more than 1023 character.
Therefore the row data must not exceed 1023 character, otherwise column splits and moves to next row.
One additional aspect generally missed is that:
When data in any particular column changes it's length, alv header also changes its lengh (short text, medium text, long text; depending on the length of of the longest cell in the column)
therefore even if you have total length of row less than 1023 character, there might be cases when your ALV header size exceeds this length.
Hopefully it will be helpful for you too.
Regards,
Parveen -
ALV problems, trying to click Back button, Filtering, download (Excel)
Hi
When I try to click Back button, Filtering or download (Excel) on ALV grid this dumps appear:
Runtime Error MOVE_TO_LIT_NOTALLOWED_NODATA
Error analysis
The program tried to assign a new value to the field "<L_BOX>" even though
it is protected against changes.
The following objects are protected:
- Character or numeric literals
- Constants (CONSTANTS)
- Parameters of the category IMPORTING REFERENCE for functions
and methods
- Untyped field symbols to which a field has not yet been assigned
using ASSIGN
- TABLES parameters if the corresponding actual parameter is protected
against changes
- USING reference parameters and CHANGING parameters for FORMs if
the actual parameter for this is protected against changes
- Field symbols if the field assigned using ASSIGN or ASSIGNING
is protected against changes
- External write accesses to READ-ONLY attributes
- Key components of lines in internal tables of the type HASHED or
SORTED TABLE
SORTED TABLE.
Line SourceCde
681 * set/unset <box> of all items
682 if l_ucomm eq '&SAL' or l_ucomm eq '&ALL'.
683 if l_ucomm eq '&SAL'.
684 loop at t_outtab.
685 l_tabix = l_tabix + 1.
->>> <l_box> = ' '.
687 modify t_outtab index l_tabix.
688 endloop.
689 endif.
690 if l_ucomm eq '&ALL'.
691 loop at t_outtab.
692 l_tabix = l_tabix + 1.
693 <l_box> = 'X'.
694 modify t_outtab index l_tabix.
695 endloop.
696 endif.
What I must check on my ALV settings:
ch_alv_layout-zebra = 'X'.
ch_alv_layout-box_fieldname = 'SELE'.
ch_alv_layout-box_tabname = v_nametab.
ch_alv_layout-reprep = 'X'.
ch_alv_layout-info_fieldname = 'COLOR'. "infofield for listoutput
ch_alv_layout-colwidth_optimize = 'X'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = ch_alv_layout
it_fieldcat = ch_alv_fieldcat
it_sort = ch_alv_sortinfo
i_save = 'X'
it_events = ch_slis_event
TABLES
t_outtab = p_control
EXCEPTIONS
program_error = 1
OTHERS = 2.
Thanks in advance.ch_alv_layout-info_fieldname = 'COLOR'. "infofield for listoutput
ch_alv_layout-colwidth_optimize = 'X'.
try commenting the above values.and also check the Fieldcatlog.
Check the issue similar issue was resolve by checking catalog and layout:
[ALV Issue solution|Re: Problem when export ALV.]
Regards,
Gurpreet -
ALV - problem in downloading to excel - HIGH
In our ALV report , we are facing problem with downloading to excel. It is intact downloading but in an irregular manner.
LIST-> EXPORT-> Local File(excel)
How to overcome this..try to load like this
spreadsheet>press enter>pivot table-->microsoft excel -
FindClass() Problem Pls Help.. (URGENT!!)
Hi,
I trying to use the files from the book "JNI Programmer's Guide & Specifications" - Ch. 7., to create JVM & call a java method from c routine.
I m working on Solaris machine. JVM is 1.1, so the correct part of the version independent code runs (refer to invoke.c below)
LD_LIBRARY_PATH is set correctly. invoke.c is complied correctly with no errors. All the files namely Prog.java, Prog.class, invoke.c, a.out are in the same directoy "/home/top/atm".
When executable file is run. JVM is created. But FindClass() returns with NULL value. !!!
When I try to run Prog.java from the commandline using "java Prog Hello" it runs good.
It just simply won't find the Prog.class in it's current directory. ???
If instead, "java/util/Date" is passed to FindClass(), it finds it.
The classpath in the program is also modified & there is no typo error or case-sensitivity related errors.
I m also printing classpath passed to JVM in the program. It has my included path "/home/top/atm", along with other system classpath(s).
I m banging my head over this problem, since 2 days. Hence I tried to use reference implementation files. It still will not work..
Can anyone pls be patient & help me. I'll really appreciate this.
Thanks a lot,
Following is the code of 2 files..
Prog.java
public class Prog
public static void main(String[] args)
System.out.println("Hello World" + args[0]);
& invoke.c
#include <jni.h>
#define PATH_SEPARATOR ':' /* define it to be ':' on Solaris */
#define USER_CLASSPATH "/home/top/atm" /* where Prog.class is */
main() {
JNIEnv *env;
JavaVM *jvm;
jint res;
jclass cls;
jmethodID mid;
jstring jstr;
jclass stringClass;
jobjectArray args;
#ifdef JNI_VERSION_1_2
JavaVMInitArgs vm_args;
JavaVMOption options[1];
options[0].optionString =
"-Djava.class.path=" USER_CLASSPATH;
vm_args.version = 0x00010002;
vm_args.options = options;
vm_args.nOptions = 1;
vm_args.ignoreUnrecognized = JNI_TRUE;
/* Create the Java VM */
res = JNI_CreateJavaVM(&jvm, (void**)&env, &vm_args);
#else
JDK1_1InitArgs vm_args;
char classpath[102400];
vm_args.version = 0x00010001;
JNI_GetDefaultJavaVMInitArgs(&vm_args);
/* Append USER_CLASSPATH to the default system class path */
sprintf(classpath, "%s%c%s",
vm_args.classpath, PATH_SEPARATOR, USER_CLASSPATH);
vm_args.classpath = classpath;
/* Create the Java VM */
res = JNI_CreateJavaVM(&jvm, &env, &vm_args);
fprintf(stderr, "JVM Created !!! with # %d\n", res);
#endif /* JNI_VERSION_1_2 */
if (res < 0) {
fprintf(stderr, "Can't create Java VM\n");
exit(1);
fprintf(stderr, "ClassPath is : %s\n", classpath);
cls = (*env)->FindClass(env, "Prog");
if (cls == NULL) {
goto destroy;
fprintf(stderr, "Class Found !!\n");
mid = (*env)->GetStaticMethodID(env, cls, "main",
"([Ljava/lang/String;)V");
if (mid == NULL) {
goto destroy;
jstr = (*env)->NewStringUTF(env, " from C!");
if (jstr == NULL) {
goto destroy;
stringClass = (*env)->FindClass(env, "java/lang/String");
args = (*env)->NewObjectArray(env, 1, stringClass, jstr);
if (args == NULL) {
goto destroy;
(*env)->CallStaticVoidMethod(env, cls, mid, args);
destroy:
if ((*env)->ExceptionOccurred(env)) {
(*env)->ExceptionDescribe(env);
(*jvm)->DestroyJavaVM(jvm);
----------------------------------------Hi , I got the exact same problem as you did. Can you
please let me know if you solve this issue already ?When FindClass returns null it means it threw an exception. The first step is to get that exception and print it out.
The error is probably class not found. And just as with java only that means your class path is not correct. -
Hi I recently bought nokia e5 & iys really good better than i expected it to be everything works fine except, i problem i want to know if it supports GIF wallpapers i tried installing it but it does not move so if n1 knows how i can enable GIF wallpapers in nokia e5 it will be really helpful.......
THANKS in Advance.......pls reply!
Solved!
Go to Solution.I really don´t know, but under settings-themes-options maybe you have alternative for this?
Have you checked the manual?
E52 Manual
Nokia 808 again (delight Belle), Nokia E7 and X7 ( again, all on Delight Belle...after some time on Nokia Lumia 925 (retired), 1020 (not that great)and Lumia 820 (Replaced my router at home, great for internet sharing).., N9 The best device ever (use it as much as Lumia 1020), Nokia 700 (Sport Phone/My Love :-) ) Nokia 701, Nokia E6 (Should have a follow-up from Nokia among with larger screen, NFC, Autofocus), Lumia 800 (Retired After 6 weeks), -Sports Tracker-Nokia Internet Radio-Handy Safe-Skype-Bambuser-Screenshot app pro-fMobi-ComingNext-Manual TaskSwitcher-jagiTimer-Easy StopWatch-Boldbeast-Equalizer-Financial Calculator-WiMP Music-YTasks-Davi-Thumbnail Folders-BizCalendar-Tiny7-Situations-nn reeder-Sport Timer-CameraLover-CameraPro-GrabRadio-LiveScore-Poddi-Gravity-SkyFilesPro -
ALV - problem to disable row selection (SET_ROW_SELECTABLE)
Hi,
I'm using an (non editable) ALV with a supply function to display details to each line.
I have to buttons "New" and "Modify" to insert a new line or to modify an existing row (in the details).
This works fine.
Now what I want to do is, if the user press one of the buttons "New" or "Modify", I want to disable the row selection of the ALV, so the user can't select another row during inserting or editing.
For this, I've implemented in the WDDOMODIFYVIEW of the view the coding to enable or disable the row selection
lo_value->if_salv_wd_table_settings~SET_ROW_SELECTABLE( ABAP_TRUE ).
* or
lo_value->if_salv_wd_table_settings~SET_ROW_SELECTABLE( ABAP_FALSE ).
In case of "New" this works fine. The row selection is disabled.
But not in case of "Modify".
There is a strange behaviour:
The row selection is not completely disabled. It looks like you can select rows, but if you select another row, it is automatically jumping to the first row and also the details is updated to the first row.
The different between "New" and "Modify" is, that in "New", I create a new element in the ALV.
Than it works correct. If I do the same in "Modify", I have the same correct behavior.
But of course, I don't want to insert a new row in my "modify" mode.
So maybe it has something todo with set lead selection?
Maybe I do something wrong or that is a problem in the abap release. But I can't find anything in OSS.
Thanks in advance!
AndreasHi,
I would like to propose another approach here,
I assume that ALV is in read only mode.
1. User select the row and press the "Modify" button. As soon as user press the modify button "disable" the Modify and New button.
2. Once the user is finish with the changes and press save. Enable the new and modify button.
3. Without saving if user select anyother row then raise the "Save" confirmation popup with Yes, NO and Cancel button.
4. If User press the New button then add new row and disable the "New" and "Modify button". Follow the Step 2 and 3 for this case also.
I hope this will give you some idea.
Thanks,
Rahul -
Alv. problem in I_call
Hi Gurus,
Problem in this program.plz check it its very urgent.
im working in version 4.6. the problem is in I_call_back.plz help me in this.
Correct answers will be appreciated with good points.
Thanks & regards
sunita
TABLES : likp.
TYPE-POOLS: slis.
SELECTION-SCREEN BEGIN OF BLOCK b1.
SELECT-OPTIONS: s_vkorg FOR likp-vkorg,
s_vstel FOR likp-vstel,
s_vbeln FOR likp-vbeln,
s_lfdat FOR likp-lfdat,
s_lfart FOR likp-lfart ,
s_wadat FOR likp-wadat,
s_wa_ist FOR likp-wadat_ist,
s_kunnr FOR likp-kunnr,
s_kunag FOR likp-kunag.
SELECTION-SCREEN END OF BLOCK b1.
DATA: BEGIN OF itab OCCURS 0.
INCLUDE STRUCTURE likp.
DATA: zchk(20),
END OF itab.
DATA: gt_fcat type slis_t_fieldcat_alv.
SELECT * FROM likp
INTO CORRESPONDING FIELDS OF TABLE itab
WHERE vkorg IN s_vkorg
AND vstel IN s_vstel
AND vbeln IN s_vbeln
AND lfdat IN s_lfdat
AND lfart IN s_lfart
AND wadat IN s_wadat
AND wadat_ist IN s_wa_ist
AND kunnr IN s_kunnr
AND kunag IN s_kunag.
LOOP AT itab.
IF itab-wadat = itab-wadat_ist.
itab-zchk = 'OK'.
ELSE.
itab-zchk = 'Posting Error'.
ENDIF.
ENDLOOP.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
i_internal_tabname = itab
CHANGING
ct_fieldcat = gt_fcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = gt_fcatHi Sunita,
Create your ALV output structure via the ABAP Dictionary (SE11) as a dictionary Structure (ZSTRUCTURE) and then follow the code changes as below:
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = sy-repid
* i_internal_tabname = 'ITAB' --------------> Delete
I_STRUCTURE_NAME = 'ZSTRUCTURE' <----------------
CHANGING
ct_fieldcat = gt_fcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
it_fieldcat = gt_fcat
TABLES
t_outtab = itab. <----------------------------
Cheers,
Sougata.
Message was edited by:
Sougata Chatterjee -
ALV PROBLEM IN DATE : NEED TO BE SEPRATED BY '/'
HI Gurus,
In ALV i have struct in one place.
In my ALV report the date format i need is separed by '/' but the date format which i am getting is separated by '.'
How to do this : Pls show me thr code :
ls_fieldtab-tabname = 'IT_FINAL'.
ls_fieldtab-fieldname = 'SPTAG'.
ls_fieldtab-seltext_s = ls_fieldtab-seltext_m =
ls_fieldtab-seltext_l = 'Current Date'.
APPEND ls_fieldtab TO fieldtab.
CLEAR ls_fieldtab.
IT_final is my final table where date field SPTAG is maintained.
2) Distribution channel need to be hardcoded in ootput as AS01.
hOW TO PASS DATA TO THE FIELD CATLOG.
ls_fieldtab-tabname = 'IT_FINAL'.
ls_fieldtab-fieldname = 'VTWEG'.
ls_fieldtab-seltext_s = ls_fieldtab-seltext_m =
ls_fieldtab-seltext_l = 'DIST. CHANNEL'.
APPEND ls_fieldtab TO fieldtab.
CLEAR ls_fieldtab.
DATA DECLARATION : vtweg type mvke-vtweg VALUE '40',
iTS NOT WORKINGHI,
CREATE A FINAL INTERNAL TABLE WITH TWO MORE FILEDS FOR DATE & DIS.CHANNEL ALONG WITH ALL THE FILEDS WHICH YOU REQUIED IN OUTPUT.
WHILE FILLING THE FINAL INTERNAL TABLE USE THIS CODE.
DATA: V_DATE TYPE SY-DATUM,
DATA: BEGIN OF IT_FIANAL,
V_SPTAG(10) TYPE C, " DATE
V_VTWEG(4) TYPE C, " DISTRIBUTION CHANNEL
ALL OTHER FILEDS WHICH U REQUIRE...
END OF IT_FINAL,
V_VTWEG = ' AS01' .
LOOP YOUR FIRST INTERNAL TABLE WHERE YOU ARE GTTING SPTAG.
CLEAR: V_DATE.
V_DATE = INTERNALTABLE-SPTAG.
CONCATENATE V_DATE6(2) '/' V_DATE4(2) '/' V_DATE+0(4) INTO V_SPTAG.
ENDLOOP.
LS_FIELDTAB-TABNAME = 'IT_FINAL'.
LS_FIELDTAB-FIELDNAME = 'V_SPTAG'.
LS_FIELDTAB-SELTEXT_L = 'CURRENT DATE'.
APPEND LS_FIELDTAB TO FIELDTAB.
CLEAR LS_FIELDTAB.
LS_FIELDTAB-TABNAME = 'IT_FINAL'.
LS_FIELDTAB-FIELDNAME = 'V_VTWEG'.
LS_FIELDTAB-SELTEXT_L = 'DIST. CHANNEL'.
APPEND LS_FIELDTAB TO FIELDTAB.
CLEAR LS_FIELDTAB. -
Hi guys,
I have a problem in ALV. There is character field which is company code , whenever the value is '000'or 010' it is displaying as '0' or '10'. can you please help me on this. here is the field catelog for this... it is really urgent.
CLEAR e_fieldcat.
ADD 1 TO w_col_pos.
e_fieldcat-fieldname = 'AUFNR'.
e_fieldcat-seltext_m = 'Company Code'.
e_fieldcat-col_pos = w_col_pos.
e_fieldcat-no_zero = space.
e_fieldcat-lzero = 'X'.
e_fieldcat-edit_mask = '==ALPHA'.
APPEND e_fieldcat TO t_fieldcat.
thanks.Hi Lakshmi ,
wa_fieldcat-edit_mask = '==ALPHA'.
wa_fieldcat-edit_lzero = 'X'.
If this doesnt work.
<b>
Declare the field as type MARA-MATNR.
</b>
BCOZ conv routine for MATNR IS MATN1.
Usually, if all is well, this will be handled automatically, for example, if on a dynpro, all you need to do is set the conversion routine value to ALPHA, then the conversion will be automatic, nothing to code. If in a list display, the field should be TYPE MARA-MATNR, then the conversion will be automatic on the list display, as well as the ALV grid.
Reward points if helpful
Regards
Naresh
Maybe you are looking for
-
Regarding Liquidity Planner Customization (Configuration) ?
Hello , Every one Currently i am searchiing basic neccessary Liquidity Planner Customization to be do . My question is could any body tel me the way how should i get the names of all necessary Liquidity Planner Customization ? If
-
Hi, I am using jboss 4.2, java5.0 and Fedora Linux Enterprise Version 4.0 with kernel 2.6 and NPTL 2.3.4 I am using open source network chart generation API provided by geosoft ( http://geosoft.no/graphics/). This API generates chart into swing windo
-
I upgraded my daughter's G3 imac to itunes 6, now for some reason it refuses to load itunes-purchased music to her ipod. she keeps getting a message to upgrade to latest itunes software (been there done that). should i assume a) her ipod is too old,
-
Route Pattern / Extension Issue
Hello! I'm currently having an issue with a new block of extensions in Call Manager 7.1.5. We recently ordered a new block of DIDs. The telco sends us the last 4 digits. The last 4 are 9XXX. When dialing these extensions internally, there is an 8-10
-
"/" key in bridge batch rename but instead it puts an "_"
Hi Guys having problem with CS5! i want to type out the "/" key in bridge batch rename but instead it puts an "_". ANY HELP!?